summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Matteo Bernardini2022-11-19 09:46:49 +0100
committer Matteo Bernardini2022-11-19 09:46:49 +0100
commite99f4d18a14724754ffbcc10960e56bcc86ac8f3 (patch)
tree2824b9a71116e0a0d12e47345abb901ad9f370cd
parentb54a7d46399fd01b3bf2adc2d1b4a2b429d3c6c4 (diff)
downloadslackbuilds-current.tar.gz
20221119.1 global branch merge.current-20221119.1current
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
-rw-r--r--README16
-rw-r--r--academic/ITK/ITK.SlackBuild23
-rw-r--r--desktop/enlightenment/enlightenment.SlackBuild5
-rw-r--r--desktop/enlightenment/enlightenment.info6
-rw-r--r--development/Sphinx/README5
-rw-r--r--development/Sphinx/Sphinx.SlackBuild84
-rw-r--r--development/Sphinx/Sphinx.info10
-rw-r--r--development/Sphinx/slack-desc19
-rw-r--r--development/android-tools/android-tools.SlackBuild5
-rw-r--r--development/android-tools/patches/0012-CMakeLists.txt-Disable-Werror-by-default.patch24
-rw-r--r--development/android-tools/patches/0021-tls-include-functional.patch22
-rw-r--r--development/codelite/codelite.SlackBuild4
-rw-r--r--development/codelite/codelite.info6
-rw-r--r--development/device-tree-compiler/device-tree-compiler.SlackBuild4
-rw-r--r--development/device-tree-compiler/device-tree-compiler.info6
-rw-r--r--development/gambas3/gambas3.SlackBuild1
-rw-r--r--development/nodejs/README8
-rw-r--r--development/nodejs/nodejs.SlackBuild118
-rw-r--r--development/nodejs/nodejs.info10
-rw-r--r--development/nodejs/npm.sh58
-rw-r--r--development/nodejs/slack-desc19
-rw-r--r--development/pahole/README2
-rw-r--r--development/pahole/pahole.SlackBuild111
-rw-r--r--development/pahole/pahole.info10
-rw-r--r--development/pahole/slack-desc19
-rw-r--r--development/protobuf3/gcc12.patch24
-rw-r--r--development/protobuf3/protobuf3.SlackBuild1
-rw-r--r--development/splint/splint.SlackBuild5
-rw-r--r--development/unittest-cpp/unittest-cpp.SlackBuild2
-rw-r--r--games/scummvm/scummvm.SlackBuild4
-rw-r--r--games/scummvm/scummvm.info6
-rw-r--r--games/supertux/gcc12.patch11
-rw-r--r--games/supertux/missing-include-for-FLT_EPSILON.patch13
-rw-r--r--games/supertux/supertux.SlackBuild3
-rw-r--r--games/warzone2100/warzone2100.SlackBuild2
-rw-r--r--graphics/GraphicsMagick/GraphicsMagick.SlackBuild4
-rw-r--r--graphics/GraphicsMagick/GraphicsMagick.info6
-rw-r--r--graphics/darktable/README3
-rw-r--r--graphics/darktable/darktable.SlackBuild5
-rw-r--r--graphics/darktable/darktable.info6
-rw-r--r--graphics/djview4/djview4.SlackBuild10
-rw-r--r--graphics/djview4/djview4.info6
-rw-r--r--graphics/djview4/patches/0001-cross-build-pkg-config-info.patch86
-rw-r--r--graphics/djview4/patches/0002-debian-changes.patch3606
-rw-r--r--graphics/gmic/gmic.SlackBuild27
-rw-r--r--graphics/gmic/gmic.info10
-rw-r--r--graphics/inkscape/inkscape.SlackBuild8
-rw-r--r--graphics/inkscape/inkscape.info6
-rw-r--r--graphics/inkscape/poppler-22.09.0.patch53
-rw-r--r--graphics/kColorPicker/README5
-rw-r--r--graphics/kColorPicker/kColorPicker.SlackBuild103
-rw-r--r--graphics/kColorPicker/kColorPicker.info10
-rw-r--r--graphics/kColorPicker/slack-desc19
-rw-r--r--graphics/kImageAnnotator/README3
-rw-r--r--graphics/kImageAnnotator/kImageAnnotator.SlackBuild103
-rw-r--r--graphics/kImageAnnotator/kImageAnnotator.info10
-rw-r--r--graphics/kImageAnnotator/slack-desc19
-rw-r--r--graphics/libplacebo/libplacebo.SlackBuild2
-rw-r--r--graphics/libplacebo/libplacebo.info6
-rw-r--r--graphics/luminance-hdr/luminance-hdr.SlackBuild5
-rw-r--r--graphics/luminance-hdr/luminance-hdr.info6
-rw-r--r--graphics/luminance-hdr/patches/luminance-hdr-2.5.1-openmp-automagic.patch32
-rw-r--r--graphics/luminance-hdr/patches/luminance-hdr-2.6.0-cmake.patch22
-rw-r--r--graphics/luminance-hdr/patches/luminance-hdr-2.6.0-docs.patch15
-rw-r--r--graphics/luminance-hdr/patches/luminance-hdr-2.6.0-no-git.patch15
-rw-r--r--graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-fixheaders.patch15
-rw-r--r--graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-openexr3.patch28
-rw-r--r--graphics/openimageio/ffmpeg-5.1.patch27
-rw-r--r--graphics/openimageio/openimageio.SlackBuild2
-rw-r--r--graphics/rawtherapee/rawtherapee-glibc-2.34.patch352
-rw-r--r--graphics/rawtherapee/rawtherapee.SlackBuild3
-rw-r--r--libraries/aubio/aubio-0.4.9-ffmpeg-5.0.patch14
-rw-r--r--libraries/aubio/aubio.SlackBuild2
-rw-r--r--libraries/chromaprint/chromaprint.SlackBuild2
-rw-r--r--libraries/chromaprint/ffmpeg5.patch76
-rw-r--r--libraries/efl/efl.SlackBuild2
-rw-r--r--libraries/efl/efl.info6
-rw-r--r--libraries/fmt/README2
-rw-r--r--libraries/fmt/fmt.SlackBuild105
-rw-r--r--libraries/fmt/fmt.info10
-rw-r--r--libraries/fmt/slack-desc19
-rw-r--r--libraries/iniparser/README6
-rw-r--r--libraries/iniparser/iniparser.SlackBuild115
-rw-r--r--libraries/iniparser/iniparser.info10
-rw-r--r--libraries/iniparser/slack-desc19
-rw-r--r--libraries/libopenshot/libopenshot.SlackBuild4
-rw-r--r--libraries/libopenshot/patches/0002-constify-some-AVCodecIDs-necessary-for-new-ffmpeg.patch94
-rw-r--r--libraries/libopenshot/patches/0003-FFmpegWriter-Macro-member-cleanup.patch344
-rw-r--r--libraries/libopenshot/patches/0004-FFmpegWriter-Don-t-force-deprecated-stream-member.patch26
-rw-r--r--libraries/libopenshot/patches/0005-FFmpegWriter-Don-t-use-AVPicture-gone-in-5.0.patch57
-rw-r--r--libraries/libosinfo/libosinfo.SlackBuild4
-rw-r--r--libraries/libosinfo/libosinfo.info6
-rw-r--r--libraries/libquicktime/libquicktime-1.2.4-ffmpeg2.patch98
-rw-r--r--libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch342
-rw-r--r--libraries/libquicktime/libquicktime-ffmpeg3.patch935
-rw-r--r--libraries/libquicktime/libquicktime.SlackBuild6
-rw-r--r--libraries/libsoup3/README6
-rw-r--r--libraries/libsoup3/libsoup3.SlackBuild110
-rw-r--r--libraries/libsoup3/libsoup3.info10
-rw-r--r--libraries/libsoup3/slack-desc19
-rw-r--r--libraries/libvirt-python/libvirt-python.SlackBuild4
-rw-r--r--libraries/libvirt-python/libvirt-python.info6
-rw-r--r--libraries/libvirt/823a62ec.patch48
-rw-r--r--libraries/libvirt/libvirt.SlackBuild5
-rw-r--r--libraries/libvirt/libvirt.info6
-rw-r--r--libraries/podofo/XRefStrParObj-deprecated.patch61
-rw-r--r--libraries/podofo/gcc12.patch39
-rw-r--r--libraries/podofo/podofo.SlackBuild14
-rw-r--r--libraries/podofo/podofo.info6
-rw-r--r--libraries/wxsvg/wxsvg.SlackBuild4
-rw-r--r--libraries/wxsvg/wxsvg.info6
-rw-r--r--libraries/zeromq/zeromq.SlackBuild2
-rw-r--r--misc/xcb-imdkit/README8
-rw-r--r--misc/xcb-imdkit/slack-desc19
-rw-r--r--misc/xcb-imdkit/xcb-imdkit.SlackBuild107
-rw-r--r--misc/xcb-imdkit/xcb-imdkit.info10
-rw-r--r--multimedia/dvdstyler/dvdstyler.SlackBuild4
-rw-r--r--multimedia/dvdstyler/dvdstyler.info6
-rw-r--r--multimedia/gpac/gpac.SlackBuild2
-rw-r--r--multimedia/gpac/gpac.info6
-rw-r--r--multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.SlackBuild2
-rw-r--r--multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.info6
-rw-r--r--multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild5
-rw-r--r--multimedia/gst-plugins-ugly/gst-plugins-ugly.info6
-rw-r--r--multimedia/obs-studio/obs-studio.SlackBuild2
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg-0.10.patch15
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch303
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg.patch51
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg2.patch557
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg24.patch18
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg29.patch352
-rw-r--r--multimedia/transcode/transcode-1.1.7-ffmpeg4.patch508
-rw-r--r--multimedia/transcode/transcode-1.1.7-libav-10.patch36
-rw-r--r--multimedia/transcode/transcode-1.1.7-libav-9.patch31
-rw-r--r--multimedia/transcode/transcode-1.1.7-preset-force.patch28
-rw-r--r--multimedia/transcode/transcode-1.1.7-preset-free.patch34
-rw-r--r--multimedia/transcode/transcode.SlackBuild15
-rw-r--r--multimedia/xjadeo/ffmpeg-5.1.patch105
-rw-r--r--multimedia/xjadeo/ffmpeg-5.patch25
-rw-r--r--multimedia/xjadeo/xjadeo.SlackBuild5
-rw-r--r--multimedia/xjadeo/xjadeo.info6
-rw-r--r--network/MEGAsync/MEGAsync.SlackBuild7
-rw-r--r--network/MEGAsync/MEGAsync.info10
-rw-r--r--network/MEGAsync/megasync-4.5.0.0_ffmpeg.patch24
-rw-r--r--network/MEGAsync/megasync-4.7.1.0_ffmpeg5.patch19
-rw-r--r--network/mumble/mumble.SlackBuild2
-rw-r--r--network/mumble/mumble.info6
-rw-r--r--network/spice-gtk/spice-gtk.SlackBuild4
-rw-r--r--network/spice-gtk/spice-gtk.info6
-rw-r--r--network/x2goclient/glibc236.patch11
-rw-r--r--network/x2goclient/x2goclient.SlackBuild2
-rw-r--r--network/x2goserver/x2goserver.SlackBuild2
-rw-r--r--network/x2goserver/x2goserver.info6
-rw-r--r--office/evince/Remove-incorrect-args-for-i18n.merge_file.patch51
-rw-r--r--office/evince/evince.SlackBuild2
-rw-r--r--office/pstoedit/pstoedit-3.78-mga-uniqueptr.patch12
-rw-r--r--office/pstoedit/pstoedit.SlackBuild3
-rw-r--r--office/scribus/harfbuzz-3.0.0.patch68
-rw-r--r--office/scribus/scribus.SlackBuild6
-rw-r--r--office/scribus/scribus.info6
-rw-r--r--python/alabaster/alabaster.SlackBuild4
-rw-r--r--python/cppy/cppy.SlackBuild2
-rw-r--r--python/cppy/cppy.info6
-rw-r--r--python/imagesize/imagesize.SlackBuild4
-rw-r--r--python/pikepdf/pikepdf.SlackBuild2
-rw-r--r--python/pikepdf/pikepdf.info6
-rw-r--r--python/python-importlib_metadata/README4
-rw-r--r--python/python-importlib_metadata/python-importlib_metadata.SlackBuild100
-rw-r--r--python/python-importlib_metadata/python-importlib_metadata.info10
-rw-r--r--python/python-importlib_metadata/slack-desc19
-rw-r--r--python/python-pcapy/python-pcapy.SlackBuild4
-rw-r--r--python/python-pcapy/python-pcapy.info6
-rw-r--r--python/python-zipp/README2
-rw-r--r--python/python-zipp/python-zipp.SlackBuild101
-rw-r--r--python/python-zipp/python-zipp.info10
-rw-r--r--python/python-zipp/setup.py5
-rw-r--r--python/python-zipp/slack-desc19
-rw-r--r--python/python3-babel/README10
-rw-r--r--python/python3-babel/python3-babel.SlackBuild106
-rw-r--r--python/python3-babel/python3-babel.info12
-rw-r--r--python/python3-babel/slack-desc19
-rw-r--r--python/python3-kiwisolver/README3
-rw-r--r--python/python3-kiwisolver/python3-kiwisolver.SlackBuild5
-rw-r--r--python/python3-kiwisolver/python3-kiwisolver.info8
-rw-r--r--python/pytz/pytz.SlackBuild1
-rw-r--r--python/snowballstemmer/snowballstemmer.SlackBuild3
-rw-r--r--system/audit/audit.SlackBuild5
-rw-r--r--system/conky/conky.SlackBuild2
-rw-r--r--system/osinfo-db-tools/osinfo-db-tools.SlackBuild4
-rw-r--r--system/osinfo-db-tools/osinfo-db-tools.info6
-rw-r--r--system/osinfo-db/osinfo-db.SlackBuild4
-rw-r--r--system/osinfo-db/osinfo-db.info6
-rw-r--r--system/qemu/qemu.SlackBuild2
-rw-r--r--system/qemu/qemu.info6
-rw-r--r--system/vice/psiddrv.h.prebuilt.3.428
-rw-r--r--system/vice/vice.SlackBuild19
-rw-r--r--system/vice/vice.info8
-rw-r--r--system/virt-manager/Add-Slackware-to-OS-choices.patch11
-rw-r--r--system/virt-manager/virt-manager.SlackBuild2
-rw-r--r--system/virt-manager/virt-manager.info6
-rw-r--r--system/xf86-video-qxl/buildfix.diff101
-rw-r--r--system/xf86-video-qxl/xf86-video-qxl.SlackBuild3
202 files changed, 5612 insertions, 5545 deletions
diff --git a/README b/README
index 2708bcc7d7..b1cf535a55 100644
--- a/README
+++ b/README
@@ -1,3 +1,19 @@
+SBo-git - slackbuilds repository for slackware-current
+- - -
+
+this is an unofficial fork of master branch from slackbuilds.org's
+git repository (http://slackbuilds.org/cgit/slackbuilds/).
+
+here I put my unofficial mods to their slackbuilds to run on
+slackware-current with sbopkg (http://www.sbopkg.org).
+
+Check https://github.com/Ponce/slackbuilds/wiki for additional informations.
+
+See https://github.com/Ponce/slackbuilds/wiki/configuring-the-current-repository-with-sbopkg
+for instructions on how to use this repository with sbopkg.
+
+original README from slackbuilds.org follows:
+---------------------------------------------
See https://slackbuilds.org/howto/ for instructions on
how to use the contents of this directory.
diff --git a/academic/ITK/ITK.SlackBuild b/academic/ITK/ITK.SlackBuild
index bc13af67ce..e29c81ef7f 100644
--- a/academic/ITK/ITK.SlackBuild
+++ b/academic/ITK/ITK.SlackBuild
@@ -83,13 +83,12 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p1 <<'endpatch'
---- InsightToolkit-4.13.2/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h.cp
-+++ InsightToolkit-4.13.2/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h
-@@ -96,6 +96,39 @@
- # define VCL_GCC_81
+--- InsightToolkit-4.13.2.orig/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h 2019-02-28 17:45:49.000000000 +0100
++++ InsightToolkit-4.13.2/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h 2022-08-23 13:35:27.488603000 +0200
+@@ -97,6 +97,50 @@
# else
# define VCL_GCC_80
-+# endif
+ # endif
+# elif (__GNUC__==9)
+# define VCL_GCC_9
+# if (__GNUC_MINOR__ > 2 )
@@ -122,9 +121,21 @@ patch -p1 <<'endpatch'
+# define VCL_GCC_111
+# else
+# define VCL_GCC_110
- # endif
++# endif
++# elif (__GNUC__==12)
++# define VCL_GCC_12
++# if (__GNUC_MINOR__ > 2 )
++# define VCL_GCC_123
++# elif (__GNUC_MINOR__ > 1 )
++# define VCL_GCC_122
++# elif (__GNUC_MINOR__ > 0 )
++# define VCL_GCC_121
++# else
++# define VCL_GCC_120
++# endif
# else
# error "Dunno about this gcc"
+ # endif
endpatch
sed -i "s/lib\b/lib${LIBDIRSUFFIX}/" CMakeLists.txt
diff --git a/desktop/enlightenment/enlightenment.SlackBuild b/desktop/enlightenment/enlightenment.SlackBuild
index b0e64c9110..f129586735 100644
--- a/desktop/enlightenment/enlightenment.SlackBuild
+++ b/desktop/enlightenment/enlightenment.SlackBuild
@@ -27,7 +27,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=enlightenment
-VERSION=${VERSION:-0.25.1}
+VERSION=${VERSION:-0.25.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -89,8 +89,7 @@ meson . build \
--prefix=/usr/ \
--libdir=/usr/lib${LIBDIRSUFFIX} \
-Dsystemd=false \
- -Dpam=false \
- -Dbuild-id=$ARCH-slackware-linux
+ -Dpam=true
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/desktop/enlightenment/enlightenment.info b/desktop/enlightenment/enlightenment.info
index 2696c3e4e5..db3563fbdc 100644
--- a/desktop/enlightenment/enlightenment.info
+++ b/desktop/enlightenment/enlightenment.info
@@ -1,8 +1,8 @@
PRGNAM="enlightenment"
-VERSION="0.25.1"
+VERSION="0.25.3"
HOMEPAGE="https://www.enlightenment.org/"
-DOWNLOAD="https://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.25.1.tar.xz"
-MD5SUM="68d37c845c6a9e24e9b2b9709e5994be"
+DOWNLOAD="https://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.25.3.tar.xz"
+MD5SUM="5f8033a2b0c236583b4f83d2f7c578d8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="efl"
diff --git a/development/Sphinx/README b/development/Sphinx/README
deleted file mode 100644
index e3f923a7f7..0000000000
--- a/development/Sphinx/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Sphinx is a tool that translates a set of reStructuredText
-source files into various output formats, including HTML, ePub,
-LaTeX and plain text. Sphinx was originally created for the Python
-documentation, but it has excellent facilities for the documentation
-of software projects in a range of languages.
diff --git a/development/Sphinx/Sphinx.SlackBuild b/development/Sphinx/Sphinx.SlackBuild
deleted file mode 100644
index 87caf8736b..0000000000
--- a/development/Sphinx/Sphinx.SlackBuild
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for Sphinx
-
-# Copyright 2013 Mikko Värri, Finland
-# Copyright 2017-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=Sphinx
-VERSION=${VERSION:-4.2.0}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-fi
-
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-set -e
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-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 {} \;
-
-python3 setup.py install --root=$PKG
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- AUTHORS CHANGES EXAMPLES LICENSE README.rst \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/Sphinx/Sphinx.info b/development/Sphinx/Sphinx.info
deleted file mode 100644
index f2c4274ca9..0000000000
--- a/development/Sphinx/Sphinx.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="Sphinx"
-VERSION="4.2.0"
-HOMEPAGE="http://www.sphinx-doc.org"
-DOWNLOAD="https://files.pythonhosted.org/packages/source/S/Sphinx/Sphinx-4.2.0.tar.gz"
-MD5SUM="6af34550e36dd6d58a496e47ec67280f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="alabaster imagesize python3-babel snowballstemmer sphinxcontrib-applehelp sphinxcontrib-devhelp sphinxcontrib-htmlhelp sphinxcontrib-jsmath sphinxcontrib-qthelp sphinxcontrib-serializinghtml"
-MAINTAINER="Benjamin Trigona-Harany"
-EMAIL="slackbuilds@jaxartes.net"
diff --git a/development/Sphinx/slack-desc b/development/Sphinx/slack-desc
deleted file mode 100644
index 403648f0ae..0000000000
--- a/development/Sphinx/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-Sphinx: Sphinx (Documentation generator)
-Sphinx:
-Sphinx: Sphinx is a tool that translates a set of reStructuredText source
-Sphinx: files into various output formats, including HTML, ePub, LaTeX and
-Sphinx: plain text. Sphinx was originally created for the Python
-Sphinx: documentation, but it has excellent facilities for the documentation
-Sphinx: of software projects in a range of languages.
-Sphinx:
-Sphinx:
-Sphinx:
-Sphinx:
diff --git a/development/android-tools/android-tools.SlackBuild b/development/android-tools/android-tools.SlackBuild
index c858d18140..7096067f4c 100644
--- a/development/android-tools/android-tools.SlackBuild
+++ b/development/android-tools/android-tools.SlackBuild
@@ -81,6 +81,11 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+( cd vendor/adb
+ patch -p1 < $CWD/patches/0021-tls-include-functional.patch )
+( cd vendor/boringssl
+ patch -p1 < $CWD/patches/0012-CMakeLists.txt-Disable-Werror-by-default.patch )
+
export GOCACHE=$(pwd)/build/go-cache
export GO111MODULE=off
diff --git a/development/android-tools/patches/0012-CMakeLists.txt-Disable-Werror-by-default.patch b/development/android-tools/patches/0012-CMakeLists.txt-Disable-Werror-by-default.patch
new file mode 100644
index 0000000000..c9ac7ff3b3
--- /dev/null
+++ b/development/android-tools/patches/0012-CMakeLists.txt-Disable-Werror-by-default.patch
@@ -0,0 +1,24 @@
+From 9ecab80323875e95b08b5e6f327e4d5bd5d70478 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sat, 21 May 2022 11:47:32 +0200
+Subject: [PATCH] CMakeLists.txt: Disable -Werror by default
+
+Boringssl regularly fails to compile with newer GCC versions due
+to new warnings introduced by GCC upstream.
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f58e853cd..b1fec9616 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,7 @@ endif()
+ if(CMAKE_COMPILER_IS_GNUCXX OR CLANG)
+ # Note clang-cl is odd and sets both CLANG and MSVC. We base our configuration
+ # primarily on our normal Clang one.
+- set(C_CXX_FLAGS "-Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wvla")
++ set(C_CXX_FLAGS "-Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wvla")
+ if(MSVC)
+ # clang-cl sets different default warnings than clang. It also treats -Wall
+ # as -Weverything, to match MSVC. Instead -W3 is the alias for -Wall.
diff --git a/development/android-tools/patches/0021-tls-include-functional.patch b/development/android-tools/patches/0021-tls-include-functional.patch
new file mode 100644
index 0000000000..8b4a517021
--- /dev/null
+++ b/development/android-tools/patches/0021-tls-include-functional.patch
@@ -0,0 +1,22 @@
+From 9d0394f52324e7ccc62c67ce34cfe6ef9e85f043 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Wed, 18 May 2022 01:02:57 +0200
+Subject: [PATCH] tls: include <functional>
+
+Fixes compilation with GCC 12.1.
+---
+ tls/include/adb/tls/tls_connection.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tls/include/adb/tls/tls_connection.h b/tls/include/adb/tls/tls_connection.h
+index bc5b98ab..a112756c 100644
+--- a/tls/include/adb/tls/tls_connection.h
++++ b/tls/include/adb/tls/tls_connection.h
+@@ -19,6 +19,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+
++#include <functional>
+ #include <string_view>
+ #include <vector>
+
diff --git a/development/codelite/codelite.SlackBuild b/development/codelite/codelite.SlackBuild
index a73a0361d7..8c14bbd4fd 100644
--- a/development/codelite/codelite.SlackBuild
+++ b/development/codelite/codelite.SlackBuild
@@ -7,8 +7,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=codelite
-VERSION=${VERSION:-15.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-16.0.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/development/codelite/codelite.info b/development/codelite/codelite.info
index c01b8a1ba5..04c9ae1ec9 100644
--- a/development/codelite/codelite.info
+++ b/development/codelite/codelite.info
@@ -1,8 +1,8 @@
PRGNAM="codelite"
-VERSION="15.0"
+VERSION="16.0.0"
HOMEPAGE="http://www.codelite.org/"
-DOWNLOAD="https://github.com/eranif/codelite/archive/15.0/codelite-15.0.tar.gz"
-MD5SUM="1c54744ab0c9b5732087687ab17ab49d"
+DOWNLOAD="https://github.com/eranif/codelite/archive/16.0.0/codelite-16.0.0.tar.gz"
+MD5SUM="0141a38d2f686520d54fd19a6df0fac3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="wxGTK3"
diff --git a/development/device-tree-compiler/device-tree-compiler.SlackBuild b/development/device-tree-compiler/device-tree-compiler.SlackBuild
index 28a9bf3c40..7ec001ee23 100644
--- a/development/device-tree-compiler/device-tree-compiler.SlackBuild
+++ b/development/device-tree-compiler/device-tree-compiler.SlackBuild
@@ -27,7 +27,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=device-tree-compiler
-VERSION=${VERSION:-1.6.1}
+VERSION=${VERSION:-20220420_ed31080}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -74,7 +74,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z
cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/development/device-tree-compiler/device-tree-compiler.info b/development/device-tree-compiler/device-tree-compiler.info
index a25d77bae3..326e24228c 100644
--- a/development/device-tree-compiler/device-tree-compiler.info
+++ b/development/device-tree-compiler/device-tree-compiler.info
@@ -1,8 +1,8 @@
PRGNAM="device-tree-compiler"
-VERSION="1.6.1"
+VERSION="20220420_ed31080"
HOMEPAGE="https://git.kernel.org/cgit/utils/dtc/dtc.git"
-DOWNLOAD="https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/dtc-1.6.1.tar.gz"
-MD5SUM="19eef37196e99b659c402a29aac5ba59"
+DOWNLOAD="https://ponce.cc/slackware/sources/repo/dtc-20220420_ed31080.tar.xz"
+MD5SUM="e9645746d8e3e21cda57b474dbc82acf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/gambas3/gambas3.SlackBuild b/development/gambas3/gambas3.SlackBuild
index 4b7d2c1cc9..7912879184 100644
--- a/development/gambas3/gambas3.SlackBuild
+++ b/development/gambas3/gambas3.SlackBuild
@@ -91,6 +91,7 @@ LLVM_CONFIG=llvm-config \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--build=$ARCH-slackware-linux \
+ --disable-pdf \
$qt5
make
diff --git a/development/nodejs/README b/development/nodejs/README
deleted file mode 100644
index 19aa105720..0000000000
--- a/development/nodejs/README
+++ /dev/null
@@ -1,8 +0,0 @@
-Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
-
-Node.js uses an event-driven, non-blocking I/O model that makes it
-lightweight and efficient. Node.js' package ecosystem, npm, is the
-largest ecosystem of open source libraries in the world.
-
-NOTE: This version uses an internal OpenSSL version instead of
-the one provided in Slackware package.
diff --git a/development/nodejs/nodejs.SlackBuild b/development/nodejs/nodejs.SlackBuild
deleted file mode 100644
index 1fe6536d84..0000000000
--- a/development/nodejs/nodejs.SlackBuild
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for nodejs
-# Thanks to Audrius Kažukauskas
-
-# Ryan P.C. McQuen | Everett, WA | ryanpcmcquen@member.fsf.org
-# Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version, with the following exception:
-# the text of the GPL license may be omitted.
-
-# This program is distributed in the hope that it will be useful, but
-# without any warranty; without even the implied warranty of
-# merchantability or fitness for a particular purpose. Compiling,
-# interpreting, executing or merely reading the text of the program
-# may result in lapses of consciousness and/or very being, up to and
-# including the end of all existence and the Universe as we know it.
-# See the GNU General Public License for more details.
-
-# You may have received a copy of the GNU General Public License
-# along with this program (most likely, a file named COPYING). If
-# not, see <https://www.gnu.org/licenses/>.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=nodejs
-SRCNAM=node
-VERSION=${VERSION:-19.1.0}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-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 -eu
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $SRCNAM-v$VERSION
-tar xvf $CWD/$SRCNAM-v$VERSION.tar.xz
-cd $SRCNAM-v$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 {} \;
-
-## Fix man page path.
-sed -i 's|share/||' tools/install.py
-
-## Fix libdir for 64-bit.
-sed -i "s|lib/|lib${LIBDIRSUFFIX}/|g" tools/install.py
-sed -i "s/'lib'/'lib${LIBDIRSUFFIX}'/" \
- lib/module.js \
- lib/internal/modules/cjs/loader.js \
- deps/npm/lib/npm.js
-
-sed -i "s|math.h|cmath|" src/node_crypto.cc
-./configure \
- --prefix=/usr \
- --shared-zlib \
- --ninja
-
-make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS"
-make install DESTDIR=$PKG
-
-find $PKG -print0 | xargs -0 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
-
-## Add bash completion file for npm.
-install -D -m 644 $CWD/npm.sh $PKG/usr/share/bash-completion/completions/npm
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS LICENSE *.md $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/nodejs/nodejs.info b/development/nodejs/nodejs.info
deleted file mode 100644
index 4ead054b92..0000000000
--- a/development/nodejs/nodejs.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="nodejs"
-VERSION="19.1.0"
-HOMEPAGE="https://nodejs.org/"
-DOWNLOAD="https://nodejs.org/dist/v19.1.0/node-v19.1.0.tar.xz"
-MD5SUM="645cfaa653e6faea9e1c3828e80e0797"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Willy Sudiarto Raharjo"
-EMAIL="willysr@slackbuilds.org"
diff --git a/development/nodejs/npm.sh b/development/nodejs/npm.sh
deleted file mode 100644
index 25bef2c17b..0000000000
--- a/development/nodejs/npm.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-###-begin-npm-completion-###
-#
-# npm command completion script
-#
-# Installation: npm completion >> ~/.bashrc (or ~/.zshrc)
-# Or, maybe: npm completion > /usr/local/etc/bash_completion.d/npm
-#
-
-if type complete &>/dev/null; then
- _npm_completion () {
- local words cword
- if type _get_comp_words_by_ref &>/dev/null; then
- _get_comp_words_by_ref -n = -n @ -w words -i cword
- else
- cword="$COMP_CWORD"
- words=("${COMP_WORDS[@]}")
- fi
-
- local si="$IFS"
- IFS=$'\n' COMPREPLY=($(COMP_CWORD="$cword" \
- COMP_LINE="$COMP_LINE" \
- COMP_POINT="$COMP_POINT" \
- npm completion -- "${words[@]}" \
- 2>/dev/null)) || return $?
- IFS="$si"
- }
- complete -o default -F _npm_completion npm
-elif type compdef &>/dev/null; then
- _npm_completion() {
- local si=$IFS
- compadd -- $(COMP_CWORD=$((CURRENT-1)) \
- COMP_LINE=$BUFFER \
- COMP_POINT=0 \
- npm completion -- "${words[@]}" \
- 2>/dev/null)
- IFS=$si
- }
- compdef _npm_completion npm
-elif type compctl &>/dev/null; then
- _npm_completion () {
- local cword line point words si
- read -Ac words
- read -cn cword
- let cword-=1
- read -l line
- read -ln point
- si="$IFS"
- IFS=$'\n' reply=($(COMP_CWORD="$cword" \
- COMP_LINE="$line" \
- COMP_POINT="$point" \
- npm completion -- "${words[@]}" \
- 2>/dev/null)) || return $?
- IFS="$si"
- }
- compctl -K _npm_completion npm
-fi
-###-end-npm-completion-###
diff --git a/development/nodejs/slack-desc b/development/nodejs/slack-desc
deleted file mode 100644
index bb10691042..0000000000
--- a/development/nodejs/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-nodejs: nodejs (JavaScript runtime)
-nodejs:
-nodejs: Node.js is a JavaScript runtime built on Chrome's V8 JavaScript
-nodejs: engine.
-nodejs:
-nodejs: https://nodejs.org/
-nodejs:
-nodejs:
-nodejs:
-nodejs:
-nodejs:
diff --git a/development/pahole/README b/development/pahole/README
deleted file mode 100644
index 364ff6ed67..0000000000
--- a/development/pahole/README
+++ /dev/null
@@ -1,2 +0,0 @@
-pahole shows data structure layouts encoded in debugging information
-formats, DWARF and CTF being supported.
diff --git a/development/pahole/pahole.SlackBuild b/development/pahole/pahole.SlackBuild
deleted file mode 100644
index f001e805d3..0000000000
--- a/development/pahole/pahole.SlackBuild
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for pahole
-
-# Copyright 2019 xaizek <xaizek@posteo.net>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=pahole
-VERSION=${VERSION:-1.23}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-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
-tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
-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 {} \;
-
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -D__LIB="lib${LIBDIRSUFFIX}" \
- -DCMAKE_BUILD_TYPE=Release ..
- make
- make install DESTDIR=$PKG
-cd ..
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mv $PKG/usr/share/man $PKG/usr/man
-
-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
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- COPYING NEWS README README>DEBUG README.btf README.ctracer \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/pahole/pahole.info b/development/pahole/pahole.info
deleted file mode 100644
index 282c3a4150..0000000000
--- a/development/pahole/pahole.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="pahole"
-VERSION="1.23"
-HOMEPAGE="https://git.kernel.org/pub/scm/devel/pahole/pahole.git/"
-DOWNLOAD="https://ponce.cc/slackware/sources/repo/pahole-1.23.tar.xz"
-MD5SUM="b16a52e00ce97552bc7ca83499d5b08a"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="xaizek"
-EMAIL="xaizek@posteo.net"
diff --git a/development/pahole/slack-desc b/development/pahole/slack-desc
deleted file mode 100644
index 26f5300a20..0000000000
--- a/development/pahole/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-pahole: pahole (shows and manipulates program's data structure layout)
-pahole:
-pahole: pahole shows data structure layouts encoded in debugging information
-pahole: formats, DWARF and CTF being supported.
-pahole:
-pahole: This is useful for, among other things: optimizing important data
-pahole: structures by reducing their size, figuring out what is the field
-pahole: sitting at an offset from the start of a data structure, investigating
-pahole: ABI changes and more generally understanding a new codebase you have
-pahole: to work with.
-pahole:
diff --git a/development/protobuf3/gcc12.patch b/development/protobuf3/gcc12.patch
new file mode 100644
index 0000000000..866977ecdb
--- /dev/null
+++ b/development/protobuf3/gcc12.patch
@@ -0,0 +1,24 @@
+From b180b2809f7e77fdf7dd075d26a7421085bac58f Mon Sep 17 00:00:00 2001
+From: Adam Cozzette <acozzette@google.com>
+Date: Mon, 9 May 2022 13:15:44 -0700
+Subject: [PATCH] Use __constinit only in GCC 12.2 and up (#9936)
+
+Fixes #9916. GCC appears to have a bug preventing our use of __constinit
+from working correctly, but this bug will be fixed in GCC 12.2.
+---
+ src/google/protobuf/port_def.inc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
+index dcb0ff758f..289a42674c 100644
+--- a/src/google/protobuf/port_def.inc
++++ b/src/google/protobuf/port_def.inc
+@@ -650,7 +650,7 @@
+ (!defined(__APPLE__) && __clang_major__ >= 12))
+ #define PROTOBUF_CONSTINIT [[clang::require_constant_initialization]]
+ #define PROTOBUF_CONSTEXPR constexpr
+-#elif PROTOBUF_GNUC_MIN(12, 0)
++#elif PROTOBUF_GNUC_MIN(12, 2)
+ #define PROTOBUF_CONSTINIT __constinit
+ #define PROTOBUF_CONSTEXPR constexpr
+ #else
diff --git a/development/protobuf3/protobuf3.SlackBuild b/development/protobuf3/protobuf3.SlackBuild
index 0cef90a454..13395478c8 100644
--- a/development/protobuf3/protobuf3.SlackBuild
+++ b/development/protobuf3/protobuf3.SlackBuild
@@ -85,6 +85,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p1 < $CWD/protobuf3.patch
+patch -p1 < $CWD/gcc12.patch
./autogen.sh
CFLAGS="$SLKCFLAGS" \
diff --git a/development/splint/splint.SlackBuild b/development/splint/splint.SlackBuild
index e7cf5025a8..1f0b956521 100644
--- a/development/splint/splint.SlackBuild
+++ b/development/splint/splint.SlackBuild
@@ -67,10 +67,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-automake --add-missing || true
-autoreconf || true
-automake --add-missing
-autoreconf
+autoreconf -vif
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/development/unittest-cpp/unittest-cpp.SlackBuild b/development/unittest-cpp/unittest-cpp.SlackBuild
index 061e9fea38..223216bb2e 100644
--- a/development/unittest-cpp/unittest-cpp.SlackBuild
+++ b/development/unittest-cpp/unittest-cpp.SlackBuild
@@ -84,7 +84,7 @@ mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=uninitialized" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_BUILD_TYPE=Release ..
diff --git a/games/scummvm/scummvm.SlackBuild b/games/scummvm/scummvm.SlackBuild
index c17aa05fcd..f6587ca8d2 100644
--- a/games/scummvm/scummvm.SlackBuild
+++ b/games/scummvm/scummvm.SlackBuild
@@ -30,8 +30,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=scummvm
-VERSION=${VERSION:-2.5.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-2.6.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/games/scummvm/scummvm.info b/games/scummvm/scummvm.info
index 5f4b94a939..f1d755c032 100644
--- a/games/scummvm/scummvm.info
+++ b/games/scummvm/scummvm.info
@@ -1,8 +1,8 @@
PRGNAM="scummvm"
-VERSION="2.5.1"
+VERSION="2.6.0"
HOMEPAGE="https://www.scummvm.org/"
-DOWNLOAD="https://downloads.scummvm.org/frs/scummvm/2.5.1/scummvm-2.5.1.tar.xz"
-MD5SUM="79f7541e404f575a37bfa6be448c4046"
+DOWNLOAD="https://downloads.scummvm.org/frs/scummvm/2.6.0/scummvm-2.6.0.tar.xz"
+MD5SUM="0268450eb91bf4a735c8892bb0e3e50f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/supertux/gcc12.patch b/games/supertux/gcc12.patch
new file mode 100644
index 0000000000..f5e7392c3c
--- /dev/null
+++ b/games/supertux/gcc12.patch
@@ -0,0 +1,11 @@
+diff -upr SuperTux-v0.6.3-Source.orig/external/partio_zip/zip_manager.cpp SuperTux-v0.6.3-Source/external/partio_zip/zip_manager.cpp
+--- SuperTux-v0.6.3-Source.orig/external/partio_zip/zip_manager.cpp 2021-12-23 01:01:58.000000000 +0200
++++ SuperTux-v0.6.3-Source/external/partio_zip/zip_manager.cpp 2022-06-13 15:20:45.305976668 +0300
+@@ -47,6 +47,7 @@ extern "C"{
+ #include <stdexcept>
+ #include <cstring>
+ #include <string>
++#include <memory>
+
+ #include "zip_manager.hpp"
+
diff --git a/games/supertux/missing-include-for-FLT_EPSILON.patch b/games/supertux/missing-include-for-FLT_EPSILON.patch
new file mode 100644
index 0000000000..44bc370a74
--- /dev/null
+++ b/games/supertux/missing-include-for-FLT_EPSILON.patch
@@ -0,0 +1,13 @@
+diff --git a/src/supertux/game_session.cpp b/src/supertux/game_session.cpp
+index 41de52e..a8ebfc9 100644
+--- a/src/supertux/game_session.cpp
++++ b/src/supertux/game_session.cpp
+@@ -14,6 +14,8 @@
+ // You should have received a copy of the GNU General Public License
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
+
++#include <cfloat>
++
+ #include "supertux/game_session.hpp"
+
+ #include "audio/sound_manager.hpp"
diff --git a/games/supertux/supertux.SlackBuild b/games/supertux/supertux.SlackBuild
index a492e216aa..26795a4bbd 100644
--- a/games/supertux/supertux.SlackBuild
+++ b/games/supertux/supertux.SlackBuild
@@ -84,6 +84,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/gcc12.patch
+patch -p1 < $CWD/missing-include-for-FLT_EPSILON.patch
+
mkdir -p build
cd build
cmake \
diff --git a/games/warzone2100/warzone2100.SlackBuild b/games/warzone2100/warzone2100.SlackBuild
index fa26f076cf..a8a08333d3 100644
--- a/games/warzone2100/warzone2100.SlackBuild
+++ b/games/warzone2100/warzone2100.SlackBuild
@@ -92,7 +92,7 @@ mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=alloc-zero -Wno-error=array-bounds" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_MANDIR=/usr/man \
diff --git a/graphics/GraphicsMagick/GraphicsMagick.SlackBuild b/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
index 97c5cbcc52..a8710abb97 100644
--- a/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
+++ b/graphics/GraphicsMagick/GraphicsMagick.SlackBuild
@@ -45,8 +45,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=GraphicsMagick
-VERSION=${VERSION:-1.3.36}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.3.38}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/graphics/GraphicsMagick/GraphicsMagick.info b/graphics/GraphicsMagick/GraphicsMagick.info
index 76f1603523..c956e0d4ce 100644
--- a/graphics/GraphicsMagick/GraphicsMagick.info
+++ b/graphics/GraphicsMagick/GraphicsMagick.info
@@ -1,8 +1,8 @@
PRGNAM="GraphicsMagick"
-VERSION="1.3.36"
+VERSION="1.3.38"
HOMEPAGE="http://www.graphicsmagick.org/"
-DOWNLOAD="https://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/1.3/GraphicsMagick-1.3.36.tar.xz"
-MD5SUM="3e936b42fd46fb460016f91c1a239e33"
+DOWNLOAD="https://downloads.sourceforge.net/graphicsmagick/GraphicsMagick-1.3.38.tar.xz"
+MD5SUM="9a5978427c3841711f470e15343ca71f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/darktable/README b/graphics/darktable/README
index 3b3bf0c2bb..41bdebb54d 100644
--- a/graphics/darktable/README
+++ b/graphics/darktable/README
@@ -13,6 +13,7 @@ darktable on x86_64 if possible. The i686 build will not give you a
satisfactory user experience. As an absolute minimum, your processor
must support SSE2 instructions (i.e. Pentium 4 or higher, or Athlon 64
or higher).
+UPDATE: i*86 looks no more supported, sorry
Optional dependencies
@@ -23,6 +24,8 @@ colord - for colour profile management
colord-gtk - for colour profile management
osm-gps-map - for map georeferencing
jsonschema - for checking noise profiles
+libavif - for native AV1 image support
+libheif - for AV1 and HEIF image support
If you have nVidia or AMD/ATI graphics with more than 1Gb of memory,
nvidia-driver (or nvidia-legacy340/304-driver) or amd-app-sdk is an
diff --git a/graphics/darktable/darktable.SlackBuild b/graphics/darktable/darktable.SlackBuild
index c7f3676018..fa3e585cc3 100644
--- a/graphics/darktable/darktable.SlackBuild
+++ b/graphics/darktable/darktable.SlackBuild
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=darktable
-VERSION=${VERSION:-3.4.0}
+VERSION=${VERSION:-4.0.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -89,7 +89,6 @@ cd build
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_MANDIR=/usr/man \
- -DDONT_USE_INTERNAL_LUA=Off \
-DUSE_LIBSECRET=On \
-DBINARY_PACKAGE_BUILD=1 \
-DDONT_USE_INTERNAL_LUA=0 \
@@ -107,8 +106,6 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
# Fix the doc location
mv $PKG/usr/share/doc $PKG/usr
mv $PKG/usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
-# Add a few missed docs
-cp -a doc/ChangeLog doc/NEWS doc/TODO $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
( cd $PKG/usr/doc ; ln -s $PRGNAM-$VERSION $PRGNAM )
diff --git a/graphics/darktable/darktable.info b/graphics/darktable/darktable.info
index 8825b51e24..f00997f906 100644
--- a/graphics/darktable/darktable.info
+++ b/graphics/darktable/darktable.info
@@ -1,10 +1,10 @@
PRGNAM="darktable"
-VERSION="3.4.0"
+VERSION="4.0.1"
HOMEPAGE="https://www.darktable.org/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/darktable-org/darktable/releases/download/release-3.4.0/darktable-3.4.0.tar.xz"
-MD5SUM_x86_64="e360fbf37eb256ce8c31c2181e5197c2"
+DOWNLOAD_x86_64="https://github.com/darktable-org/darktable/releases/download/release-4.0.1/darktable-4.0.1.tar.xz"
+MD5SUM_x86_64="b63acce06ef91425f13387464cdec8ca"
REQUIRES="gmic pugixml"
MAINTAINER="David Spencer"
EMAIL="baildon.research@googlemail.com"
diff --git a/graphics/djview4/djview4.SlackBuild b/graphics/djview4/djview4.SlackBuild
index ef2c76e027..1e17d62e23 100644
--- a/graphics/djview4/djview4.SlackBuild
+++ b/graphics/djview4/djview4.SlackBuild
@@ -29,7 +29,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=djview4
-VERSION=${VERSION:-4.10.6}
+VERSION=${VERSION:-4.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -75,7 +75,6 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/djview-$VERSION.tar.gz
-mv djview-$VERSION djview4-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -84,10 +83,11 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-if [ "$QTDIR" == "/opt/kde3/lib/qt3" ]; then
- QTDIR=$QT4DIR
-fi
+for i in $CWD/patches/* ; do patch -p1 < $i ; done
+
+autoreconf -fi
+QMAKE=/usr/bin/qmake-qt5 \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/graphics/djview4/djview4.info b/graphics/djview4/djview4.info
index 0352ccd371..57c567b276 100644
--- a/graphics/djview4/djview4.info
+++ b/graphics/djview4/djview4.info
@@ -1,8 +1,8 @@
PRGNAM="djview4"
-VERSION="4.10.6"
+VERSION="4.12"
HOMEPAGE="http://djvu.sourceforge.net/djview4.html"
-DOWNLOAD="https://sourceforge.net/projects/djvu/files/DjView/4.10/djview-4.10.6.tar.gz"
-MD5SUM="f23205e9d04e4ee4c2324e1d0bae1d1f"
+DOWNLOAD="https://downloads.sourceforge.net/djvu/djview-4.12.tar.gz"
+MD5SUM="a91328d0fc949a97931511dcd983236b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/djview4/patches/0001-cross-build-pkg-config-info.patch b/graphics/djview4/patches/0001-cross-build-pkg-config-info.patch
new file mode 100644
index 0000000000..2f2f46ea2c
--- /dev/null
+++ b/graphics/djview4/patches/0001-cross-build-pkg-config-info.patch
@@ -0,0 +1,86 @@
+From: Helmut Grohne <helmutg@debian.org>
+Date: Thu, 4 Jan 2018 08:48:09 +0100
+Subject: cross build pkg-config info
+
+Issue: djview4 FTCBFS: uses custom, broken macro AC_PROG_PKG_CONFIG
+See: https://bugs.debian.org/886304
+
+djview4 fails to cross build from source, because it uses the build
+architecture pkg-config rather than the host architecture one. This is
+due to its use of AC_PROG_PKG_CONFIG, which fails to consider
+$ac_tool_prefix. After replacing the macro with the upstream macro
+PKG_PROG_PKG_CONFIG (from pkg.m4 in pkg-config), the build continues a
+bit further and uses the wrong qmake. I need to discuss the qmake issue
+with the qt people. Can you apply the attached patch anyway and close
+this bug report when doing so? That'd make the qmake failure immediately
+visible and thus easier to discuss.
+---
+ config/acinclude.m4 | 26 ++------------------------
+ configure.ac | 3 ++-
+ 2 files changed, 4 insertions(+), 25 deletions(-)
+
+diff --git a/config/acinclude.m4 b/config/acinclude.m4
+index 3c78d41..2912000 100644
+--- a/config/acinclude.m4
++++ b/config/acinclude.m4
+@@ -168,28 +168,6 @@ TIFFOpen(0,0);
+
+
+
+-
+-dnl ------------------------------------------------------------------
+-dnl @synopsis AC_PROG_PKG_CONFIG([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+-dnl Sets output variables PKG_CONFIG
+-dnl ------------------------------------------------------------------
+-
+-
+-AC_DEFUN([AC_PROG_PKG_CONFIG],
+-[
+- AC_ARG_VAR(PKG_CONFIG,[Location of the pkg-config program.])
+- AC_ARG_VAR(PKG_CONFIG_PATH, [Path for pkg-config descriptors.])
+- AC_PATH_PROG(PKG_CONFIG, pkg-config)
+- if test -z "$PKG_CONFIG" ; then
+- ifelse([$2],,:,[$2])
+- else
+- ifelse([$1],,:,[$1])
+- fi
+-])
+-
+-
+-
+-
+ dnl ------------------------------------------------------------------
+ dnl @synopsis AC_PATH_DDJVUUAPI([action-if-found],[action-if-notfound])
+ dnl Search for ddjvuapi. Defines HAVE_DDJVUAPI.
+@@ -198,7 +176,7 @@ dnl ------------------------------------------------------------------
+
+ AC_DEFUN([AC_PATH_DDJVUAPI],
+ [
+- AC_REQUIRE([AC_PROG_PKG_CONFIG])
++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+ AC_ARG_VAR(DDJVUAPI_LIBS, [Libraries for ddjvuapi])
+ AC_ARG_VAR(DDJVUAPI_CFLAGS, [Compilation flags for ddjvuapi])
+ AC_MSG_CHECKING([for ddjvuapi])
+@@ -236,7 +214,7 @@ dnl ------------------------------------------------------------------
+
+ AC_DEFUN([AC_PATH_GLIB],
+ [
+- AC_REQUIRE([AC_PROG_PKG_CONFIG])
++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+ AC_ARG_VAR(GLIB_LIBS, [Libraries for glib-2.0])
+ AC_ARG_VAR(GLIB_CFLAGS, [Compilation flags for glib-2.0])
+ AC_MSG_CHECKING([for glib])
+diff --git a/configure.ac b/configure.ac
+index 473a456..e93aee8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -172,7 +172,8 @@ AC_CHECK_FUNCS(sigaction strerror waitpid wait3)
+ # Packages
+ # ----------------------------------------
+
+-AC_PROG_PKG_CONFIG([],[
++PKG_PROG_PKG_CONFIG
++AS_IF([test -z "$PKG_CONFIG"],[
+ AC_MSG_ERROR([Cannot find required program pkg-config.])
+ ])
+
diff --git a/graphics/djview4/patches/0002-debian-changes.patch b/graphics/djview4/patches/0002-debian-changes.patch
new file mode 100644
index 0000000000..059ede331b
--- /dev/null
+++ b/graphics/djview4/patches/0002-debian-changes.patch
@@ -0,0 +1,3606 @@
+This is an autogenerated patch header for a single-debian-patch file. The
+delta against upstream is either kept as a single patch, or maintained
+in some VCS, and exported as a single patch instead of more manageable
+atomic patches.
+
+--- djview4-4.12.orig/README_translations
++++ djview4-4.12/README_translations
+@@ -49,11 +49,12 @@ CONTRIBUTORS
+
+ Translations for djview were contributed by:
+
+-djview_cs.ts Petr Pisar <petr.pisar@atlas.cz>
+-djview_de.ts Marc Feld <mfeld@users.sourceforge.net>
+-djview_es.ts Mike Molina <mmolina.unphysics@gmail.com>
+-djview_fr.ts Leon Bottou <leonb@users.sourceforge.net>
+-djview_ru.ts Alexander Potashev <aspotashev@gmail.com>
+-djview_uk.ts Yuri Chornoivan <yurchor@ukr.net>
+-djview_zh_CN/TW.ts Lee Chenhwa <leechenhwa@aim.com>
++djview_cs.ts Petr Pisar <petr.pisar@atlas.cz>
++djview_de.ts Marc Feld <mfeld@users.sourceforge.net>
++djview_es.ts Mike Molina <mmolina.unphysics@gmail.com>
++djview_fr.ts Leon Bottou <leonb@users.sourceforge.net>
++djview_ru.ts Alexander Potashev <aspotashev@gmail.com>
++djview_uk.ts Yuri Chornoivan <yurchor@ukr.net>
++djview_pl.ts Janusz S. Bień, Tomasz Świerczek <ijsbien@mimuw.edu.pl>
++djview_zh_CN/TW.ts Lee Chenhwa <leechenhwa@aim.com>
+
+--- djview4-4.12.orig/config/acinclude.m4
++++ djview4-4.12/config/acinclude.m4
+@@ -272,7 +272,7 @@ Unsetting them is better than setting th
+ path=$QTDIR/bin:$PATH
+ fi
+ if test -z "$QMAKE" ; then
+- AC_PATH_PROGS([QMAKE], [qmake], [], [$path])
++ AC_PATH_TOOL([QMAKE], [qmake], [], [$path])
+ fi
+ if test -z "$QMAKE" ; then
+ AC_MSG_ERROR([Cannot find the Qt program qmake.
+@@ -327,7 +327,7 @@ If you define QMAKESPEC, make sure it is
+ altrcc="rcc-${qtversion}"
+ altlupdate="lupdate-${qtversion}"
+ altlrelease="lrelease-${qtversion}"
+- else
++ elif test `basename "$QMAKE"` = qmake ; then
+ AC_MSG_CHECKING([for real qmake path])
+ test -x "$QT_INSTALL_BINS/qmake" && QMAKE="$QT_INSTALL_BINS/qmake"
+ AC_MSG_RESULT([$QMAKE])
+--- djview4-4.12.orig/mac/make_djview_bundle.sh
++++ djview4-4.12/mac/make_djview_bundle.sh
+@@ -79,55 +79,51 @@ run rmdir $bundle/bin || exit
+ run ln -s ./MacOS $bundle/bin || exit
+ run ln -s ./MacOS $bundle/plugins || exit
+
+-# copy needed homebrew libraries
+-for lib in $(otool -L $bundle/MacOS/ddjvu | awk '/^\t/{print $1}') ; do
+- case "$lib" in
+- $BREWDIR/*)
+- libname=$(basename "$lib")
+- test -r "./$bundle/lib/$libname" || \
+- run cp "$lib" "./$bundle/lib/$libname" || exit ;;
+- esac
+-done
+
+ # copy needed qt plugins
+ ( cd "$QTDIR" ; \
+ ls -1 plugins/{platforms,imageformats,styles,printsupport}/*.dylib | \
+- grep -v libqwebgl.dylib | \
+- grep -v _debug.dylib ) | \
++ grep -v libqwebgl.dylib | \
++ grep -v libqpdf.dylib | \
++ grep -v libqsvg.dylib | \
++ grep -v _debug.dylib ) | \
+ while read plugin ; do
+ run mkdir -p $bundle/$(dirname "$plugin") || exit
+ run cp "$QTDIR/$plugin" $bundle/"$plugin" || exit
+ done
+
+-
+-
+-# copy needed libraries
+-for loader in \
+- $bundle/MacOS/djview \
+- $bundle/MacOS/*/*.dylib
+-do
+- for lib in $(otool -L $loader | awk '/^\t/{print $1}')
++# copy needed libraries
++function getlibs() {
++ for loader in $*
+ do
+- if [ $(basename "$lib") != $(basename "$loader") ]
+- then
+- case "$lib" in
+- $BREWDIR/*)
+- libname=$(basename "$lib")
+- test -r "./$bundle/lib/$libname" || \
+- run cp "$lib" "./$bundle/lib/$libname" || exit ;;
+- @rpath/*)
+- libname=$(basename "$lib")
+- lib="$QTDIR/lib${lib/#@rpath//}"
+- test -r "./$bundle/lib/$libname" || \
+- run cp "$lib" "./$bundle/lib/$libname" || exit ;;
+- $QTDIR/*)
+- libname=$(basename "$lib")
+- test -r "./$bundle/lib/$libname" || \
+- run cp "$lib" "./$bundle/lib/$libname" || exit ;;
+- esac
+- fi
++ for lib in $(otool -L $loader | awk '/^\t/{print $1}')
++ do
++ if [ $(basename "$lib") != $(basename "$loader") ]
++ then
++ case "$lib" in
++ $BREWDIR/*)
++ libname=$(basename "$lib")
++ test -r "./$bundle/lib/$libname" || \
++ run cp "$lib" "./$bundle/lib/$libname" || exit ;;
++ @rpath/*)
++ libname=$(basename "$lib")
++ lib="$QTDIR/lib${lib/#@rpath//}"
++ test -r "./$bundle/lib/$libname" || \
++ run cp "$lib" "./$bundle/lib/$libname" || exit ;;
++ $QTDIR/*)
++ libname=$(basename "$lib")
++ test -r "./$bundle/lib/$libname" || \
++ run cp "$lib" "./$bundle/lib/$libname" || exit ;;
++ esac
++ fi
++ done
+ done
+-done
++}
++getlibs $bundle/MacOS/ddjvu
++getlibs $bundle/MacOS/djview
++getlibs $bundle/MacOS/*/*.dylib
++getlibs $bundle/lib/Qt*
++getlibs $bundle/lib/*.dylib
+
+ # copy translations
+ languages=$(ls -1 ../src/*.qm | sed -e 's/^[^_]*_//' -e 's/\.qm$//')
+--- djview4-4.12.orig/mac/make_djview_dmg.sh
++++ djview4-4.12/mac/make_djview_dmg.sh
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-dmgname="DjVuLibre-3.5.27+DjView-4.10.6-intel64"
++dmgname="DjVuLibre-3.5.28+DjView-4.12-intel64-3"
+
+ cd $(dirname $0)
+ if ! test -d DjView.app ; then
+--- djview4-4.12.orig/src/djview.am
++++ djview4-4.12/src/djview.am
+@@ -57,3 +57,5 @@ qmake_ts += djview_zh_cn.ts
+ qmake_qm += djview_zh_cn.qm
+ qmake_ts += djview_zh_tw.ts
+ qmake_qm += djview_zh_tw.qm
++qmake_ts += djview_pl.ts
++qmake_qm += djview_pl.qm
+--- djview4-4.12.orig/src/djview.pro
++++ djview4-4.12/src/djview.pro
+@@ -141,3 +141,4 @@ TRANSLATIONS += djview_ru.ts
+ TRANSLATIONS += djview_es.ts
+ TRANSLATIONS += djview_zh_cn.ts
+ TRANSLATIONS += djview_zh_tw.ts
++TRANSLATIONS += djview_pl.ts
+--- /dev/null
++++ djview4-4.12/src/djview_pl.ts
+@@ -0,0 +1,3389 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!DOCTYPE TS>
++<TS version="2.1" language="pl_PL">
++<context>
++ <name>Generic</name>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="1034"/>
++ <source>thisLanguage</source>
++ <comment>Name of THIS language</comment>
++ <translation type="unfinished">Polski</translation>
++ </message>
++</context>
++<context>
++ <name>QApplication</name>
++ <message>
++ <location filename="djview.cpp" line="505"/>
++ <source>Option &apos;-fix&apos; is deprecated.</source>
++ <translation>Opcja &apos;-fix&apos; jest przestarzała.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjView</name>
++ <message>
++ <location filename="djview.cpp" line="524"/>
++ <source>cannot open &apos;%1&apos;.</source>
++ <translation>nie można otworzyć &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="220"/>
++ <source>FitWidth</source>
++ <comment>zoomCombo</comment>
++ <translation>Dostosuj szerokość strony</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="221"/>
++ <source>FitPage</source>
++ <comment>zoomCombo</comment>
++ <translation>Dostosuj wielkość strony</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="222"/>
++ <source>Stretch</source>
++ <comment>zoomCombo</comment>
++ <translation>Rozciągnij</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="223"/>
++ <source>1:1</source>
++ <comment>zoomCombo</comment>
++ <translation>Wiernie (1:1)</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="224"/>
++ <source>300%</source>
++ <comment>zoomCombo</comment>
++ <translation>300%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="225"/>
++ <source>200%</source>
++ <comment>zoomCombo</comment>
++ <translation>200%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="226"/>
++ <source>150%</source>
++ <comment>zoomCombo</comment>
++ <translation>150%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="227"/>
++ <source>100%</source>
++ <comment>zoomCombo</comment>
++ <translation>100%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="228"/>
++ <source>75%</source>
++ <comment>zoomCombo</comment>
++ <translation>75%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="229"/>
++ <source>50%</source>
++ <comment>zoomCombo</comment>
++ <translation>50%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="237"/>
++ <source>Color</source>
++ <comment>modeCombo</comment>
++ <translation>Kolor</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="238"/>
++ <source>Stencil</source>
++ <comment>modeCombo</comment>
++ <translatorcomment>Translation not obvious, may be controversial</translatorcomment>
++ <translation>Maska</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="239"/>
++ <source>Foreground</source>
++ <comment>modeCombo</comment>
++ <translatorcomment>Loose controversial translation (~print layer)</translatorcomment>
++ <translation>Front</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="240"/>
++ <source>Background</source>
++ <comment>modeCombo</comment>
++ <translation>Tło</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="241"/>
++ <source>Hidden Text</source>
++ <comment>modeCombo</comment>
++ <translation>Tekst ukryty</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="455"/>
++ <source>&amp;New</source>
++ <comment>File|</comment>
++ <translation>&amp;Nowy</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="456"/>
++ <source>Ctrl+N</source>
++ <comment>File|New</comment>
++ <translation>Ctrl+N</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="458"/>
++ <source>Create a new DjView window.</source>
++ <translation>Otwórz nowe okno DjView.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="461"/>
++ <source>&amp;Open</source>
++ <comment>File|</comment>
++ <translation>&amp;Otwórz</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="462"/>
++ <source>Ctrl+O</source>
++ <comment>File|Open</comment>
++ <translation>Ctrl-O</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="464"/>
++ <source>Open a DjVu document.</source>
++ <translation>Otwórz dokument DjVu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="467"/>
++ <source>Open &amp;Location...</source>
++ <comment>File|</comment>
++ <translation>Otwórz &amp;adres...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="468"/>
++ <source>Open a remote DjVu document.</source>
++ <translation>Otwórz zdalny dokument DjVu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="472"/>
++ <source>&amp;Close</source>
++ <comment>File|</comment>
++ <translation>&amp;Zamknij</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="473"/>
++ <source>Ctrl+W</source>
++ <comment>File|Close</comment>
++ <translation>Ctrl+W</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="475"/>
++ <source>Close this window.</source>
++ <translation>Zamknij to okno.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="478"/>
++ <source>&amp;Quit</source>
++ <comment>File|</comment>
++ <translation>Za&amp;kończ</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="479"/>
++ <source>Ctrl+Q</source>
++ <comment>File|Quit</comment>
++ <translation>Ctrl+Q</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="481"/>
++ <source>Close all windows and quit the application.</source>
++ <translation>Zamknij wszystkie okna i zakończ aplikację.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="484"/>
++ <source>Save &amp;as...</source>
++ <comment>File|</comment>
++ <translation>Zapisz &amp;jako...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="485"/>
++ <source>Ctrl+S</source>
++ <comment>File|SaveAs</comment>
++ <translation>Ctrl+S</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="487"/>
++ <source>Save the DjVu document.</source>
++ <translation>Zapisz dokument DjVu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="490"/>
++ <source>&amp;Export as...</source>
++ <comment>File|</comment>
++ <translation>&amp;Eksportuj jako...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="491"/>
++ <source>Ctrl+E</source>
++ <comment>File|ExportAs</comment>
++ <translation>Ctrl+E</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="493"/>
++ <source>Export DjVu page or document to other formats.</source>
++ <translation>Eksportuj stronę lub cały dokument DjVu do innych formatów.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="496"/>
++ <source>&amp;Print...</source>
++ <comment>File|</comment>
++ <translation>&amp;Drukuj...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="497"/>
++ <source>Ctrl+P</source>
++ <comment>File|Print</comment>
++ <translation>Ctrl+P</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="499"/>
++ <source>Print the DjVu document.</source>
++ <translation>Drukuj dokument DjVu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="502"/>
++ <source>&amp;Find...</source>
++ <comment>Edit|</comment>
++ <translation>&amp;Znajdź...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="503"/>
++ <source>Ctrl+F</source>
++ <comment>Edit|Find</comment>
++ <translation>Ctrl+F</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="505"/>
++ <source>Find text in the document.</source>
++ <translation>Znajdź tekst w dokumencie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="508"/>
++ <source>Find &amp;Next</source>
++ <comment>Edit|</comment>
++ <translation>Znajdź &amp;następny</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="509"/>
++ <source>F3</source>
++ <comment>Edit|Find Next</comment>
++ <translation>F3</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="510"/>
++ <source>Find next occurrence of search text in the document.</source>
++ <translation>Znajdź następne wystąpienie szukanego tekstu w dokumencie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="513"/>
++ <source>Find &amp;Previous</source>
++ <comment>Edit|</comment>
++ <translation>Znajdź &amp;poprzedni</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="514"/>
++ <source>Shift+F3</source>
++ <comment>Edit|Find Previous</comment>
++ <translation>Shift+F3</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="515"/>
++ <source>Find previous occurrence of search text in the document.</source>
++ <translation>Znajdź poprzednie wystąpienie szukanego tekstu w dokumencie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="518"/>
++ <source>&amp;Select</source>
++ <comment>Edit|</comment>
++ <translation>&amp;Wybierz</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="519"/>
++ <source>F2</source>
++ <comment>Edit|Select</comment>
++ <translation>F2</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="521"/>
++ <source>Select a rectangle in the document.</source>
++ <translation>Zaznacz prostokąt w dokumencie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="524"/>
++ <source>Zoom &amp;In</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;Powiększ</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="526"/>
++ <source>Increase the magnification.</source>
++ <translation>Zwiększ powiększenie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="530"/>
++ <source>Zoom &amp;Out</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;Zmniejsz</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="532"/>
++ <source>Decrease the magnification.</source>
++ <translation>Zmniejsz powiększenie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="536"/>
++ <source>Fit &amp;Width</source>
++ <comment>Zoom|</comment>
++ <translation>Dostosuj &amp;szerokość strony</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="537"/>
++ <source>Set magnification to fit page width.</source>
++ <translation>Dostosuj powiększenie do szerokości strony.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="542"/>
++ <source>Fit &amp;Page</source>
++ <comment>Zoom|</comment>
++ <translation>Dostosuj wielość &amp;trony</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="543"/>
++ <source>Set magnification to fit page.</source>
++ <translation>Dostosuj powiększenie do wielkości strony.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="548"/>
++ <source>One &amp;to one</source>
++ <comment>Zoom|</comment>
++ <translation>Jeden &amp;do jednego</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="549"/>
++ <source>Set full resolution magnification.</source>
++ <translation>Ustaw powiększenie zgodne z pełną rozdzielczością.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="554"/>
++ <source>&amp;300%</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;300%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="555"/>
++ <source>Magnify 300%</source>
++ <translation>Powiększ 300%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="560"/>
++ <source>&amp;200%</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;200%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="561"/>
++ <source>Magnify 20%</source>
++ <translation>Powiększ 20%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="566"/>
++ <source>&amp;150%</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;150%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="567"/>
++ <source>Magnify 150%</source>
++ <translation>Powiększ 150%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="572"/>
++ <source>&amp;100%</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;100%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="573"/>
++ <source>Magnify 100%</source>
++ <translation>Powiększ 100%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="578"/>
++ <source>&amp;75%</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;75%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="579"/>
++ <source>Magnify 75%</source>
++ <translation>Powiększ 75%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="584"/>
++ <source>&amp;50%</source>
++ <comment>Zoom|</comment>
++ <translation>&amp;50%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="585"/>
++ <source>Magnify 50%</source>
++ <translation>Powiększ 50%</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="590"/>
++ <source>&amp;First Page</source>
++ <comment>Go|</comment>
++ <translation>&amp;Pierwsza strona</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="592"/>
++ <source>Jump to first document page.</source>
++ <translation>Przejdź do pierwszej strony dokumentu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="597"/>
++ <source>&amp;Next Page</source>
++ <comment>Go|</comment>
++ <translation>&amp;Następna strona</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="599"/>
++ <source>Jump to next document page.</source>
++ <translation>Przejdź do następnej strony dokumentu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="604"/>
++ <source>&amp;Previous Page</source>
++ <comment>Go|</comment>
++ <translation>P&amp;oprzednia strona</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="606"/>
++ <source>Jump to previous document page.</source>
++ <translation>Przejdź do poprzedniej strony dokumentu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="611"/>
++ <source>&amp;Last Page</source>
++ <comment>Go|</comment>
++ <translation>&amp;Ostatnia strona</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="613"/>
++ <source>Jump to last document page.</source>
++ <translation>Przejdź do ostatniej strony dokumentu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="618"/>
++ <source>&amp;Backward</source>
++ <comment>Go|</comment>
++ <translation>&amp;Wstecz</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="620"/>
++ <source>Backward in history.</source>
++ <translation>Cofnij się w historii.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="625"/>
++ <source>&amp;Forward</source>
++ <comment>Go|</comment>
++ <translation>&amp;Naprzód</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="627"/>
++ <source>Forward in history.</source>
++ <translation>Przejdź do przodu w historii.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="632"/>
++ <source>Rotate &amp;Left</source>
++ <comment>Rotate|</comment>
++ <translation>Obróć w &amp;lewo</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="634"/>
++ <source>Rotate page image counter-clockwise.</source>
++ <translation>Obróć obraz strony w kierunku przeciwnym do ruchu wskazówek zegara.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="639"/>
++ <source>Rotate &amp;Right</source>
++ <comment>Rotate|</comment>
++ <translation>Obróć w &amp;prawo</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="641"/>
++ <source>Rotate page image clockwise.</source>
++ <translation>Obróć obraz strony w kierunku ruchu wskazówek zegara.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="647"/>
++ <source>Set natural page orientation.</source>
++ <translation>Ustaw naturalna orientację strony.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="653"/>
++ <source>Turn page on its left side.</source>
++ <translation>Obróć stronę na lewy bok.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="659"/>
++ <source>Turn page upside-down.</source>
++ <translation>Obróć stronę do góry nogami.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="665"/>
++ <source>Turn page on its right side.</source>
++ <translation>Obróć stronę na prawy bok.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="670"/>
++ <source>&amp;Information...</source>
++ <comment>Edit|</comment>
++ <translation>&amp;Informacje...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="671"/>
++ <source>Ctrl+I</source>
++ <comment>Edit|Information</comment>
++ <translation>Ctrl+I</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="672"/>
++ <source>Show information about the document encoding and structure.</source>
++ <translation>Pokaż informacje o kodowaniu dokumentu i jego strukturze.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="675"/>
++ <source>&amp;Metadata...</source>
++ <comment>Edit|</comment>
++ <translation>&amp;Metadane...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="677"/>
++ <source>Ctrl+M</source>
++ <comment>Edit|Metadata</comment>
++ <translation>Ctrl+M</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="679"/>
++ <source>Show the document and page meta data.</source>
++ <translation>Pokaż metadane dokumentu i strony.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="684"/>
++ <source>&amp;About DjView...</source>
++ <translation>&amp;O DjView...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="688"/>
++ <source>Show information about this program.</source>
++ <translation>Pokaż informacje o tym programie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="691"/>
++ <source>&amp;Color</source>
++ <comment>Display|</comment>
++ <translation>&amp;Kolor</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="692"/>
++ <source>Display everything.</source>
++ <translation>Wyświetl wszystkie warstwy.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="697"/>
++ <source>&amp;Stencil</source>
++ <comment>Display|</comment>
++ <translation>&amp;Maska</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="698"/>
++ <source>Only display the document bitonal stencil.</source>
++ <translation>Wyświetl tylko bitonalną maskę.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="704"/>
++ <source>&amp;Foreground</source>
++ <comment>Display|</comment>
++ <translation>&amp;Front</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="705"/>
++ <source>Only display the foreground layer.</source>
++ <translation>Wyświetl tylko warstwę frontową.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="711"/>
++ <source>&amp;Background</source>
++ <comment>Display|</comment>
++ <translation>&amp;Tło</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="712"/>
++ <source>Only display the background layer.</source>
++ <translation>Wyświetl tylko warstwę tła.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="718"/>
++ <source>&amp;Hidden Text</source>
++ <comment>Display|</comment>
++ <translation>&amp;Tekst ukryty</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="719"/>
++ <source>Overlay a representation of the hidden text layer.</source>
++ <translation>Nałóż na obraz reprezentację tekstu ukrytego.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="725"/>
++ <source>I&amp;nvert Luminance</source>
++ <comment>View|</comment>
++ <translation>&amp;Odwróć luminancję</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="726"/>
++ <source>Invert image luminance while preserving hue.</source>
++ <translation>Odwróć luminancję obrazu zachowując nasycenie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="730"/>
++ <source>Prefere&amp;nces...</source>
++ <comment>Settings|</comment>
++ <translation>&amp;Ustawienia...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="732"/>
++ <source>Show the preferences dialog.</source>
++ <translation>Pokaż dialog ustawień.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="735"/>
++ <source>Show &amp;Sidebar</source>
++ <comment>Settings|</comment>
++ <translation>Pokaż panel &amp;boczny</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="736"/>
++ <source>F9</source>
++ <comment>Settings|Show sidebar</comment>
++ <translation>F9</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="738"/>
++ <source>Alt+Ctrl+S</source>
++ <comment>Settings|Show sidebar</comment>
++ <translation>Alt+Ctrl+S</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="740"/>
++ <source>Show/hide the side bar.</source>
++ <translation>Pokaż/ukryj panel boczny.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="744"/>
++ <source>Show &amp;Toolbar</source>
++ <comment>Settings|</comment>
++ <translation>Pokaż pasek &amp;narzędzi</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="745"/>
++ <source>F10</source>
++ <comment>Settings|Show toolbar</comment>
++ <translation>F10</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="747"/>
++ <source>Alt+Ctrl+T</source>
++ <comment>Settings|Show toolbar</comment>
++ <translation>Alt+Ctrl+T</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="749"/>
++ <source>Show/hide the standard tool bar.</source>
++ <translation>Pokaż/ukryj standardowy pasek narzędzi.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="752"/>
++ <source>Show Stat&amp;usbar</source>
++ <comment>Settings|</comment>
++ <translation>Pokaż pasek &amp;stanu</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="753"/>
++ <source>Show/hide the status bar.</source>
++ <translation>Pokaż/ukryj pasek stanu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="755"/>
++ <source>Alt+Ctrl+/</source>
++ <comment>Settings|Show toolbar</comment>
++ <translation>Alt+Ctrl+/</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="761"/>
++ <source>&amp;Full Screen</source>
++ <comment>View|</comment>
++ <translation>&amp;Pełny ekran</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="762"/>
++ <source>F11</source>
++ <comment>View|FullScreen</comment>
++ <translation>F11</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="764"/>
++ <source>Meta+Ctrl+F</source>
++ <comment>View|FullScreen</comment>
++ <translation>Meta+Ctrl+F</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="767"/>
++ <source>Toggle full screen mode.</source>
++ <translation>Włącz lub wyłącz tryb pełnoekranowy.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="771"/>
++ <source>&amp;Slide Show</source>
++ <comment>View|</comment>
++ <translation>&amp;Pokaz slajdów</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="772"/>
++ <source>Shift+F11</source>
++ <comment>View|Slideshow</comment>
++ <translation>Shift+F11</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="774"/>
++ <source>Shift+Ctrl+F</source>
++ <comment>Settings|Show toolbar</comment>
++ <translation>Shift+Ctrl+F</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="777"/>
++ <source>Toggle slide show mode.</source>
++ <translation>Włącz lub wyłącz tryb pokazu slajdów.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="780"/>
++ <source>&amp;Continuous</source>
++ <comment>Layout|</comment>
++ <translation>Wyświetlanie &amp;ciągłe</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="782"/>
++ <source>F4</source>
++ <comment>Layout|Continuous</comment>
++ <translation>F4</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="783"/>
++ <source>Toggle continuous layout mode.</source>
++ <translation>Włącz lub wyłącz tryb wyświetlania ciągłego.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="787"/>
++ <source>Side &amp;by Side</source>
++ <comment>Layout|</comment>
++ <translation>&amp;Dwie strony obok siebie</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="789"/>
++ <source>F5</source>
++ <comment>Layout|SideBySide</comment>
++ <translation>F5</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="790"/>
++ <source>Toggle side-by-side layout mode.</source>
++ <translation>Włącz lub wyłącz wyświetlanie dwóch stron obok siebie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="794"/>
++ <source>Co&amp;ver Page</source>
++ <comment>Layout|</comment>
++ <translation>Strona &amp;tytułowa</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="798"/>
++ <source>F6</source>
++ <comment>Layout|CoverPage</comment>
++ <translation>F6</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="799"/>
++ <source>Show the cover page alone in side-by-side mode.</source>
++ <translation>Pokaż osobno stronę tytułową w trybie wyświetlania stron obok siebie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="803"/>
++ <source>&amp;Right to Left</source>
++ <comment>Layout|</comment>
++ <translation>Z &amp;prawej do lewej</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="807"/>
++ <source>Shift+F6</source>
++ <comment>Layout|RightToLeft</comment>
++ <translation>Shift+F6</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="808"/>
++ <source>Show pages right-to-left in side-by-side mode.</source>
++ <translation>Pokazuj strony od prawej do lewej w trybie obok siebie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="812"/>
++ <source>Copy &amp;URL</source>
++ <comment>Edit|</comment>
++ <translation>Kopiuj &amp;URL</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="813"/>
++ <source>Save an URL for the current page into the clipboard.</source>
++ <translation>Skopiuj do schowka URL bieżącej strony.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="814"/>
++ <source>Ctrl+C</source>
++ <comment>Edit|CopyURL</comment>
++ <translation>Ctrl+C</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="817"/>
++ <source>Copy &amp;Outline</source>
++ <comment>Edit|</comment>
++ <translation>Kopiuj &amp;zakładki</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="818"/>
++ <source>Save the djvused code for the outline into the clipboard.</source>
++ <translation>Skopiuj do schowka zakładki w formacie djvused.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="821"/>
++ <source>Copy &amp;Annotations</source>
++ <comment>Edit|</comment>
++ <translation>Kopiuj &amp;adnotacje</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="822"/>
++ <source>Save the djvused code for the page annotations into the clipboard.</source>
++ <translation>Skopiuj do schowka adnotacje w formacie djvused.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="835"/>
++ <source>&amp;File</source>
++ <comment>File|</comment>
++ <translation>&amp;Plik</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="841"/>
++ <source>Open &amp;Recent</source>
++ <translation>Otwórz &amp;poprzednie</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="855"/>
++ <source>&amp;Edit</source>
++ <comment>Edit|</comment>
++ <translation>&amp;Edytuj</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="864"/>
++ <source>&amp;View</source>
++ <comment>View|</comment>
++ <translation>&amp;Widok</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="865"/>
++ <location filename="qdjview.cpp" line="934"/>
++ <source>&amp;Zoom</source>
++ <comment>View|Zoom</comment>
++ <translation>&amp;Skaluj</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="879"/>
++ <location filename="qdjview.cpp" line="948"/>
++ <source>&amp;Rotate</source>
++ <comment>View|Rotate</comment>
++ <translation>&amp;Obróć</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="887"/>
++ <location filename="qdjview.cpp" line="956"/>
++ <source>&amp;Display</source>
++ <comment>View|Display</comment>
++ <translation>&amp;Pokaż</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="909"/>
++ <location filename="qdjview.cpp" line="929"/>
++ <source>&amp;Go</source>
++ <comment>Go|</comment>
++ <translation>&amp;Przejdź</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="917"/>
++ <source>&amp;Settings</source>
++ <comment>Settings|</comment>
++ <translation>&amp;Ustawienia</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="923"/>
++ <source>&amp;Help</source>
++ <comment>Help|</comment>
++ <translation>&amp;Pomoc</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1159"/>
++ <source>Control Left Mouse Button</source>
++ <translation>Control i lewy klawisz myszy</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1161"/>
++ <source>Right Mouse Button</source>
++ <translation>Prawy klawisz myszy</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1168"/>
++ <source>&lt;html&gt;&lt;b&gt;Selecting a rectangle.&lt;/b&gt;&lt;br/&gt; Once a rectangular area is selected, a popup menu lets you copy the corresponding text or image. Instead of using this tool, you can also hold %1 and use the Left Mouse Button.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Zaznaczenie prostokąta.&lt;/b&gt;&lt;br/&gt;Po zaznaczeniu prostokąta pojawi się menu podręczne pozwalające skopiować odpowiedni tekst lub obraz. Zamiast używać tego sposobu, można również przytrzymać %1 i użyć lewego klawisza myszy.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1176"/>
++ <source>&lt;html&gt;&lt;b&gt;Zooming.&lt;/b&gt;&lt;br/&gt; Choose a zoom level for viewing the document. Zoom level 100% displays the document for a 100 dpi screen. Zoom levels &lt;tt&gt;Fit Page&lt;/tt&gt; and &lt;tt&gt;Fit Width&lt;/tt&gt; ensure that the full page or the page width fit in the window. &lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Skalowanie.&lt;/b&gt;&lt;br/&gt; Wybierz stopień powiększenia lub zmniejszenia wyświetlanego dokumentu.Wartość 100% jest odpowiednia dla ekranu o rozdzielczości 100dpi. Wartości &lt;tt&gt;Dostosuj do strony&lt;/tt&gt; i &lt;tt&gt;Dostosuj do szerokości&lt;/tt&gt;gwarantują, że odpowiednio cała strona lub cała szerokość strony zmieszczą się w oknie. &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1188"/>
++ <source>&lt;html&gt;&lt;b&gt;Rotating the pages.&lt;/b&gt;&lt;br/&gt; Choose to display pages in portrait or landscape mode. You can also turn them upside down.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Obracanie strony.&lt;/b&gt;&lt;br/&gt; Wybór wyświetlania strony w trybie portretowym lub krajobrazowym. Można również obrócić stronę do góry nogami.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1195"/>
++ <source>&lt;html&gt;&lt;b&gt;Display mode.&lt;/b&gt;&lt;br/&gt; DjVu images compose a background layer and a foreground layer using a stencil. The display mode specifies with layers should be displayed.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Tryb wyświetlania.&lt;/b&gt;&lt;br/&gt; Obrazy DjVu są tworzone z warstw frontu i tła za pomocą maski. Tryb wyświetlania określa, które warstwy będą wyświetlane.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1203"/>
++ <source>&lt;html&gt;&lt;b&gt;Navigating the document.&lt;/b&gt;&lt;br/&gt; The page selector lets you jump to any page by name and can be activated at any time by pressing Ctrl+G. The navigation buttons jump to the first page, the previous page, the next page, or the last page. &lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Nawigacja w dokumencie.&lt;/b&gt;&lt;br/&gt; Selektor strony pozwala przejść do dowolnej strony i może być aktywowany w dowolnym momencie przez naciśnięcie CTRL+G. Przyciski nawigacyjne powodują przejście do pierwszej, poprzedniej, następnej lub ostatniej strony. &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1212"/>
++ <source>&lt;html&gt;&lt;b&gt;Document and page information.&lt;/b&gt;&lt;br&gt; Display a dialog window for viewing encoding information pertaining to the document or to a specific page.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Informacje o stronie i dokumentacje.&lt;/b&gt;&lt;br&gt; Pokaż okno dialogowe w celu wyświetlenia informacji o kodowaniu dotyczącej dokumentu lub konkretnej strony.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1218"/>
++ <source>&lt;html&gt;&lt;b&gt;Document and page metadata.&lt;/b&gt;&lt;br&gt; Display a dialog window for viewing metadata pertaining to the document or to a specific page.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Metadane dokumentu i strony.&lt;/b&gt;&lt;br&gt; Pokaż okno dialogowe w celu wyświetlenia metadanych dotyczących dokumentu lub konkretnej strony.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1224"/>
++ <source>&lt;html&gt;&lt;b&gt;Continuous layout.&lt;/b&gt;&lt;br/&gt; Display all the document pages arranged vertically inside the scrollable document viewing area.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Wyświetlanie ciągłe.&lt;/b&gt;&lt;br/&gt; Wyświetl wszystkie strony dokumentu ustawione pionowe wewnątrz przewijalnego obszaru wyświetlania.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1229"/>
++ <source>&lt;html&gt;&lt;b&gt;Side by side layout.&lt;/b&gt;&lt;br/&gt; Display pairs of pages side by side inside the scrollable document viewing area.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Wyświetlanie stron obok siebie.&lt;/b&gt;&lt;br/&gt; Wyświetlaj dwie strony obok siebie wewnątrz przewijalnego obszaru wyświetlania.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1234"/>
++ <source>&lt;html&gt;&lt;b&gt;Page information.&lt;/b&gt;&lt;br/&gt; Display information about the page located under the cursor: the sequential page number, the page size in pixels, and the page resolution in dots per inch. &lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Informacja o stronie.&lt;/b&gt;&lt;br/&gt; Wyświetl informacje o stronie znajdującej się pod kursorem: numer kolejny, rozmiar strony w pikselach i rozdzielczość strony w punktach na cal. &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1240"/>
++ <source>&lt;html&gt;&lt;b&gt;Cursor information.&lt;/b&gt;&lt;br/&gt; Display the position of the mouse cursor expressed in page coordinates. &lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Informacja o kursorze.&lt;/b&gt;&lt;br/&gt; Wyświetl pozycję kursora wyrażoną we współrzędnych strony. &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1245"/>
++ <source>&lt;html&gt;&lt;b&gt;Document viewing area.&lt;/b&gt;&lt;br/&gt; This is the main display area for the DjVu document. &lt;ul&gt;&lt;li&gt;Arrows and page keys to navigate the document.&lt;/li&gt;&lt;li&gt;Space and BackSpace to read the document.&lt;/li&gt;&lt;li&gt;Keys &lt;tt&gt;+&lt;/tt&gt; &lt;tt&gt;-&lt;/tt&gt; &lt;tt&gt;[&lt;/tt&gt; &lt;tt&gt;]&lt;/tt&gt; to zoom or rotate the document.&lt;/li&gt;&lt;li&gt;Left Mouse Button for panning and selecting links.&lt;/li&gt;&lt;li&gt;%3 for displaying the contextual menu.&lt;/li&gt;&lt;li&gt;%1 Left Mouse Button for selecting text or images.&lt;/li&gt;&lt;li&gt;%2 for popping the magnification lens.&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Obszar wyświetlania dokumentu.&lt;/b&gt;&lt;br/&gt; To jest główny obszar wyświetlania dokumentu DjVu. &lt;ul&gt;&lt;li&gt;Klawisze strzałek i strony nawigują w dokumencie.&lt;/li&gt;&lt;li&gt;Space i BackSpace przewijają dokument.&lt;/li&gt;&lt;li&gt;Klawisze &lt;tt&gt;+&lt;/tt&gt; &lt;tt&gt;-&lt;/tt&gt; &lt;tt&gt;[&lt;/tt&gt; &lt;tt&gt;]&lt;/tt&gt; skalują lub obracają dokument.&lt;/li&gt;&lt;li&gt;Lewy klawisz myszy pozycjonuje i wybiera.hiperłącza&lt;/li&gt;&lt;li&gt;%3 wyświetla menu kontekstowe.&lt;/li&gt;&lt;li&gt;%1 lewy klawisz myszy wybiera tekst lub obraz.&lt;/li&gt;&lt;li&gt;%2 uaktywnia lupę.&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1258"/>
++ <source>&lt;html&gt;&lt;b&gt;Document viewing area.&lt;/b&gt;&lt;br/&gt; This is the main display area for the DjVu document. But you must first open a DjVu document to see anything.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Obszar wyświetlania dokumentu.&lt;/b&gt;&lt;br/&gt; To jest główny obszar wyświetlania dokumentu DjVu. Aby cokolwiek zobaczyć trzeba najpierw otworzyć jakiś dokument DjVu.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1597"/>
++ <source>Option &apos;%1&apos; requires boolean argument.</source>
++ <translation>Opcja &apos;%1&apos; wymaga argumentu boolowskiego.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1604"/>
++ <source>Illegal value &apos;%2&apos; for option &apos;%1&apos;.</source>
++ <translation>Niepoprawna wartość &apos;%2&apos; dla opcji &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1722"/>
++ <source>Toolbar option &apos;%1&apos; is not implemented.</source>
++ <translation>Opcja paska narzędziowego &apos;%1&apos; nie jest zaimplementowana.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1735"/>
++ <source>Toolbar option &apos;%1&apos; is not recognized.</source>
++ <translation>Opcja paska narzędzi &apos;%1&apos; nie jest rozpoznana.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="1781"/>
++ <location filename="qdjview.cpp" line="1788"/>
++ <source>Option &apos;%1&apos; requires a standalone viewer.</source>
++ <translation>Opcja &apos;%1&apos; wymaga samodzielnej przeglądarki.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2053"/>
++ <source>Deprecated option &apos;%1&apos;</source>
++ <translation>Przestarzała opcja &apos;%1&apos;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2101"/>
++ <source>Option &apos;%1&apos; is not implemented.</source>
++ <translation>Opcja &apos;%1&apos; nie jest zaimplementowana.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2106"/>
++ <source>Option &apos;%1&apos; is not recognized.</source>
++ <translation>Opcja &apos;%1&apos; nie jest rozpoznana.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2383"/>
++ <location filename="qdjview.cpp" line="2688"/>
++ <source>DjView</source>
++ <translation>DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2554"/>
++ <source>Thumbnails</source>
++ <translation>Miniaturki</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2561"/>
++ <source>Outline</source>
++ <translation>Zakładki</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2568"/>
++ <source>Find</source>
++ <translation>Znajdź</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2708"/>
++ <source>Cannot open file &apos;%1&apos;.</source>
++ <translation>Nie można otworzyć pliku &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2709"/>
++ <source>Opening DjVu file</source>
++ <translation>Otwieranie pliku DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2806"/>
++ <source>Cannot open URL &apos;%1&apos;.</source>
++ <translation>Nie można otworzyć URL &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2807"/>
++ <source>Opening DjVu document</source>
++ <translation>Otwieranie dokumentu DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2824"/>
++ <source>Certificate validation error - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Błąd weryfikacji certyfikatu - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2825"/>
++ <source>&lt;html&gt; %1 Do you want to continue anyway? &lt;/html&gt;</source>
++ <translation>&lt;html&gt; %1 Czy chcesz mimo to kontynuować? &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2903"/>
++ <source>Cannot find page numbered: %1</source>
++ <translation>Nie można znaleźć strony o numerze: %1</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2935"/>
++ <location filename="qdjview.cpp" line="2965"/>
++ <source>Cannot find page named: %1</source>
++ <translation>Nie można znaleźć strony nazwanej %1</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3179"/>
++ <source>Unrecognized sidebar options &apos;%1&apos;.</source>
++ <translation>Nierozpoznana opcja panelu bocznego &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3242"/>
++ <location filename="qdjview.cpp" line="3278"/>
++ <source>Print - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Drukuj - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3243"/>
++ <source>&lt;html&gt; This file was served with printing restrictions. Do you want to print it anyway?&lt;/html&gt;</source>
++ <translation>&lt;html&gt; Ten plik został udostępniony z ograniczeniami drukowania. Czy drukować mimo tego?&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3258"/>
++ <location filename="qdjview.cpp" line="3298"/>
++ <source>Save - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Zapisz - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3259"/>
++ <source>&lt;html&gt; This file was served with saving restrictions. Do you want to save it anyway?&lt;/html&gt;</source>
++ <translation>&lt;html&gt; Ten plik został udostępniony z ograniczeniami zapisywania. Czy zapisać mimo tego?&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3317"/>
++ <source>Export - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Eksport - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3589"/>
++ <source>Text files</source>
++ <comment>save filter</comment>
++ <translation>Pliki tekstowe</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3590"/>
++ <location filename="qdjview.cpp" line="3637"/>
++ <source>All files</source>
++ <comment>save filter</comment>
++ <translation>Wszystkie pliki</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3591"/>
++ <source>Save Text - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Zapisz tekst - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3607"/>
++ <location filename="qdjview.cpp" line="3652"/>
++ <location filename="qdjview.cpp" line="3672"/>
++ <source>Error - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Błąd - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3608"/>
++ <location filename="qdjview.cpp" line="3673"/>
++ <source>Cannot write file &apos;%1&apos;.
++%2.</source>
++ <translation>Nie można zapisać pliku &apos;%1&apos;.
++%2.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3634"/>
++ <source>%1 files (*.%2);;</source>
++ <comment>save image filter</comment>
++ <translatorcomment>Translation depends on the numer: 1 plik, 2 pliki, 5 plików,..,101 plik etc.</translatorcomment>
++ <translation>%1 plików (*.%2);;</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3638"/>
++ <source>Save Image - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Zapisz obraz - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3653"/>
++ <source>Cannot determine file format.
++Filename &apos;%1&apos; has no suffix.</source>
++ <translation>Nie można rozpoznać formatu pliku.
++Nazwa pliku &apos;%1&apos; nie ma rozszerzenia.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3666"/>
++ <source>Image format %1 not supported.</source>
++ <translation>Format obrazu %1 nie jest obsługiwany.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3894"/>
++ <source>Cannot decode page %1.</source>
++ <translation>Nie można zdekodować strony %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3896"/>
++ <source>Cannot decode document.</source>
++ <translation>Nie można zdekodować dokumentu.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="3898"/>
++ <source>Decoding DjVu document</source>
++ <translation>Dekodowanie dokumentu DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4031"/>
++ <source> P%1/%2 %3x%4 %5dpi </source>
++ <translation> P%1/%2 %3x%4 %5dpi </translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4038"/>
++ <source> x=%1 y=%2 </source>
++ <translation> x=%1 y=%2 </translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4042"/>
++ <source> %3x%4+%1+%2 </source>
++ <translation> %3x%4+%1+%2 </translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4117"/>
++ <source>Go: 1 page forward.</source>
++ <translation>Przejdź: 1 strona naprzód.</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjview.cpp" line="4118"/>
++ <source>Go: %n pages forward.</source>
++ <translation>
++ <numerusform>Przejdź: %n strona naprzód.</numerusform>
++ <numerusform>Przejdź: %n strony naprzód.</numerusform>
++ <numerusform>Przejdź: %n stron naprzód.</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4120"/>
++ <source>Go: 1 page backward.</source>
++ <translation>Przejdź: 1 strona wstecz.</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjview.cpp" line="4121"/>
++ <source>Go: %n pages backward.</source>
++ <translation>
++ <numerusform>Przejdź: %n strona wstecz.</numerusform>
++ <numerusform>Przejdź: %n strony wstecz.</numerusform>
++ <numerusform>Przejdź: %n stron wstecz.</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4124"/>
++ <location filename="qdjview.cpp" line="4126"/>
++ <source>Go: page %1.</source>
++ <translation>Przejdź: strona %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4128"/>
++ <source>Go: %1</source>
++ <translation>Przejdź: %1</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4130"/>
++ <source> (in other window.)</source>
++ <translation> (w osobnym oknie.)</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4219"/>
++ <source>Cannot resolve link &apos;%1&apos;</source>
++ <translation>Nie działa hiperłącze &apos;%1&apos;</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjview.cpp" line="4242"/>
++ <source>%n characters</source>
++ <translation>
++ <numerusform>%n znak</numerusform>
++ <numerusform>%n znaki</numerusform>
++ <numerusform>%n znaków</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4247"/>
++ <source>Copy text (%1)</source>
++ <translation>Kopiuj tekst (%1)</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4248"/>
++ <source>Save text as...</source>
++ <translation>Zapisz tekst jako...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4251"/>
++ <source>Copy text into the clipboard.</source>
++ <translation>Skopiuj tekst do schowka.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4252"/>
++ <source>Save text into a file.</source>
++ <translation>Zapisz tekst w pliku.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4254"/>
++ <source>Copy image (%1x%2 pixels)</source>
++ <translation>Kopiuj obraz (%1x%2 piksele)</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4256"/>
++ <source>Save image as...</source>
++ <translation>Zapisz obraz jako...</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4257"/>
++ <source>Copy image into the clipboard.</source>
++ <translation>Skopiuj obraz do schowka.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4258"/>
++ <source>Save image into a file.</source>
++ <translation>Zapisz obraz w pliku.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4260"/>
++ <source>Zoom to rectangle</source>
++ <translation>Powiększ zaznaczenie</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4261"/>
++ <source>Zoom the selection to fit the window.</source>
++ <translation>Powiększ zaznaczenia na całe okno.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4267"/>
++ <source>Copy URL</source>
++ <translation>Kopiuj URL</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4268"/>
++ <source>Save into the clipboard an URL that highlights the selection.</source>
++ <translation>Zapisz w schowku adres URL który podświetla zaznaczenie.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4270"/>
++ <source>Copy Maparea</source>
++ <translation>Kopiuj obszar adnotacji</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4271"/>
++ <source>Save into the clipboard a maparea annotation expression for program djvused.</source>
++ <translation>Kopiuj do schowka obszar adnotacji w formacie djvused.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4448"/>
++ <source>About DjView</source>
++ <translation>O DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4468"/>
++ <source>DjVu files</source>
++ <translation>Pliki DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4469"/>
++ <source>All files</source>
++ <translation>Wszystkie pliki</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4470"/>
++ <source>Open - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Otwórz - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4487"/>
++ <source>Open Location - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Otwórz adres - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4488"/>
++ <source>Enter the URL of a DjVu document:</source>
++ <translation>Wpisz URL dokumentu DjVu:</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4505"/>
++ <source>Information - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Informacje - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4520"/>
++ <source>Metadata - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Metadane - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="4742"/>
++ <source>&amp;Clear History</source>
++ <translation>&amp;Wyczyść historię</translation>
++ </message>
++</context>
++<context>
++ <name>QDjView::NetOpen</name>
++ <message>
++ <location filename="qdjview.cpp" line="2739"/>
++ <source>Cannot open URL &apos;%1&apos;.</source>
++ <translation>Nie można otworzyć URL &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2740"/>
++ <source>Opening DjVu document</source>
++ <translation>Otwieranie dokumentu DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjview.cpp" line="2781"/>
++ <source>Cannot spawn a browser for url &apos;%1&apos;</source>
++ <translation>Nie można uruchomić przeglądarki dla URL &apos;%1&apos;</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewApplication</name>
++ <message>
++ <location filename="djview.cpp" line="320"/>
++ <source>cannot open &apos;%1&apos;.</source>
++ <translation>nie można otworzyć &apos;%1&apos;.</translation>
++ </message>
++ <message>
++ <location filename="djview.cpp" line="377"/>
++ <source>Usage: djview [options] [filename-or-url]
++Common options include:
++-help~~~Prints this message.
++-verbose~~~Prints all warning messages.
++-display &lt;xdpy&gt;~~~Select the X11 display &lt;xdpy&gt;.
++-geometry &lt;xgeom&gt;~~~Select the initial window geometry.
++-font &lt;xlfd&gt;~~~Select the X11 name of the main font.
++-style &lt;qtstyle&gt;~~~Select the QT user interface style.
++-fullscreen, -fs~~~Start djview in full screen mode.
++-page=&lt;page&gt;~~~Jump to page &lt;page&gt;.
++-zoom=&lt;zoom&gt;~~~Set zoom factor.
++-continuous=&lt;yn&gt;~~~Set continuous layout.
++-sidebyside=&lt;yn&gt;~~~Set side-by-side layout.
++</source>
++ <translatorcomment>Are the options really common?</translatorcomment>
++ <translation>Użycie: djview [opcje] [plik-lub-URL]
++Ważniejsze opcje:
++-help~~~Drukuj ten komunikat.
++-verbose~~~Drukuj wszystkie ostrzeżenia.
++-display &lt;xdpy&gt;~~~Wybierz obszar X11 &lt;xdpy&gt;.
++-geometry &lt;xgeom&gt;~~~Wybierz początkową geometrię okna.
++-font &lt;xlfd&gt;~~~Wybierz nazwę X11 głównego fontu.
++-style &lt;qtstyle&gt;~~~Wybierz styl interfejsu QT.
++-fullscreen, -fs~~~Uruchom djview w trybie pełnoekranowym.
++-page=&lt;page&gt;~~~Przejdź do strony &lt;page&gt;.
++-zoom=&lt;zoom&gt;~~~Ustaw wartość skalowania.
++-continuous=&lt;yn&gt;~~~Ustaw wyświetlanie ciągłe.
++-sidebyside=&lt;yn&gt;~~~Ustaw wyświetlanie stron obok siebie.
++</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewAuthDialog</name>
++ <message>
++ <location filename="qdjviewauthdialog.ui" line="48"/>
++ <source>Password:</source>
++ <translation>Hasło:</translation>
++ </message>
++ <message>
++ <location filename="qdjviewauthdialog.ui" line="62"/>
++ <source>User:</source>
++ <translation>Użytkownik:</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="210"/>
++ <source>Authentication required - DjView</source>
++ <translation>Wymagane uwierzytelnienie - DjView</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewDjVuExporter</name>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="342"/>
++ <source>DjVu Bundled Document</source>
++ <translation>Dokument scalony DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="343"/>
++ <location filename="qdjviewexporters.cpp" line="347"/>
++ <source>DjVu Files (*.djvu *.djv)</source>
++ <translation>Pliki DjVu (*.djvu *.djv)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="346"/>
++ <source>DjVu Indirect Document</source>
++ <translation>Dokument rozłożony DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="394"/>
++ <source>Question - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Pytanie - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="395"/>
++ <source>&lt;html&gt; This file belongs to a non empty directory. Saving an indirect document creates many files in this directory. Do you want to continue and risk overwriting files in this directory?&lt;/html&gt;</source>
++ <translation>&lt;html&gt; Ten plik należy do niepustego katalogu.Zapisanie dokumentu rozłożonego stworzy wiele plików w tym katalogu. Czy kontynuować ryzykując zastąpienie plików w tym katalogu?&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="401"/>
++ <source>Con&amp;tinue</source>
++ <translation>&amp;Kontynuuj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="402"/>
++ <source>&amp;Cancel</source>
++ <translation>&amp;Anuluj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="429"/>
++ <source>Unknown error.</source>
++ <translation>Nieznany błąd.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="431"/>
++ <source>System error: %1.</source>
++ <translation>Błąd systemowy: %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="446"/>
++ <source>Save job creation failed!</source>
++ <translation>Nie powiodło się utworzenie zadania zapisywania!</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewErrorDialog</name>
++ <message>
++ <location filename="qdjviewerrordialog.ui" line="14"/>
++ <location filename="qdjviewdialogs.cpp" line="131"/>
++ <source>DjView Error</source>
++ <translation>Błąd DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewerrordialog.ui" line="108"/>
++ <source>&amp;Ok</source>
++ <translation>&amp;OK</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="176"/>
++ <source>Error - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Błąd - DjView</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewExportDialog</name>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="13"/>
++ <source>Dialog</source>
++ <translation>Dialog</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="26"/>
++ <location filename="qdjviewexportdialog.ui" line="38"/>
++ <source>Export</source>
++ <translation>Eksport</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="50"/>
++ <source>&amp;Document</source>
++ <translation>&amp;Dokument</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="60"/>
++ <source>C&amp;urrent page</source>
++ <translation>&amp;Bieżąca strona</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="75"/>
++ <source>&amp;Pages</source>
++ <translation>&amp;Strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="85"/>
++ <source>to</source>
++ <translation>do</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="119"/>
++ <source>Destination</source>
++ <translation>Plik wynikowy</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="139"/>
++ <source>Format:</source>
++ <translation>Format:</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="214"/>
++ <source>&amp;Defaults</source>
++ <translation>D&amp;omyślne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="240"/>
++ <source>&amp;Ok</source>
++ <translation>&amp;OK</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="256"/>
++ <location filename="qdjviewdialogs.cpp" line="1417"/>
++ <source>&amp;Cancel</source>
++ <translation>&amp;Anuluj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportdialog.ui" line="283"/>
++ <source>Stop</source>
++ <translation>Stop</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1254"/>
++ <source>&lt;html&gt;&lt;b&gt;Saving.&lt;/b&gt;&lt;br/&gt; You can save the whole document or a page range under a variety of formats. Selecting certain formats creates additional dialog pages for specifying format options.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Zapisywanie.&lt;/b&gt;&lt;br/&gt; Można zapisać cały dokument lub zakres stron w jednym z kilku formatów. Wybór niektórych formatów otworzy dodatkowe strony dialogowe z parametrami specyficznymi dla danego formatu.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1407"/>
++ <source>Error - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Błąd - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1408"/>
++ <source>Overwriting the current file is not allowed!</source>
++ <translation>Nie można zastąpić bieżącego pliku!</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1413"/>
++ <source>Question - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Pytanie - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1414"/>
++ <source>A file with this name already exists.
++Do you want to replace it?</source>
++ <translation>Plik o tej nazwie już istnieje
++Czy go zastąpić?</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1416"/>
++ <source>&amp;Replace</source>
++ <translation>&amp;Zastąp</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1454"/>
++ <source>This operation has failed.</source>
++ <translation>Ta operacja nie powiodła się.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1458"/>
++ <source>This operation has been interrupted.</source>
++ <translation>Ta operacja została przerwana.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1487"/>
++ <source>All files</source>
++ <comment>save filter</comment>
++ <translation>Wszystkie pliki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1494"/>
++ <source>Export - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Eksport - DjView</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewExportPS1</name>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="16"/>
++ <source>Form</source>
++ <translatorcomment>Not sure about the meaning</translatorcomment>
++ <translation>Formularz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="36"/>
++ <source>Color</source>
++ <translation>Kolorystyka</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="48"/>
++ <source>&amp;Color</source>
++ <translation>&amp;Kolor</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="58"/>
++ <source>&amp;GrayScale</source>
++ <translation>&amp;Skala szarości</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="68"/>
++ <source>Marks</source>
++ <translation>Znaczniki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="80"/>
++ <source>Print image &amp;frame</source>
++ <translation>Drukuj z &amp;ramką</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="87"/>
++ <source>Print crop &amp;marks</source>
++ <translation>Zaznacz &amp;cięcia</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="99"/>
++ <source>PostScript</source>
++ <translation>PostScript</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps1.ui" line="111"/>
++ <source>Language Level</source>
++ <translation>Poziom języka</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewExportPS2</name>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="16"/>
++ <source>Form</source>
++ <translation>Formularz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="36"/>
++ <source>Scaling</source>
++ <translation>Skalowanie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="48"/>
++ <source>Scale to &amp;fit the page</source>
++ <translation>Dopasuj do &amp;strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="66"/>
++ <source>&amp;Zoom</source>
++ <translation>&amp;Skala</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="76"/>
++ <source> %</source>
++ <translation> %</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="100"/>
++ <source>Orientation</source>
++ <translation>Orientacja</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="112"/>
++ <source>Automatic</source>
++ <translation>Automatyczna</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="122"/>
++ <source>&amp;Portrait</source>
++ <translation>&amp;Portret</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps2.ui" line="129"/>
++ <source>&amp;Landscape</source>
++ <translation>&amp;Krajobraz</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewExportPS3</name>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="16"/>
++ <source>Form</source>
++ <translation>Formularz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="28"/>
++ <source>Print sheets suitable for folding a booklet.</source>
++ <translation>Drukuj strony do złożenia w broszurę.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="35"/>
++ <source>Advanced</source>
++ <translation>Zaawansowane</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="55"/>
++ <source>Sheets per booklet: </source>
++ <translation>Liczba stron broszury: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="62"/>
++ <source>Unlimited</source>
++ <translation>Nieograniczona</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="65"/>
++ <source>at most </source>
++ <translation>co najwyżej </translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="98"/>
++ <source>Print </source>
++ <translation>Drukuj </translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="112"/>
++ <source>rectos and versos.</source>
++ <translation>recto i verso.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="117"/>
++ <source>rectos only.</source>
++ <translation>tylko recto.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="122"/>
++ <source>versos only.</source>
++ <translation>tylko verso.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="153"/>
++ <source>Shift rectos and versos by </source>
++ <translation>Zwiększ margines przy grzbiecie </translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="160"/>
++ <source> points.</source>
++ <translatorcomment>Translation depends on the number</translatorcomment>
++ <translation> punktów.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="196"/>
++ <source>Center:</source>
++ <translation>Wyśrodkuj:</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="203"/>
++ <source> points</source>
++ <translation> pkt</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="216"/>
++ <source>plus</source>
++ <translation>plus</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="223"/>
++ <source>/100</source>
++ <translation>/100</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportps3.ui" line="239"/>
++ <source>per page.</source>
++ <translation>na stronę.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewExportPrn</name>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="13"/>
++ <source>Form</source>
++ <translation>Formularz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="21"/>
++ <source>Color</source>
++ <translation>Kolorystyka</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="30"/>
++ <source>&amp;Color</source>
++ <translation>&amp;Kolor</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="40"/>
++ <source>&amp;GrayScale</source>
++ <translation>&amp;Skala szarości</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="50"/>
++ <source>Marks</source>
++ <translation>Znaczniki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="59"/>
++ <source>Print image &amp;frame</source>
++ <translation>&amp;Ramka</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="69"/>
++ <source>Print crop &amp;marks</source>
++ <translation>&amp;Cięcia</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="83"/>
++ <source>Scaling</source>
++ <translation>Skalowanie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="89"/>
++ <source>Scale to &amp;fit the page</source>
++ <translation>Dopasuj do &amp;strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="104"/>
++ <source>&amp;Zoom</source>
++ <translation>&amp;Skaluj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="117"/>
++ <source> %</source>
++ <translation></translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="141"/>
++ <source>Orientation</source>
++ <translation>Orientacja</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="150"/>
++ <source>Automatic</source>
++ <translation>Automatyczna</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="163"/>
++ <source>&amp;Portrait</source>
++ <translation>&amp;Portret</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexportprn.ui" line="173"/>
++ <source>&amp;Landscape</source>
++ <translation>&amp;Krajobraz</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewExportTiff</name>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="13"/>
++ <source>Form</source>
++ <translation>Formularz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="25"/>
++ <source>Resolution</source>
++ <translation>Rozdzielczość</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="37"/>
++ <source>Maximum image resolution </source>
++ <translation>Maksymalna rozdzielczość </translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="44"/>
++ <source> dpi</source>
++ <translation> dpi</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="76"/>
++ <source>Compression</source>
++ <translation>Kompresja</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="88"/>
++ <source>Force &amp;bitonal G4 compression.</source>
++ <translation>Wymuś &amp;bitonalną kompresję G4.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="95"/>
++ <source>Allow &amp;lossy JPEG compression.</source>
++ <translation>Zezwól na &amp;stratną kompresję JPEG.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="129"/>
++ <source>JPEG &amp;quality</source>
++ <translation>&amp;Jakość JPEG</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporttiff.ui" line="167"/>
++ <source>Allow &amp;deflate compression.</source>
++ <translation>Zezwól na kompresję &amp;deflate.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewFind</name>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1616"/>
++ <source>Case sensitive</source>
++ <translation>Kaszta (wielkość) liter ma znaczenie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1619"/>
++ <source>Words only</source>
++ <translation>Tylko całe słowa</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1622"/>
++ <source>Regular expression</source>
++ <translation>Wyrażenie regularne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1641"/>
++ <source>Find Previous (Shift+F3) </source>
++ <translation>Znajdź poprzedni (Shift+F3) </translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1646"/>
++ <source>Find Next (F3) </source>
++ <translation>Znajdź następny (F3) </translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1652"/>
++ <source>Reset search options to default values.</source>
++ <translation>Przywróć domyślne wartości opcji wyszukiwania.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1656"/>
++ <source>Options</source>
++ <translation>Opcje</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1703"/>
++ <source>&lt;html&gt;&lt;b&gt;Finding text.&lt;/b&gt;&lt;br/&gt; Search hits appear progressively as soon as you type a search string. Typing enter jumps to the next hit. To move to the previous or next hit, you can also use the arrow buttons or the shortcuts &lt;tt&gt;F3&lt;/tt&gt; or &lt;tt&gt;Shift-F3&lt;/tt&gt;. You can also double click a page name. Use the &lt;tt&gt;Options&lt;/tt&gt; menu to search words only or to specify the case sensitivity.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Znajdowanie tekstu.&lt;/b&gt;&lt;br/&gt; Wyniki wyszukiwania pokazują się sukcesywnie w miarę wprowadzania szukanego napisu. Naciśnięcie Enter przechodzi do następnego wyniku. Można również używać strzałek, aby przejść do poprzedniego lub następnego wyniku, można także używać przycisków strzałek lub klawiszy funkcyjnych &lt;tt&gt;F3&lt;/tt&gt; or &lt;tt&gt;Shift-F3&lt;/tt&gt;. Można także dwukrotnie kliknąć na nazwę strony na liście wyników. Użyj menu &lt;tt&gt;Opcje&lt;/tt&gt; aby szukać tylko całych słów lub uwzględnić kasztę (wielkość) liter.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1713"/>
++ <source>Specify whether search hits must begin on a word boundary.</source>
++ <translation>Określ, czy znalezione wyniki muszą zaczynać się na granicy słów.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1715"/>
++ <source>Specify whether searches are case sensitive.</source>
++ <translation>Określ, czy wyszukiwanie ma uwzględniać kasztę (wielkość) liter.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1717"/>
++ <source>Regular expressions describe complex string matching patterns.</source>
++ <translatorcomment>Loose translation</translatorcomment>
++ <translation>Wyrażenia regularne opisują złożone wzorce porównywania napisów.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1719"/>
++ <source>&lt;html&gt;&lt;b&gt;Regular Expression Quick Guide&lt;/b&gt;&lt;ul&gt;&lt;li&gt;The dot &lt;tt&gt;.&lt;/tt&gt; matches any character.&lt;/li&gt;&lt;li&gt;Most characters match themselves.&lt;/li&gt;&lt;li&gt;Prepend a backslash &lt;tt&gt;\&lt;/tt&gt; to match special characters &lt;tt&gt;()[]{}|*+.?!^$\&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\b&lt;/tt&gt; matches a word boundary.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\w&lt;/tt&gt; matches a word character.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\d&lt;/tt&gt; matches a digit character.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\s&lt;/tt&gt; matches a blank character.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\n&lt;/tt&gt; matches a newline character.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;[&lt;i&gt;a&lt;/i&gt;-&lt;i&gt;b&lt;/i&gt;]&lt;/tt&gt; matches characters in range &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt;-&lt;tt&gt;&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;[^&lt;i&gt;a&lt;/i&gt;-&lt;i&gt;b&lt;/i&gt;]&lt;/tt&gt; matches characters outside range &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt;-&lt;tt&gt;&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;&lt;i&gt;a&lt;/i&gt;|&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt; matches either regular expression &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt; or regular expression &lt;tt&gt;&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{&lt;i&gt;n&lt;/i&gt;,&lt;i&gt;m&lt;/i&gt;}&lt;/tt&gt; matches regular expression &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt; repeated &lt;tt&gt;&lt;i&gt;n&lt;/i&gt;&lt;/tt&gt; to &lt;tt&gt;&lt;i&gt;m&lt;/i&gt;&lt;/tt&gt; times.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;&lt;i&gt;a&lt;/i&gt;?&lt;/tt&gt;, &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;*&lt;/tt&gt;, and &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;+&lt;/tt&gt; are shorthands for &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{0,1}&lt;/tt&gt;, &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{0,}&lt;/tt&gt;, and &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{1,}&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;Use parentheses &lt;tt&gt;()&lt;/tt&gt; to group regular expressions before &lt;tt&gt;?+*{&lt;/tt&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Uproszczony opis wyrażeń regularnych&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Kropka &lt;tt&gt;.&lt;/tt&gt; uzgadnia się z każdym znakiem.&lt;/li&gt;&lt;li&gt;Większość znaków uzgadnia się ze sobą.&lt;/li&gt;&lt;li&gt; Aby uzgodnić znaki specjalne &lt;tt&gt;()[]{}|*+.?!^$\&lt;/tt&gt;.&lt;/li&gt;poprzedź je ukośnikiem wstecznym &lt;tt&gt;\&lt;/tt&gt;&lt;li&gt;&lt;tt&gt;\b&lt;/tt&gt; uzgadnia się z granicą słów.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\w&lt;/tt&gt; uzgadnia się ze znakiem alfabetycznym.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\d&lt;/tt&gt; uzgadnia się ze znakiem cyfry.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\s&lt;/tt&gt; uzgadnia się ze spacją.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;\n&lt;/tt&gt;uzgadnia się ze znakiem nowej linii.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;[&lt;i&gt;a&lt;/i&gt;-&lt;i&gt;b&lt;/i&gt;]&lt;/tt&gt; uzgadnia się ze znakami z przedziału &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt;-&lt;tt&gt;&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;[^&lt;i&gt;a&lt;/i&gt;-&lt;i&gt;b&lt;/i&gt;]&lt;/tt&gt; uzgadnia się ze znakami spoza przedziału &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt;-&lt;tt&gt;&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;&lt;i&gt;a&lt;/i&gt;|&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt; uzgadnia się z wyrażeniem regularnym &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt; lub wyrażeniem regularnym &lt;tt&gt;&lt;i&gt;b&lt;/i&gt;&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{&lt;i&gt;n&lt;/i&gt;,&lt;i&gt;m&lt;/i&gt;}&lt;/tt&gt; uzgadnia się z wyrażeniem regularnym &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;&lt;/tt&gt;powtórzonym od &lt;tt&gt;&lt;i&gt;n&lt;/i&gt;&lt;/tt&gt; do &lt;tt&gt;&lt;i&gt;m&lt;/i&gt;&lt;/tt&gt; razy.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;&lt;i&gt;a&lt;/i&gt;?&lt;/tt&gt;, &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;*&lt;/tt&gt;, and &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;+&lt;/tt&gt; są skrótem dla &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{0,1}&lt;/tt&gt;, &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{0,}&lt;/tt&gt;, i &lt;tt&gt;&lt;i&gt;a&lt;/i&gt;{1,}&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;Nawiasy okrągłe &lt;tt&gt;()&lt;/tt&gt; służą do grupowania wyrażeń przed &lt;tt&gt;?+*{&lt;/tt&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewFind::Model</name>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="979"/>
++ <source>1 hit</source>
++ <translation>1 wynik</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjviewsidebar.cpp" line="980"/>
++ <source>%n hits</source>
++ <translation>
++ <numerusform>%n wynik</numerusform>
++ <numerusform>%n wyniki</numerusform>
++ <numerusform>%n wyników</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1048"/>
++ <source>Page %1 (1 hit)</source>
++ <translation>Strona %1 (1 wynik)</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjviewsidebar.cpp" line="1050"/>
++ <source>Page %1 (%n hits)</source>
++ <translation>
++ <numerusform>Strona %1 (%n wynik)</numerusform>
++ <numerusform>Strona %1 (%n wyniki)</numerusform>
++ <numerusform>Strona %1 (%n wyników)</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1372"/>
++ <source>Searching page %1 (waiting for data.)</source>
++ <translation>Przeszukiwanie strony %1 (oczekiwanie na dane.)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1385"/>
++ <source>Searching page %1.</source>
++ <translation>Przeszukiwanie strony %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1420"/>
++ <source>No hits!</source>
++ <translation>Brak wyników!</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1425"/>
++ <source>&lt;html&gt;Document is not searchable. No page contains information about its textual content.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;Dokument nie nadaje się do przeszukiwania. Żadna strona nie zawiera treści tekstowej.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="1431"/>
++ <source>&lt;html&gt;Invalid regular expression.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;Niepoprawne wyrażenie regularne.&lt;/html&gt;</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewImgExporter</name>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1866"/>
++ <source>%1 Image</source>
++ <comment>JPG Image</comment>
++ <translation>%1 obraz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1867"/>
++ <source>%1 Files (*.%2)</source>
++ <comment>JPG Files</comment>
++ <translation>%1 plików (*.%2)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1933"/>
++ <source>Cannot render page.</source>
++ <translation>Nie można zwizualizować strony.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1943"/>
++ <source>Image format %1 not supported.</source>
++ <translation>Format obrazu %1 nie jest obsługiwany.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewInfoDialog</name>
++ <message>
++ <location filename="qdjviewinfodialog.ui" line="16"/>
++ <source>Dialog</source>
++ <translation>Dialog</translation>
++ </message>
++ <message>
++ <location filename="qdjviewinfodialog.ui" line="29"/>
++ <source>&amp;Document</source>
++ <translation>&amp;Dokument</translation>
++ </message>
++ <message>
++ <location filename="qdjviewinfodialog.ui" line="88"/>
++ <source>&amp;File</source>
++ <translation>&amp;Plik</translation>
++ </message>
++ <message>
++ <location filename="qdjviewinfodialog.ui" line="108"/>
++ <source>File: </source>
++ <translation>Plik: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewinfodialog.ui" line="154"/>
++ <source>&amp;View Page</source>
++ <translation>&amp;Pokaż stronę</translation>
++ </message>
++ <message>
++ <location filename="qdjviewinfodialog.ui" line="204"/>
++ <source>&amp;Close</source>
++ <translation>&amp;Zamknij</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="300"/>
++ <source>File #</source>
++ <translation>Plik nr</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="300"/>
++ <source>File Name</source>
++ <translation>Nazwa pliku</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="301"/>
++ <source>File Size</source>
++ <translation>Rozmiar pliku</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="301"/>
++ <source>File Type</source>
++ <translation>Typ pliku</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="302"/>
++ <source>Page #</source>
++ <translation>Strona nr</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="302"/>
++ <source>Page Title</source>
++ <translation>Tytuł strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="334"/>
++ <source>&lt;html&gt;&lt;b&gt;Document information&lt;/b&gt;&lt;br&gt;This panel shows information about the document and its component files. Select a component file to display detailed information in the &lt;tt&gt;File&lt;/tt&gt; tab. Double click a component file to show the corresponding page in the main window. &lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Informacje o dokumencie&lt;/b&gt;&lt;br&gt;Ten panel zawiera informacje o dokumencie i jego plikach składowych. Wybierz plik składowy, aby wyświetlić szczegółowe informacje w zakładce &lt;tt&gt;Plik&lt;/tt&gt; Kliknij dwukrotnie na plik składowy, aby wyświetlić odpowiednią stronę w głównym oknie. &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="342"/>
++ <source>&lt;html&gt;&lt;b&gt;File and page information&lt;/b&gt;&lt;br&gt;This panel shows the structure of the DjVu data corresponding to the component file or the page selected in the &lt;tt&gt;Document&lt;/tt&gt; tab. The arrow buttons jump to the previous or next component file.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Informacje o pliku i stronie&lt;/b&gt;&lt;br&gt;Ten panel pokazuje strukturę danych DjVu odpowiadających plikowi składowemu lub stronie wybranej w zakładce &lt;tt&gt;Dokument&lt;/tt&gt; . Klawisze strzałek przenoszą do poprzedniego lub następnego pliku składowego.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="396"/>
++ <source>Waiting for data...</source>
++ <translation>Oczekiwanie na dane...</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="515"/>
++ <source>Page #%1</source>
++ <translation>Strona nr %1</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="518"/>
++ <source>Thumbnails</source>
++ <translation>Miniaturki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="520"/>
++ <source>Shared annotations</source>
++ <translation>Adnotacje wspólne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="522"/>
++ <source>Shared data</source>
++ <translation>Dane wspólne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="523"/>
++ <source>File #%1 - </source>
++ <translation>Plik nr %1 - </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="536"/>
++ <source>Single DjVu page</source>
++ <translation>Pojedyncza strona DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="540"/>
++ <source>Bundled DjVu document</source>
++ <translation>Scalony dokument DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="542"/>
++ <source>Indirect DjVu document</source>
++ <translation>Rozłożony dokument DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="544"/>
++ <source>Obsolete bundled DjVu document</source>
++ <translation>Przestarzały scalony dokument DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="546"/>
++ <source>Obsolete indexed DjVu document</source>
++ <translation>Przestarzały rozłożony dokument DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="550"/>
++ <source>1 file</source>
++ <translation>1 plik</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjviewdialogs.cpp" line="550"/>
++ <source>%n files</source>
++ <translation>
++ <numerusform>%n plik</numerusform>
++ <numerusform>%n pliki</numerusform>
++ <numerusform>%n plików</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="551"/>
++ <source>1 page</source>
++ <translation>1 strona</translation>
++ </message>
++ <message numerus="yes">
++ <location filename="qdjviewdialogs.cpp" line="551"/>
++ <source>%n pages</source>
++ <translation>
++ <numerusform>%n strona</numerusform>
++ <numerusform>%n strony</numerusform>
++ <numerusform>%n stron</numerusform>
++ </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="584"/>
++ <location filename="qdjviewdialogs.cpp" line="591"/>
++ <source>n/a</source>
++ <translation>nie stosuje się</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="598"/>
++ <source> Page </source>
++ <translation> Strona </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="600"/>
++ <source> Thumbnails </source>
++ <translation> Miniaturki </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="602"/>
++ <source> Shared </source>
++ <translation> Wspólne </translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewMetaDialog</name>
++ <message>
++ <location filename="qdjviewmetadialog.ui" line="16"/>
++ <source>Dialog</source>
++ <translation>Dialog</translation>
++ </message>
++ <message>
++ <location filename="qdjviewmetadialog.ui" line="29"/>
++ <source>&amp;Document Metadata</source>
++ <translation>Metadane &amp;dokumentu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewmetadialog.ui" line="55"/>
++ <source>&amp;Page Metadata</source>
++ <translation>Metadane &amp;strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewmetadialog.ui" line="75"/>
++ <source>Page:</source>
++ <translation>Strona:</translation>
++ </message>
++ <message>
++ <location filename="qdjviewmetadialog.ui" line="121"/>
++ <source>&amp;View Page</source>
++ <translation>&amp;Pokaż stronę</translation>
++ </message>
++ <message>
++ <location filename="qdjviewmetadialog.ui" line="168"/>
++ <source>&amp;Close</source>
++ <translation>&amp;Zamknij</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="669"/>
++ <source>Ctrl+C</source>
++ <comment>copy</comment>
++ <translation>Ctrl+C</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="672"/>
++ <source> Key </source>
++ <translation> Klawisz </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="672"/>
++ <source> Value </source>
++ <translation> Wartość </translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="716"/>
++ <source>&lt;html&gt;&lt;b&gt;Document metadata&lt;/b&gt;&lt;br&gt;This panel displays metadata pertaining to the document, such as author, title, references, etc. This information can be saved into the document with program &lt;tt&gt;djvused&lt;/tt&gt;: use the commands &lt;tt&gt;create-shared-ant&lt;/tt&gt; and &lt;tt&gt;set-meta&lt;/tt&gt;.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Metadane dokumentu&lt;/b&gt;&lt;br&gt;Ten panel pokazuje metadane dokumentu, takie jak autor, tytuł, bibliografię itp. Informacje takie mogą być zapisane w dokumencie za pomocą programu &lt;tt&gt;djvused&lt;/tt&gt; i komend &lt;tt&gt;create-shared-ant&lt;/tt&gt; oraz &lt;tt&gt;set-meta&lt;/tt&gt;.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="725"/>
++ <source>&lt;html&gt;&lt;b&gt;Page metadata&lt;/b&gt;&lt;br&gt;This panel displays metadata pertaining to a specific page. Page specific metadata override document metadata. This information can be saved into the document with program &lt;tt&gt;djvused&lt;/tt&gt;: use command &lt;tt&gt;select&lt;/tt&gt; to select the page and command &lt;tt&gt;set-meta&lt;/tt&gt; to specify the metadata entries.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Metadane strony&lt;/b&gt;&lt;br&gt;Ten panel pokazuje metadane dotyczące konkretnej strony. Są one ważniejsze od metadanych dokumentu. Ta informacja może być zapisana w dokumencie za pomocą programu &lt;tt&gt;djvused&lt;/tt&gt; i komend: &lt;tt&gt;select&lt;/tt&gt; w celu wybrania strony i &lt;tt&gt;set-meta&lt;/tt&gt; do wstawienia pól metadanych.&lt;/html&gt;</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewOutline</name>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="120"/>
++ <source>&lt;html&gt;&lt;b&gt;Document outline.&lt;/b&gt;&lt;br/&gt; This panel display the document outline, or the page names when the outline is not available, Double-click any entry to jump to the selected page.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Zakładki dokumentu.&lt;/b&gt;&lt;br/&gt; Ten panel pokazuje zakładki dokumentu, lub nazwy stron, jeśli zakładki nie są dostępny. Dwukrotne kliknięcie przenosi do wybranej strony.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="153"/>
++ <source>Outline data is corrupted</source>
++ <translation>Dane zakładek są uszkodzone</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="170"/>
++ <source>Pages</source>
++ <translation>Strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="177"/>
++ <location filename="qdjviewsidebar.cpp" line="236"/>
++ <source>Page %1</source>
++ <translation>Strona %1</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="181"/>
++ <location filename="qdjviewsidebar.cpp" line="248"/>
++ <source>Go: page %1.</source>
++ <translation>Przejdź do strony %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="244"/>
++ <source>Go: %1</source>
++ <translation>Przejdź: %1</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewPSExporter</name>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="556"/>
++ <source>PostScript</source>
++ <translation>PostScript</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="557"/>
++ <location filename="qdjviewexporters.cpp" line="561"/>
++ <source>PostScript Files (*.ps *.eps)</source>
++ <translation>Pliki w formacie PostScript (*.ps *.eps)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="560"/>
++ <source>Encapsulated PostScript</source>
++ <translation>Encapsulated PostScript</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="606"/>
++ <source>PostScript</source>
++ <comment>tab caption</comment>
++ <translation>PostScript</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="607"/>
++ <source>Position</source>
++ <comment>tab caption</comment>
++ <translation>Pozycjonowanie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="608"/>
++ <source>Booklet</source>
++ <comment>tab caption</comment>
++ <translation>Broszura</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="618"/>
++ <source>&lt;html&gt;&lt;b&gt;PostScript options.&lt;/b&gt;&lt;br&gt;Option &lt;tt&gt;Color&lt;/tt&gt; enables color printing. Document pages can be decorated with frame and crop marks. PostScript language level 1 is only useful with very old printers. Level 2 works with most printers. Level 3 print color document faster on recent printers.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Opcje języka PostScript.&lt;/b&gt;&lt;br&gt;Opcje &lt;tt&gt;Kolor&lt;/tt&gt; włącza drukowanie w kolorze. Strony dokumentu mogą być uzupełnione o ramki i znaczniki cięcia. Język PostScript poziom 1 jest przydatny tylko dla bardzo starych drukarek. Poziom 2 jest właściwy dla większości drukarek. Poziom 3 drukuje kolorowe dokumenty szybciej na nowszych drukarkach.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="626"/>
++ <source>&lt;html&gt;&lt;b&gt;Position and scaling.&lt;/b&gt;&lt;br&gt;Option &lt;tt&gt;Scale to fit&lt;/tt&gt; accommodates whatever paper size your printer uses. Zoom factor &lt;tt&gt;100%&lt;/tt&gt; reproduces the initial document size. Orientation &lt;tt&gt;Automatic&lt;/tt&gt; chooses portrait or landscape on a page per page basis.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Pozycjonowanie i skalowanie.&lt;/b&gt;&lt;br&gt;Opcje &lt;tt&gt;Skaluj, aby dopasować&lt;/tt&gt; dostosowuje się do dowolnego rozmiaru papieru. Współczynnik skalowania &lt;tt&gt;100%&lt;/tt&gt; zachowuje oryginalny rozmiar dokumentu. Orientacja&lt;tt&gt;Automatyczne&lt;/tt&gt; wybiera portret lub krajobraz osobno dla każdej strony.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="633"/>
++ <source>&lt;html&gt;&lt;b&gt;Producing booklets.&lt;/b&gt;&lt;br&gt;The booklet mode prints the selected pages as sheets suitable for folding one or several booklets. Several booklets might be produced when a maximum number of sheets per booklet is specified. You can either use a duplex printer or print rectos and versos separately.&lt;p&gt; Shifting rectos and versos is useful with poorly aligned duplex printers. The center margins determine how much space is left between the pages to fold the sheets. This space slowly increases from the inner sheet to the outer sheet.&lt;/html&gt;</source>
++ <translatorcomment>Loose translation</translatorcomment>
++ <translation>&lt;html&gt;&lt;b&gt;Tworzenie broszury.&lt;/b&gt;&lt;br&gt;Tryb broszury drukuje wybrane strony jako arkusze nadające się do złożenia i utworzenia jednej lub więcej broszur. Kilka broszur można tworzyć kiedy jest określona maksymalna liczba arkuszy na broszurę. Można drukować dwustronnie lub osobno strony recto i strony verso.&lt;p&gt; Przesunięcie stron recto i verso jest przydatny dla drukarek dwustronnych, które nie wyrównują dobrze marginesów. Margines centralny decyduje o tym, ile miejsca jest między stronami na zgięcie arkusza. Ten margines zwiększa się powoli od arkuszy wewnętrznych do arkuszy zewnętrznych.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1127"/>
++ <source>Save job creation failed!</source>
++ <translation>Utworzenie zadania zapisania nie powiodło się!</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewPdfExporter</name>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1709"/>
++ <source>PDF Document</source>
++ <translation>Dokument PDF</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1710"/>
++ <source>PDF Files (*.pdf)</source>
++ <translation>Pliki PDF (*.pdf)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1719"/>
++ <source>PDF Options</source>
++ <comment>tab caption</comment>
++ <translation>Opcje PDF</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1720"/>
++ <source>&lt;html&gt;&lt;b&gt;PDF options.&lt;/b&gt;&lt;br&gt;These options control the characteristics of the images embedded in the exported PDF files. The resolution box limits their maximal resolution. Forcing bitonal G4 compression encodes all pages in black and white using the CCITT Group 4 compression. Allowing JPEG compression uses lossy JPEG for all non bitonal or subsampled images. Otherwise, allowing deflate compression produces more compact files. &lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Opcje PDF.&lt;/b&gt;&lt;br&gt;Te opcje określają własności obrazów zawartych w eksportowanych plikach PDF. Okienko rozdzielczości ogranicza ich maksymalną rozdzielczość. Wymuszenie bitonalnej kompresji oznacza zakodowanie wszystkich stron jako czarno-białych za pomocą kompresji CCITT Group 4. Dopuszczenie kompresji JPEG oznacza użycie stratnej kompresji JPEG dla wszystkich bitonalnych lub podpróbkowanych obrazów. W przeciwnym razie dopuszczenie kompresji deflate tworzy bardziej zwarte pliki. &lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1764"/>
++ <source>Error while creating pdf file.</source>
++ <translation>Błąd w trakcie tworzenia pliku PDF.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1768"/>
++ <source>Unable to create output file.</source>
++ <translation>Nie można utworzyć pliku wyjściowego.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1770"/>
++ <location filename="qdjviewexporters.cpp" line="1814"/>
++ <source>System error: %1.</source>
++ <translation>Błąd systemowy: %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1773"/>
++ <source>Unable to reopen temporary file.</source>
++ <translation>Nie można ponownie otworzyć pliku tymczasowego.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1788"/>
++ <source>PDF export was not compiled.</source>
++ <translatorcomment>What it is supposed to mean?</translatorcomment>
++ <translation>Eksport do PDF nie został skompilowany.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1812"/>
++ <source>Unable to create temporary file.</source>
++ <translation>Nie można utworzyć pliku tymczasowego.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewPlugin::Document</name>
++ <message>
++ <location filename="qdjviewplugin.cpp" line="389"/>
++ <source>Requesting %1.</source>
++ <translation>Zażądano %1.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewPrefsDialog</name>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="14"/>
++ <source>Dialog</source>
++ <translation>Dialog</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="27"/>
++ <source>&amp;Screen</source>
++ <translation>&amp;Ekran</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="33"/>
++ <source>Gamma</source>
++ <translation>Współczynnik gamma</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="53"/>
++ <source>&lt;html&gt;Screen color correction.&lt;br&gt;Adjust slider until gray shades look similar.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;Korekta koloru ekranu.&lt;br&gt;Ustaw suwak tak, aby odcienie szarości były podobne.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="102"/>
++ <source>Darker</source>
++ <translation>Ciemniej</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="122"/>
++ <source>Lighter</source>
++ <translation>Jaśniej</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="191"/>
++ <location filename="qdjviewprefsdialog.ui" line="387"/>
++ <source>Display</source>
++ <translation>Wyświetlanie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="199"/>
++ <source>Force screen &amp;resolution</source>
++ <translation>Wymuś rozdzielczość &amp;ekranową</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="234"/>
++ <source> dpi</source>
++ <translation> dpi</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="268"/>
++ <source>Force inverted luminance</source>
++ <translation>Wymuś odwrócenie luminancji</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="279"/>
++ <source>&amp;Interface</source>
++ <translation>&amp;Interfejs</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="293"/>
++ <source>Options for</source>
++ <translatorcomment>Obsolete?</translatorcomment>
++ <translation>Opcje dla</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="321"/>
++ <source>&amp;Remember initial state from last invocation</source>
++ <translatorcomment>Loose translation</translatorcomment>
++ <translation>&amp;Pamiętaj stan po ostatnim uruchomieniu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="330"/>
++ <source>Show</source>
++ <translation>Wyświetlaj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="336"/>
++ <source>&amp;Menu bar</source>
++ <translation>Pasek &amp;menu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="343"/>
++ <source>&amp;Tool bar</source>
++ <translation>Pasek &amp;narzędzi</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="350"/>
++ <source>Sc&amp;rollbars</source>
++ <translation>&amp;Suwaki przewijania</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="357"/>
++ <source>Stat&amp;us bar</source>
++ <translation>Pasek s&amp;tanu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="364"/>
++ <source>&amp;Side bar</source>
++ <translation>Panel &amp;boczny</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="395"/>
++ <source>&amp;Zoom: </source>
++ <translatorcomment>Skalowanie too long</translatorcomment>
++ <translation>S&amp;kala: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="415"/>
++ <source>Timer: </source>
++ <translatorcomment>All reasonable translation too long</translatorcomment>
++ <translation>Timer: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="428"/>
++ <source> s</source>
++ <translation> s</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="459"/>
++ <source>Display page &amp;frames</source>
++ <translation>&amp;Ramki stron</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="466"/>
++ <source>Display &amp;annotations</source>
++ <translation>&amp;Adnotacje</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="489"/>
++ <source>Layout</source>
++ <translation>Układ</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="495"/>
++ <source>Continuous</source>
++ <translation>Ciągły</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="518"/>
++ <source>Side-by-side</source>
++ <translation>Obok siebie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="548"/>
++ <source>Cover Page</source>
++ <translation>Strona tytułowa</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="555"/>
++ <source>Right-to-Left</source>
++ <translation>Od prawej</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="598"/>
++ <source>&amp;Keys</source>
++ <translation>&amp;Klawisze</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="604"/>
++ <source>Keys</source>
++ <translation>Klawisze</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="616"/>
++ <source>For displaying hyper&amp;links: </source>
++ <translation>Wyświetlanie &amp;hiperłączy: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="626"/>
++ <source>For &amp;selecting text or images: </source>
++ <translation>&amp;Zaznaczanie tekstu lub obrazów: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="636"/>
++ <source>For displaying the &amp;lens: </source>
++ <translation>Wyświetlanie &amp;lupy: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="670"/>
++ <source>Mouse wheel</source>
++ <translation>Rolka myszy</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="676"/>
++ <source>Mouse wheel scrolls the page</source>
++ <translation>Rolka myszy przewija stronę</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="686"/>
++ <source>Mouse wheel changes the zoom factor</source>
++ <translation>Rolka myszy zmienia wartość skalowania</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="710"/>
++ <source>&amp;Lens</source>
++ <translation>&amp;Lupa</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="722"/>
++ <source>Enable magnifying &amp;lens</source>
++ <translation>Włącz szkło &amp;powiększające</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="732"/>
++ <source>Lens options</source>
++ <translation>Opcje lupy</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="744"/>
++ <source>Lens &amp;size: </source>
++ <translation>&amp;Rozmiar okna lupy: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="754"/>
++ <source>Magnifying &amp;power: </source>
++ <translation>Stopień &amp;powiększenia: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="764"/>
++ <source>x</source>
++ <translation>x</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="780"/>
++ <source> pixels</source>
++ <translation> pikseli</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="816"/>
++ <source>&amp;Network</source>
++ <translation>&amp;Sieć</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="825"/>
++ <source>Proxy settings</source>
++ <translation>Ustawienia serwera pośredniczącego</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="831"/>
++ <source>Use pro&amp;xy to access the network</source>
++ <translation>Stosuj &amp;serwer pośredniczący</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="844"/>
++ <source>&amp;Host: </source>
++ <translation>&amp;Serwer: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="864"/>
++ <source>&amp;Port: </source>
++ <translation>&amp;Port: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="884"/>
++ <source>&amp;User: </source>
++ <translation>&amp;Użytkownik: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="904"/>
++ <source>Pass&amp;word: </source>
++ <translation>&amp;Hasło: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="927"/>
++ <source>Cache</source>
++ <translation>Pamięć podręczna</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="939"/>
++ <source>&amp;Clear</source>
++ <translation>&amp;Wyczyść</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="949"/>
++ <location filename="qdjviewprefsdialog.ui" line="962"/>
++ <source> MB</source>
++ <translation> MB</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="978"/>
++ <source>&amp;Decoded page cache: </source>
++ <translation>Pamięć zdekodowanych &amp;stron: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="988"/>
++ <source>&amp;Pixel cache: </source>
++ <translation>Pamięć &amp;pikseli: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1015"/>
++ <source>&amp;Advanced</source>
++ <translation>&amp;Zaawansowane</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1021"/>
++ <source>Interface</source>
++ <translation>Interfejs</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1029"/>
++ <source>Force language (next time djview runs)</source>
++ <translation>Wymuś język (wymaga ponownego uruchomienia)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1058"/>
++ <source>Enable page animations</source>
++ <translation>Włącz animację stron</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1068"/>
++ <source>Enable advanced features in menus</source>
++ <translation>Włącz zaawansowane opcje w menu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1075"/>
++ <source>Show hidden text in status bar</source>
++ <translation>Pokazuj na pasku stanu tekst ukryty</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1085"/>
++ <source>Miscellaneous</source>
++ <translation>Różne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1091"/>
++ <source>Render with openGL when available</source>
++ <translation>Wizualizuj za pomocą openGL jeśli jest dostępne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1101"/>
++ <source>Override saving and printing restrictions</source>
++ <translation>Ignoruj ograniczenia zapisywania i drukowania</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1110"/>
++ <source>Manual printer color correction</source>
++ <translation>Ręczna korekta kolorów drukowania</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1123"/>
++ <source>gamma=</source>
++ <translation>gamma=</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1188"/>
++ <source>&amp;Defaults</source>
++ <translation>&amp;Wartości domyślne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1214"/>
++ <source>&amp;Apply</source>
++ <translation>&amp;Zastosuj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1221"/>
++ <source>&amp;Ok</source>
++ <translation>&amp;OK</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefsdialog.ui" line="1228"/>
++ <source>Cancel</source>
++ <translation>Anuluj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="780"/>
++ <source>Preferences[*] - DjView</source>
++ <translation>Ustawienia - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="851"/>
++ <source>&lt;html&gt;&lt;b&gt;Screen gamma correction.&lt;/b&gt;&lt;br&gt;The best color rendition is achieved by adjusting the gamma correction slider and choosing the position that makes the gray square as uniform as possible.&lt;p&gt;&lt;b&gt;Screen resolution.&lt;/b&gt;&lt;br&gt;This option forces a particular resolution instead of using the unreliable resolution advertised by the operating system. Forcing the resolution to 100 dpi matches the behavior of the djvulibre command line tools.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Korekcja współczynnika gamma.&lt;/b&gt;&lt;br&gt; Najlepszą wizualizację kolorów osiąga się przez wybór takiej pozycji suwaka, w której szare kwadraty są najbardziej podobne.&lt;p&gt;&lt;b&gt;Rozdzielczość ekranu.&lt;/b&gt;&lt;br&gt;Ta opcja wymusza konkretną rozdzielczość zamiast rozdzielczości proponowanej przez system operacyjny. Wymuszanie rozdzielczości 100 dpi jest zgodne z zachowaniem programów narzędziowych DjVuLibre.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="864"/>
++ <source>&lt;html&gt;&lt;b&gt;Initial interface setup.&lt;/b&gt;&lt;br&gt;DjView can run as a standalone viewer, as a full screen viewer, as a full page browser plugin, or as a plugin embedded inside a html page. For each case, check the &lt;tt&gt;Remember&lt;/tt&gt; box to automatically save and restore the interface setup. Otherwise, specify an initial configuration.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Początkowe ustawienie interfejsu.&lt;/b&gt;&lt;br&gt;DjView może pracować jako samodzielna przeglądarka, jako przeglądarka pełnoekranowa, jako pełnoekranowa wtyczka do przeglądarki WWW, i jako wtyczka osadzona na stronie HTML. W każdym przypadku należy zaznaczyć pole wyboru &lt;tt&gt;Pamiętaj&lt;/tt&gt; aby automatycznie zapisać i odtworzyć ustawienia interfejsu. W przeciwnym wypadku należy określić konfigurację początkową.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="874"/>
++ <source>&lt;html&gt;&lt;b&gt;Modifiers keys.&lt;/b&gt;&lt;br&gt;Define which combination of modifier keys will show the manifying lens, temporarily enable the selection mode, or highlight the hyperlinks.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Klawisze modyfikujące.&lt;/b&gt;&lt;br&gt;Określ, które kombinacje klawiszy wyświetlają lupę, tymczasowo włączają tryb zaznaczania lub uwydatniają hiperłącza.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="881"/>
++ <source>&lt;html&gt;&lt;b&gt;Magnifying lens.&lt;/b&gt;&lt;br&gt;The magnifying lens appears when you depress the modifier keys specified in tab &lt;tt&gt;Keys&lt;/tt&gt;. This panel lets you choose the power and the size of the magnifying lens.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Szkło powiekszające.&lt;/b&gt;&lt;br&gt;Szkło powiększające ukazuje się po naciśnięciu klawisza modyfikującego określonego w zakładce &lt;tt&gt;Klawisze&lt;/tt&gt;. Ten panel pozwala wybrać stopień powiększenia i rozmiar lupy.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="889"/>
++ <source>&lt;html&gt;&lt;b&gt;Advanced.&lt;/b&gt;&lt;br&gt;You can override the default interface language, disable the page animations, or enable additional menu entries that are useful for authoring DjVu files.You can also disable the printing or saving restrictions dictated by certain web sites. The manual color correction can be useful with old printers.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Zaawansowane.&lt;/b&gt;&lt;br&gt;Można zmienić domyślny język interfejsu, wyłączyć animację stron, włączyć dodatkowe pozycje menu.Można również wyłączyć ograniczenia drukowania lub zapisywania narzucane przez niektóre witryny internetowe. Ręczna korekta koloru drukowania może być przydatna dla starych drukarek.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="899"/>
++ <source>&lt;html&gt;&lt;b&gt;Network proxy settings.&lt;/b&gt;&lt;br&gt;These proxy settings are used when the standalone djview viewer accesses a djvu document through a http url. The djview plugin always uses the proxy settings of the web browser.&lt;p&gt;&lt;b&gt;Cache settings.&lt;/b&gt;&lt;br&gt;The &lt;i&gt;pixel cache&lt;/i&gt; stores image data located outside the visible area. This cache makes panning smoother. The &lt;i&gt;decoded page cache&lt;/i&gt; contains partially decoded pages. It provides faster response times when navigating a multipage document or when returning to a previously viewed page. Clearing this cache might be useful to reflect a change in the page data without restarting the DjVu viewer.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Ustawienia serwera pośredniczącego.&lt;/b&gt;&lt;br&gt;Te ustawienia są wykorzystywane, gdy samodzielna przeglądarka pobiera dokument za pomocą protokołu HTTP. Wtyczka DjView zawsze używa ustawień przeglądarki internetowej.&lt;p&gt;&lt;b&gt;Ustawienia pamięci podręcznej.&lt;/b&gt;&lt;br&gt;&lt;i&gt;Pamięć pikseli&lt;/i&gt; przechowuje informacje o fragmentach obrazu, które nie są aktualnie wyświetlane. Powoduje to bardziej płynne pozycjonowanie. &lt;i&gt;Pamięć zdekodowanych stron&lt;/i&gt; zawiera częściowo zdekodowane strony. Zapewnia szybszy czas reakcji podczas nawigacji w wielostronicowym dokumencie oraz przy powrocie do poprzednio wyświetlanej strony. Wyczyszczenie pamięci może być pożyteczne dla uwzględnienia zmienionych dany strony bez ponownego uruchamiania programu.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="954"/>
++ <source>Standalone Viewer</source>
++ <translation>Samodzielna przeglądarka</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="957"/>
++ <source>Standalone Viewer (Full Screen mode)</source>
++ <translation>Samodzielna przeglądarka (tryb pełnoekranowy)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="960"/>
++ <source>Standalone Viewer (Slideshow mode)</source>
++ <translation>Samodzielna przeglądarka (pokaz slajdów)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="963"/>
++ <source>Full Page Plugin</source>
++ <translation>Wtyczka całostronicowa</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprefs.cpp" line="966"/>
++ <source>Embedded Plugin</source>
++ <translation>Wtyczka osadzona</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewPrintDialog</name>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="13"/>
++ <source>Dialog</source>
++ <translation>Dialog</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="29"/>
++ <location filename="qdjviewprintdialog.ui" line="41"/>
++ <source>Print</source>
++ <translation>Drukuj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="53"/>
++ <source>&amp;Document</source>
++ <translation>&amp;Dokument</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="63"/>
++ <source>C&amp;urrent page</source>
++ <translation>&amp;Bieżąca strona</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="78"/>
++ <source>&amp;Pages</source>
++ <translation>&amp;Strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="88"/>
++ <source>to</source>
++ <translation>do</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="122"/>
++ <source>Destination</source>
++ <translation>Urządzenie docelowe</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="134"/>
++ <source>Print to file</source>
++ <translation>Drukuj do pliku</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="182"/>
++ <source>Printer name: </source>
++ <translation>Nazwa drukarki: </translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="207"/>
++ <source>Choose</source>
++ <translation>Wybierz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="238"/>
++ <source>&amp;Defaults</source>
++ <translation>&amp;Wartości domyślne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="264"/>
++ <source>&amp;Ok</source>
++ <translation>&amp;OK</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="280"/>
++ <location filename="qdjviewdialogs.cpp" line="1852"/>
++ <source>&amp;Cancel</source>
++ <translation>&amp;Anuluj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewprintdialog.ui" line="307"/>
++ <source>Stop</source>
++ <translation>Stop</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1607"/>
++ <source>&lt;html&gt;&lt;b&gt;Printing.&lt;/b&gt;&lt;br/&gt; You can print the whole document or a page range. Use the &lt;tt&gt;Choose&lt;/tt&gt; button to select a print destination and specify printer options. Additional dialog tabs might appear to specify conversion options.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Drukowanie.&lt;/b&gt;&lt;br/&gt; Można drukować cały dokument lub pewien przedział stron. Użyj przycisku &lt;tt&gt;Wybierz&lt;/tt&gt; aby wybrać urządzenie i określić opcje drukowania. Mogą pojawić się dodatkowe zakładki z opcjami konwersji.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1697"/>
++ <source>(invalid printer)</source>
++ <translation>(drukarka niedostępna)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1729"/>
++ <source>All files</source>
++ <comment>save filter</comment>
++ <translation>Wszystkie pliki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1736"/>
++ <source>Print To File - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Drukuj do pliku - Djview</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1848"/>
++ <source>Question - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Pytanie - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1849"/>
++ <source>A file with this name already exists.
++Do you want to replace it?</source>
++ <translation>Plik o tej nazwie już istnieje
++Czy go zastąpić?</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1851"/>
++ <source>&amp;Replace</source>
++ <translation>&amp;Zastąp</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1891"/>
++ <source>This operation has failed.</source>
++ <translation>Ta operacja nie powiodła się.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1895"/>
++ <source>This operation has been interrupted.</source>
++ <translation>Ta operacja została przerwana.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewPrnExporter</name>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="2011"/>
++ <source>Printer data</source>
++ <translation>Dane drukarki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="2012"/>
++ <source>PRN Files (*.prn)</source>
++ <translation>Pliki PRN (*.prn)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="2032"/>
++ <source>Printing Options</source>
++ <comment>tab caption</comment>
++ <translation>Opcje drukowania</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="2034"/>
++ <source>&lt;html&gt;&lt;b&gt;Printing options.&lt;/b&gt;&lt;br&gt;Option &lt;tt&gt;Color&lt;/tt&gt; enables color printing. Document pages can be decorated with a frame. Option &lt;tt&gt;Scale to fit&lt;/tt&gt; accommodates whatever paper size your printer uses. Zoom factor &lt;tt&gt;100%&lt;/tt&gt; reproduces the initial document size. Orientation &lt;tt&gt;Automatic&lt;/tt&gt; chooses portrait or landscape on a page per page basis.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Opcje drukowania.&lt;/b&gt;&lt;br&gt;Opcja &lt;tt&gt;Kolor&lt;/tt&gt; włącza drukowanie w kolorze. Strony dokumentu mogą być ujęte w ramki. Opcja &lt;tt&gt;Dopasuj do strony&lt;/tt&gt; dostosowuje wydruk do dowolnego rozmiaru papieru w drukarce. Współczynnik skalowania równy &lt;tt&gt;100%&lt;/tt&gt; zachowuje oryginalny rozmiar dokumentu. Orientacja&lt;tt&gt;Automatycznie/tt&gt; wybiera orientację portret lub krajobraz osobno dla każdej strony.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="2290"/>
++ <source>Cannot render page %1.</source>
++ <translation>Nie można zwizualizować strony %1.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewSaveDialog</name>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="13"/>
++ <source>Dialog</source>
++ <translation>Dialog</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="25"/>
++ <source>Save</source>
++ <translation>Zapisz</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="37"/>
++ <source>&amp;Document</source>
++ <translation>&amp;Dokument</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="47"/>
++ <source>C&amp;urrent page</source>
++ <translation>&amp;Bieżąca strona</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="62"/>
++ <source>&amp;Pages</source>
++ <translation>&amp;Strony</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="72"/>
++ <source>to</source>
++ <translation>do</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="106"/>
++ <source>Destination</source>
++ <translation>Plik wynikowy</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="134"/>
++ <source>Format:</source>
++ <translation>Format:</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="142"/>
++ <source>Bundled DjVu Document</source>
++ <translation>Scalony dokument DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="147"/>
++ <source>Indirect DjVu Document</source>
++ <translation>Rozłożony dokument DjVu</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="206"/>
++ <source>&amp;Ok</source>
++ <translation>&amp;OK</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="222"/>
++ <location filename="qdjviewdialogs.cpp" line="1070"/>
++ <source>&amp;Cancel</source>
++ <translation>&amp;Anuluj</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsavedialog.ui" line="249"/>
++ <source>Stop</source>
++ <translation>Stop</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="971"/>
++ <source>&lt;html&gt;&lt;b&gt;Saving.&lt;/b&gt;&lt;br/&gt; You can save the whole document or a page range. The bundled format creates a single file. The indirect format creates multiple files suitable for web serving.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Zapisywanie.&lt;/b&gt;&lt;br/&gt; Można zapisać cały dokument lub zakres stron. Format scalony tworzy jeden plik. Format rozłożony tworzy wiele plików wygodnych do udostępniania przez serwery internetowe.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1060"/>
++ <source>Error - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Błąd - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1061"/>
++ <source>Overwriting the current file is not allowed!</source>
++ <translation>Nie można zastąpić bieżącego pliku!</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1066"/>
++ <source>Question - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Pytanie - DjView</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1067"/>
++ <source>A file with this name already exists.
++Do you want to replace it?</source>
++ <translation>Plik o tej nazwie już istnieje
++Czy go zastąpić?</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1069"/>
++ <source>&amp;Replace</source>
++ <translation>&amp;Zastąp</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1107"/>
++ <source>This operation has failed.</source>
++ <translation>Ta operacja nie powiodła się.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1111"/>
++ <source>This operation has been interrupted.</source>
++ <translation>Ta operacja została przerwana.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1138"/>
++ <source>All files</source>
++ <comment>save filter</comment>
++ <translation>Wszystkie pliki</translation>
++ </message>
++ <message>
++ <location filename="qdjviewdialogs.cpp" line="1145"/>
++ <source>Save - DjView</source>
++ <comment>dialog caption</comment>
++ <translation>Zapisz - DjView</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewThumbnails</name>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="724"/>
++ <source>Tiny</source>
++ <comment>thumbnail menu</comment>
++ <translation>Malutkie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="729"/>
++ <source>Small</source>
++ <comment>thumbnail menu</comment>
++ <translation>Małe</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="734"/>
++ <source>Medium</source>
++ <comment>thumbnail menu</comment>
++ <translation>Średnie</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="739"/>
++ <source>Large</source>
++ <comment>thumbnail menu</comment>
++ <translation>Duże</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="745"/>
++ <source>Smart</source>
++ <comment>thumbnail menu</comment>
++ <translation>Sprytne</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="752"/>
++ <source>Control Left Mouse Button</source>
++ <translation>Control i lewy klawisz myszy</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="754"/>
++ <source>Right Mouse Button</source>
++ <translation>Prawy klawisz myszy</translation>
++ </message>
++ <message>
++ <location filename="qdjviewsidebar.cpp" line="756"/>
++ <source>&lt;html&gt;&lt;b&gt;Document thumbnails.&lt;/b&gt;&lt;br/&gt; This panel display thumbnails for the document pages. Double click a thumbnail to jump to the selected page. %1 to change the thumbnail size or the refresh mode. The smart refresh mode only computes thumbnails when the page data is present (displayed or cached.)&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Miniaturki.&lt;/b&gt;&lt;br/&gt; Ten panel wyświetla miniaturki stron dokumentu. Podwójne kliknięcie na miniaturkę przenosi do odpowiedniej strony. %1 aby zmienić rozmiar miniaturek lub je odświeżyć. Tryb sprytny wyświetla miniaturkę tylko wtedy, gdy strona jest wyświetlana lub znajduje się w pamięci podręcznej.&lt;/html&gt;</translation>
++ </message>
++</context>
++<context>
++ <name>QDjViewTiffExporter</name>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1349"/>
++ <source>TIFF Document</source>
++ <translation>Dokument TIFF</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1350"/>
++ <source>TIFF Files (*.tiff *.tif)</source>
++ <translation>Pliki TIFF (*.tiff *.tif)</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1369"/>
++ <source>TIFF Options</source>
++ <comment>tab caption</comment>
++ <translation>Opcje TIFF</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1371"/>
++ <source>&lt;html&gt;&lt;b&gt;TIFF options.&lt;/b&gt;&lt;br&gt;The resolution box specifies an upper limit for the resolution of the TIFF images. Forcing bitonal G4 compression encodes all pages in black and white using the CCITT Group 4 compression. Allowing JPEG compression uses lossy JPEG for all non bitonal or subsampled images. Otherwise, allowing deflate compression produces more compact (but less portable) files than the default packbits compression.&lt;/html&gt;</source>
++ <translation>&lt;html&gt;&lt;b&gt;Opcje TIFF &lt;/b&gt;&lt;br&gt;Pole wyboru rozdzielczości określa maksymalną rozdzielczość obrazów TIFF. Wymuszenie bitonalnej kompresji oznacza zakodowanie wszystkich stron jako czarno-białych za pomocą kompresji CCITT Group 4. Dopuszczenie kompresji JPEG oznacza użycie stratnej kompresji JPEG dla wszystkich bitonalnych lub podpróbkowanych obrazów. W przeciwnym razie dopuszczenie kompresji deflate tworzy bardziej zwarte pliki niż domyślna kompresja packbits.&lt;/html&gt;</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1533"/>
++ <source>Cannot open output file.</source>
++ <translation>Nie można otworzyć pliku wyjściowego.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1645"/>
++ <source>Out of memory.</source>
++ <translation>Zabrakło pamięci.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1647"/>
++ <source>Internal error.</source>
++ <translation>Błąd wewnętrzny.</translation>
++ </message>
++ <message>
++ <location filename="qdjviewexporters.cpp" line="1659"/>
++ <source>TIFF export has not been compiled.</source>
++ <translation>Eksport do TIFF nie został skompilowany.</translation>
++ </message>
++</context>
++<context>
++ <name>QDjVuNetDocument</name>
++ <message>
++ <location filename="qdjvunet.cpp" line="359"/>
++ <source>Requesting &apos;%1&apos;</source>
++ <translation>Zażądano %1</translation>
++ </message>
++</context>
++<context>
++ <name>QDjVuNetDocument::Private</name>
++ <message>
++ <location filename="qdjvunet.cpp" line="127"/>
++ <source>Received http status %1 while retrieving %2.</source>
++ <comment>%1 is an http status code</comment>
++ <translation>Otrzymano kod statusu %1 podczas pobierania %2.</translation>
++ </message>
++ <message>
++ <location filename="qdjvunet.cpp" line="142"/>
++ <source>Received &lt;%1&gt; data while retrieving %2.</source>
++ <comment>%1 is a mime type</comment>
++ <translation>Otrzymano typ danych &lt;%1&gt; w czasie pobierania %2.</translation>
++ </message>
++ <message>
++ <location filename="qdjvunet.cpp" line="185"/>
++ <source>%1 while retrieving &apos;%2&apos;.</source>
++ <translation>%1 w czasie pobierania %2.</translation>
++ </message>
++ <message>
++ <location filename="qdjvunet.cpp" line="225"/>
++ <source>Cannot validate the certificate for server %1.</source>
++ <translation>Nie można potwierdzić certyfikatu serwera %1.</translation>
++ </message>
++ <message>
++ <location filename="qdjvunet.cpp" line="252"/>
++ <source>Authentication required for %1 (%2).</source>
++ <translation>Autoryzacja wymagana dla %1 (%2).</translation>
++ </message>
++ <message>
++ <location filename="qdjvunet.cpp" line="260"/>
++ <source>Authentication required for proxy %1.</source>
++ <translation>Autoryzacja wymagana dla serwera pośredniczącego %1.</translation>
++ </message>
++</context>
++</TS>
+--- djview4-4.12.orig/src/qdjviewexporters.cpp
++++ djview4-4.12/src/qdjviewexporters.cpp
+@@ -405,9 +405,9 @@ QDjViewDjVuExporter::save(QString fname)
+ fromPage = qBound(0, fromPage, pagenum-1);
+ QByteArray pagespec;
+ if (fromPage == toPage && pagenum > 1)
+- pagespec.append(QString("--pages=%1").arg(fromPage+1));
++ pagespec.append(QString("--pages=%1").arg(fromPage+1).toLocal8Bit());
+ else if (fromPage != 0 || toPage != pagenum - 1)
+- pagespec.append(QString("--pages=%1-%2").arg(fromPage+1).arg(toPage+1));
++ pagespec.append(QString("--pages=%1-%2").arg(fromPage+1).arg(toPage+1).toLocal8Bit());
+ QByteArray namespec;
+ if (indirect)
+ namespec = "--indirect=" + fname.toUtf8();
+--- djview4-4.12.orig/src/qdjviewprefs.cpp
++++ djview4-4.12/src/qdjviewprefs.cpp
+@@ -1021,7 +1021,7 @@ QDjViewPrefsDialog::loadLanguageComboBox
+ {
+ // supported languages
+ static const char *languages[] = {
+- "cs","de","en","es","fr","it","ja","ru","uk",
++ "cs","de","en","es","fr","it","ja","pl","ru","uk",
+ "zh_CN","zh_TW",0 } ;
+ // get application
+ QComboBox *cb = d->ui.languageComboBox;
+--- djview4-4.12.orig/src/qdjvuwidget.cpp
++++ djview4-4.12/src/qdjvuwidget.cpp
+@@ -3669,7 +3669,7 @@ MapArea::paintPermanent(QPaintDevice *w,
+ QRect r = rect.adjusted(bw, bw, -bw, -bw);
+ QString s = miniexp_to_qstring(comment);
+ paint.setPen(foregroundColor);
+- int flags = Qt::AlignCenter|Qt::AlignVCenter|Qt::TextWordWrap;
++ int flags = Qt::AlignVCenter|Qt::TextWordWrap;
+ QFont font = paint.font();
+ // estimate font size
+ int size = (int)(z * 0.12);
+@@ -3678,11 +3678,11 @@ MapArea::paintPermanent(QPaintDevice *w,
+ QRect br;
+ font.setPixelSize(size);
+ paint.setFont(font);
+- paint.drawText(r,flags|Qt::TextDontPrint,s,&br);
++ paint.drawText(r,flags|Qt::AlignHCenter|Qt::TextDontPrint,s,&br);
+ if (r.contains(br))
+ {
+ // found good font size
+- paint.drawText(r,flags,s,0);
++ paint.drawText(r,flags|Qt::AlignLeft,s,0);
+ break;
+ }
+ size -= 1;
diff --git a/graphics/gmic/gmic.SlackBuild b/graphics/gmic/gmic.SlackBuild
index f2b15bf316..08c59a16cd 100644
--- a/graphics/gmic/gmic.SlackBuild
+++ b/graphics/gmic/gmic.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gmic
-VERSION=${VERSION:-2.9.4}
-COMMUNITYVERSION=${COMMUNITYVERSION:-6e9a20ef40e1db99c9b761853ad493ee7439e1b7}
+VERSION=${VERSION:-3.1.6}
+COMMUNITYSRC=GMIC
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -70,11 +70,10 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PRGNAM
rm -rf $PRGNAM-community
-rm -rf $PRGNAM-qt
tar xvf $CWD/$PRGNAM\_$VERSION.tar.gz --warning=no-unknown-keyword
mv $PRGNAM-$VERSION $PRGNAM
-unzip $CWD/$PRGNAM-community-$COMMUNITYVERSION.zip || unzip $CWD/$COMMUNITYVERSION
-mv $PRGNAM-community-$COMMUNITYVERSION $PRGNAM-community
+tar xvf $CWD/$COMMUNITYSRC-$VERSION.tar.gz
+mv $PRGNAM-community-$COMMUNITYSRC-$VERSION $PRGNAM-community
cd $PRGNAM
chown -R root:root .
find -L . \
@@ -92,23 +91,23 @@ sed -i -e "s|LIB = lib|LIB = lib$LIBDIRSUFFIX|g" \
sed -i -e "s|-Ofast|-O2 -fno-fast-math --std=c++11|g" \
gmic-qt/gmic_qt.pro || exit 1
-make -C src cli lib libc WGET=/bin/true LIBS=${LDFLAGS} OPT_CFLAGS="$SLKCFLAGS "
+make -j1 -C src cli lib libc WGET=/bin/true LIBS=${LDFLAGS} OPT_CFLAGS="$SLKCFLAGS "
cd gmic-qt
qmake-qt5 GMIC_PATH=../src GMIC_DYNAMIC_LINKING=on HOST=none
-make
+make -j1
qmake-qt5 GMIC_PATH=../src GMIC_DYNAMIC_LINKING=on HOST=gimp
-make
+make -j1
qmake-qt5 GMIC_PATH=../src GMIC_DYNAMIC_LINKING=on HOST=krita
-make
+make -j1
-cd ../zart
-qmake-qt5 GMIC_PATH=../src GMIC_DYNAMIC_LINKING=off QMAKE_CXXFLAGS+=" -DOPENCV2_HEADERS"
-make
+#cd ../zart
+#qmake-qt5 GMIC_PATH=../src GMIC_DYNAMIC_LINKING=off QMAKE_CXXFLAGS+=" -DOPENCV2_HEADERS"
+#make
cd ..
-make -C src install LIB=lib$LIBDIRSUFFIX DESTDIR="$PKG" USR="/usr"
+make -j1 -C src install LIB=lib$LIBDIRSUFFIX DESTDIR="$PKG" USR="/usr"
-rmdir $PKG/usr/share || true
+#rmdir $PKG/usr/share || true
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/graphics/gmic/gmic.info b/graphics/gmic/gmic.info
index 5f7b119ad6..34498e99e9 100644
--- a/graphics/gmic/gmic.info
+++ b/graphics/gmic/gmic.info
@@ -1,10 +1,10 @@
PRGNAM="gmic"
-VERSION="2.9.4"
+VERSION="3.1.6"
HOMEPAGE="https://gmic.eu"
-DOWNLOAD="https://gmic.eu/files/source/gmic_2.9.4.tar.gz \
- https://github.com/dtschump/gmic-community/archive/6e9a20ef40e1db99c9b761853ad493ee7439e1b7.zip"
-MD5SUM="e0d396ab6406c9baeb4929c1dd6a0d6a \
- 75f88fa1423f253714e84905a05f37da"
+DOWNLOAD="https://gmic.eu/files/source/gmic_3.1.6.tar.gz \
+ https://github.com/GreycLab/gmic-community/archive/GMIC-3.1.6/GMIC-3.1.6.tar.gz"
+MD5SUM="62101676ee2b83438c3fc57180be92c6 \
+ 0a42c6b71ad667638f7199a01feca1d1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/inkscape/inkscape.SlackBuild b/graphics/inkscape/inkscape.SlackBuild
index 1a4740bb02..1bec2a5da3 100644
--- a/graphics/inkscape/inkscape.SlackBuild
+++ b/graphics/inkscape/inkscape.SlackBuild
@@ -25,8 +25,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=inkscape
-VERSION=${VERSION:-1.2}
-EXTRAVER=${EXTRAVER:-2022-05-15_dc2aedaf03}
+VERSION=${VERSION:-1.2.1}
+EXTRAVER=${EXTRAVER:-2022-07-14_9c6d41e410}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -94,8 +94,8 @@ dos2unix -k -q share/extensions/*.py
# Fix man page location:
sed -i CMakeScripts/Pod2man.cmake -e "s/SHARE_INSTALL/CMAKE_INSTALL_PREFIX/g"
-# patch from archlinux
-#patch -p1 < $CWD/poppler-21.11.0.patch
+# patch from upstream
+patch -p1 < $CWD/poppler-22.09.0.patch
mkdir -p build
cd build
diff --git a/graphics/inkscape/inkscape.info b/graphics/inkscape/inkscape.info
index 8e49dc51d8..c0d049d8a9 100644
--- a/graphics/inkscape/inkscape.info
+++ b/graphics/inkscape/inkscape.info
@@ -1,8 +1,8 @@
PRGNAM="inkscape"
-VERSION="1.2"
+VERSION="1.2.1"
HOMEPAGE="http://www.inkscape.org/"
-DOWNLOAD="https://media.inkscape.org/dl/resources/file/inkscape-1.2.tar.xz"
-MD5SUM="fb40ac4635b9ea5608e1706584cd0665"
+DOWNLOAD="https://media.inkscape.org/dl/resources/file/inkscape-1.2.1.tar.xz"
+MD5SUM="9e0acbb3dfe8c62953c788134d208dc2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="GraphicsMagick gdl dos2unix double-conversion libcdr lxml python2-numpy potrace pstoedit scour"
diff --git a/graphics/inkscape/poppler-22.09.0.patch b/graphics/inkscape/poppler-22.09.0.patch
new file mode 100644
index 0000000000..36d4192c86
--- /dev/null
+++ b/graphics/inkscape/poppler-22.09.0.patch
@@ -0,0 +1,53 @@
+From 2f3101417a04721c42b6b101dde07fa961a56f1b Mon Sep 17 00:00:00 2001
+From: Sam James <sam@cmpct.info>
+Date: Tue, 6 Sep 2022 10:10:25 +0000
+Subject: [PATCH] Fix build with Poppler 22.09.0
+
+Adapt to changes in Poppler's getLineDash/setLineDash interface to allow building with Poppler 22.09.0.
+---
+ src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++++
+ src/extension/internal/pdfinput/svg-builder.cpp | 9 ++++++++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
+index cca1e84096..80d64c9b86 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.cpp
++++ b/src/extension/internal/pdfinput/pdf-parser.cpp
+@@ -697,7 +697,11 @@ void PdfParser::opSetDash(Object args[], int /*numArgs*/)
+ _POPPLER_FREE(obj);
+ }
+ }
++#if POPPLER_CHECK_VERSION(22, 9, 0)
++ state->setLineDash(std::vector<double> (dash, dash + length), args[1].getNum());
++#else
+ state->setLineDash(dash, length, args[1].getNum());
++#endif
+ builder->updateStyle(state);
+ }
+
+diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
+index 12f71dd921..9fc56fe63c 100644
+--- a/src/extension/internal/pdfinput/svg-builder.cpp
++++ b/src/extension/internal/pdfinput/svg-builder.cpp
+@@ -389,10 +389,17 @@ void SvgBuilder::_setStrokeStyle(SPCSSAttr *css, GfxState *state) {
+ sp_repr_css_set_property(css, "stroke-miterlimit", os_ml.str().c_str());
+
+ // Line dash
+- double *dash_pattern;
+ int dash_length;
+ double dash_start;
++#if POPPLER_CHECK_VERSION(22, 9, 0)
++ const double *dash_pattern;
++ const std::vector<double> &dash = state->getLineDash(&dash_start);
++ dash_pattern = dash.data();
++ dash_length = dash.size();
++#else
++ double *dash_pattern;
+ state->getLineDash(&dash_pattern, &dash_length, &dash_start);
++#endif
+ if ( dash_length > 0 ) {
+ Inkscape::CSSOStringStream os_array;
+ for ( int i = 0 ; i < dash_length ; i++ ) {
+--
+GitLab
+
diff --git a/graphics/kColorPicker/README b/graphics/kColorPicker/README
deleted file mode 100644
index a0dc172eb6..0000000000
--- a/graphics/kColorPicker/README
+++ /dev/null
@@ -1,5 +0,0 @@
-kColorPicker (Qt based Color Picker with popup menu)
-
-QToolButton with color popup menu which lets you select a color.
-The popup features a color dialog button which can be used to
-add custom colors to the popup menu.
diff --git a/graphics/kColorPicker/kColorPicker.SlackBuild b/graphics/kColorPicker/kColorPicker.SlackBuild
deleted file mode 100644
index c82f67cd2d..0000000000
--- a/graphics/kColorPicker/kColorPicker.SlackBuild
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-#
-# Slackware build script for kColorPicker
-#
-# Copyright 2022 Alexander Schultz <alexander_schultz@posteo.se>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=kColorPicker
-VERSION=${VERSION:-0.1.6}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-fi
-
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-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 -eu
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-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 {} \;
-
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKCOV_INSTALL_MANDIR=/usr/man \
- -DKCOV_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \
- -DBUILD_SHARED_LIBS=ON ..
- make
- make install/strip DESTDIR=$PKG
-cd ..
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README.md $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/graphics/kColorPicker/kColorPicker.info b/graphics/kColorPicker/kColorPicker.info
deleted file mode 100644
index 2e6859a082..0000000000
--- a/graphics/kColorPicker/kColorPicker.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="kColorPicker"
-VERSION="0.1.6"
-HOMEPAGE="https://github.com/ksnip/kColorPicker"
-DOWNLOAD="https://github.com/ksnip/kColorPicker/archive/refs/tags/v0.1.6/kColorPicker-0.1.6.tar.gz"
-MD5SUM="2a4e536cf7d947689d9a5e3cdef58837"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Alexander Schultz"
-EMAIL="alexander_schultz@posteo.se"
diff --git a/graphics/kColorPicker/slack-desc b/graphics/kColorPicker/slack-desc
deleted file mode 100644
index c375029bab..0000000000
--- a/graphics/kColorPicker/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-kColorPicker: kColorPicker (Qt based Color Picker with popup menu)
-kColorPicker:
-kColorPicker: QToolButton with color popup menu which lets you select a color.
-kColorPicker: The popup features a color dialog button which can be used
-kColorPicker: to add custom colors to the popup menu.
-kColorPicker:
-kColorPicker: Homepage: https://github.com/ksnip/kColorPicker
-kColorPicker:
-kColorPicker:
-kColorPicker:
-kColorPicker:
diff --git a/graphics/kImageAnnotator/README b/graphics/kImageAnnotator/README
deleted file mode 100644
index 535210789e..0000000000
--- a/graphics/kImageAnnotator/README
+++ /dev/null
@@ -1,3 +0,0 @@
-kImageAnnotator (Tool for annotating images)
-
-Tool for annotating images.
diff --git a/graphics/kImageAnnotator/kImageAnnotator.SlackBuild b/graphics/kImageAnnotator/kImageAnnotator.SlackBuild
deleted file mode 100644
index bdfa9d4ad2..0000000000
--- a/graphics/kImageAnnotator/kImageAnnotator.SlackBuild
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-#
-# Slackware build script for kImageAnnotator
-#
-# Copyright 2022 Alexander Schultz <alexander_schultz@posteo.se>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=kImageAnnotator
-VERSION=${VERSION:-0.5.3}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-fi
-
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-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 -eu
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-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 {} \;
-
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DKCOV_INSTALL_MANDIR=/usr/man \
- -DKCOV_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \
- -DBUILD_SHARED_LIBS=ON ..
- make
- make install/strip DESTDIR=$PKG
-cd ..
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README.md $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/graphics/kImageAnnotator/kImageAnnotator.info b/graphics/kImageAnnotator/kImageAnnotator.info
deleted file mode 100644
index caba0227ff..0000000000
--- a/graphics/kImageAnnotator/kImageAnnotator.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="kImageAnnotator"
-VERSION="0.5.3"
-HOMEPAGE="https://github.com/ksnip/kImageAnnotator"
-DOWNLOAD="https://github.com/ksnip/kImageAnnotator/archive/refs/tags/v0.5.3/kImageAnnotator-0.5.3.tar.gz"
-MD5SUM="992390460ab4e10b967bed11f8558250"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="kColorPicker"
-MAINTAINER="Alexander Schultz"
-EMAIL="alexander_schultz@posteo.se"
diff --git a/graphics/kImageAnnotator/slack-desc b/graphics/kImageAnnotator/slack-desc
deleted file mode 100644
index 30f29d40bb..0000000000
--- a/graphics/kImageAnnotator/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-kImageAnnotator: kImageAnnotator (Tool for annotating images)
-kImageAnnotator:
-kImageAnnotator: Tool for annotating images
-kImageAnnotator:
-kImageAnnotator: Homepage: https://github.com/ksnip/kImageAnnotator
-kImageAnnotator:
-kImageAnnotator:
-kImageAnnotator:
-kImageAnnotator:
-kImageAnnotator:
-kImageAnnotator:
diff --git a/graphics/libplacebo/libplacebo.SlackBuild b/graphics/libplacebo/libplacebo.SlackBuild
index 87133eddc8..ddfe830fd9 100644
--- a/graphics/libplacebo/libplacebo.SlackBuild
+++ b/graphics/libplacebo/libplacebo.SlackBuild
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=libplacebo
-VERSION=${VERSION:-3.120.3}
+VERSION=${VERSION:-4.208.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/graphics/libplacebo/libplacebo.info b/graphics/libplacebo/libplacebo.info
index 9508244dc0..0c548be57d 100644
--- a/graphics/libplacebo/libplacebo.info
+++ b/graphics/libplacebo/libplacebo.info
@@ -1,8 +1,8 @@
PRGNAM="libplacebo"
-VERSION="3.120.3"
+VERSION="4.208.0"
HOMEPAGE="https://code.videolan.org/videolan/libplacebo"
-DOWNLOAD="https://code.videolan.org/videolan/libplacebo/-/archive/v3.120.3/libplacebo-v3.120.3.tar.gz"
-MD5SUM="56161af56c2568ce77467092b5c005c9"
+DOWNLOAD="https://code.videolan.org/videolan/libplacebo/-/archive/v4.208.0/libplacebo-v4.208.0.tar.gz"
+MD5SUM="706e39e9c41a29d2daa5dbe58ff5c25e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/luminance-hdr/luminance-hdr.SlackBuild b/graphics/luminance-hdr/luminance-hdr.SlackBuild
index 027d2b07ea..a9bc215aa3 100644
--- a/graphics/luminance-hdr/luminance-hdr.SlackBuild
+++ b/graphics/luminance-hdr/luminance-hdr.SlackBuild
@@ -30,7 +30,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=luminance-hdr
-VERSION=${VERSION:-2.6.0}
+VERSION=${VERSION:-2.6.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -80,6 +80,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+# Apply patches from gentoo
+for i in $CWD/patches/* ; do patch -p1 < $i ; done
+
# Workround build failure with gcc-g++-4.9.3 and beyond (mangling bug?)
# (fails to link libmvec: "undefined reference to `_ZGVbN4vv_powf'" etc)
export CXX=clang++
diff --git a/graphics/luminance-hdr/luminance-hdr.info b/graphics/luminance-hdr/luminance-hdr.info
index cc84ef4b63..6151b43135 100644
--- a/graphics/luminance-hdr/luminance-hdr.info
+++ b/graphics/luminance-hdr/luminance-hdr.info
@@ -1,8 +1,8 @@
PRGNAM="luminance-hdr"
-VERSION="2.6.0"
+VERSION="2.6.1.1"
HOMEPAGE="http://qtpfsgui.sourceforge.net"
-DOWNLOAD="http://downloads.sourceforge.net/qtpfsgui/2.6.0/luminance-hdr-2.6.0.tar.bz2"
-MD5SUM="9ac2be847d304f0ddc7089b251825c4d"
+DOWNLOAD="http://downloads.sf.net/qtpfsgui/luminance-hdr-2.6.1.1.tar.bz2"
+MD5SUM="c57baf1d3c5d7952f952496f20f86c8f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/graphics/luminance-hdr/patches/luminance-hdr-2.5.1-openmp-automagic.patch b/graphics/luminance-hdr/patches/luminance-hdr-2.5.1-openmp-automagic.patch
new file mode 100644
index 0000000000..f0399d271a
--- /dev/null
+++ b/graphics/luminance-hdr/patches/luminance-hdr-2.5.1-openmp-automagic.patch
@@ -0,0 +1,32 @@
+diff --git a/build_files/Modules/CompilerSettings.cmake b/build_files/Modules/CompilerSettings.cmake
+index f55c130..81e1916 100644
+--- a/build_files/Modules/CompilerSettings.cmake
++++ b/build_files/Modules/CompilerSettings.cmake
+@@ -45,16 +45,19 @@ else()
+ message(WARNING "Your C++ compiler does not support C++11.")
+ endif()
+ #OpenMP Support under Linux, Windows with MSVC & MacOS X with GCC >= 4.3
+-IF(MSVC)
+- FIND_PACKAGE(OpenMP REQUIRED)
+- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+-ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX)
+- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+- IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
+- MESSAGE(STATUS "GCC >= 4.3")
++OPTION(USE_OPENMP "Use openmp threading support." ON)
++IF(USE_OPENMP)
++ IF(MSVC)
+ FIND_PACKAGE(OpenMP REQUIRED)
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
++ ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX)
++ EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
++ IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
++ MESSAGE(STATUS "GCC >= 4.3")
++ FIND_PACKAGE(OpenMP REQUIRED)
++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
++ ENDIF()
+ ENDIF()
+ ENDIF()
diff --git a/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-cmake.patch b/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-cmake.patch
new file mode 100644
index 0000000000..5564ebadc9
--- /dev/null
+++ b/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-cmake.patch
@@ -0,0 +1,22 @@
+--- a/CMakeLists.txt 2019-06-09 21:18:38.000000000 +0200
++++ b/CMakeLists.txt 2019-09-15 23:53:19.496802424 +0200
+@@ -5,19 +5,6 @@
+ CMAKE_POLICY(SET CMP0053 NEW)
+ PROJECT("Luminance HDR")
+
+-string(TOLOWER ${CMAKE_BUILD_TYPE} LOWERCASE_CMAKE_BUILD_TYPE)
+-if(LOWERCASE_CMAKE_BUILD_TYPE MATCHES "^(debug|release|relwithdebinfo|minsizerel)$")
+- message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+-else()
+- message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}\n"
+- "CMAKE_BUILD_TYPE should be one of:\nDebug, Release, RelWithDebInfo, MinSizeRel")
+-endif()
+-
+-if(LOWERCASE_CMAKE_BUILD_TYPE MATCHES "^(release|minsizerel)$")
+- message(STATUS "Adding definitions: -DQT_NO_DEBUG_OUTPUT")
+- add_definitions("-DQT_NO_DEBUG_OUTPUT")
+-endif()
+-
+ # assume built-in pthreads on MacOS
+ IF(APPLE)
+ enable_language(CXX)
diff --git a/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-docs.patch b/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-docs.patch
new file mode 100644
index 0000000000..982c7ebfac
--- /dev/null
+++ b/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-docs.patch
@@ -0,0 +1,15 @@
+--- a/CMakeLists.txt 2019-06-09 21:18:38.000000000 +0200
++++ b/CMakeLists.txt 2019-09-15 23:43:41.005292354 +0200
+@@ -413,12 +413,6 @@
+ INSTALL(FILES ${CMAKE_SOURCE_DIR}/program-icons/luminance-hdr.png DESTINATION share/icons/hicolor/48x48/apps) # icon
+ INSTALL(FILES ${CMAKE_SOURCE_DIR}/net.sourceforge.qtpfsgui.LuminanceHDR.desktop DESTINATION share/applications) #desktop entry
+ INSTALL(FILES ${CMAKE_SOURCE_DIR}/net.sourceforge.qtpfsgui.LuminanceHDR.appdata.xml DESTINATION share/appdata) #appstream
+- INSTALL(FILES
+- ${CMAKE_SOURCE_DIR}/AUTHORS
+- ${CMAKE_SOURCE_DIR}/README.md
+- ${CMAKE_SOURCE_DIR}/LICENSE
+- ${CMAKE_SOURCE_DIR}/Changelog
+- DESTINATION share/luminance-hdr/doc) #info files
+ INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/help DESTINATION share/luminance-hdr) # help directory
+ INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/hdrhtml DESTINATION share/luminance-hdr) # hdrhtml directory
+ # Microsoft Windows
diff --git a/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-no-git.patch b/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-no-git.patch
new file mode 100644
index 0000000000..1d95930404
--- /dev/null
+++ b/graphics/luminance-hdr/patches/luminance-hdr-2.6.0-no-git.patch
@@ -0,0 +1,15 @@
+--- a/CMakeLists.txt 2019-06-09 21:18:38.000000000 +0200
++++ b/CMakeLists.txt 2019-09-15 23:41:24.684413834 +0200
+@@ -103,11 +103,7 @@
+ set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES})
+ endif()
+
+-FIND_PACKAGE(Git)
+-IF(GIT_FOUND)
+- include(GetGitRevisionDescription)
+- get_git_head_revision(GIT_REFSPEC GIT_SHA1)
+-ENDIF()
++SET(GIT_SHA1 "-- Slackware build --")
+
+ IF(WIN32)
+
diff --git a/graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-fixheaders.patch b/graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-fixheaders.patch
new file mode 100644
index 0000000000..58974ea998
--- /dev/null
+++ b/graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-fixheaders.patch
@@ -0,0 +1,15 @@
+Source: arch linux
+
+diff --git a/src/Common/init_fftw.h b/src/Common/init_fftw.h
+index af2fc02c..a4aad47f 100644
+--- a/src/Common/init_fftw.h
++++ b/src/Common/init_fftw.h
+@@ -22,7 +22,7 @@
+ #ifndef INIT_FFTW_H
+ #define INIT_FFTW_H
+
+-#include <boost/thread/mutex.hpp>
++#include <mutex>
+
+ class FFTW_MUTEX {
+ public:
diff --git a/graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-openexr3.patch b/graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-openexr3.patch
new file mode 100644
index 0000000000..9ab2832987
--- /dev/null
+++ b/graphics/luminance-hdr/patches/luminance-hdr-2.6.1.1-openexr3.patch
@@ -0,0 +1,28 @@
+Source: arch linux
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8ff498d0..23f5c387 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -191,7 +191,7 @@ INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
+ FIND_PACKAGE(PNG REQUIRED)
+ INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
+
+-FIND_PACKAGE(OpenEXR REQUIRED)
++FIND_PACKAGE(OpenEXR CONFIG REQUIRED)
+ INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_DIR} "${OPENEXR_INCLUDE_DIR}/OpenEXR")
+
+ FIND_PACKAGE(GSL REQUIRED)
+diff --git a/src/Libpfs/CMakeLists.txt b/src/Libpfs/CMakeLists.txt
+index 80617998..ce3c746e 100644
+--- a/src/Libpfs/CMakeLists.txt
++++ b/src/Libpfs/CMakeLists.txt
+@@ -12,7 +12,7 @@ ADD_SUBDIRECTORY(colorspace)
+ ADD_SUBDIRECTORY(io)
+
+ ADD_LIBRARY(pfs STATIC ${LIBPFS_H} ${LIBPFS_HXX} ${LIBPFS_CPP})
+-TARGET_LINK_LIBRARIES(pfs Qt5::Core Qt5::Gui Qt5::Widgets)
++TARGET_LINK_LIBRARIES(pfs Qt5::Core Qt5::Gui Qt5::Widgets OpenEXR::OpenEXR)
+
+ SET(LUMINANCE_MODULES_GUI ${LUMINANCE_MODULES_GUI} pfs PARENT_SCOPE)
+ SET(LUMINANCE_MODULES_CLI ${LUMINANCE_MODULES_CLI} pfs PARENT_SCOPE)
diff --git a/graphics/openimageio/ffmpeg-5.1.patch b/graphics/openimageio/ffmpeg-5.1.patch
new file mode 100644
index 0000000000..d1c4251d90
--- /dev/null
+++ b/graphics/openimageio/ffmpeg-5.1.patch
@@ -0,0 +1,27 @@
+--- oiio-Release-2.2.21.0/src/cmake/modules/FindFFmpeg.cmake 2022-07-02 00:43:12.000000000 +0200
++++ oiio-Release-2.2.21.0-fixed/src/cmake/modules/FindFFmpeg.cmake 2022-11-09 20:24:14.949122097 +0100
+@@ -59,17 +59,19 @@
+ endif ()
+
+ if (FFMPEG_INCLUDES)
+- file(STRINGS "${FFMPEG_INCLUDES}/libavcodec/version.h" TMP
++ file(STRINGS "${FFMPEG_INCLUDES}/libavcodec/version_major.h" TMP
+ REGEX "^#define LIBAVCODEC_VERSION_MAJOR .*$")
+- string (REGEX MATCHALL "[0-9]+[.0-9]+" LIBAVCODEC_VERSION_MAJOR ${TMP})
++ string (REGEX MATCHALL "[0-9]+[.0-9]+" LIBAVCODEC_VERSION_MAJOR "${TMP}")
+ file(STRINGS "${FFMPEG_INCLUDES}/libavcodec/version.h" TMP
+ REGEX "^#define LIBAVCODEC_VERSION_MINOR .*$")
+- string (REGEX MATCHALL "[0-9]+[.0-9]+" LIBAVCODEC_VERSION_MINOR ${TMP})
++ string (REGEX MATCHALL "[0-9]+[.0-9]+" LIBAVCODEC_VERSION_MINOR "${TMP}")
+ file(STRINGS "${FFMPEG_INCLUDES}/libavcodec/version.h" TMP
+ REGEX "^#define LIBAVCODEC_VERSION_MICRO .*$")
+- string (REGEX MATCHALL "[0-9]+[.0-9]+" LIBAVCODEC_VERSION_MICRO ${TMP})
++ string (REGEX MATCHALL "[0-9]+[.0-9]+" LIBAVCODEC_VERSION_MICRO "${TMP}")
+ set (LIBAVCODEC_VERSION "${LIBAVCODEC_VERSION_MAJOR}.${LIBAVCODEC_VERSION_MINOR}.${LIBAVCODEC_VERSION_MICRO}")
+- if (LIBAVCODEC_VERSION VERSION_GREATER_EQUAL 59.18.100)
++ if (LIBAVCODEC_VERSION VERSION_GREATER_EQUAL 59.37.100)
++ set (FFMPEG_VERSION 5.1)
++ elseif (LIBAVCODEC_VERSION VERSION_GREATER_EQUAL 59.18.100)
+ set (FFMPEG_VERSION 5.0)
+ elseif (LIBAVCODEC_VERSION VERSION_GREATER_EQUAL 58.134.100)
+ set (FFMPEG_VERSION 4.4)
diff --git a/graphics/openimageio/openimageio.SlackBuild b/graphics/openimageio/openimageio.SlackBuild
index d5a820a96d..fcb28f9aa0 100644
--- a/graphics/openimageio/openimageio.SlackBuild
+++ b/graphics/openimageio/openimageio.SlackBuild
@@ -90,6 +90,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/ffmpeg-5.1.patch
+
mkdir -p build
cd build
cmake ../ \
diff --git a/graphics/rawtherapee/rawtherapee-glibc-2.34.patch b/graphics/rawtherapee/rawtherapee-glibc-2.34.patch
new file mode 100644
index 0000000000..ea13f6ab9b
--- /dev/null
+++ b/graphics/rawtherapee/rawtherapee-glibc-2.34.patch
@@ -0,0 +1,352 @@
+diff --git a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc
+index 6274154cb..98c743dad 100644
+--- a/rtengine/canon_cr3_decoder.cc
++++ b/rtengine/canon_cr3_decoder.cc
+@@ -662,7 +662,7 @@ std::uint32_t _byteswap_ulong(std::uint32_t x)
+ #endif
+
+ struct LibRaw_abstract_datastream {
+- IMFILE* ifp;
++ rtengine::IMFILE* ifp;
+
+ void lock()
+ {
+diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc
+index 812f122b3..5da696af2 100644
+--- a/rtengine/dcraw.cc
++++ b/rtengine/dcraw.cc
+@@ -2025,7 +2025,7 @@ void CLASS phase_one_load_raw_c()
+ #endif
+ {
+ int len[2], pred[2];
+- IMFILE ifpthr = *ifp;
++ rtengine::IMFILE ifpthr = *ifp;
+ ifpthr.plistener = nullptr;
+
+ #ifdef _OPENMP
+@@ -3380,7 +3380,7 @@ void CLASS sony_arw2_load_raw()
+ {
+ uchar *data = new (std::nothrow) uchar[raw_width + 1];
+ merror(data, "sony_arw2_load_raw()");
+- IMFILE ifpthr = *ifp;
++ rtengine::IMFILE ifpthr = *ifp;
+ int pos = ifpthr.pos;
+ ushort pix[16];
+
+@@ -6394,7 +6394,7 @@ int CLASS parse_tiff_ifd (int base)
+ unsigned sony_curve[] = { 0,0,0,0,0,4095 };
+ unsigned *buf, sony_offset=0, sony_length=0, sony_key=0;
+ struct jhead jh;
+-/*RT*/ IMFILE *sfp;
++/*RT*/ rtengine::IMFILE *sfp;
+ /*RT*/ int pana_raw = 0;
+
+ if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0])
+@@ -6958,7 +6958,7 @@ it under the terms of the one of two licenses as you choose:
+ fread (buf, sony_length, 1, ifp);
+ sony_decrypt (buf, sony_length/4, 1, sony_key);
+ sfp = ifp;
+-/*RT*/ ifp = fopen (buf, sony_length);
++/*RT*/ ifp = rtengine::fopen (buf, sony_length);
+ // if ((ifp = tmpfile())) {
+ // fwrite (buf, sony_length, 1, ifp);
+ // fseek (ifp, 0, SEEK_SET);
+@@ -7264,7 +7264,7 @@ void CLASS parse_external_jpeg()
+ {
+ const char *file, *ext;
+ char *jname, *jfile, *jext;
+-/*RT*/ IMFILE *save=ifp;
++/*RT*/ rtengine::IMFILE *save=ifp;
+
+ ext = strrchr (ifname, '.');
+ file = strrchr (ifname, '/');
+@@ -7292,7 +7292,7 @@ void CLASS parse_external_jpeg()
+ *jext = '0';
+ }
+ if (strcmp (jname, ifname)) {
+-/*RT*/ if ((ifp = fopen (jname))) {
++/*RT*/ if ((ifp = rtengine::fopen (jname))) {
+ // if ((ifp = fopen (jname, "rb"))) {
+ if (verbose)
+ fprintf (stderr,_("Reading metadata from %s ...\n"), jname);
+diff --git a/rtengine/dcraw.h b/rtengine/dcraw.h
+index 89c1fcaff..f25157088 100644
+--- a/rtengine/dcraw.h
++++ b/rtengine/dcraw.h
+@@ -73,7 +73,7 @@ public:
+
+ protected:
+ int exif_base, ciff_base, ciff_len;
+- IMFILE *ifp;
++ rtengine::IMFILE *ifp;
+ FILE *ofp;
+ short order;
+ const char *ifname;
+@@ -125,7 +125,7 @@ protected:
+ int cur_buf_size; // buffer size
+ uchar *cur_buf; // currently read block
+ int fillbytes; // Counter to add extra byte for block size N*16
+- IMFILE *input;
++ rtengine::IMFILE *input;
+ struct int_pair grad_even[3][41]; // tables of gradients
+ struct int_pair grad_odd[3][41];
+ ushort *linealloc;
+@@ -278,7 +278,7 @@ void parse_redcine();
+ class getbithuff_t
+ {
+ public:
+- getbithuff_t(DCraw *p,IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
++ getbithuff_t(DCraw *p,rtengine::IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
+ unsigned operator()(int nbits, ushort *huff);
+
+ private:
+@@ -288,7 +288,7 @@ private:
+ DCraw *parent;
+ unsigned bitbuf;
+ int vbits, reset;
+- IMFILE *&ifp;
++ rtengine::IMFILE *&ifp;
+ unsigned &zero_after_ff;
+ };
+ getbithuff_t getbithuff;
+@@ -296,7 +296,7 @@ getbithuff_t getbithuff;
+ class nikbithuff_t
+ {
+ public:
+- explicit nikbithuff_t(IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
++ explicit nikbithuff_t(rtengine::IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
+ void operator()() {bitbuf = vbits = 0;};
+ unsigned operator()(int nbits, ushort *huff);
+ unsigned errorCount() { return errors; }
+@@ -309,7 +309,7 @@ private:
+ }
+ unsigned bitbuf, errors;
+ int vbits;
+- IMFILE *&ifp;
++ rtengine::IMFILE *&ifp;
+ };
+ nikbithuff_t nikbithuff;
+
+@@ -378,7 +378,7 @@ void parse_qt (int end);
+ // ph1_bithuff(int nbits, ushort *huff);
+ class ph1_bithuff_t {
+ public:
+- ph1_bithuff_t(DCraw *p, IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
++ ph1_bithuff_t(DCraw *p, rtengine::IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
+ unsigned operator()(int nbits, ushort *huff);
+ unsigned operator()(int nbits);
+ unsigned operator()();
+@@ -412,7 +412,7 @@ private:
+ }
+
+ short &order;
+- IMFILE* const ifp;
++ rtengine::IMFILE* const ifp;
+ UINT64 bitbuf;
+ int vbits;
+ };
+@@ -430,11 +430,11 @@ void nokia_load_raw();
+
+ class pana_bits_t{
+ public:
+- pana_bits_t(IMFILE *i, unsigned &u, unsigned enc):
++ pana_bits_t(rtengine::IMFILE *i, unsigned &u, unsigned enc):
+ ifp(i), load_flags(u), vbits(0), encoding(enc) {}
+ unsigned operator()(int nbits, unsigned *bytes=nullptr);
+ private:
+- IMFILE *ifp;
++ rtengine::IMFILE *ifp;
+ unsigned &load_flags;
+ uchar buf[0x4000];
+ int vbits;
+diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc
+index 1fb1d2e1b..951df2248 100644
+--- a/rtengine/dfmanager.cc
++++ b/rtengine/dfmanager.cc
+@@ -540,7 +540,7 @@ std::vector<badPix> *DFManager::getHotPixels ( const std::string &mak, const std
+
+ int DFManager::scanBadPixelsFile( Glib::ustring filename )
+ {
+- FILE *file = fopen( filename.c_str(), "r" );
++ FILE *file = ::fopen( filename.c_str(), "r" );
+
+ if( !file ) {
+ return false;
+diff --git a/rtengine/myfile.cc b/rtengine/myfile.cc
+index 842766dcf..2321d18bb 100644
+--- a/rtengine/myfile.cc
++++ b/rtengine/myfile.cc
+@@ -70,7 +70,7 @@ int munmap(void *start, size_t length)
+
+ #ifdef MYFILE_MMAP
+
+-IMFILE* fopen (const char* fname)
++rtengine::IMFILE* rtengine::fopen (const char* fname)
+ {
+ int fd;
+
+@@ -123,13 +123,13 @@ IMFILE* fopen (const char* fname)
+ return mf;
+ }
+
+-IMFILE* gfopen (const char* fname)
++rtengine::IMFILE* rtengine::gfopen (const char* fname)
+ {
+ return fopen(fname);
+ }
+ #else
+
+-IMFILE* fopen (const char* fname)
++rtengine::IMFILE* rtengine::fopen (const char* fname)
+ {
+
+ FILE* f = g_fopen (fname, "rb");
+@@ -152,7 +152,7 @@ IMFILE* fopen (const char* fname)
+ return mf;
+ }
+
+-IMFILE* gfopen (const char* fname)
++rtengine::IMFILE* rtengine::gfopen (const char* fname)
+ {
+
+ FILE* f = g_fopen (fname, "rb");
+@@ -176,7 +176,7 @@ IMFILE* gfopen (const char* fname)
+ }
+ #endif //MYFILE_MMAP
+
+-IMFILE* fopen (unsigned* buf, int size)
++rtengine::IMFILE* rtengine::fopen (unsigned* buf, int size)
+ {
+
+ IMFILE* mf = new IMFILE;
+@@ -190,7 +190,7 @@ IMFILE* fopen (unsigned* buf, int size)
+ return mf;
+ }
+
+-void fclose (IMFILE* f)
++void rtengine::fclose (IMFILE* f)
+ {
+ #ifdef MYFILE_MMAP
+
+@@ -207,7 +207,7 @@ void fclose (IMFILE* f)
+ delete f;
+ }
+
+-int fscanf (IMFILE* f, const char* s ...)
++int rtengine::fscanf (IMFILE* f, const char* s ...)
+ {
+ // fscanf not easily wrapped since we have no terminating \0 at end
+ // of file data and vsscanf() won't tell us how many characters that
+@@ -253,7 +253,7 @@ int fscanf (IMFILE* f, const char* s ...)
+ }
+
+
+-char* fgets (char* s, int n, IMFILE* f)
++char* rtengine::fgets (char* s, int n, IMFILE* f)
+ {
+
+ if (f->pos >= f->size) {
+@@ -270,7 +270,7 @@ char* fgets (char* s, int n, IMFILE* f)
+ return s;
+ }
+
+-void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
++void rtengine::imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
+ {
+ f->plistener = plistener;
+ f->progress_range = progress_range;
+@@ -278,7 +278,7 @@ void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, doub
+ f->progress_current = 0;
+ }
+
+-void imfile_update_progress(IMFILE *f)
++void rtengine::imfile_update_progress(IMFILE *f)
+ {
+ if (!f->plistener || f->progress_current < f->progress_next) {
+ return;
+diff --git a/rtengine/myfile.h b/rtengine/myfile.h
+index 423edea9a..c655696e6 100644
+--- a/rtengine/myfile.h
++++ b/rtengine/myfile.h
+@@ -30,8 +30,6 @@ namespace rtengine
+
+ class ProgressListener;
+
+-}
+-
+ struct IMFILE {
+ int fd;
+ ssize_t pos;
+@@ -141,3 +139,5 @@ inline unsigned char* fdata(int offset, IMFILE* f)
+
+ int fscanf (IMFILE* f, const char* s ...);
+ char* fgets (char* s, int n, IMFILE* f);
++
++}
+diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc
+index 9da601e2a..e730842bc 100644
+--- a/rtengine/rtthumbnail.cc
++++ b/rtengine/rtthumbnail.cc
+@@ -1922,7 +1922,7 @@ bool Thumbnail::writeImage (const Glib::ustring& fname)
+
+ Glib::ustring fullFName = fname + ".rtti";
+
+- FILE* f = g_fopen (fullFName.c_str (), "wb");
++ FILE* f = ::g_fopen (fullFName.c_str (), "wb");
+
+ if (!f) {
+ return false;
+@@ -1965,7 +1965,7 @@ bool Thumbnail::readImage (const Glib::ustring& fname)
+ return false;
+ }
+
+- FILE* f = g_fopen(fullFName.c_str (), "rb");
++ FILE* f = ::g_fopen(fullFName.c_str (), "rb");
+
+ if (!f) {
+ return false;
+@@ -2191,7 +2191,7 @@ bool Thumbnail::writeData (const Glib::ustring& fname)
+ return false;
+ }
+
+- FILE *f = g_fopen (fname.c_str (), "wt");
++ FILE *f = ::g_fopen (fname.c_str (), "wt");
+
+ if (!f) {
+ if (settings->verbose) {
+@@ -2214,7 +2214,7 @@ bool Thumbnail::readEmbProfile (const Glib::ustring& fname)
+ embProfile = nullptr;
+ embProfileLength = 0;
+
+- FILE* f = g_fopen (fname.c_str (), "rb");
++ FILE* f = ::g_fopen (fname.c_str (), "rb");
+
+ if (f) {
+ if (!fseek (f, 0, SEEK_END)) {
+@@ -2242,7 +2242,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname)
+ {
+
+ if (embProfileData) {
+- FILE* f = g_fopen (fname.c_str (), "wb");
++ FILE* f = ::g_fopen (fname.c_str (), "wb");
+
+ if (f) {
+ fwrite (embProfileData, 1, embProfileLength, f);
+@@ -2257,7 +2257,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname)
+ bool Thumbnail::readAEHistogram (const Glib::ustring& fname)
+ {
+
+- FILE* f = g_fopen(fname.c_str(), "rb");
++ FILE* f = ::g_fopen(fname.c_str(), "rb");
+
+ if (!f) {
+ aeHistogram.reset();
+@@ -2280,7 +2280,7 @@ bool Thumbnail::writeAEHistogram (const Glib::ustring& fname)
+ {
+
+ if (aeHistogram) {
+- FILE* f = g_fopen (fname.c_str (), "wb");
++ FILE* f = ::g_fopen (fname.c_str (), "wb");
+
+ if (f) {
+ fwrite (&aeHistogram[0], 1, (65536 >> aeHistCompression)*sizeof (aeHistogram[0]), f);
diff --git a/graphics/rawtherapee/rawtherapee.SlackBuild b/graphics/rawtherapee/rawtherapee.SlackBuild
index 80364a7a67..3f05e332c6 100644
--- a/graphics/rawtherapee/rawtherapee.SlackBuild
+++ b/graphics/rawtherapee/rawtherapee.SlackBuild
@@ -79,6 +79,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# Thanks Archlinux!
+patch -p1 < $CWD/rawtherapee-glibc-2.34.patch
+
mkdir -p build
cd build
cmake \
diff --git a/libraries/aubio/aubio-0.4.9-ffmpeg-5.0.patch b/libraries/aubio/aubio-0.4.9-ffmpeg-5.0.patch
new file mode 100644
index 0000000000..e473f596f4
--- /dev/null
+++ b/libraries/aubio/aubio-0.4.9-ffmpeg-5.0.patch
@@ -0,0 +1,14 @@
+diff -up aubio-0.4.9/src/io/source_avcodec.c.omv~ aubio-0.4.9/src/io/source_avcodec.c
+--- aubio-0.4.9/src/io/source_avcodec.c.omv~ 2022-01-16 03:12:59.164776223 +0100
++++ aubio-0.4.9/src/io/source_avcodec.c 2022-01-16 03:13:44.000066377 +0100
+@@ -68,6 +68,10 @@
+ #define AUBIO_AVCODEC_MAX_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE
+ #endif
+
++#if LIBAVCODEC_VERSION_MAJOR >= 59
++#define FF_API_LAVF_AVCTX 1
++#endif
++
+ struct _aubio_source_avcodec_t {
+ uint_t hop_size;
+ uint_t samplerate;
diff --git a/libraries/aubio/aubio.SlackBuild b/libraries/aubio/aubio.SlackBuild
index f034b00b67..f4e1b57480 100644
--- a/libraries/aubio/aubio.SlackBuild
+++ b/libraries/aubio/aubio.SlackBuild
@@ -87,6 +87,8 @@ sed -i "s|'HAVE_' + i in ctx.env.define_key|'HAVE_' + i in ctx.env|" \
# Fix the build system...
sed -i "s|'\${DATAROOTDIR}' + '/doc/libaubio-doc|'\${DOCDIR}|" wscript || exit 1
+patch -p1 < $CWD/aubio-0.4.9-ffmpeg-5.0.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./waf configure \
diff --git a/libraries/chromaprint/chromaprint.SlackBuild b/libraries/chromaprint/chromaprint.SlackBuild
index 3b01f015bc..7ec8bf6a04 100644
--- a/libraries/chromaprint/chromaprint.SlackBuild
+++ b/libraries/chromaprint/chromaprint.SlackBuild
@@ -83,6 +83,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/ffmpeg5.patch
+
mkdir -p build
cd build
cmake \
diff --git a/libraries/chromaprint/ffmpeg5.patch b/libraries/chromaprint/ffmpeg5.patch
new file mode 100644
index 0000000000..d90767fd14
--- /dev/null
+++ b/libraries/chromaprint/ffmpeg5.patch
@@ -0,0 +1,76 @@
+From 6d938d70b1d52634f8b0d88cb29da87f8d5b35a2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
+Date: Mon, 17 Jan 2022 04:41:33 +0100
+Subject: [PATCH] Port to ffmpeg 5.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Replace removed functionality like accessing the codec context
+from an AVStream and avcodec_decode_audio4()
+
+Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
+---
+ src/audio/ffmpeg_audio_reader.h | 24 ++++++++++++++++++++++--
+ 1 file changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/src/audio/ffmpeg_audio_reader.h b/src/audio/ffmpeg_audio_reader.h
+index 5550164..a3b8de7 100644
+--- a/src/audio/ffmpeg_audio_reader.h
++++ b/src/audio/ffmpeg_audio_reader.h
+@@ -74,7 +74,7 @@ class FFmpegAudioReader {
+ uint8_t *m_convert_buffer[1] = { nullptr };
+ int m_convert_buffer_nb_samples = 0;
+
+- AVInputFormat *m_input_fmt = nullptr;
++ const AVInputFormat *m_input_fmt = nullptr;
+ AVDictionary *m_input_opts = nullptr;
+
+ AVFormatContext *m_format_ctx = nullptr;
+@@ -153,7 +153,7 @@ inline bool FFmpegAudioReader::Open(const std::string &file_name) {
+ return false;
+ }
+
+- AVCodec *codec;
++ const AVCodec *codec;
+ ret = av_find_best_stream(m_format_ctx, AVMEDIA_TYPE_AUDIO, -1, -1, &codec, 0);
+ if (ret < 0) {
+ SetError("Could not find any audio stream in the file", ret);
+@@ -161,7 +161,13 @@ inline bool FFmpegAudioReader::Open(const std::string &file_name) {
+ }
+ m_stream_index = ret;
+
++#if LIBAVCODEC_VERSION_MAJOR >= 59
++ const AVCodec *streamcodec = avcodec_find_decoder(m_format_ctx->streams[m_stream_index]->codecpar->codec_id);
++ m_codec_ctx = avcodec_alloc_context3(streamcodec);
++ avcodec_parameters_to_context(m_codec_ctx, m_format_ctx->streams[m_stream_index]->codecpar);
++#else
+ m_codec_ctx = m_format_ctx->streams[m_stream_index]->codec;
++#endif
+ m_codec_ctx->request_sample_fmt = AV_SAMPLE_FMT_S16;
+
+ ret = avcodec_open2(m_codec_ctx, codec, nullptr);
+@@ -278,7 +284,23 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, size_t *size) {
+ }
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 59
+ ret = avcodec_decode_audio4(m_codec_ctx, m_frame, &m_got_frame, &m_packet);
++#else
++ m_got_frame = 0;
++ ret = avcodec_send_packet(m_codec_ctx, &m_packet);
++ if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
++ ret = 0;
++ if(ret >= 0) {
++ ret = avcodec_receive_frame(m_codec_ctx, m_frame);
++ if (ret == 0) {
++ m_got_frame = 1;
++ ret = m_packet.size;
++ }
++ }
++ if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
++ ret = 0;
++#endif
+ if (ret < 0) {
+ if (m_decode_error) {
+ SetError("Error decoding audio frame", m_decode_error);
diff --git a/libraries/efl/efl.SlackBuild b/libraries/efl/efl.SlackBuild
index a7b04cc830..504fd1be0a 100644
--- a/libraries/efl/efl.SlackBuild
+++ b/libraries/efl/efl.SlackBuild
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=efl
-VERSION=${VERSION:-1.26.1}
+VERSION=${VERSION:-1.26.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/libraries/efl/efl.info b/libraries/efl/efl.info
index 4b54bcd6a2..8dbc39731d 100644
--- a/libraries/efl/efl.info
+++ b/libraries/efl/efl.info
@@ -1,8 +1,8 @@
PRGNAM="efl"
-VERSION="1.26.1"
+VERSION="1.26.2"
HOMEPAGE="https://www.enlightenment.org/"
-DOWNLOAD="https://download.enlightenment.org/rel/libs/efl/efl-1.26.1.tar.xz"
-MD5SUM="a15205f096c028743c053a9b2d212390"
+DOWNLOAD="https://download.enlightenment.org/rel/libs/efl/efl-1.26.2.tar.xz"
+MD5SUM="7782daab5b37c77b8a72266e2e7915c8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="luajit bullet"
diff --git a/libraries/fmt/README b/libraries/fmt/README
deleted file mode 100644
index aac25b6316..0000000000
--- a/libraries/fmt/README
+++ /dev/null
@@ -1,2 +0,0 @@
-{fmt} is an open-source formatting library for C++. It can be used as a
-safe and fast alternative to (s)printf and iostreams.
diff --git a/libraries/fmt/fmt.SlackBuild b/libraries/fmt/fmt.SlackBuild
deleted file mode 100644
index ed6dd501b5..0000000000
--- a/libraries/fmt/fmt.SlackBuild
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for fmt
-
-# Copyright 2019-2021 Hunter Sezen California, USA
-# Copyright 2022 Steven Voges Oregon, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=fmt
-VERSION=${VERSION:-9.1.0}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-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 -eu
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-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 {} \;
-
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
- -DBUILD_SHARED_LIBS=ON \
- -DCMAKE_SKIP_RPATH=TRUE \
- -DCMAKE_BUILD_TYPE=Release ..
- make
- make install DESTDIR=$PKG
-cd ..
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
- grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CONTRIBUTING.md ChangeLog.rst LICENSE.rst README.rst \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/libraries/fmt/fmt.info b/libraries/fmt/fmt.info
deleted file mode 100644
index 2abb5d4d0f..0000000000
--- a/libraries/fmt/fmt.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="fmt"
-VERSION="9.1.0"
-HOMEPAGE="https://fmt.dev"
-DOWNLOAD="https://github.com/fmtlib/fmt/archive/9.1.0/fmt-9.1.0.tar.gz"
-MD5SUM="21fac48cae8f3b4a5783ae06b443973a"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Steven Voges"
-EMAIL="svoges.sbo@gmail.com"
diff --git a/libraries/fmt/slack-desc b/libraries/fmt/slack-desc
deleted file mode 100644
index 01b96bb24d..0000000000
--- a/libraries/fmt/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-fmt: fmt (A modern formatting library)
-fmt:
-fmt: {fmt} is an open-source formatting library for C++. It can be used as
-fmt: a safe and fast alternative to (s)printf and iostreams.
-fmt:
-fmt: Homepage: https://fmt.dev/
-fmt:
-fmt:
-fmt:
-fmt:
-fmt:
diff --git a/libraries/iniparser/README b/libraries/iniparser/README
deleted file mode 100644
index f9cd696418..0000000000
--- a/libraries/iniparser/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Iniparser is a free stand-alone INI file parsing library.
-It is written in portable ANSI C and should compile anywhere.
-
-WARNING:
-This package will overwrite Samba's libiniparser.so
-If you remove this package, don't forget to reinstall samba
diff --git a/libraries/iniparser/iniparser.SlackBuild b/libraries/iniparser/iniparser.SlackBuild
deleted file mode 100644
index 83ffb96692..0000000000
--- a/libraries/iniparser/iniparser.SlackBuild
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for Iniparser
-
-# Copyright 2017, Steven King <kingrst@gmail.com>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# 20220418 bkw: Modified by SlackBuilds.org, BUILD=2:
-# - actually use SLKCFLAGS.
-# - remove the static library.
-# - fix the shared library so it actually works.
-# - install the shared lib stripped.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=iniparser
-VERSION=${VERSION:-4.0}
-BUILD=${BUILD:-2}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-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
-tar vxf $CWD/${PRGNAM}-${VERSION}.tar.gz
-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 {} \+
-
-# 20220418 bkw: previous version of this script tried to fix the -rpath
-# info in the shared library, but was broken. this works:
-sed -i "s,/usr/lib,/usr/lib$LIBDIRSUFFIX," Makefile
-
-# 20220418 bkw: SLKCFLAGS weren't being used.
-CFLAGS="$SLKCFLAGS" \
-CXFLAGS="$SLKCFLAGS" \
-make V=1
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
-mkdir -p $PKG/usr/include
-
-cp -ar AUTHORS LICENSE README.md html $PKG/usr/doc/$PRGNAM-$VERSION
-
-install -s -m0755 libiniparser.so.0 $PKG/usr/lib${LIBDIRSUFFIX}
-
-# 20220418 bkw: create the symlink gcc uses to link with this.
-# previously, anything (such as cava) which linked with
-# -liniparser was actually using the static library.
-ln -s lib${PRGNAM}.so.0 $PKG/usr/lib$LIBDIRSUFFIX/lib${PRGNAM}.so
-
-cp -a ./src/dictionary.h ./src/iniparser.h $PKG/usr/include
-
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/libraries/iniparser/iniparser.info b/libraries/iniparser/iniparser.info
deleted file mode 100644
index de282c9c58..0000000000
--- a/libraries/iniparser/iniparser.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="iniparser"
-VERSION="4.0"
-HOMEPAGE="https://github.com/ndevilla/iniparser"
-DOWNLOAD="https://github.com/ndevilla/iniparser/archive/v4.0/iniparser-4.0.tar.gz"
-MD5SUM="94c7278f8d22de1a31320219b27634b0"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Steven King"
-EMAIL="kingrst@gmail.com"
diff --git a/libraries/iniparser/slack-desc b/libraries/iniparser/slack-desc
deleted file mode 100644
index c410aaa786..0000000000
--- a/libraries/iniparser/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-iniparser: iniparser (A free stand-alone INI file parsing library)
-iniparser:
-iniparser: It is written in portable ANSI C and should compile anywhere.
-iniparser: Iniparser is distributed under an MIT license.
-iniparser:
-iniparser: Homepage: http://ndevilla.free.fr/iniparser
-iniparser:
-iniparser:
-iniparser:
-iniparser:
-iniparser:
diff --git a/libraries/libopenshot/libopenshot.SlackBuild b/libraries/libopenshot/libopenshot.SlackBuild
index 7ce798045f..679d5b0fe8 100644
--- a/libraries/libopenshot/libopenshot.SlackBuild
+++ b/libraries/libopenshot/libopenshot.SlackBuild
@@ -76,7 +76,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-#patch -p1 < $CWD/512.patch
+# Patches from debian (thanks!)
+for i in $CWD/patches/* ; do patch -p1 < $i ; done
+
mkdir -p build
cd build
cmake \
diff --git a/libraries/libopenshot/patches/0002-constify-some-AVCodecIDs-necessary-for-new-ffmpeg.patch b/libraries/libopenshot/patches/0002-constify-some-AVCodecIDs-necessary-for-new-ffmpeg.patch
new file mode 100644
index 0000000000..5d82696550
--- /dev/null
+++ b/libraries/libopenshot/patches/0002-constify-some-AVCodecIDs-necessary-for-new-ffmpeg.patch
@@ -0,0 +1,94 @@
+From: nick black <dankamongmen@gmail.com>
+Date: Sun, 21 Nov 2021 23:25:37 -0500
+Subject: [PATCH] constify some AVCodecIDs, necessary for new ffmpeg
+
+Signed-off-by: nick black <dankamongmen@gmail.com>
+---
+ src/FFmpegReader.cpp | 6 +++---
+ src/FFmpegWriter.cpp | 12 ++++++------
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/FFmpegReader.cpp b/src/FFmpegReader.cpp
+index c1eaa74..497cff0 100644
+--- a/src/FFmpegReader.cpp
++++ b/src/FFmpegReader.cpp
+@@ -255,10 +255,10 @@ void FFmpegReader::Open() {
+ pStream = pFormatCtx->streams[videoStream];
+
+ // Find the codec ID from stream
+- AVCodecID codecId = AV_FIND_DECODER_CODEC_ID(pStream);
++ const AVCodecID codecId = AV_FIND_DECODER_CODEC_ID(pStream);
+
+ // Get codec and codec context from stream
+- AVCodec *pCodec = avcodec_find_decoder(codecId);
++ const AVCodec *pCodec = avcodec_find_decoder(codecId);
+ AVDictionary *opts = NULL;
+ int retry_decode_open = 2;
+ // If hw accel is selected but hardware cannot handle repeat with software decoding
+@@ -512,7 +512,7 @@ void FFmpegReader::Open() {
+ AVCodecID codecId = AV_FIND_DECODER_CODEC_ID(aStream);
+
+ // Get codec and codec context from stream
+- AVCodec *aCodec = avcodec_find_decoder(codecId);
++ const AVCodec *aCodec = avcodec_find_decoder(codecId);
+ aCodecCtx = AV_GET_CODEC_CONTEXT(aStream, aCodec);
+
+ // Set number of threads equal to number of processors (not to exceed 16)
+diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp
+index 8707756..823b345 100644
+--- a/src/FFmpegWriter.cpp
++++ b/src/FFmpegWriter.cpp
+@@ -166,7 +166,7 @@ void FFmpegWriter::initialize_streams() {
+ void FFmpegWriter::SetVideoOptions(bool has_video, std::string codec, Fraction fps, int width, int height, Fraction pixel_ratio, bool interlaced, bool top_field_first, int bit_rate) {
+ // Set the video options
+ if (codec.length() > 0) {
+- AVCodec *new_codec;
++ const AVCodec *new_codec;
+ // Check if the codec selected is a hardware accelerated codec
+ #if USE_HW_ACCEL
+ #if defined(__linux__)
+@@ -288,7 +288,7 @@ void FFmpegWriter::SetVideoOptions(std::string codec, int width, int height, Fr
+ void FFmpegWriter::SetAudioOptions(bool has_audio, std::string codec, int sample_rate, int channels, ChannelLayout channel_layout, int bit_rate) {
+ // Set audio options
+ if (codec.length() > 0) {
+- AVCodec *new_codec = avcodec_find_encoder_by_name(codec.c_str());
++ const AVCodec *new_codec = avcodec_find_encoder_by_name(codec.c_str());
+ if (new_codec == NULL)
+ throw InvalidCodec("A valid audio codec could not be found for this file.", path);
+ else {
+@@ -1048,7 +1048,7 @@ AVStream *FFmpegWriter::add_audio_stream() {
+ AVStream *st;
+
+ // Find the audio codec
+- AVCodec *codec = avcodec_find_encoder_by_name(info.acodec.c_str());
++ const AVCodec *codec = avcodec_find_encoder_by_name(info.acodec.c_str());
+ if (codec == NULL)
+ throw InvalidCodec("A valid audio codec could not be found for this file.", path);
+
+@@ -1133,7 +1133,7 @@ AVStream *FFmpegWriter::add_video_stream() {
+ AVStream *st;
+
+ // Find the video codec
+- AVCodec *codec = avcodec_find_encoder_by_name(info.vcodec.c_str());
++ const AVCodec *codec = avcodec_find_encoder_by_name(info.vcodec.c_str());
+ if (codec == NULL)
+ throw InvalidCodec("A valid video codec could not be found for this file.", path);
+
+@@ -1313,7 +1313,7 @@ AVStream *FFmpegWriter::add_video_stream() {
+
+ // open audio codec
+ void FFmpegWriter::open_audio(AVFormatContext *oc, AVStream *st) {
+- AVCodec *codec;
++ const AVCodec *codec;
+ AV_GET_CODEC_FROM_STREAM(st, audio_codec_ctx)
+
+ // Set number of threads equal to number of processors (not to exceed 16)
+@@ -1384,7 +1384,7 @@ void FFmpegWriter::open_audio(AVFormatContext *oc, AVStream *st) {
+
+ // open video codec
+ void FFmpegWriter::open_video(AVFormatContext *oc, AVStream *st) {
+- AVCodec *codec;
++ const AVCodec *codec;
+ AV_GET_CODEC_FROM_STREAM(st, video_codec_ctx)
+
+ // Set number of threads equal to number of processors (not to exceed 16)
diff --git a/libraries/libopenshot/patches/0003-FFmpegWriter-Macro-member-cleanup.patch b/libraries/libopenshot/patches/0003-FFmpegWriter-Macro-member-cleanup.patch
new file mode 100644
index 0000000000..9aa09ac076
--- /dev/null
+++ b/libraries/libopenshot/patches/0003-FFmpegWriter-Macro-member-cleanup.patch
@@ -0,0 +1,344 @@
+From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
+Date: Thu, 24 Feb 2022 07:29:08 -0500
+Subject: [PATCH] FFmpegWriter: Macro & member cleanup
+
+- The `fmt` class member, which was of type AVFormat*, was really
+ just an unnecessary copy of `(AVFormatContext*)oc->oformat`.
+ But we were ASSIGNING into its members, which we were definitely
+ not supposed to be doing. (And in recent FFmpegs, now that
+ `AVFormat` has been `const`d, we can't.) It's gone; now we just
+ use `oc->oformat` anywhere we used to access `fmt`.
+
+- The preprocessor macro to allocate a new _stream_ was a mess of
+ cross purposes: It did allocate a stream, but then it also
+ allocated a new AvCodecCtx on newer FFmpeg releases. Worse (and
+ always galling to me), it proceeded to assign to a variable
+ that WASN'T passed in to the macro, just taking it on faith that
+ it would only be used where that variable was defined. That's
+ just... ugh. So I broke it apart into two steps (stream creation
+ and context allocation), realized the stream creation code was
+ the same for all ffmpeg versions and didn't need to be a macro
+ at all, and now a 4-parameter, 6-line magical macro has been
+ replaced with a simple, zero-side-effect one-liner.
+
+- I also cleaned up the add_video_stream() code to be more like
+ the add_audio_stream() code, since they were bad-different for
+ no discernible reason.
+---
+ src/FFmpegUtilities.h | 37 +++++-------------
+ src/FFmpegWriter.cpp | 105 ++++++++++++++++++++++++++++++--------------------
+ src/FFmpegWriter.h | 3 +-
+ 3 files changed, 73 insertions(+), 72 deletions(-)
+
+diff --git a/src/FFmpegUtilities.h b/src/FFmpegUtilities.h
+index 42358ee..46fea61 100644
+--- a/src/FFmpegUtilities.h
++++ b/src/FFmpegUtilities.h
+@@ -200,13 +200,8 @@ inline static bool ffmpeg_has_alpha(PixelFormat pix_fmt) {
+ #define AV_OPTION_SET( av_stream, priv_data, name, value, avcodec) \
+ av_opt_set(priv_data, name, value, 0); \
+ avcodec_parameters_from_context(av_stream->codecpar, avcodec);
+- #define AV_FORMAT_NEW_STREAM(oc, st_codec_ctx, av_codec, av_st) \
+- av_st = avformat_new_stream(oc, NULL);\
+- if (!av_st) \
+- throw OutOfMemory("Could not allocate memory for the video stream.", path); \
+- c = avcodec_alloc_context3(av_codec); \
+- st_codec_ctx = c; \
+- av_st->codecpar->codec_id = av_codec->id;
++ #define ALLOC_CODEC_CTX(ctx, codec, stream) \
++ ctx = avcodec_alloc_context3(codec);
+ #define AV_COPY_PARAMS_FROM_CONTEXT(av_stream, av_codec_ctx) \
+ avcodec_parameters_from_context(av_stream->codecpar, av_codec_ctx);
+
+@@ -244,16 +239,8 @@ inline static bool ffmpeg_has_alpha(PixelFormat pix_fmt) {
+ #define AV_OPTION_SET( av_stream, priv_data, name, value, avcodec) \
+ av_opt_set(priv_data, name, value, 0); \
+ avcodec_parameters_from_context(av_stream->codecpar, avcodec);
+- #define AV_FORMAT_NEW_STREAM(oc, st_codec, av_codec, av_st) \
+- av_st = avformat_new_stream(oc, NULL);\
+- if (!av_st) \
+- throw OutOfMemory("Could not allocate memory for the video stream.", path); \
+- _Pragma ("GCC diagnostic push"); \
+- _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\""); \
+- avcodec_get_context_defaults3(av_st->codec, av_codec); \
+- c = av_st->codec; \
+- _Pragma ("GCC diagnostic pop"); \
+- st_codec = c;
++ #define ALLOC_CODEC_CTX(ctx, codec, stream) \
++ ctx = avcodec_alloc_context3(codec);
+ #define AV_COPY_PARAMS_FROM_CONTEXT(av_stream, av_codec) \
+ avcodec_parameters_from_context(av_stream->codecpar, av_codec);
+
+@@ -284,12 +271,9 @@ inline static bool ffmpeg_has_alpha(PixelFormat pix_fmt) {
+ #define AV_OUTPUT_CONTEXT(output_context, path) oc = avformat_alloc_context()
+ #define AV_OPTION_FIND(priv_data, name) av_opt_find(priv_data, name, NULL, 0, 0)
+ #define AV_OPTION_SET(av_stream, priv_data, name, value, avcodec) av_opt_set (priv_data, name, value, 0)
+- #define AV_FORMAT_NEW_STREAM( oc, av_context, av_codec, av_st) \
+- av_st = avformat_new_stream(oc, av_codec); \
+- if (!av_st) \
+- throw OutOfMemory("Could not allocate memory for the video stream.", path); \
++ #define ALLOC_CODEC_CTX(ctx, av_codec, stream) \
+ avcodec_get_context_defaults3(av_st->codec, av_codec); \
+- c = av_st->codec;
++ ctx = av_st->codec;
+ #define AV_COPY_PARAMS_FROM_CONTEXT(av_stream, av_codec)
+
+ #else
+@@ -319,12 +303,9 @@ inline static bool ffmpeg_has_alpha(PixelFormat pix_fmt) {
+ #define AV_OUTPUT_CONTEXT(output_context, path) oc = avformat_alloc_context()
+ #define AV_OPTION_FIND(priv_data, name) av_opt_find(priv_data, name, NULL, 0, 0)
+ #define AV_OPTION_SET(av_stream, priv_data, name, value, avcodec) av_opt_set (priv_data, name, value, 0)
+- #define AV_FORMAT_NEW_STREAM( oc, av_context, av_codec, av_st) \
+- av_st = avformat_new_stream(oc, av_codec); \
+- if (!av_st) \
+- throw OutOfMemory("Could not allocate memory for the video stream.", path); \
+- avcodec_get_context_defaults3(av_st->codec, av_codec); \
+- c = av_st->codec;
++ #define ALLOC_CODEC_CTX(ctx, av_codec, stream) \
++ avcodec_get_context_defaults3(stream->codec, av_codec); \
++ ctx = stream->codec;
+ #define AV_COPY_PARAMS_FROM_CONTEXT(av_stream, av_codec)
+ #endif
+
+diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp
+index 823b345..c43dcff 100644
+--- a/src/FFmpegWriter.cpp
++++ b/src/FFmpegWriter.cpp
+@@ -81,7 +81,7 @@ static int set_hwframe_ctx(AVCodecContext *ctx, AVBufferRef *hw_device_ctx, int6
+ #endif // USE_HW_ACCEL
+
+ FFmpegWriter::FFmpegWriter(const std::string& path) :
+- path(path), fmt(NULL), oc(NULL), audio_st(NULL), video_st(NULL), samples(NULL),
++ path(path), oc(NULL), audio_st(NULL), video_st(NULL), samples(NULL),
+ audio_outbuf(NULL), audio_outbuf_size(0), audio_input_frame_size(0), audio_input_position(0),
+ initial_audio_input_frame_size(0), img_convert_ctx(NULL), cache_size(8), num_of_rescalers(32),
+ rescaler_position(0), video_codec_ctx(NULL), audio_codec_ctx(NULL), is_writing(false), video_timestamp(0), audio_timestamp(0),
+@@ -123,41 +123,46 @@ void FFmpegWriter::Open() {
+
+ // auto detect format (from path)
+ void FFmpegWriter::auto_detect_format() {
+- // Auto detect the output format from the name. default is mpeg.
+- fmt = av_guess_format(NULL, path.c_str(), NULL);
+- if (!fmt)
+- throw InvalidFormat("Could not deduce output format from file extension.", path);
+
+ // Allocate the output media context
+ AV_OUTPUT_CONTEXT(&oc, path.c_str());
+- if (!oc)
+- throw OutOfMemory("Could not allocate memory for AVFormatContext.", path);
++ if (!oc) {
++ throw OutOfMemory(
++ "Could not allocate memory for AVFormatContext.", path);
++ }
+
+- // Set the AVOutputFormat for the current AVFormatContext
+- oc->oformat = fmt;
++ // Determine what format to use when encoding this output filename
++ oc->oformat = av_guess_format(NULL, path.c_str(), NULL);
++ if (oc->oformat == nullptr) {
++ throw InvalidFormat(
++ "Could not deduce output format from file extension.", path);
++ }
+
+- // Update codec names
+- if (fmt->video_codec != AV_CODEC_ID_NONE && info.has_video)
+- // Update video codec name
+- info.vcodec = avcodec_find_encoder(fmt->video_codec)->name;
++ // Update video codec name
++ if (oc->oformat->video_codec != AV_CODEC_ID_NONE && info.has_video)
++ info.vcodec = avcodec_find_encoder(oc->oformat->video_codec)->name;
+
+- if (fmt->audio_codec != AV_CODEC_ID_NONE && info.has_audio)
+- // Update audio codec name
+- info.acodec = avcodec_find_encoder(fmt->audio_codec)->name;
++ // Update audio codec name
++ if (oc->oformat->audio_codec != AV_CODEC_ID_NONE && info.has_audio)
++ info.acodec = avcodec_find_encoder(oc->oformat->audio_codec)->name;
+ }
+
+ // initialize streams
+ void FFmpegWriter::initialize_streams() {
+- ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::initialize_streams", "fmt->video_codec", fmt->video_codec, "fmt->audio_codec", fmt->audio_codec, "AV_CODEC_ID_NONE", AV_CODEC_ID_NONE);
++ ZmqLogger::Instance()->AppendDebugMethod(
++ "FFmpegWriter::initialize_streams",
++ "oc->oformat->video_codec", oc->oformat->video_codec,
++ "oc->oformat->audio_codec", oc->oformat->audio_codec,
++ "AV_CODEC_ID_NONE", AV_CODEC_ID_NONE);
+
+ // Add the audio and video streams using the default format codecs and initialize the codecs
+ video_st = NULL;
+ audio_st = NULL;
+- if (fmt->video_codec != AV_CODEC_ID_NONE && info.has_video)
++ if (oc->oformat->video_codec != AV_CODEC_ID_NONE && info.has_video)
+ // Add video stream
+ video_st = add_video_stream();
+
+- if (fmt->audio_codec != AV_CODEC_ID_NONE && info.has_audio)
++ if (oc->oformat->audio_codec != AV_CODEC_ID_NONE && info.has_audio)
+ // Add audio stream
+ audio_st = add_audio_stream();
+ }
+@@ -228,9 +233,6 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std::string codec, Fraction f
+ else {
+ // Set video codec
+ info.vcodec = new_codec->name;
+-
+- // Update video codec in fmt
+- fmt->video_codec = new_codec->id;
+ }
+ }
+ if (fps.num > 0) {
+@@ -294,9 +296,6 @@ void FFmpegWriter::SetAudioOptions(bool has_audio, std::string codec, int sample
+ else {
+ // Set audio codec
+ info.acodec = new_codec->name;
+-
+- // Update audio codec in fmt
+- fmt->audio_codec = new_codec->id;
+ }
+ }
+ if (sample_rate > 7999)
+@@ -634,7 +633,7 @@ void FFmpegWriter::WriteHeader() {
+ throw InvalidOptions("No video or audio options have been set. You must set has_video or has_audio (or both).", path);
+
+ // Open the output file, if needed
+- if (!(fmt->flags & AVFMT_NOFILE)) {
++ if (!(oc->oformat->flags & AVFMT_NOFILE)) {
+ if (avio_open(&oc->pb, path.c_str(), AVIO_FLAG_WRITE) < 0)
+ throw InvalidFile("Could not open or write file.", path);
+ }
+@@ -786,9 +785,9 @@ void FFmpegWriter::write_queued_frames() {
+ // Done writing
+ is_writing = false;
+
+- // Raise exception from main thread
+- if (has_error_encoding_video)
+- throw ErrorEncodingVideo("Error while writing raw video frame", -1);
++ // Raise exception from main thread
++ if (has_error_encoding_video)
++ throw ErrorEncodingVideo("Error while writing raw video frame", -1);
+ }
+
+ // Write a block of frames from a reader
+@@ -1008,7 +1007,7 @@ void FFmpegWriter::Close() {
+ if (image_rescalers.size() > 0)
+ RemoveScalers();
+
+- if (!(fmt->flags & AVFMT_NOFILE)) {
++ if (!(oc->oformat->flags & AVFMT_NOFILE)) {
+ /* close the output file */
+ avio_close(oc->pb);
+ }
+@@ -1044,21 +1043,27 @@ void FFmpegWriter::add_avframe(std::shared_ptr<Frame> frame, AVFrame *av_frame)
+
+ // Add an audio output stream
+ AVStream *FFmpegWriter::add_audio_stream() {
+- AVCodecContext *c;
+- AVStream *st;
+-
+ // Find the audio codec
+ const AVCodec *codec = avcodec_find_encoder_by_name(info.acodec.c_str());
+ if (codec == NULL)
+ throw InvalidCodec("A valid audio codec could not be found for this file.", path);
+
+ // Free any previous memory allocations
+- if (audio_codec_ctx != NULL) {
++ if (audio_codec_ctx != nullptr) {
+ AV_FREE_CONTEXT(audio_codec_ctx);
+ }
+
+ // Create a new audio stream
+- AV_FORMAT_NEW_STREAM(oc, audio_codec_ctx, codec, st)
++ AVStream* st = avformat_new_stream(oc, codec);
++ if (!st)
++ throw OutOfMemory("Could not allocate memory for the video stream.", path);
++
++ // Allocate a new codec context for the stream
++ ALLOC_CODEC_CTX(audio_codec_ctx, codec, st)
++#if (LIBAVFORMAT_VERSION_MAJOR >= 58)
++ st->codecpar->codec_id = codec->id;
++#endif
++ AVCodecContext* c = audio_codec_ctx;
+
+ c->codec_id = codec->id;
+ c->codec_type = AVMEDIA_TYPE_AUDIO;
+@@ -1129,20 +1134,36 @@ AVStream *FFmpegWriter::add_audio_stream() {
+
+ // Add a video output stream
+ AVStream *FFmpegWriter::add_video_stream() {
+- AVCodecContext *c;
+- AVStream *st;
+-
+ // Find the video codec
+ const AVCodec *codec = avcodec_find_encoder_by_name(info.vcodec.c_str());
+ if (codec == NULL)
+ throw InvalidCodec("A valid video codec could not be found for this file.", path);
+
++ // Free any previous memory allocations
++ if (video_codec_ctx != nullptr) {
++ AV_FREE_CONTEXT(video_codec_ctx);
++ }
++
+ // Create a new video stream
+- AV_FORMAT_NEW_STREAM(oc, video_codec_ctx, codec, st)
++ AVStream* st = avformat_new_stream(oc, codec);
++ if (!st)
++ throw OutOfMemory("Could not allocate memory for the video stream.", path);
++
++ // Allocate a new codec context for the stream
++ ALLOC_CODEC_CTX(video_codec_ctx, codec, st)
++#if (LIBAVFORMAT_VERSION_MAJOR >= 58)
++ st->codecpar->codec_id = codec->id;
++#endif
++
++ AVCodecContext* c = video_codec_ctx;
+
+ c->codec_id = codec->id;
+ c->codec_type = AVMEDIA_TYPE_VIDEO;
+
++ // Set sample aspect ratio
++ c->sample_aspect_ratio.num = info.pixel_ratio.num;
++ c->sample_aspect_ratio.den = info.pixel_ratio.den;
++
+ /* Init video encoder options */
+ if (info.video_bit_rate >= 1000
+ #if (LIBAVCODEC_VERSION_MAJOR >= 58)
+@@ -1283,13 +1304,13 @@ AVStream *FFmpegWriter::add_video_stream() {
+
+ // Codec doesn't have any pix formats?
+ if (c->pix_fmt == PIX_FMT_NONE) {
+- if (fmt->video_codec == AV_CODEC_ID_RAWVIDEO) {
++ if (oc->oformat->video_codec == AV_CODEC_ID_RAWVIDEO) {
+ // Raw video should use RGB24
+ c->pix_fmt = PIX_FMT_RGB24;
+
+ #if (LIBAVFORMAT_VERSION_MAJOR < 58)
+ // FFmpeg < 4.0
+- if (strcmp(fmt->name, "gif") != 0)
++ if (strcmp(oc->oformat->name, "gif") != 0)
+ // If not GIF format, skip the encoding process
+ // Set raw picture flag (so we don't encode this video)
+ oc->oformat->flags |= AVFMT_RAWPICTURE;
+@@ -1305,7 +1326,7 @@ AVStream *FFmpegWriter::add_video_stream() {
+ // FFmpeg < 4.0
+ ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::add_video_stream (" + (std::string)fmt->name + " : " + (std::string)av_get_pix_fmt_name(c->pix_fmt) + ")", "c->codec_id", c->codec_id, "c->bit_rate", c->bit_rate, "c->pix_fmt", c->pix_fmt, "oc->oformat->flags", oc->oformat->flags, "AVFMT_RAWPICTURE", AVFMT_RAWPICTURE);
+ #else
+- ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::add_video_stream (" + (std::string)fmt->name + " : " + (std::string)av_get_pix_fmt_name(c->pix_fmt) + ")", "c->codec_id", c->codec_id, "c->bit_rate", c->bit_rate, "c->pix_fmt", c->pix_fmt, "oc->oformat->flags", oc->oformat->flags);
++ ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::add_video_stream (" + (std::string)oc->oformat->name + " : " + (std::string)av_get_pix_fmt_name(c->pix_fmt) + ")", "c->codec_id", c->codec_id, "c->bit_rate", c->bit_rate, "c->pix_fmt", c->pix_fmt, "oc->oformat->flags", oc->oformat->flags);
+ #endif
+
+ return st;
+diff --git a/src/FFmpegWriter.h b/src/FFmpegWriter.h
+index 79564b5..96d2902 100644
+--- a/src/FFmpegWriter.h
++++ b/src/FFmpegWriter.h
+@@ -158,8 +158,7 @@ namespace openshot {
+ bool write_header;
+ bool write_trailer;
+
+- AVOutputFormat *fmt;
+- AVFormatContext *oc;
++ AVFormatContext* oc;
+ AVStream *audio_st, *video_st;
+ AVCodecContext *video_codec_ctx;
+ AVCodecContext *audio_codec_ctx;
diff --git a/libraries/libopenshot/patches/0004-FFmpegWriter-Don-t-force-deprecated-stream-member.patch b/libraries/libopenshot/patches/0004-FFmpegWriter-Don-t-force-deprecated-stream-member.patch
new file mode 100644
index 0000000000..0e1d7a2836
--- /dev/null
+++ b/libraries/libopenshot/patches/0004-FFmpegWriter-Don-t-force-deprecated-stream-member.patch
@@ -0,0 +1,26 @@
+From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
+Date: Thu, 24 Feb 2022 07:55:03 -0500
+Subject: [PATCH 2/3] FFmpegWriter: Don't force deprecated stream member
+
+---
+ src/FFmpegWriter.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp
+index c43dcff..7a45ab4 100644
+--- a/src/FFmpegWriter.cpp
++++ b/src/FFmpegWriter.cpp
+@@ -1266,13 +1266,6 @@ AVStream *FFmpegWriter::add_video_stream() {
+ st->avg_frame_rate = av_inv_q(c->time_base);
+ st->time_base.num = info.video_timebase.num;
+ st->time_base.den = info.video_timebase.den;
+-#if (LIBAVFORMAT_VERSION_MAJOR >= 58)
+- #pragma GCC diagnostic push
+- #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+- st->codec->time_base.num = info.video_timebase.num;
+- st->codec->time_base.den = info.video_timebase.den;
+- #pragma GCC diagnostic pop
+-#endif
+
+ c->gop_size = 12; /* TODO: add this to "info"... emit one intra frame every twelve frames at most */
+ c->max_b_frames = 10;
diff --git a/libraries/libopenshot/patches/0005-FFmpegWriter-Don-t-use-AVPicture-gone-in-5.0.patch b/libraries/libopenshot/patches/0005-FFmpegWriter-Don-t-use-AVPicture-gone-in-5.0.patch
new file mode 100644
index 0000000000..1f929749b7
--- /dev/null
+++ b/libraries/libopenshot/patches/0005-FFmpegWriter-Don-t-use-AVPicture-gone-in-5.0.patch
@@ -0,0 +1,57 @@
+From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
+Date: Thu, 24 Feb 2022 10:34:41 -0500
+Subject: [PATCH] FFmpegWriter: Don't use AVPicture (gone in 5.0)
+
+---
+ src/FFmpegWriter.cpp | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp
+index 7a45ab4..fdd0652 100644
+--- a/src/FFmpegWriter.cpp
++++ b/src/FFmpegWriter.cpp
+@@ -772,7 +772,7 @@ void FFmpegWriter::write_queued_frames() {
+ // Get AVFrame
+ AVFrame *av_frame = av_frames[frame];
+
+- // Deallocate AVPicture and AVFrame
++ // Deallocate buffer and AVFrame
+ av_freep(&(av_frame->data[0]));
+ AV_FREE_FRAME(&av_frame);
+ av_frames.erase(frame);
+@@ -2035,26 +2035,26 @@ bool FFmpegWriter::write_video_packet(std::shared_ptr<Frame> frame, AVFrame *fra
+ if (oc->oformat->flags & AVFMT_RAWPICTURE) {
+ #endif
+ // Raw video case.
+- AVPacket pkt;
+- av_init_packet(&pkt);
++ AVPacket* pkt;
++ av_packet_from_data(
++ pkt, frame_final->data[0],
++ frame_final->linesize[0] * frame_final->height);
+
+- pkt.flags |= AV_PKT_FLAG_KEY;
+- pkt.stream_index = video_st->index;
+- pkt.data = (uint8_t *) frame_final->data;
+- pkt.size = sizeof(AVPicture);
++ pkt->flags |= AV_PKT_FLAG_KEY;
++ pkt->stream_index = video_st->index;
+
+ // Set PTS (in frames and scaled to the codec's timebase)
+- pkt.pts = video_timestamp;
++ pkt->pts = video_timestamp;
+
+ /* write the compressed frame in the media file */
+- int error_code = av_interleaved_write_frame(oc, &pkt);
++ int error_code = av_interleaved_write_frame(oc, pkt);
+ if (error_code < 0) {
+ ZmqLogger::Instance()->AppendDebugMethod("FFmpegWriter::write_video_packet ERROR [" + av_err2string(error_code) + "]", "error_code", error_code);
+ return false;
+ }
+
+ // Deallocate packet
+- AV_FREE_PACKET(&pkt);
++ AV_FREE_PACKET(pkt);
+
+ } else
+ {
diff --git a/libraries/libosinfo/libosinfo.SlackBuild b/libraries/libosinfo/libosinfo.SlackBuild
index 56129302cd..9e426cda33 100644
--- a/libraries/libosinfo/libosinfo.SlackBuild
+++ b/libraries/libosinfo/libosinfo.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for libosinfo
-# Copyright 2014-2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2014-2022 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=libosinfo
-VERSION=${VERSION:-1.9.0}
+VERSION=${VERSION:-1.10.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/libraries/libosinfo/libosinfo.info b/libraries/libosinfo/libosinfo.info
index 6bc1c28886..95389ddec1 100644
--- a/libraries/libosinfo/libosinfo.info
+++ b/libraries/libosinfo/libosinfo.info
@@ -1,8 +1,8 @@
PRGNAM="libosinfo"
-VERSION="1.9.0"
+VERSION="1.10.0"
HOMEPAGE="http://libosinfo.org"
-DOWNLOAD="https://releases.pagure.org/libosinfo/libosinfo-1.9.0.tar.xz"
-MD5SUM="348db4be10ddcd4bc400340e15e178e6"
+DOWNLOAD="https://releases.pagure.org/libosinfo/libosinfo-1.10.0.tar.xz"
+MD5SUM="9c2059648bf6f5610ba838a1fb1a84ad"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="osinfo-db"
diff --git a/libraries/libquicktime/libquicktime-1.2.4-ffmpeg2.patch b/libraries/libquicktime/libquicktime-1.2.4-ffmpeg2.patch
deleted file mode 100644
index 7add44220a..0000000000
--- a/libraries/libquicktime/libquicktime-1.2.4-ffmpeg2.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-Extracted from upstream CVS.
-https://bugs.gentoo.org/show_bug.cgi?id=476498
-
-Index: libquicktime-1.2.4/plugins/ffmpeg/audio.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/audio.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/audio.c
-@@ -45,6 +45,11 @@
- #define ENCODE_AUDIO 1
- #endif
-
-+#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
-+/* from libavcodec/avcodec.h dated Dec 23 2012 */
-+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
-+#endif
-+
- /* The following code was ported from gmerlin_avdecoder (http://gmerlin.sourceforge.net) */
-
- /* MPEG Audio header parsing code */
-Index: libquicktime-1.2.4/plugins/ffmpeg/params.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/params.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/params.c
-@@ -101,6 +101,17 @@ typedef struct
- } \
- }
-
-+#define PARAM_DICT_INT(name, dict_name) \
-+ { \
-+ if(!strcasecmp(name, key)) \
-+ { \
-+ char buf[128]; \
-+ snprintf(buf, sizeof(buf), "%d", *(int*)value); \
-+ av_dict_set(options, dict_name, buf, 0); \
-+ found = 1; \
-+ } \
-+ }
-+
- #define PARAM_DICT_FLAG(name, dict_name) \
- { \
- if(!strcasecmp(name, key)) \
-@@ -202,8 +213,15 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_INT("ff_max_b_frames",max_b_frames);
- PARAM_FLOAT("ff_b_quant_factor",b_quant_factor);
- PARAM_INT("ff_b_frame_strategy",b_frame_strategy);
-+
-+#if LIBAVCODEC_VERSION_MAJOR >= 55
-+ PARAM_DICT_INT("ff_luma_elim_threshold","luma_elim_threshold");
-+ PARAM_DICT_INT("ff_chroma_elim_threshold","chroma_elim_threshold");
-+#else
- PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold);
- PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold);
-+#endif
-+
- PARAM_INT("ff_strict_std_compliance",strict_std_compliance);
- PARAM_QP2LAMBDA("ff_b_quant_offset",b_quant_offset);
- PARAM_INT("ff_rc_min_rate",rc_min_rate);
-@@ -241,8 +259,15 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_QP2LAMBDA("ff_lmax", lmax);
- PARAM_INT("ff_noise_reduction",noise_reduction);
- PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
-+
-+#if LIBAVCODEC_VERSION_MAJOR >= 55
-+ PARAM_DICT_INT("ff_inter_threshold","inter_threshold");
-+ PARAM_DICT_INT("ff_quantizer_noise_shaping","quantizer_noise_shaping");
-+#else
- PARAM_INT("ff_inter_threshold",inter_threshold);
- PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping);
-+#endif
-+
- PARAM_INT("ff_thread_count",thread_count);
- PARAM_INT("ff_me_threshold",me_threshold);
- PARAM_INT("ff_mb_threshold",mb_threshold);
-@@ -272,8 +297,16 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
- PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
- // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused
-+
-+#if LIBAVCODEC_VERSION_MAJOR >= 55
-+ PARAM_DICT_FLAG("ff_flag_cbp_rd","cbp_rd");
-+ PARAM_DICT_FLAG("ff_flag_qp_rd","qp_rd");
-+ PARAM_DICT_FLAG("ff_flag2_strict_gop","strict_gop");
-+#else
- PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD);
- PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD);
-+ PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
-+#endif
-
- #if LIBAVCODEC_VERSION_MAJOR >= 54
- PARAM_DICT_FLAG("ff_flag_h263p_aiv", "aiv");
-@@ -288,7 +321,6 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
- PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP);
- PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST);
-- PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
- PARAM_ENUM("ff_coder_type",coder_type,coder_type);
-
- }
diff --git a/libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch b/libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch
deleted file mode 100644
index eb196ea16a..0000000000
--- a/libraries/libquicktime/libquicktime-1.2.4-ffmpeg4.patch
+++ /dev/null
@@ -1,342 +0,0 @@
-Index: libquicktime-1.2.4/plugins/ffmpeg/audio.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/audio.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/audio.c
-@@ -545,7 +545,7 @@ static int decode_chunk_vbr(quicktime_t
-
- #if DECODE_AUDIO3 || DECODE_AUDIO4
- codec->pkt.data = codec->chunk_buffer;
-- codec->pkt.size = packet_size + FF_INPUT_BUFFER_PADDING_SIZE;
-+ codec->pkt.size = packet_size + AV_INPUT_BUFFER_PADDING_SIZE;
-
- #if DECODE_AUDIO4
- frame_bytes = avcodec_decode_audio4(codec->avctx, &f,
-@@ -583,7 +583,7 @@ static int decode_chunk_vbr(quicktime_t
- (codec->sample_buffer_end - codec->sample_buffer_start)],
- &bytes_decoded,
- codec->chunk_buffer,
-- packet_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ packet_size + AV_INPUT_BUFFER_PADDING_SIZE);
- if(frame_bytes < 0)
- {
- lqt_log(file, LQT_LOG_ERROR, LOG_DOMAIN, "avcodec_decode_audio2 error");
-@@ -645,13 +645,13 @@ static int decode_chunk(quicktime_t * fi
- return 0;
- }
-
-- if(codec->chunk_buffer_alloc < mph.frame_bytes + FF_INPUT_BUFFER_PADDING_SIZE)
-+ if(codec->chunk_buffer_alloc < mph.frame_bytes + AV_INPUT_BUFFER_PADDING_SIZE)
- {
-- codec->chunk_buffer_alloc = mph.frame_bytes + FF_INPUT_BUFFER_PADDING_SIZE;
-+ codec->chunk_buffer_alloc = mph.frame_bytes + AV_INPUT_BUFFER_PADDING_SIZE;
- codec->chunk_buffer = realloc(codec->chunk_buffer, codec->chunk_buffer_alloc);
- }
- memset(codec->chunk_buffer + codec->bytes_in_chunk_buffer, 0,
-- mph.frame_bytes - codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE);
-+ mph.frame_bytes - codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE);
- num_samples = mph.samples_per_frame;
- codec->bytes_in_chunk_buffer = mph.frame_bytes;
- }
-@@ -695,7 +695,7 @@ static int decode_chunk(quicktime_t * fi
- {
-
-
-- /* BIG NOTE: We pass extra FF_INPUT_BUFFER_PADDING_SIZE for the buffer size
-+ /* BIG NOTE: We pass extra AV_INPUT_BUFFER_PADDING_SIZE for the buffer size
- because we know, that lqt_read_audio_chunk allocates 16 extra bytes for us */
-
- /* Some really broken mp3 files have the header bytes split across 2 chunks */
-@@ -761,7 +761,7 @@ static int decode_chunk(quicktime_t * fi
-
- #if DECODE_AUDIO3 || DECODE_AUDIO4
- codec->pkt.data = &codec->chunk_buffer[bytes_used];
-- codec->pkt.size = codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE;
-+ codec->pkt.size = codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE;
-
- #if DECODE_AUDIO4
-
-@@ -798,7 +798,7 @@ static int decode_chunk(quicktime_t * fi
- (codec->sample_buffer_end - codec->sample_buffer_start)],
- &bytes_decoded,
- &codec->chunk_buffer[bytes_used],
-- codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE);
-+ codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE);
- #endif
- if(frame_bytes < 0)
- {
-@@ -838,7 +838,7 @@ static int decode_chunk(quicktime_t * fi
- }
- }
-
-- /* This happens because ffmpeg adds FF_INPUT_BUFFER_PADDING_SIZE to the bytes returned */
-+ /* This happens because ffmpeg adds AV_INPUT_BUFFER_PADDING_SIZE to the bytes returned */
-
- if(codec->bytes_in_chunk_buffer < 0)
- codec->bytes_in_chunk_buffer = 0;
-Index: libquicktime-1.2.4/plugins/ffmpeg/params.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/params.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/params.c
-@@ -124,16 +124,6 @@ typedef struct
- }
-
-
--enum_t me_method[] =
-- {
-- { "Zero", ME_ZERO },
-- { "Phods", ME_PHODS },
-- { "Log", ME_LOG },
-- { "X1", ME_X1 },
-- { "Epzs", ME_EPZS },
-- { "Full", ME_FULL }
-- };
--
- enum_t prediction_method[] =
- {
- { "Left", FF_PRED_LEFT },
-@@ -163,15 +153,6 @@ enum_t mb_decision[] =
- { "Rate distoration", FF_MB_DECISION_RD }
- };
-
--enum_t coder_type[] =
-- {
-- { "VLC", FF_CODER_TYPE_VLC },
-- { "Arithmetic", FF_CODER_TYPE_AC },
-- { "Raw", FF_CODER_TYPE_RAW },
-- { "RLE", FF_CODER_TYPE_RLE },
-- { "Deflate", FF_CODER_TYPE_DEFLATE },
-- };
--
- #define PARAM_ENUM(name, var, arr) \
- if(!strcasecmp(key, name)) \
- { \
-@@ -203,7 +184,7 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_INT_SCALE("ff_bit_rate_audio",bit_rate,1000);
- PARAM_INT_SCALE("ff_bit_rate_video",bit_rate,1000);
- PARAM_INT_SCALE("ff_bit_rate_tolerance",bit_rate_tolerance,1000);
-- PARAM_ENUM("ff_me_method",me_method,me_method);
-+ PARAM_DICT_INT("ff_me_method","motion-est");
- PARAM_INT("ff_gop_size",gop_size);
- PARAM_FLOAT("ff_qcompress",qcompress);
- PARAM_FLOAT("ff_qblur",qblur);
-@@ -227,10 +208,9 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_INT("ff_rc_min_rate",rc_min_rate);
- PARAM_INT("ff_rc_max_rate",rc_max_rate);
- PARAM_INT_SCALE("ff_rc_buffer_size",rc_buffer_size,1000);
-- PARAM_FLOAT("ff_rc_buffer_aggressivity",rc_buffer_aggressivity);
- PARAM_FLOAT("ff_i_quant_factor",i_quant_factor);
- PARAM_QP2LAMBDA("ff_i_quant_offset",i_quant_offset);
-- PARAM_FLOAT("ff_rc_initial_cplx",rc_initial_cplx);
-+ PARAM_DICT_INT("ff_rc_initial_cplx","rc_init_cplx");
- PARAM_FLOAT("ff_lumi_masking",lumi_masking);
- PARAM_FLOAT("ff_temporal_cplx_masking",temporal_cplx_masking);
- PARAM_FLOAT("ff_spatial_cplx_masking",spatial_cplx_masking);
-@@ -255,8 +235,8 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_INT("ff_me_range",me_range);
- PARAM_ENUM("ff_mb_decision",mb_decision,mb_decision);
- PARAM_INT("ff_scenechange_threshold",scenechange_threshold);
-- PARAM_QP2LAMBDA("ff_lmin", lmin);
-- PARAM_QP2LAMBDA("ff_lmax", lmax);
-+ PARAM_DICT_INT("ff_lmin", "lmin");
-+ PARAM_DICT_INT("ff_lmax", "lmax");
- PARAM_INT("ff_noise_reduction",noise_reduction);
- PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
-
-@@ -269,33 +249,29 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- #endif
-
- PARAM_INT("ff_thread_count",thread_count);
-- PARAM_INT("ff_me_threshold",me_threshold);
-- PARAM_INT("ff_mb_threshold",mb_threshold);
- PARAM_INT("ff_nsse_weight",nsse_weight);
-- PARAM_FLOAT("ff_border_masking",border_masking);
-+ PARAM_DICT_INT("ff_border_masking","border_mask");
- PARAM_QP2LAMBDA("ff_mb_lmin", mb_lmin);
- PARAM_QP2LAMBDA("ff_mb_lmax", mb_lmax);
- PARAM_INT("ff_me_penalty_compensation",me_penalty_compensation);
- PARAM_INT("ff_bidir_refine",bidir_refine);
- PARAM_INT("ff_brd_scale",brd_scale);
-- PARAM_INT("ff_scenechange_factor",scenechange_factor);
-- PARAM_FLAG("ff_flag_qscale",CODEC_FLAG_QSCALE);
-- PARAM_FLAG("ff_flag_4mv",CODEC_FLAG_4MV);
-- PARAM_FLAG("ff_flag_qpel",CODEC_FLAG_QPEL);
-- PARAM_FLAG("ff_flag_gmc",CODEC_FLAG_GMC);
-- PARAM_FLAG("ff_flag_mv0",CODEC_FLAG_MV0);
-+ PARAM_FLAG("ff_flag_qscale",AV_CODEC_FLAG_QSCALE);
-+ PARAM_FLAG("ff_flag_4mv",AV_CODEC_FLAG_4MV);
-+ PARAM_FLAG("ff_flag_qpel",AV_CODEC_FLAG_QPEL);
-+ PARAM_DICT_FLAG("ff_flag_gmc","gmc");
-+ PARAM_DICT_FLAG("ff_flag_mv0","mpv_flags");
- // PARAM_FLAG("ff_flag_part",CODEC_FLAG_PART); // Unused
-- PARAM_FLAG("ff_flag_gray",CODEC_FLAG_GRAY);
-- PARAM_FLAG("ff_flag_emu_edge",CODEC_FLAG_EMU_EDGE);
-- PARAM_FLAG("ff_flag_normalize_aqp",CODEC_FLAG_NORMALIZE_AQP);
-+ PARAM_FLAG("ff_flag_gray",AV_CODEC_FLAG_GRAY);
-+ PARAM_DICT_FLAG("ff_flag_normalize_aqp","naq");
- // PARAM_FLAG("ff_flag_alt_scan",CODEC_FLAG_ALT_SCAN); // Unused
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- PARAM_FLAG("ff_flag_trellis_quant",CODEC_FLAG_TRELLIS_QUANT);
- #else
- PARAM_INT("ff_trellis",trellis);
- #endif
-- PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
-- PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
-+ PARAM_FLAG("ff_flag_bitexact",AV_CODEC_FLAG_BITEXACT);
-+ PARAM_FLAG("ff_flag_ac_pred",AV_CODEC_FLAG_AC_PRED);
- // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused
-
- #if LIBAVCODEC_VERSION_MAJOR >= 55
-@@ -303,9 +279,9 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_DICT_FLAG("ff_flag_qp_rd","qp_rd");
- PARAM_DICT_FLAG("ff_flag2_strict_gop","strict_gop");
- #else
-- PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD);
-- PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD);
-- PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
-+ PARAM_FLAG("ff_flag_cbp_rd",AV_CODEC_FLAG_CBP_RD);
-+ PARAM_FLAG("ff_flag_qp_rd",AV_CODEC_FLAG_QP_RD);
-+ PARAM_FLAG2("ff_flag2_strict_gop",AV_CODEC_FLAG2_STRICT_GOP);
- #endif
-
- #if LIBAVCODEC_VERSION_MAJOR >= 54
-@@ -313,14 +289,14 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_DICT_FLAG("ff_flag_obmc","obmc");
- PARAM_DICT_FLAG("ff_flag_h263p_slice_struct","structured_slices");
- #else
-- PARAM_FLAG("ff_flag_h263p_aiv",CODEC_FLAG_H263P_AIV);
-- PARAM_FLAG("ff_flag_obmc",CODEC_FLAG_OBMC);
-- PARAM_FLAG("ff_flag_h263p_slice_struct",CODEC_FLAG_H263P_SLICE_STRUCT);
-+ PARAM_FLAG("ff_flag_h263p_aiv",AV_CODEC_FLAG_H263P_AIV);
-+ PARAM_FLAG("ff_flag_obmc",AV_CODEC_FLAG_OBMC);
-+ PARAM_FLAG("ff_flag_h263p_slice_struct",AV_CODEC_FLAG_H263P_SLICE_STRUCT);
- #endif
-
-- PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
-- PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP);
-- PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST);
-- PARAM_ENUM("ff_coder_type",coder_type,coder_type);
-+ PARAM_FLAG("ff_flag_loop_filter",AV_CODEC_FLAG_LOOP_FILTER);
-+ PARAM_FLAG("ff_flag_closed_gop",AV_CODEC_FLAG_CLOSED_GOP);
-+ PARAM_FLAG2("ff_flag2_fast",AV_CODEC_FLAG2_FAST);
-+ PARAM_DICT_INT("ff_coder_type","coder");
-
- }
-Index: libquicktime-1.2.4/plugins/ffmpeg/params.h
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/params.h
-+++ libquicktime-1.2.4/plugins/ffmpeg/params.h
-@@ -149,7 +149,7 @@ the reference. Unused for constant quant
- .type = LQT_PARAMETER_INT, \
- .val_default = { .val_int = 0 }, \
- .val_min = { .val_int = 0 }, \
-- .val_max = { .val_int = FF_MAX_B_FRAMES }, \
-+ .val_max = { .val_int = 16 }, \
- .help_string = TRS("Maximum number of B-frames between non B-frames") \
- }
-
-Index: libquicktime-1.2.4/plugins/ffmpeg/video.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/video.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/video.c
-@@ -781,7 +781,7 @@ static int lqt_ffmpeg_decode_video(quick
- if(extradata)
- {
- codec->extradata =
-- calloc(1, extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ calloc(1, extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy(codec->extradata, extradata, extradata_size);
- codec->avctx->extradata_size = extradata_size;
- codec->avctx->extradata = codec->extradata;
-@@ -1140,8 +1140,8 @@ static int init_imx_encoder(quicktime_t
- codec->avctx->qmin = 1;
- codec->avctx->qmax = 3;
- codec->avctx->rtp_payload_size = 1; // ??
-- codec->avctx->rc_buffer_aggressivity = 0.25;
-- codec->avctx->flags |= CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_LOW_DELAY;
-+ av_dict_set(&codec->options, "rc_buf_aggressivity", "0.25", 0);
-+ codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_LOW_DELAY;
-
- #if (LIBAVCODEC_VERSION_MAJOR < 54)
- codec->avctx->flags2 |= CODEC_FLAG2_INTRA_VLC|CODEC_FLAG2_NON_LINEAR_QUANT;
-@@ -1328,7 +1328,7 @@ static int lqt_ffmpeg_encode_video(quick
- // codec->avctx->time_base.den = 1;
- // codec->avctx->time_base.num = lqt_video_time_scale(file, track);
-
-- if(codec->avctx->flags & CODEC_FLAG_QSCALE)
-+ if(codec->avctx->flags & AV_CODEC_FLAG_QSCALE)
- codec->avctx->global_quality = codec->qscale;
-
- codec->avctx->width = width;
-@@ -1344,7 +1344,7 @@ static int lqt_ffmpeg_encode_video(quick
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-- codec->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ codec->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- codec->write_global_header = 1;
- }
-
-@@ -1360,7 +1360,7 @@ static int lqt_ffmpeg_encode_video(quick
- {
- lqt_log(file, LQT_LOG_INFO, LOG_DOMAIN, "Enabling interlaced encoding");
- codec->avctx->flags |=
-- (CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_INTERLACED_ME|CODEC_FLAG_ALT_SCAN);
-+ (AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_INTERLACED_ME|AV_CODEC_FLAG_ALT_SCAN);
- }
- #endif
- }
-@@ -1387,7 +1387,7 @@ static int lqt_ffmpeg_encode_video(quick
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-- codec->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ codec->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- codec->write_global_header = 1;
- }
- }
-@@ -1410,7 +1410,7 @@ static int lqt_ffmpeg_encode_video(quick
- {
- if(vtrack->interlace_mode != LQT_INTERLACE_NONE)
- {
-- codec->avctx->flags |= CODEC_FLAG_INTERLACED_DCT;
-+ codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT;
- }
- }
- else if(codec->is_imx)
-@@ -1422,7 +1422,7 @@ static int lqt_ffmpeg_encode_video(quick
- if(codec->pass == 1)
- {
- codec->stats_file = fopen(codec->stats_filename, "w");
-- codec->avctx->flags |= CODEC_FLAG_PASS1;
-+ codec->avctx->flags |= AV_CODEC_FLAG_PASS1;
- }
- else if(codec->pass == codec->total_passes)
- {
-@@ -1438,7 +1438,7 @@ static int lqt_ffmpeg_encode_video(quick
- fclose(codec->stats_file);
- codec->stats_file = (FILE*)0;
-
-- codec->avctx->flags |= CODEC_FLAG_PASS2;
-+ codec->avctx->flags |= AV_CODEC_FLAG_PASS2;
- }
- }
- /* Open codec */
-@@ -1516,7 +1516,7 @@ static int lqt_ffmpeg_encode_video(quick
- }
-
- codec->frame->pts = vtrack->timestamp;
-- if(codec->avctx->flags & CODEC_FLAG_QSCALE)
-+ if(codec->avctx->flags & AV_CODEC_FLAG_QSCALE)
- codec->frame->quality = codec->qscale;
- #ifdef DO_INTERLACE
- if(vtrack->interlace_mode != LQT_INTERLACE_NONE)
-@@ -1599,8 +1599,7 @@ static int lqt_ffmpeg_encode_video(quick
- else if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- int advanced = 0;
-- if(codec->avctx->max_b_frames ||
-- (codec->avctx->flags & (CODEC_FLAG_QPEL|CODEC_FLAG_GMC)))
-+ if(codec->avctx->max_b_frames)
- advanced = 1;
-
- setup_header_mpeg4(file, track, codec->avctx->extradata,
diff --git a/libraries/libquicktime/libquicktime-ffmpeg3.patch b/libraries/libquicktime/libquicktime-ffmpeg3.patch
deleted file mode 100644
index f5784e8229..0000000000
--- a/libraries/libquicktime/libquicktime-ffmpeg3.patch
+++ /dev/null
@@ -1,935 +0,0 @@
-Index: libquicktime-1.2.4/plugins/ffmpeg/video.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/video.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/video.c
-@@ -37,10 +37,10 @@
- #endif
-
-
--#ifdef PIX_FMT_YUV422P10
--#define PIX_FMT_YUV422P10_OR_DUMMY PIX_FMT_YUV422P10
-+#ifdef AV_PIX_FMT_YUV422P10
-+#define AV_PIX_FMT_YUV422P10_OR_DUMMY AV_PIX_FMT_YUV422P10
- #else
--#define PIX_FMT_YUV422P10_OR_DUMMY -1234
-+#define AV_PIX_FMT_YUV422P10_OR_DUMMY -1234
- #endif
-
- #if LIBAVCODEC_VERSION_INT >= ((54<<16)|(1<<8)|0)
-@@ -90,9 +90,9 @@ typedef struct
- int imx_bitrate;
- int imx_strip_vbi;
-
-- /* In some cases FFMpeg would report something like PIX_FMT_YUV422P, while
-- we would like to treat it as PIX_FMT_YUVJ422P. It's only used for decoding */
-- enum PixelFormat reinterpret_pix_fmt;
-+ /* In some cases FFMpeg would report something like AV_PIX_FMT_YUV422P, while
-+ we would like to treat it as AV_PIX_FMT_YUVJ422P. It's only used for decoding */
-+ enum AVPixelFormat reinterpret_pix_fmt;
-
- int is_imx;
- int y_offset;
-@@ -137,42 +137,42 @@ typedef struct
-
- static const struct
- {
-- enum PixelFormat ffmpeg_id;
-+ enum AVPixelFormat ffmpeg_id;
- int lqt_id;
- int exact;
- }
- colormodels[] =
- {
-- { PIX_FMT_YUV420P, BC_YUV420P, 1 }, ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)
-+ { AV_PIX_FMT_YUV420P, BC_YUV420P, 1 }, ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- { PIX_FMT_YUV422, BC_YUV422, 1 },
-+ { AV_PIX_FMT_YUV422, BC_YUV422, 1 },
- #else
-- { PIX_FMT_YUYV422, BC_YUV422, 1 },
-+ { AV_PIX_FMT_YUYV422, BC_YUV422, 1 },
- #endif
-- { PIX_FMT_RGB24, BC_RGB888, 1 }, ///< Packed pixel, 3 bytes per pixel, RGBRGB...
-- { PIX_FMT_BGR24, BC_BGR888, 1 }, ///< Packed pixel, 3 bytes per pixel, BGRBGR...
-- { PIX_FMT_YUV422P, BC_YUV422P, 1 }, ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-- { PIX_FMT_YUV444P, BC_YUV444P, 1 }, ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)
-- { PIX_FMT_YUV411P, BC_YUV411P, 1 }, ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)
-- { PIX_FMT_YUV422P16, BC_YUV422P16, 1 }, ///< Planar 16 bit YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
--#ifdef PIX_FMT_YUV422P10
-- { PIX_FMT_YUV422P10, BC_YUV422P10, 1 }, ///< 10 bit samples in uint16_t containers, planar 4:2:2
--#endif
-- { PIX_FMT_RGB565, BC_RGB565, 1 }, ///< always stored in cpu endianness
-- { PIX_FMT_YUVJ420P, BC_YUVJ420P, 1 }, ///< Planar YUV 4:2:0 full scale (jpeg)
-- { PIX_FMT_YUVJ422P, BC_YUVJ422P, 1 }, ///< Planar YUV 4:2:2 full scale (jpeg)
-- { PIX_FMT_YUVJ444P, BC_YUVJ444P, 1 }, ///< Planar YUV 4:4:4 full scale (jpeg)
-+ { AV_PIX_FMT_RGB24, BC_RGB888, 1 }, ///< Packed pixel, 3 bytes per pixel, RGBRGB...
-+ { AV_PIX_FMT_BGR24, BC_BGR888, 1 }, ///< Packed pixel, 3 bytes per pixel, BGRBGR...
-+ { AV_PIX_FMT_YUV422P, BC_YUV422P, 1 }, ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-+ { AV_PIX_FMT_YUV444P, BC_YUV444P, 1 }, ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)
-+ { AV_PIX_FMT_YUV411P, BC_YUV411P, 1 }, ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)
-+ { AV_PIX_FMT_YUV422P16, BC_YUV422P16, 1 }, ///< Planar 16 bit YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-+#ifdef AV_PIX_FMT_YUV422P10
-+ { AV_PIX_FMT_YUV422P10, BC_YUV422P10, 1 }, ///< 10 bit samples in uint16_t containers, planar 4:2:2
-+#endif
-+ { AV_PIX_FMT_RGB565, BC_RGB565, 1 }, ///< always stored in cpu endianness
-+ { AV_PIX_FMT_YUVJ420P, BC_YUVJ420P, 1 }, ///< Planar YUV 4:2:0 full scale (jpeg)
-+ { AV_PIX_FMT_YUVJ422P, BC_YUVJ422P, 1 }, ///< Planar YUV 4:2:2 full scale (jpeg)
-+ { AV_PIX_FMT_YUVJ444P, BC_YUVJ444P, 1 }, ///< Planar YUV 4:4:4 full scale (jpeg)
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- { PIX_FMT_RGBA32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
-+ { AV_PIX_FMT_RGBA32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
- #else
-- { PIX_FMT_RGB32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
-+ { AV_PIX_FMT_RGB32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
- #endif
-- { PIX_FMT_RGB555, BC_RGB888, 0 }, ///< always stored in cpu endianness, most significant bit to 1
-- { PIX_FMT_GRAY8, BC_RGB888, 0 },
-- { PIX_FMT_MONOWHITE, BC_RGB888, 0 }, ///< 0 is white
-- { PIX_FMT_MONOBLACK, BC_RGB888, 0 }, ///< 0 is black
-- { PIX_FMT_PAL8, BC_RGB888, 0 }, ///< 8 bit with RGBA palette
-- { PIX_FMT_YUV410P, BC_YUV420P, 0 }, ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)
-+ { AV_PIX_FMT_RGB555, BC_RGB888, 0 }, ///< always stored in cpu endianness, most significant bit to 1
-+ { AV_PIX_FMT_GRAY8, BC_RGB888, 0 },
-+ { AV_PIX_FMT_MONOWHITE, BC_RGB888, 0 }, ///< 0 is white
-+ { AV_PIX_FMT_MONOBLACK, BC_RGB888, 0 }, ///< 0 is black
-+ { AV_PIX_FMT_PAL8, BC_RGB888, 0 }, ///< 8 bit with RGBA palette
-+ { AV_PIX_FMT_YUV410P, BC_YUV420P, 0 }, ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)
- };
-
- static const struct
-@@ -343,16 +343,16 @@ static int lqt_tenbit_dnxhd_supported(AV
- if (!codec->pix_fmts)
- return 0;
-
-- for (i = 0; codec->pix_fmts[i] != PIX_FMT_NONE; ++i)
-+ for (i = 0; codec->pix_fmts[i] != AV_PIX_FMT_NONE; ++i)
- {
-- if (codec->pix_fmts[i] == PIX_FMT_YUV422P10_OR_DUMMY)
-+ if (codec->pix_fmts[i] == AV_PIX_FMT_YUV422P10_OR_DUMMY)
- return 1;
- }
-
- return 0;
- }
-
--static enum PixelFormat lqt_ffmpeg_get_ffmpeg_colormodel(int id)
-+static enum AVPixelFormat lqt_ffmpeg_get_ffmpeg_colormodel(int id)
- {
- int i;
-
-@@ -361,10 +361,10 @@ static enum PixelFormat lqt_ffmpeg_get_f
- if(colormodels[i].lqt_id == id)
- return colormodels[i].ffmpeg_id;
- }
-- return PIX_FMT_NB;
-+ return AV_PIX_FMT_NB;
- }
-
--static int lqt_ffmpeg_get_lqt_colormodel(enum PixelFormat id, int * exact)
-+static int lqt_ffmpeg_get_lqt_colormodel(enum AVPixelFormat id, int * exact)
- {
- int i;
-
-@@ -402,24 +402,24 @@ static void lqt_ffmpeg_setup_decoding_co
- /* First we try codec-specific colormodel matching. */
- if(codec->decoder->id == AV_CODEC_ID_DNXHD)
- {
-- /* FFMpeg supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10 for DNxHD, which
-- we sometimes interpret as PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10. */
-- if (codec->avctx->pix_fmt == PIX_FMT_YUV422P || codec->avctx->pix_fmt == PIX_FMT_YUV422P10_OR_DUMMY)
-+ /* FFMpeg supports AV_PIX_FMT_YUV422P and AV_PIX_FMT_YUV422P10 for DNxHD, which
-+ we sometimes interpret as AV_PIX_FMT_YUVJ422P and AV_PIX_FMT_YUVJ422P10. */
-+ if (codec->avctx->pix_fmt == AV_PIX_FMT_YUV422P || codec->avctx->pix_fmt == AV_PIX_FMT_YUV422P10_OR_DUMMY)
- {
-- int p10 = (codec->avctx->pix_fmt == PIX_FMT_YUV422P10_OR_DUMMY);
-+ int p10 = (codec->avctx->pix_fmt == AV_PIX_FMT_YUV422P10_OR_DUMMY);
- *exact = 1;
- if (lqt_ffmpeg_get_avid_yuv_range(vtrack->track) == AVID_FULL_YUV_RANGE)
- {
- vtrack->stream_cmodel = p10 ? BC_YUVJ422P10 : BC_YUVJ422P;
-- codec->reinterpret_pix_fmt = p10 ? PIX_FMT_YUV422P10_OR_DUMMY : PIX_FMT_YUVJ422P;
-- // Note: reinterpret_pix_fmt should really be PIX_FMT_YUVJ422P10, except
-+ codec->reinterpret_pix_fmt = p10 ? AV_PIX_FMT_YUV422P10_OR_DUMMY : AV_PIX_FMT_YUVJ422P;
-+ // Note: reinterpret_pix_fmt should really be AV_PIX_FMT_YUVJ422P10, except
- // there is no such colormodel in FFMpeg. Fortunately, it's not a problem
- // in this case, as reinterpret_pix_fmt is only used when *exact == 0.
- }
- else
- {
- vtrack->stream_cmodel = p10 ? BC_YUV422P10 : BC_YUV422P;
-- codec->reinterpret_pix_fmt = p10 ? PIX_FMT_YUV422P10_OR_DUMMY : PIX_FMT_YUV422P;
-+ codec->reinterpret_pix_fmt = p10 ? AV_PIX_FMT_YUV422P10_OR_DUMMY : AV_PIX_FMT_YUV422P;
- }
- return;
- }
-@@ -440,14 +440,14 @@ static void lqt_ffmpeg_setup_encoding_co
-
- if (codec->encoder->id == AV_CODEC_ID_DNXHD)
- {
-- /* FFMpeg's DNxHD encoder only supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10
-- and doesn't know anything about PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10
-+ /* FFMpeg's DNxHD encoder only supports AV_PIX_FMT_YUV422P and AV_PIX_FMT_YUV422P10
-+ and doesn't know anything about AV_PIX_FMT_YUVJ422P and AV_PIX_FMT_YUVJ422P10
- (in fact, the latter doesn't even exist) */
-- codec->avctx->pix_fmt = PIX_FMT_YUV422P;
-+ codec->avctx->pix_fmt = AV_PIX_FMT_YUV422P;
- if (vtrack->stream_cmodel == BC_YUV422P10 || vtrack->stream_cmodel == BC_YUVJ422P10)
- {
- if (lqt_tenbit_dnxhd_supported(codec->encoder))
-- codec->avctx->pix_fmt = PIX_FMT_YUV422P10_OR_DUMMY;
-+ codec->avctx->pix_fmt = AV_PIX_FMT_YUV422P10_OR_DUMMY;
- }
- }
- }
-@@ -458,7 +458,7 @@ static void lqt_ffmpeg_setup_encoding_co
- /* From avcodec.h: */
-
- /*
-- * PIX_FMT_RGBA32 is handled in an endian-specific manner. A RGBA
-+ * AV_PIX_FMT_RGBA32 is handled in an endian-specific manner. A RGBA
- * color is put together as:
- * (A << 24) | (R << 16) | (G << 8) | B
- * This is stored as BGRA on little endian CPU architectures and ARGB on
-@@ -530,7 +530,7 @@ static void convert_rgba_to_argb(uint8_t
- */
-
- static void convert_image_decode(quicktime_ffmpeg_video_codec_t *codec,
-- AVFrame * in_frame, enum PixelFormat in_format,
-+ AVFrame * in_frame, enum AVPixelFormat in_format,
- unsigned char ** out_frame, int out_format,
- int width, int height, int row_span, int row_span_uv)
- {
-@@ -547,9 +547,9 @@ static void convert_image_decode(quickti
- * RGBA format like in ffmpeg??
- */
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- if((in_format == PIX_FMT_RGBA32) && (out_format == BC_RGBA8888))
-+ if((in_format == AV_PIX_FMT_RGBA32) && (out_format == BC_RGBA8888))
- #else
-- if((in_format == PIX_FMT_RGB32) && (out_format == BC_RGBA8888))
-+ if((in_format == AV_PIX_FMT_RGB32) && (out_format == BC_RGBA8888))
- #endif
- {
- convert_image_decode_rgba(in_frame, out_frame, width, height, codec->y_offset);
-@@ -829,7 +829,7 @@ static int lqt_ffmpeg_decode_video(quick
- if(avcodec_open2(codec->avctx, codec->decoder, NULL) != 0)
- return -1;
- #endif
-- codec->frame = avcodec_alloc_frame();
-+ codec->frame = av_frame_alloc();
- vtrack->stream_cmodel = LQT_COLORMODEL_NONE;
- codec->initialized = 1;
- }
-@@ -929,10 +929,10 @@ static int lqt_ffmpeg_decode_video(quick
- #ifdef HAVE_LIBSWSCALE
-
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- if(!((codec->avctx->pix_fmt == PIX_FMT_RGBA32) &&
-+ if(!((codec->avctx->pix_fmt == AV_PIX_FMT_RGBA32) &&
- (vtrack->stream_cmodel == BC_RGBA8888)))
- #else
-- if(!((codec->avctx->pix_fmt == PIX_FMT_RGB32) &&
-+ if(!((codec->avctx->pix_fmt == AV_PIX_FMT_RGB32) &&
- (vtrack->stream_cmodel == BC_RGBA8888)))
- #endif
- {
-@@ -1318,7 +1318,7 @@ static int lqt_ffmpeg_encode_video(quick
-
- if(!codec->initialized)
- {
-- codec->frame = avcodec_alloc_frame();
-+ codec->frame = av_frame_alloc();
-
- /* time_base is 1/framerate for constant framerate */
-
-@@ -1396,9 +1396,9 @@ static int lqt_ffmpeg_encode_video(quick
- if(vtrack->stream_cmodel == BC_RGBA8888)
- {
- /* Libquicktime doesn't natively support a color model equivalent
-- to PIX_FMT_ARGB, which is required for QTRLE with alpha channel.
-+ to AV_PIX_FMT_ARGB, which is required for QTRLE with alpha channel.
- So, we use BC_RGBA8888 and do ad hoc conversion below. */
-- codec->avctx->pix_fmt = PIX_FMT_ARGB;
-+ codec->avctx->pix_fmt = AV_PIX_FMT_ARGB;
- vtrack->track->mdia.minf.stbl.stsd.table[0].depth = 32;
- }
- }
-@@ -1467,7 +1467,7 @@ static int lqt_ffmpeg_encode_video(quick
- }
- // codec->lqt_colormodel = ffmepg_2_lqt(codec->com.ffcodec_enc);
-
-- if(codec->y_offset != 0 || codec->avctx->pix_fmt == PIX_FMT_ARGB)
-+ if(codec->y_offset != 0 || codec->avctx->pix_fmt == AV_PIX_FMT_ARGB)
- {
- if(!codec->tmp_rows)
- {
-@@ -1492,7 +1492,7 @@ static int lqt_ffmpeg_encode_video(quick
- vtrack->stream_cmodel,
- 0, 0, 0, codec->y_offset);
- }
-- else if(codec->avctx->pix_fmt == PIX_FMT_ARGB)
-+ else if(codec->avctx->pix_fmt == AV_PIX_FMT_ARGB)
- {
- convert_rgba_to_argb(row_pointers[0], vtrack->stream_row_span,
- codec->tmp_rows[0], codec->tmp_row_span,
-Index: libquicktime-1.2.4/plugins/ffmpeg/audio.c
-===================================================================
---- libquicktime-1.2.4.orig/plugins/ffmpeg/audio.c
-+++ libquicktime-1.2.4/plugins/ffmpeg/audio.c
-@@ -1266,7 +1266,7 @@ static int lqt_ffmpeg_encode_audio(quick
- pkt.data = codec->chunk_buffer;
- pkt.size = codec->chunk_buffer_alloc;
-
-- avcodec_get_frame_defaults(&f);
-+ av_frame_unref(&f);
- f.nb_samples = codec->avctx->frame_size;
-
- avcodec_fill_audio_frame(&f, channels, codec->avctx->sample_fmt,
---- libquicktime-1.2.4/plugins/ffmpeg/lqt_ffmpeg.c.orig 2016-02-17 08:11:50.683023612 +0000
-+++ libquicktime-1.2.4/plugins/ffmpeg/lqt_ffmpeg.c 2016-02-17 08:12:20.362898974 +0000
-@@ -370,7 +370,7 @@
- struct CODECIDMAP codecidmap_v[] =
- {
- {
-- .id = CODEC_ID_MPEG1VIDEO,
-+ .id = AV_CODEC_ID_MPEG1VIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -381,7 +381,7 @@
- .wav_ids = { LQT_WAV_ID_NONE }
- },
- {
-- .id = CODEC_ID_MPEG4,
-+ .id = AV_CODEC_ID_MPEG4,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -399,7 +399,7 @@
- .compression_id = LQT_COMPRESSION_MPEG4_ASP,
- },
- {
-- .id = CODEC_ID_MSMPEG4V1,
-+ .id = AV_CODEC_ID_MSMPEG4V1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -410,7 +410,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MSMPEG4V2,
-+ .id = AV_CODEC_ID_MSMPEG4V2,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -421,7 +421,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MSMPEG4V3,
-+ .id = AV_CODEC_ID_MSMPEG4V3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -437,7 +437,7 @@
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_MSMPEG4V3,
-+ .id = AV_CODEC_ID_MSMPEG4V3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -452,7 +452,7 @@
- },
- #if 0
- {
-- .id = CODEC_ID_WMV1,
-+ .id = AV_CODEC_ID_WMV1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -465,7 +465,7 @@
- },
- #endif
- {
-- .id = CODEC_ID_H263,
-+ .id = AV_CODEC_ID_H263,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -477,7 +477,7 @@
- .compatibility_flags = LQT_FILE_QT_OLD | LQT_FILE_QT | LQT_FILE_MP4 | LQT_FILE_3GP,
- },
- {
-- .id = CODEC_ID_H263,
-+ .id = AV_CODEC_ID_H263,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -492,7 +492,7 @@
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_H264,
-+ .id = AV_CODEC_ID_H264,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -503,7 +503,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_H263P,
-+ .id = AV_CODEC_ID_H263P,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -517,7 +517,7 @@
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_H263I,
-+ .id = AV_CODEC_ID_H263I,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -528,7 +528,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_SVQ1,
-+ .id = AV_CODEC_ID_SVQ1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -539,7 +539,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_SVQ3,
-+ .id = AV_CODEC_ID_SVQ3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -550,7 +550,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MJPEG,
-+ .id = AV_CODEC_ID_MJPEG,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -564,7 +564,7 @@
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_MJPEGB,
-+ .id = AV_CODEC_ID_MJPEGB,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -578,7 +578,7 @@
- },
- #if LIBAVCODEC_BUILD >= 3346688
- {
-- .id = CODEC_ID_TARGA,
-+ .id = AV_CODEC_ID_TARGA,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -590,7 +590,7 @@
- #endif
- #if LIBAVCODEC_BUILD >= 3347456
- {
-- .id = CODEC_ID_TIFF,
-+ .id = AV_CODEC_ID_TIFF,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -601,7 +601,7 @@
- },
- #endif
- {
-- .id = CODEC_ID_8BPS,
-+ .id = AV_CODEC_ID_8BPS,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -611,7 +611,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_INDEO3,
-+ .id = AV_CODEC_ID_INDEO3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -622,7 +622,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_RPZA,
-+ .id = AV_CODEC_ID_RPZA,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -632,7 +632,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_SMC,
-+ .id = AV_CODEC_ID_SMC,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -642,7 +642,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_CINEPAK,
-+ .id = AV_CODEC_ID_CINEPAK,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -653,7 +653,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_CYUV,
-+ .id = AV_CODEC_ID_CYUV,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -664,7 +664,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_QTRLE,
-+ .id = AV_CODEC_ID_QTRLE,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -677,7 +677,7 @@
- .encoding_colormodels = (int[]){ BC_RGB888, BC_RGBA8888, LQT_COLORMODEL_NONE },
- },
- {
-- .id = CODEC_ID_MSRLE,
-+ .id = AV_CODEC_ID_MSRLE,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -687,7 +687,7 @@
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -703,7 +703,7 @@
- .image_sizes = image_sizes_dv,
- },
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -719,7 +719,7 @@
- .image_sizes = image_sizes_dv,
- },
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -735,7 +735,7 @@
- },
- /* DVCPRO HD (decoding only for now) */
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -756,7 +756,7 @@
- // .do_encode = 1
- },
- {
-- .id = CODEC_ID_FFVHUFF,
-+ .id = AV_CODEC_ID_FFVHUFF,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -769,7 +769,7 @@
- .do_encode = 1
- },
- {
-- .id = CODEC_ID_FFV1,
-+ .id = AV_CODEC_ID_FFV1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -785,7 +785,7 @@
- },
- #if LIBAVCODEC_BUILD >= 3352576
- {
-- .id = CODEC_ID_DNXHD,
-+ .id = AV_CODEC_ID_DNXHD,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -801,7 +801,7 @@
- },
- #endif
- {
-- .id = CODEC_ID_MPEG2VIDEO,
-+ .id = AV_CODEC_ID_MPEG2VIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -823,7 +823,7 @@
- struct CODECIDMAP codecidmap_a[] =
- {
- {
-- .id = CODEC_ID_MP3,
-+ .id = AV_CODEC_ID_MP3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -835,7 +835,7 @@
- .wav_ids = { 0x50, 0x55, LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MP2,
-+ .id = AV_CODEC_ID_MP2,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -850,7 +850,7 @@
- .compression_id = LQT_COMPRESSION_MP2,
- },
- {
-- .id = CODEC_ID_AC3,
-+ .id = AV_CODEC_ID_AC3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -865,7 +865,7 @@
- .compression_id = LQT_COMPRESSION_AC3,
- },
- {
-- .id = CODEC_ID_QDM2,
-+ .id = AV_CODEC_ID_QDM2,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -880,7 +880,7 @@
- #if 1
- /* Doesn't work as long as audio chunks are not split into VBR "Samples" */
- {
-- .id = CODEC_ID_ALAC,
-+ .id = AV_CODEC_ID_ALAC,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -893,7 +893,7 @@
- #if 1
- /* Sounds ugly */
- {
-- .id = CODEC_ID_ADPCM_MS,
-+ .id = AV_CODEC_ID_ADPCM_MS,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -906,7 +906,7 @@
- #if 1
- /* Sounds ugly */
- {
-- .id = CODEC_ID_ADPCM_IMA_WAV,
-+ .id = AV_CODEC_ID_ADPCM_IMA_WAV,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
---- libquicktime-1.2.4/plugins/ffmpeg/video.c.orig 2016-02-17 08:14:18.585735622 +0000
-+++ libquicktime-1.2.4/plugins/ffmpeg/video.c 2016-02-17 08:14:35.332331900 +0000
-@@ -400,7 +400,7 @@
- codec->reinterpret_pix_fmt = codec->avctx->pix_fmt;
-
- /* First we try codec-specific colormodel matching. */
-- if(codec->decoder->id == CODEC_ID_DNXHD)
-+ if(codec->decoder->id == AV_CODEC_ID_DNXHD)
- {
- /* FFMpeg supports AV_PIX_FMT_YUV422P and AV_PIX_FMT_YUV422P10 for DNxHD, which
- we sometimes interpret as AV_PIX_FMT_YUVJ422P and AV_PIX_FMT_YUVJ422P10. */
-@@ -438,7 +438,7 @@
- quicktime_ffmpeg_video_codec_t *codec = vtrack->codec->priv;
- codec->avctx->pix_fmt = lqt_ffmpeg_get_ffmpeg_colormodel(vtrack->stream_cmodel);
-
-- if (codec->encoder->id == CODEC_ID_DNXHD)
-+ if (codec->encoder->id == AV_CODEC_ID_DNXHD)
- {
- /* FFMpeg's DNxHD encoder only supports AV_PIX_FMT_YUV422P and AV_PIX_FMT_YUV422P10
- and doesn't know anything about AV_PIX_FMT_YUVJ422P and AV_PIX_FMT_YUVJ422P10
-@@ -728,13 +728,13 @@
-
- /* Set extradata: It's done differently for each codec */
-
-- if(codec->decoder->id == CODEC_ID_SVQ3)
-+ if(codec->decoder->id == AV_CODEC_ID_SVQ3)
- {
- extradata = trak->mdia.minf.stbl.stsd.table[0].table_raw + 4;
- extradata_size = trak->mdia.minf.stbl.stsd.table[0].table_raw_size - 4;
-
- }
-- else if(codec->decoder->id == CODEC_ID_H264)
-+ else if(codec->decoder->id == AV_CODEC_ID_H264)
- {
- user_atom = quicktime_stsd_get_user_atom(trak, "avcC", &user_atom_len);
-
-@@ -753,7 +753,7 @@
- }
-
- }
-- else if(codec->decoder->id == CODEC_ID_MPEG4)
-+ else if(codec->decoder->id == AV_CODEC_ID_MPEG4)
- {
- if(trak->mdia.minf.stbl.stsd.table[0].has_esds)
- {
-@@ -947,15 +947,15 @@
- }
- #endif
- }
-- if(codec->decoder->id == CODEC_ID_DVVIDEO)
-+ if(codec->decoder->id == AV_CODEC_ID_DVVIDEO)
- {
- if(vtrack->stream_cmodel == BC_YUV420P)
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_DVPAL;
- vtrack->interlace_mode = LQT_INTERLACE_BOTTOM_FIRST;
- vtrack->ci.id = LQT_COMPRESSION_DV;
- }
-- else if((codec->decoder->id == CODEC_ID_MPEG4) ||
-- (codec->decoder->id == CODEC_ID_H264))
-+ else if((codec->decoder->id == AV_CODEC_ID_MPEG4) ||
-+ (codec->decoder->id == AV_CODEC_ID_H264))
- {
- if(vtrack->stream_cmodel == BC_YUV420P)
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_MPEG2;
-@@ -1299,13 +1299,13 @@
- {
- if(vtrack->stream_cmodel == BC_YUV420P)
- {
-- if(codec->encoder->id == CODEC_ID_MPEG4)
-+ if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_MPEG2;
- /* enable interlaced encoding */
- vtrack->interlace_mode = LQT_INTERLACE_NONE;
- }
-- else if(codec->encoder->id == CODEC_ID_DVVIDEO)
-+ else if(codec->encoder->id == AV_CODEC_ID_DVVIDEO)
- {
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_DVPAL;
- }
-@@ -1340,7 +1340,7 @@
- codec->avctx->sample_aspect_ratio.num = pixel_width;
- codec->avctx->sample_aspect_ratio.den = pixel_height;
- /* Use global headers for mp4v */
-- if(codec->encoder->id == CODEC_ID_MPEG4)
-+ if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-@@ -1364,12 +1364,12 @@
- }
- #endif
- }
-- else if((codec->encoder->id == CODEC_ID_MSMPEG4V3) && (trak->strl) &&
-+ else if((codec->encoder->id == AV_CODEC_ID_MSMPEG4V3) && (trak->strl) &&
- !strncmp(trak->strl->strf.bh.biCompression, "DIV3", 4))
- {
- strncpy(trak->strl->strh.fccHandler, "div3", 4);
- }
-- else if((codec->encoder->id == CODEC_ID_H263) &&
-+ else if((codec->encoder->id == AV_CODEC_ID_H263) &&
- (file->file_type & (LQT_FILE_MP4|LQT_FILE_3GP)))
- {
- uint8_t d263_data[] =
-@@ -1383,7 +1383,7 @@
- strncpy(trak->mdia.minf.stbl.stsd.table[0].format,
- "s263", 4);
- }
-- else if(codec->encoder->id == CODEC_ID_FFVHUFF)
-+ else if(codec->encoder->id == AV_CODEC_ID_FFVHUFF)
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-@@ -1391,7 +1391,7 @@
- codec->write_global_header = 1;
- }
- }
-- else if(codec->encoder->id == CODEC_ID_QTRLE)
-+ else if(codec->encoder->id == AV_CODEC_ID_QTRLE)
- {
- if(vtrack->stream_cmodel == BC_RGBA8888)
- {
-@@ -1402,11 +1402,11 @@
- vtrack->track->mdia.minf.stbl.stsd.table[0].depth = 32;
- }
- }
-- else if(codec->encoder->id == CODEC_ID_DVVIDEO)
-+ else if(codec->encoder->id == AV_CODEC_ID_DVVIDEO)
- {
- set_dv_fourcc(width, height, vtrack->stream_cmodel, trak);
- }
-- else if(codec->encoder->id == CODEC_ID_DNXHD)
-+ else if(codec->encoder->id == AV_CODEC_ID_DNXHD)
- {
- if(vtrack->interlace_mode != LQT_INTERLACE_NONE)
- {
-@@ -1558,12 +1558,12 @@
-
- #endif
-
-- if(!was_initialized && codec->encoder->id == CODEC_ID_DNXHD)
-+ if(!was_initialized && codec->encoder->id == AV_CODEC_ID_DNXHD)
- setup_avid_atoms(file, vtrack, codec->buffer, bytes_encoded);
-
- if(bytes_encoded)
- {
-- if (pts == AV_NOPTS_VALUE || (codec->encoder->id == CODEC_ID_DNXHD && pts == 0))
-+ if (pts == AV_NOPTS_VALUE || (codec->encoder->id == AV_CODEC_ID_DNXHD && pts == 0))
- {
- /* Some codecs don't bother generating presentation timestamps.
- FFMpeg's DNxHD encoder doesn't even bother to set it to AV_NOPTS_VALUE. */
-@@ -1590,13 +1590,13 @@
-
- if(codec->write_global_header && !codec->global_header_written)
- {
-- if(codec->encoder->id == CODEC_ID_FFVHUFF)
-+ if(codec->encoder->id == AV_CODEC_ID_FFVHUFF)
- {
- quicktime_user_atoms_add_atom(&trak->mdia.minf.stbl.stsd.table[0].user_atoms,
- "glbl",
- codec->avctx->extradata, codec->avctx->extradata_size );
- }
-- else if(codec->encoder->id == CODEC_ID_MPEG4)
-+ else if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- int advanced = 0;
- if(codec->avctx->max_b_frames ||
-@@ -1903,18 +1903,18 @@
- codec_base->encode_video = lqt_ffmpeg_encode_video;
- codec_base->set_pass = set_pass_ffmpeg;
-
-- if(encoder->id == CODEC_ID_MPEG4)
-+ if(encoder->id == AV_CODEC_ID_MPEG4)
- {
- codec_base->writes_compressed = writes_compressed_mpeg4;
- codec_base->init_compressed = init_compressed_mpeg4;
- codec_base->write_packet = write_packet_mpeg4;
- }
-- else if(encoder->id == CODEC_ID_MPEG2VIDEO)
-+ else if(encoder->id == AV_CODEC_ID_MPEG2VIDEO)
- {
- codec_base->writes_compressed = writes_compressed_imx;
- codec_base->init_compressed = init_compressed_imx;
- }
-- else if(encoder->id == CODEC_ID_DVVIDEO)
-+ else if(encoder->id == AV_CODEC_ID_DVVIDEO)
- {
- codec_base->init_compressed = init_compressed_dv;
- }
-@@ -1922,7 +1922,7 @@
- }
- if(decoder)
- {
-- if(decoder->id == CODEC_ID_H264)
-+ if(decoder->id == AV_CODEC_ID_H264)
- codec_base->read_packet = read_packet_h264;
- codec_base->decode_video = lqt_ffmpeg_decode_video;
- }
---- libquicktime-1.2.4/plugins/ffmpeg/audio.c.orig 2016-02-17 08:17:57.421481934 +0000
-+++ libquicktime-1.2.4/plugins/ffmpeg/audio.c 2016-02-17 08:18:05.254782305 +0000
-@@ -626,7 +626,7 @@
- {
- /* If the codec is mp3, make sure to decode the very last frame */
-
-- if((codec->avctx->codec_id == CODEC_ID_MP3) &&
-+ if((codec->avctx->codec_id == AV_CODEC_ID_MP3) &&
- (codec->bytes_in_chunk_buffer >= 4))
- {
- if(!mpa_decode_header(&mph, codec->chunk_buffer, (const mpa_header*)0))
-@@ -695,7 +695,7 @@
-
- /* Some really broken mp3 files have the header bytes split across 2 chunks */
-
-- if(codec->avctx->codec_id == CODEC_ID_MP3)
-+ if(codec->avctx->codec_id == AV_CODEC_ID_MP3)
- {
- if(codec->bytes_in_chunk_buffer < 4)
- {
-@@ -806,7 +806,7 @@
-
- if(bytes_decoded < 0)
- {
-- if(codec->avctx->codec_id == CODEC_ID_MP3)
-+ if(codec->avctx->codec_id == AV_CODEC_ID_MP3)
- {
- /* For mp3, bytes_decoded < 0 means, that the frame should be muted */
- memset(&codec->sample_buffer[track_map->channels * (codec->sample_buffer_end -
-@@ -866,8 +866,8 @@
- quicktime_audio_map_t *track_map = &file->atracks[track];
- quicktime_ffmpeg_audio_codec_t *codec = track_map->codec->priv;
-
-- if((codec->decoder->id == CODEC_ID_MP2) ||
-- (codec->decoder->id == CODEC_ID_MP3))
-+ if((codec->decoder->id == AV_CODEC_ID_MP2) ||
-+ (codec->decoder->id == AV_CODEC_ID_MP3))
- {
- mpa_header h;
- uint32_t header;
-@@ -909,7 +909,7 @@
- else
- track_map->ci.bitrate = h.bitrate;
- }
-- else if(codec->decoder->id == CODEC_ID_AC3)
-+ else if(codec->decoder->id == AV_CODEC_ID_AC3)
- {
- a52_header h;
- uint8_t * ptr;
-@@ -986,7 +986,7 @@
- #endif
- /* Some codecs need extra stuff */
-
-- if(codec->decoder->id == CODEC_ID_ALAC)
-+ if(codec->decoder->id == AV_CODEC_ID_ALAC)
- {
- header = quicktime_wave_get_user_atom(track_map->track, "alac", &header_len);
- if(header)
-@@ -995,7 +995,7 @@
- codec->avctx->extradata_size = header_len;
- }
- }
-- if(codec->decoder->id == CODEC_ID_QDM2)
-+ if(codec->decoder->id == AV_CODEC_ID_QDM2)
- {
- header = quicktime_wave_get_user_atom(track_map->track, "QDCA", &header_len);
- if(header)
-@@ -1495,9 +1495,9 @@
- codec_base->decode_audio = lqt_ffmpeg_decode_audio;
- codec_base->set_parameter = set_parameter;
-
-- if((decoder->id == CODEC_ID_MP3) || (decoder->id == CODEC_ID_MP2))
-+ if((decoder->id == AV_CODEC_ID_MP3) || (decoder->id == AV_CODEC_ID_MP2))
- codec_base->read_packet = read_packet_mpa;
-- else if(decoder->id == CODEC_ID_AC3)
-+ else if(decoder->id == AV_CODEC_ID_AC3)
- {
- codec_base->write_packet = write_packet_ac3;
- codec_base->read_packet = read_packet_ac3;
diff --git a/libraries/libquicktime/libquicktime.SlackBuild b/libraries/libquicktime/libquicktime.SlackBuild
index 522d29632b..dd9518e9e6 100644
--- a/libraries/libquicktime/libquicktime.SlackBuild
+++ b/libraries/libquicktime/libquicktime.SlackBuild
@@ -80,10 +80,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
-# Fix compatibility with ffmpeg 4.x
-patch -p1 -i $CWD/libquicktime-1.2.4-ffmpeg2.patch
-patch -p1 -i $CWD/libquicktime-ffmpeg3.patch
-patch -p1 -i $CWD/libquicktime-1.2.4-ffmpeg4.patch
+# Upstream seems to have dropped ffmpeg support
# Fix compiling against newer faad2
patch -p1 -i $CWD/libquicktime-1.2.4-faad2.patch
@@ -101,6 +98,7 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-gpl \
--with-libdv \
+ --without-ffmpeg \
--build=$ARCH-slackware-linux
make
diff --git a/libraries/libsoup3/README b/libraries/libsoup3/README
deleted file mode 100644
index dbdd7128d3..0000000000
--- a/libraries/libsoup3/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Soup is an HTTP client/server library implementation in C. It uses
-GObjects and the glib main loop to integrate well with GTK+
-applications, and has a synchronous API suitable for use in threaded
-applications.
-
-NOTE: This package can co-exist with libsoup package in Slackware.
diff --git a/libraries/libsoup3/libsoup3.SlackBuild b/libraries/libsoup3/libsoup3.SlackBuild
deleted file mode 100644
index 82082c5eca..0000000000
--- a/libraries/libsoup3/libsoup3.SlackBuild
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for libsoup3
-
-# Copyright 2022 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# 20220422 bkw: Modified by SlackBuilds.org: fix PRINT_PACKAGE_NAME.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=libsoup3
-SRCNAM=libsoup
-VERSION=${VERSION:-3.2.2}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-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 $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2
-cd $SRCNAM-$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 {} \+
-
-mkdir build
-cd build
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- meson .. \
- --buildtype=release \
- --infodir=/usr/info \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --mandir=/usr/man \
- --prefix=/usr \
- -Dtests=FALSE \
- -Dsysprof="disabled" \
- -Dstrip=true \
- -Ddocs="disabled" \
- --sysconfdir=/etc
- ninja
- DESTDIR=$PKG ninja install
-cd ..
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS COPYING NEWS README docs examples $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/libraries/libsoup3/libsoup3.info b/libraries/libsoup3/libsoup3.info
deleted file mode 100644
index 9f0aa03a19..0000000000
--- a/libraries/libsoup3/libsoup3.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="libsoup3"
-VERSION="3.2.2"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/libsoup"
-DOWNLOAD="https://gitlab.gnome.org/GNOME/libsoup/-/archive/3.2.2/libsoup-3.2.2.tar.bz2"
-MD5SUM="1078d82408992f610f2b65355953fb03"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Willy Sudiarto Raharjo"
-EMAIL="willysr@slackbuilds.org"
diff --git a/libraries/libsoup3/slack-desc b/libraries/libsoup3/slack-desc
deleted file mode 100644
index 2567a528e2..0000000000
--- a/libraries/libsoup3/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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 ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libsoup3: libsoup3 (an HTTP client/server library)
-libsoup3:
-libsoup3: Soup is an HTTP client/server library implementation in C. It uses
-libsoup3: GObjects and the glib main loop to integrate well with GTK+
-libsoup3: applications, and has a synchronous API suitable for use in threaded
-libsoup3: applications.
-libsoup3:
-libsoup3:
-libsoup3:
-libsoup3:
-libsoup3:
diff --git a/libraries/libvirt-python/libvirt-python.SlackBuild b/libraries/libvirt-python/libvirt-python.SlackBuild
index 29b5253476..16e2f94f85 100644
--- a/libraries/libvirt-python/libvirt-python.SlackBuild
+++ b/libraries/libvirt-python/libvirt-python.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for libvirt-python
-# Copyright 2013-2021 Robby Workman, Tuscaloosa, Alabama, USA
+# Copyright 2013-2022 Robby Workman, Tuscaloosa, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=libvirt-python
-VERSION=${VERSION:-8.1.0}
+VERSION=${VERSION:-8.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/libraries/libvirt-python/libvirt-python.info b/libraries/libvirt-python/libvirt-python.info
index 89796886bd..cfc7ade290 100644
--- a/libraries/libvirt-python/libvirt-python.info
+++ b/libraries/libvirt-python/libvirt-python.info
@@ -1,8 +1,8 @@
PRGNAM="libvirt-python"
-VERSION="8.1.0"
+VERSION="8.8.0"
HOMEPAGE="https://libvirt.org"
-DOWNLOAD="https://libvirt.org/sources/python/libvirt-python-8.1.0.tar.gz"
-MD5SUM="dbb1ab179303700aefa20f831b645ee2"
+DOWNLOAD="https://libvirt.org/sources/python/libvirt-python-8.8.0.tar.gz"
+MD5SUM="91539c3e6e821e49e01a90452c74a51e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libvirt"
diff --git a/libraries/libvirt/823a62ec.patch b/libraries/libvirt/823a62ec.patch
deleted file mode 100644
index 5fcc644d3e..0000000000
--- a/libraries/libvirt/823a62ec.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 823a62ec8aac4fb75e6e281164f3eb56ae47597c Mon Sep 17 00:00:00 2001
-From: Boris Fiuczynski <fiuczy@linux.ibm.com>
-Date: Tue, 1 Mar 2022 18:47:59 +0100
-Subject: [PATCH] qemu: segmentation fault in virtqemud executing
- qemuDomainUndefineFlags
-
-Commit 5adfb3472342741c443ac91dee0abb18b5a3d038 causes a segmentation fault.
-
-Stack trace of thread 664419:
- #0 0x000003ff62ec553c in qemuDomainUndefineFlags (dom=0x3ff6c002810, flags=<optimized out>) at ../src/qemu/qemu_driver.c:6618
- #1 0x000003ff876a7e5c in virDomainUndefineFlags (domain=domain@entry=0x3ff6c002810, flags=<optimized out>) at ../src/libvirt-domain.c:6519
- #2 0x000002aa2b64a808 in remoteDispatchDomainUndefineFlags (server=0x2aa2c3d7880, msg=0x2aa2c3d2770, args=<optimized out>, rerr=0x3ff8287b950, client=<optimized out>)
- at src/remote/remote_daemon_dispatch_stubs.h:13080
- #3 remoteDispatchDomainUndefineFlagsHelper (server=0x2aa2c3d7880, client=<optimized out>, msg=0x2aa2c3d2770, rerr=0x3ff8287b950, args=<optimized out>, ret=0x0)
- at src/remote/remote_daemon_dispatch_stubs.h:13059
- #4 0x000003ff8758bbf4 in virNetServerProgramDispatchCall (msg=0x2aa2c3d2770, client=0x2aa2c3e3050, server=0x2aa2c3d7880, prog=0x2aa2c3d8010)
- at ../src/rpc/virnetserverprogram.c:428
- #5 virNetServerProgramDispatch (prog=0x2aa2c3d8010, server=server@entry=0x2aa2c3d7880, client=0x2aa2c3e3050, msg=0x2aa2c3d2770) at ../src/rpc/virnetserverprogram.c:302
- #6 0x000003ff8758c260 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:140
- #7 virNetServerHandleJob (jobOpaque=0x2aa2c3e2d30, opaque=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:160
- #8 0x000003ff874c49aa in virThreadPoolWorker (opaque=<optimized out>) at ../src/util/virthreadpool.c:164
- #9 0x000003ff874c3f62 in virThreadHelper (data=<optimized out>) at ../src/util/virthread.c:256
- #10 0x000003ff86c1cf8c in start_thread () from /lib64/libc.so.6
- #11 0x000003ff86c9650e in thread_start () from /lib64/libc.so.6
-
-Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
-Reviewed-by: Jim Fehlig <jfehlig@suse.com>
-Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
----
- src/qemu/qemu_driver.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
-index bcd9bdb436..8337eed510 100644
---- a/src/qemu/qemu_driver.c
-+++ b/src/qemu/qemu_driver.c
-@@ -6615,7 +6615,7 @@ qemuDomainUndefineFlags(virDomainPtr dom,
- }
- }
-
-- if (vm->def->os.loader->nvram) {
-+ if (vm->def->os.loader && vm->def->os.loader->nvram) {
- nvram_path = g_strdup(vm->def->os.loader->nvram);
- } else if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI) {
- qemuDomainNVRAMPathFormat(cfg, vm->def, &nvram_path);
---
-GitLab
-
diff --git a/libraries/libvirt/libvirt.SlackBuild b/libraries/libvirt/libvirt.SlackBuild
index 032b2fe58a..7b44c01250 100644
--- a/libraries/libvirt/libvirt.SlackBuild
+++ b/libraries/libvirt/libvirt.SlackBuild
@@ -10,7 +10,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=libvirt
-VERSION=${VERSION:-8.1.0}
+VERSION=${VERSION:-8.8.0}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -74,8 +74,6 @@ sed -i "s|prefix / 'lib' / 'sysctl.d'|sysconfdir / 'sysctl.d'|" src/remote/meson
patch -p1 < $CWD/use-virtgroup-in-polkit-rules.diff
sed -i -e "s,@VIRTGROUP@,$VIRTGROUP,g" src/remote/libvirtd.rules
-patch -p1 < $CWD/823a62ec.patch
-
# Since 5.10: "configure: error: Build directory must be different from source directory"
mkdir -p build
cd build
@@ -104,7 +102,6 @@ cd build
-Ddriver_vz=disabled \
-Dsecdriver_apparmor=disabled \
-Dsecdriver_selinux=disabled \
- -Dstorage_sheepdog=disabled \
-Dstorage_vstorage=disabled \
-Ddtrace=disabled \
-Dstrip=true \
diff --git a/libraries/libvirt/libvirt.info b/libraries/libvirt/libvirt.info
index 8c4818291e..9a88cf6d27 100644
--- a/libraries/libvirt/libvirt.info
+++ b/libraries/libvirt/libvirt.info
@@ -1,8 +1,8 @@
PRGNAM="libvirt"
-VERSION="8.1.0"
+VERSION="8.8.0"
HOMEPAGE="http://libvirt.org"
-DOWNLOAD="https://libvirt.org/sources/libvirt-8.1.0.tar.xz"
-MD5SUM="db2ab9f064a611dbeea3156cf26a2ed1"
+DOWNLOAD="https://libvirt.org/sources/libvirt-8.8.0.tar.xz"
+MD5SUM="c20121ef8c9297a982dd1f2e529159f3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="yajl"
diff --git a/libraries/podofo/XRefStrParObj-deprecated.patch b/libraries/podofo/XRefStrParObj-deprecated.patch
deleted file mode 100644
index d2a74b68b5..0000000000
--- a/libraries/podofo/XRefStrParObj-deprecated.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff -Naur podofo-0.9.6.orig/src/base/PdfXRefStreamParserObject.h podofo-0.9.6/src/base/PdfXRefStreamParserObject.h
---- podofo-0.9.6.orig/src/base/PdfXRefStreamParserObject.h 2014-06-06 22:13:22.000000000 +0000
-+++ podofo-0.9.6/src/base/PdfXRefStreamParserObject.h 2020-05-03 02:26:01.119538387 +0000
-@@ -47,8 +47,11 @@
- * an XRef stream object.
- *
- * It is mainly here to make PdfParser more modular.
-+ * This is only marked PODOFO_API for the benefit of the tests,
-+ * the class is for internal use only. It is deprecated, so
-+ * don't ever rely on it (i.e. externally or in PoDoFo tools).
- */
--class PdfXRefStreamParserObject : public PdfParserObject {
-+class PODOFO_DEPRECATED PODOFO_API PdfXRefStreamParserObject : public PdfParserObject {
- public:
-
- /** Parse the object data from the given file handle starting at
-diff -Naur podofo-0.9.6.orig/src/base/podofoapi.h podofo-0.9.6/src/base/podofoapi.h
---- podofo-0.9.6.orig/src/base/podofoapi.h 2017-10-27 06:38:19.000000000 +0000
-+++ podofo-0.9.6/src/base/podofoapi.h 2020-05-03 02:27:03.874537513 +0000
-@@ -173,9 +173,22 @@
-
- /* Set up some other compiler-specific but not platform-specific macros */
-
--#if defined(__GNUC__)
-- /* gcc will issue a warning if a function or variable so annotated is used */
-- #define PODOFO_DEPRECATED __attribute__((deprecated))
-+#ifdef __GNU__
-+ #define PODOFO_HAS_GCC_ATTRIBUTE_DEPRECATED 1
-+#elif defined(__has_attribute)
-+ #if __has_attribute(__deprecated__)
-+ #define PODOFO_HAS_GCC_ATTRIBUTE_DEPRECATED 1
-+ #endif
-+#endif
-+
-+#ifdef PODOFO_HAS_GCC_ATTRIBUTE_DEPRECATED
-+ /* gcc (or compat. clang) will issue a warning if a function or variable so annotated is used */
-+ #define PODOFO_DEPRECATED __attribute__((__deprecated__))
-+#else
-+ #define PODOFO_DEPRECATED
-+#endif
-+
-+#ifdef __GNU__
- /* gcc can do some additional optimisations on functions annotated as pure.
- * See the documentation on __attribute__((pure)) in the gcc docs. */
- #define PODOFO_PURE_FUNCTION __attribute__((pure))
-@@ -185,9 +198,12 @@
- * (see CODINGSTYLE.txt) .*/
- #define PODOFO_NOTHROW __attribute__((nothrow))
- #else
-- #define PODOFO_DEPRECATED
-- #define PODOFO_PURE_FUNCTION
-- #define PODOFO_NOTHROW __declspec(nothrow)
-+ #define PODOFO_PURE_FUNCTION
-+ #ifdef _MSC_VER
-+ #define PODOFO_NOTHROW __declspec(nothrow)
-+ #else
-+ #define PODOFO_NOTHROW
-+ #endif
- #endif
-
- // Peter Petrov 27 April 2008
diff --git a/libraries/podofo/gcc12.patch b/libraries/podofo/gcc12.patch
new file mode 100644
index 0000000000..1bd71721e3
--- /dev/null
+++ b/libraries/podofo/gcc12.patch
@@ -0,0 +1,39 @@
+From d0e9f5d503b0cb79516ec9bff989f3d7d625b678 Mon Sep 17 00:00:00 2001
+From: Pino Toscano <toscano.pino@tiscali.it>
+Date: Sun, 14 Aug 2022 08:27:13 +0200
+Subject: [PATCH] Fix declaration of operator<< for PoDoFo::PdfString
+
+Since PdfString is in the PoDoFo namespace, the operator<< for it must
+be in the same namespace as well, otherwise it is not found. In
+particular, operator<<(std::ostream&) is needed by cppunit as a way to
+get the string representation of an arbitrary type, when using
+CPPUNIT_ASSERT_EQUAL() on instances of it.
+
+This used to work with GCC until 11 because of a buggy behaviour.
+GCC 12 fixed it [1], causing this test to fail to build with it.
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577
+---
+ test/unit/StringTest.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/test/unit/StringTest.cpp b/test/unit/StringTest.cpp
+index a7841f78..b52b7880 100644
+--- a/test/unit/StringTest.cpp
++++ b/test/unit/StringTest.cpp
+@@ -29,11 +29,15 @@ using namespace PoDoFo;
+ // Registers the fixture into the 'registry'
+ CPPUNIT_TEST_SUITE_REGISTRATION( StringTest );
+
++namespace PoDoFo {
++
+ inline std::ostream& operator<<(std::ostream& o, const PdfString& s)
+ {
+ return o << s.GetStringUtf8();
+ }
+
++}
++
+ void StringTest::setUp()
+ {
+ }
diff --git a/libraries/podofo/podofo.SlackBuild b/libraries/podofo/podofo.SlackBuild
index 8484a157da..d425cbd091 100644
--- a/libraries/podofo/podofo.SlackBuild
+++ b/libraries/podofo/podofo.SlackBuild
@@ -29,8 +29,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=podofo
-VERSION=${VERSION:-0.9.6}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.9.8}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -80,12 +80,13 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
-sed -i "s/BINARY_DIR}\/objects\"/BINARY_DIR}\/objects\" || true/" test/TokenizerTest/CMakeLists.txt
+# Thanks to chrisretusn on LQ!
+patch -p1 < $CWD/gcc12.patch
+
+sed -i "s/BINARY_DIR}\/objects\"/BINARY_DIR}\/objects\" || true/" test/TokenizerTest/CMakeLists.txt || exit 1
# Fix mandir directory.
-sed -i 's|share/man|man|' CMakeLists.txt
-# Ref: https://sourceforge.net/p/podofo/tickets/28/
-patch -p1 < $CWD/XRefStrParObj-deprecated.patch
+sed -i 's|share/man|man|' CMakeLists.txt || exit 1
mkdir build
cd build
@@ -96,7 +97,6 @@ cd build
-DPODOFO_BUILD_STATIC:BOOL=FALSE \
-DPODOFO_BUILD_SHARED:BOOL=TRUE \
-DPODOFO_USE_VISIBILITY:BOOL=1 \
- -DCMAKE_CXX_STANDARD:STRING=11 \
-DWANT_BOOST:BOOL=1 \
-DLIB_SUFFIX:STRING="$LIBDIRSUFFIX" \
-DCMAKE_BUILD_TYPE=Release ..
diff --git a/libraries/podofo/podofo.info b/libraries/podofo/podofo.info
index 5a97ef24ef..5d3f34b904 100644
--- a/libraries/podofo/podofo.info
+++ b/libraries/podofo/podofo.info
@@ -1,8 +1,8 @@
PRGNAM="podofo"
-VERSION="0.9.6"
+VERSION="0.9.8"
HOMEPAGE="http://podofo.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/podofo/podofo-0.9.6.tar.gz"
-MD5SUM="46336fc4c4ce4be814bb5fbb4d918334"
+DOWNLOAD="http://downloads.sourceforge.net/podofo/podofo-0.9.8.tar.gz"
+MD5SUM="f6d3d5f917c7150c44fc6a15848442dd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/libraries/wxsvg/wxsvg.SlackBuild b/libraries/wxsvg/wxsvg.SlackBuild
index 0c04a02a7a..8d5fbe29e4 100644
--- a/libraries/wxsvg/wxsvg.SlackBuild
+++ b/libraries/wxsvg/wxsvg.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for wxsvg
-# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2022 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=wxsvg
-VERSION=${VERSION:-1.5.20}
+VERSION=${VERSION:-1.5.24}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/libraries/wxsvg/wxsvg.info b/libraries/wxsvg/wxsvg.info
index 9b9c1d267b..d5e7a70bc6 100644
--- a/libraries/wxsvg/wxsvg.info
+++ b/libraries/wxsvg/wxsvg.info
@@ -1,8 +1,8 @@
PRGNAM="wxsvg"
-VERSION="1.5.20"
+VERSION="1.5.24"
HOMEPAGE="https://sourceforge.net/projects/wxsvg/"
-DOWNLOAD="https://downloads.sf.net/wxsvg/wxsvg-1.5.20.tar.bz2"
-MD5SUM="a56b8c6b29599e1d7404120093072ce0"
+DOWNLOAD="https://downloads.sf.net/wxsvg/wxsvg-1.5.24.tar.bz2"
+MD5SUM="4f6780ef38bed0f7a7b6bb8d6499f405"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="wxGTK3"
diff --git a/libraries/zeromq/zeromq.SlackBuild b/libraries/zeromq/zeromq.SlackBuild
index e4077d87c6..f2d0556b75 100644
--- a/libraries/zeromq/zeromq.SlackBuild
+++ b/libraries/zeromq/zeromq.SlackBuild
@@ -83,7 +83,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -Wno-error=address" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/misc/xcb-imdkit/README b/misc/xcb-imdkit/README
deleted file mode 100644
index a9aaa69367..0000000000
--- a/misc/xcb-imdkit/README
+++ /dev/null
@@ -1,8 +0,0 @@
-xcb-imdkit is an implementation of the xim protocol in xcb. Compared
-with the implementation of IMDkit with Xlib, and xim inside Xlib, it
-has a smaller memory footprint, better performance, and is safer on
-malformed clients. And not to say it's all asynchronous and it works
-with xcb.
-
-To build this project, you need: libxcb, xcb-util, xcb-util-keysym,
-which are all included in a full Slackware installation.
diff --git a/misc/xcb-imdkit/slack-desc b/misc/xcb-imdkit/slack-desc
deleted file mode 100644
index 73fec52ff7..0000000000
--- a/misc/xcb-imdkit/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-xcb-imdkit: xcb-imdkit (implementation of the xim protocol in xcb)
-xcb-imdkit:
-xcb-imdkit: xcb-imdkit is an implementation of the xim protocol in xcb. Compared
-xcb-imdkit: with the implementation of IMDkit with Xlib, and xim inside Xlib, it
-xcb-imdkit: has a smaller memory footprint, better performance, and is safer on
-xcb-imdkit: malformed clients. And not to say it's all asynchronous and it works
-xcb-imdkit: with xcb.
-xcb-imdkit:
-xcb-imdkit: Homepage: https://github.com/fcitx/xcb-imdkit
-xcb-imdkit:
-xcb-imdkit:
diff --git a/misc/xcb-imdkit/xcb-imdkit.SlackBuild b/misc/xcb-imdkit/xcb-imdkit.SlackBuild
deleted file mode 100644
index 40ab7c4b16..0000000000
--- a/misc/xcb-imdkit/xcb-imdkit.SlackBuild
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for xcb-imdkit
-
-# Copyright 2022 Wen-Wei Kao (ltlnx) Taipet, Taiwan
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=xcb-imdkit
-VERSION=${VERSION:-1.0.3}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-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
-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 {} \;
-
-mkdir -p build
-cd build
- cmake \
- -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 ..
-
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- LICENSES/* README.md \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/misc/xcb-imdkit/xcb-imdkit.info b/misc/xcb-imdkit/xcb-imdkit.info
deleted file mode 100644
index 112279fb05..0000000000
--- a/misc/xcb-imdkit/xcb-imdkit.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="xcb-imdkit"
-VERSION="1.0.3"
-HOMEPAGE="https://github.com/fcitx/xcb-imdkit"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-1.0.3.tar.xz"
-MD5SUM="9b4f2914127779114a4f3067a53cde3f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="ltlnx"
-EMAIL="ltlnx.tw@gmail.com"
diff --git a/multimedia/dvdstyler/dvdstyler.SlackBuild b/multimedia/dvdstyler/dvdstyler.SlackBuild
index 06e3562ed8..8a6f256618 100644
--- a/multimedia/dvdstyler/dvdstyler.SlackBuild
+++ b/multimedia/dvdstyler/dvdstyler.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for dvdstyler
-# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2022 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=dvdstyler
SPRGNAM=DVDStyler
-VERSION=${VERSION:-3.1.2}
+VERSION=${VERSION:-3.3b3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/multimedia/dvdstyler/dvdstyler.info b/multimedia/dvdstyler/dvdstyler.info
index 0dfb7e863b..581bbad6cb 100644
--- a/multimedia/dvdstyler/dvdstyler.info
+++ b/multimedia/dvdstyler/dvdstyler.info
@@ -1,8 +1,8 @@
PRGNAM="dvdstyler"
-VERSION="3.1.2"
+VERSION="3.3b3"
HOMEPAGE="http://www.dvdstyler.org/"
-DOWNLOAD="http://downloads.sf.net/dvdstyler/DVDStyler-3.1.2.tar.bz2"
-MD5SUM="8d5e977900ade9f57ae1e13c2e50b1ac"
+DOWNLOAD="http://downloads.sf.net/dvdstyler/DVDStyler-3.3b3.tar.bz2"
+MD5SUM="d92cc509cb6c39d74f2ce56d6f686cff"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libavc1394 libmspack libquicktime mjpegtools mpgtx wxsvg"
diff --git a/multimedia/gpac/gpac.SlackBuild b/multimedia/gpac/gpac.SlackBuild
index 3d47f2be9d..cf901dd523 100644
--- a/multimedia/gpac/gpac.SlackBuild
+++ b/multimedia/gpac/gpac.SlackBuild
@@ -28,7 +28,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM="gpac"
-VERSION=${VERSION:-1.0.1}
+VERSION=${VERSION:-2.0.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/multimedia/gpac/gpac.info b/multimedia/gpac/gpac.info
index 9b1adc7085..c0c3c6c726 100644
--- a/multimedia/gpac/gpac.info
+++ b/multimedia/gpac/gpac.info
@@ -1,8 +1,8 @@
PRGNAM="gpac"
-VERSION="1.0.1"
+VERSION="2.0.0"
HOMEPAGE="http://gpac.wp.mines-telecom.fr"
-DOWNLOAD="https://github.com/gpac/gpac/archive/v1.0.1/gpac-1.0.1.tar.gz"
-MD5SUM="52f6711e43a8d271ebec0c2ea2afab4a"
+DOWNLOAD="https://github.com/gpac/gpac/archive/v2.0.0/gpac-2.0.0.tar.gz"
+MD5SUM="8e412a155f558f71609c26a282e682b3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.SlackBuild b/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.SlackBuild
index 5fdcb0305a..12998094ba 100644
--- a/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.SlackBuild
+++ b/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.SlackBuild
@@ -32,7 +32,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gst-plugins-bad-nonfree
-VERSION=${VERSION:-1.18.5}
+VERSION=${VERSION:-1.20.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.info b/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.info
index 43340d39f2..75949728c2 100644
--- a/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.info
+++ b/multimedia/gst-plugins-bad-nonfree/gst-plugins-bad-nonfree.info
@@ -1,8 +1,8 @@
PRGNAM="gst-plugins-bad-nonfree"
-VERSION="1.18.5"
+VERSION="1.20.2"
HOMEPAGE="https://gstreamer.freedesktop.org/"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.5.tar.xz"
-MD5SUM="4ab1c19c3cf1ba79c20c65f6be78e7fd"
+DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.2.tar.xz"
+MD5SUM="1c537891ea5c412f5e71a632e9e6d96c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild b/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
index d5d9e11406..23e7855262 100644
--- a/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
+++ b/multimedia/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gst-plugins-ugly
-VERSION=${VERSION:-1.18.5}
+VERSION=${VERSION:-1.20.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -90,8 +90,7 @@ cd build
--localstatedir=/var \
--mandir=/usr/man \
--prefix=/usr \
- --sysconfdir=/etc \
- -Dexamples=disabled
+ --sysconfdir=/etc
"${NINJA:=ninja}"
DESTDIR=$PKG $NINJA install
cd ..
diff --git a/multimedia/gst-plugins-ugly/gst-plugins-ugly.info b/multimedia/gst-plugins-ugly/gst-plugins-ugly.info
index 5a55a8aa0f..de6daf1f92 100644
--- a/multimedia/gst-plugins-ugly/gst-plugins-ugly.info
+++ b/multimedia/gst-plugins-ugly/gst-plugins-ugly.info
@@ -1,8 +1,8 @@
PRGNAM="gst-plugins-ugly"
-VERSION="1.18.5"
+VERSION="1.20.2"
HOMEPAGE="https://gstreamer.freedesktop.org/"
-DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.18.5.tar.xz"
-MD5SUM="049f90b7a3a72e241ad47564b5cd7a7a"
+DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.2.tar.xz"
+MD5SUM="62dcd0cb786ea10cc34c9927aa656aac"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/obs-studio/obs-studio.SlackBuild b/multimedia/obs-studio/obs-studio.SlackBuild
index be3f6f7027..903ad3d5f8 100644
--- a/multimedia/obs-studio/obs-studio.SlackBuild
+++ b/multimedia/obs-studio/obs-studio.SlackBuild
@@ -78,7 +78,7 @@ cd $CEF_ROOT
strip -v Release/*.so
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error=array-bounds" \
-DCMAKE_BUILD_TYPE=Release .
make libcef_dll_wrapper
cd ..
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg-0.10.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg-0.10.patch
deleted file mode 100644
index ea737c8b09..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg-0.10.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://bugs.gentoo.org/401287
-
---- filter/filter_pp.c
-+++ filter/filter_pp.c
-@@ -38,8 +38,8 @@
-
- /* FIXME: these use the filter ID as an index--the ID can grow
- * arbitrarily large, so this needs to be fixed */
--static pp_mode_t *mode[100];
--static pp_context_t *context[100];
-+static pp_mode *mode[100];
-+static pp_context *context[100];
- static int width[100], height[100];
- static int pre[100];
-
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch
deleted file mode 100644
index 871d073fea..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch
+++ /dev/null
@@ -1,303 +0,0 @@
-Fix build with ffmpeg 0.11.
-https://bugs.gentoo.org/show_bug.cgi?id=419551
-Author: Brennan Shacklett
-
-diff -urN transcode-1.1.7-orig/encode/encode_lavc.c transcode-1.1.7/encode/encode_lavc.c
---- transcode-1.1.7-orig/encode/encode_lavc.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/encode/encode_lavc.c 2012-07-03 10:47:03.528009149 -0700
-@@ -114,6 +114,7 @@
-
- AVFrame ff_venc_frame;
- AVCodecContext ff_vcontext;
-+ AVDictionary ** ff_opts;
-
- AVCodec *ff_vcodec;
-
-@@ -1036,14 +1037,10 @@
- SET_FLAG(pd, mv0);
- SET_FLAG(pd, cbp);
- SET_FLAG(pd, qpel);
-- SET_FLAG(pd, alt);
-- SET_FLAG(pd, vdpart);
- SET_FLAG(pd, naq);
- SET_FLAG(pd, ilme);
- SET_FLAG(pd, ildct);
- SET_FLAG(pd, aic);
-- SET_FLAG(pd, aiv);
-- SET_FLAG(pd, umv);
- SET_FLAG(pd, psnr);
- SET_FLAG(pd, trell);
- SET_FLAG(pd, gray);
-@@ -1064,6 +1061,18 @@
- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT;
- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
- }
-+ if (pd->confdata.flags.alt) {
-+ av_dict_set(pd->ff_opts, "alternate_scan", "1", 0);
-+ }
-+ if (pd->confdata.flags.vdpart) {
-+ av_dict_set(pd->ff_opts, "data_partitioning", "1", 0);
-+ }
-+ if (pd->confdata.flags.umv) {
-+ av_dict_set(pd->ff_opts, "umv", "1", 0);
-+ }
-+ if (pd->confdata.flags.aiv) {
-+ av_dict_set(pd->ff_opts, "aiv", "1", 0);
-+ }
- }
-
- #undef SET_FLAG
-@@ -1184,18 +1193,18 @@
- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD },
- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
-- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN },
-+ { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
- { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT },
- { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP },
-- { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART },
-+ { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC },
- #else
- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED },
- #endif
-- { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIV },
-- { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV },
-+ { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 },
-+ { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT },
-@@ -1387,7 +1396,7 @@
- pd->confdata.thread_count,
- (pd->confdata.thread_count > 1) ?"s" :"");
- }
-- avcodec_thread_init(&pd->ff_vcontext, pd->confdata.thread_count);
-+ pd->ff_vcontext.thread_count = pd->confdata.thread_count;
-
- pd->ff_vcodec = avcodec_find_encoder(FF_VCODEC_ID(pd));
- if (pd->ff_vcodec == NULL) {
-@@ -1397,11 +1406,11 @@
- }
-
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(&pd->ff_vcontext, pd->ff_vcodec);
-+ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts);
- TC_UNLOCK_LIBAVCODEC;
-
- if (ret < 0) {
-- tc_log_error(MOD_NAME, "avcodec_open() failed");
-+ tc_log_error(MOD_NAME, "avcodec_open2() failed");
- goto failed;
- }
- /* finally, pass up the extradata, if any */
-diff -urN transcode-1.1.7-orig/export/export_ffmpeg.c transcode-1.1.7/export/export_ffmpeg.c
---- transcode-1.1.7-orig/export/export_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/export/export_ffmpeg.c 2012-07-03 13:15:23.918019415 -0700
-@@ -122,6 +122,7 @@
- static AVFrame *lavc_convert_frame = NULL;
-
- static AVCodec *lavc_venc_codec = NULL;
-+static AVDictionary **lavc_venc_opts = NULL;
- static AVFrame *lavc_venc_frame = NULL;
- static AVCodecContext *lavc_venc_context;
- static avi_t *avifile = NULL;
-@@ -180,7 +181,7 @@
-
-
- /* START: COPIED FROM ffmpeg-0.5_p22846(ffmpeg.c, cmdutils.c) */
--#include <libavcodec/opt.h>
-+#include <libavutil/opt.h>
- #include <libavutil/avstring.h>
- #include <libswscale/swscale.h>
-
-@@ -470,7 +471,6 @@
- }
-
- TC_LOCK_LIBAVCODEC;
-- avcodec_init();
- avcodec_register_all();
- TC_UNLOCK_LIBAVCODEC;
-
-@@ -634,7 +634,7 @@
- lavc_param_rc_max_rate = 2516;
- lavc_param_rc_buffer_size = 224 * 8;
- lavc_param_rc_buffer_aggressivity = 99;
-- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
-+ lavc_param_scan_offset = 1;
-
- break;
-
-@@ -674,7 +674,7 @@
-
- lavc_param_rc_buffer_size = 224 * 8;
- lavc_param_rc_buffer_aggressivity = 99;
-- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
-+ lavc_param_scan_offset = 1;
-
- break;
-
-@@ -887,7 +887,7 @@
- lavc_venc_context->thread_count);
- }
-
-- avcodec_thread_init(lavc_venc_context, lavc_param_threads);
-+ lavc_venc_context->thread_count = lavc_param_threads;
-
- if (lavc_param_intra_matrix) {
- char *tmp;
-@@ -1065,15 +1065,10 @@
- lavc_venc_context->flags |= lavc_param_closedgop;
- lavc_venc_context->flags |= lavc_param_trunc;
- lavc_venc_context->flags |= lavc_param_aic;
-- lavc_venc_context->flags |= lavc_param_umv;
- lavc_venc_context->flags |= lavc_param_v4mv;
-- lavc_venc_context->flags |= lavc_param_data_partitioning;
- lavc_venc_context->flags |= lavc_param_cbp;
- lavc_venc_context->flags |= lavc_param_mv0;
- lavc_venc_context->flags |= lavc_param_qp_rd;
-- lavc_venc_context->flags |= lavc_param_scan_offset;
-- lavc_venc_context->flags |= lavc_param_ss;
-- lavc_venc_context->flags |= lavc_param_alt;
- lavc_venc_context->flags |= lavc_param_ilme;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_venc_context->flags |= lavc_param_trell;
-@@ -1203,7 +1198,6 @@
-
- lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
-
--
- /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
- if (lavc_param_video_preset) {
- avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context;
-@@ -1241,20 +1235,39 @@
- }
- }
-
-+ if (lavc_param_scan_offset) {
-+ av_dict_set(lavc_venc_opts, "scan_offset", "1", 0);
-+ }
-+
-+ if (lavc_param_ss) {
-+ av_dict_set(lavc_venc_opts, "structured_slices", "1", 0);
-+ }
-+
-+ if (lavc_param_alt) {
-+ av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0);
-+ }
-+
-+ if (lavc_param_umv) {
-+ av_dict_set(lavc_venc_opts, "umv", "1", 0);
-+ }
-+
-+ if (lavc_param_data_partitioning) {
-+ av_dict_set(lavc_venc_opts, "vdpart", "1", 0);
-+ }
-
- //-- open codec --
- //----------------
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(lavc_venc_context, lavc_venc_codec);
-+ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_log_warn(MOD_NAME, "could not open FFMPEG codec");
- return TC_EXPORT_ERROR;
- }
-
-- if (lavc_venc_context->codec->encode == NULL) {
-+ if (av_codec_is_encoder(lavc_venc_context->codec) == 0) {
- tc_log_warn(MOD_NAME, "could not open FFMPEG codec "
-- "(lavc_venc_context->codec->encode == NULL)");
-+ "(av_codec_is_encoder(lavc_venc_context->codec) == 0)");
- return TC_EXPORT_ERROR;
- }
-
-diff -urN transcode-1.1.7-orig/export/ffmpeg_cfg.c transcode-1.1.7/export/ffmpeg_cfg.c
---- transcode-1.1.7-orig/export/ffmpeg_cfg.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/export/ffmpeg_cfg.c 2012-07-03 10:09:25.011003254 -0700
-@@ -160,9 +160,9 @@
- {"vcelim", &lavc_param_chroma_elim_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
- {"vpsize", &lavc_param_packet_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
- {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
-- {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
-+ {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1},
- // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
-- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
-+ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY},
- {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
- {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
-@@ -211,7 +211,7 @@
- #else
- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
- #endif
-- {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV},
-+ {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
- {"pbias", &lavc_param_pbias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
- {"coder", &lavc_param_coder, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
-@@ -223,9 +223,9 @@
- {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
- {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
-- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT},
-- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_SVCD_SCAN_OFFSET},
-- {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN},
-+ {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
-+ {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
-+ {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
- {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
- {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
-diff -urN transcode-1.1.7-orig/import/decode_lavc.c transcode-1.1.7/import/decode_lavc.c
---- transcode-1.1.7-orig/import/decode_lavc.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/import/decode_lavc.c 2012-07-03 10:21:46.085005182 -0700
-@@ -181,7 +181,7 @@
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_dec_context->error_resilience = 2;
- #else
-- lavc_dec_context->error_recognition = 2;
-+ lavc_dec_context->err_recognition = 2;
- #endif
- lavc_dec_context->error_concealment = 3;
- lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
-diff -urN transcode-1.1.7-orig/import/import_ffmpeg.c transcode-1.1.7/import/import_ffmpeg.c
---- transcode-1.1.7-orig/import/import_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/import/import_ffmpeg.c 2012-07-03 10:19:36.936004841 -0700
-@@ -314,7 +314,7 @@
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_dec_context->error_resilience = 2;
- #else
-- lavc_dec_context->error_recognition = 2;
-+ lavc_dec_context->err_recognition = 2;
- #endif
- lavc_dec_context->error_concealment = 3;
- lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
-diff -urN transcode-1.1.7-orig/import/probe_ffmpeg.c transcode-1.1.7/import/probe_ffmpeg.c
---- transcode-1.1.7-orig/import/probe_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/import/probe_ffmpeg.c 2012-07-03 10:41:42.782008306 -0700
-@@ -99,8 +99,8 @@
-
- TC_INIT_LIBAVCODEC;
-
-- ret = av_open_input_file(&lavf_dmx_context, ipipe->name,
-- NULL, 0, NULL);
-+ ret = avformat_open_input(&lavf_dmx_context, ipipe->name,
-+ NULL, NULL);
- if (ret != 0) {
- tc_log_error(__FILE__, "unable to open '%s'"
- " (libavformat failure)",
-diff -urN transcode-1.1.7-orig/libtc/tcavcodec.h transcode-1.1.7/libtc/tcavcodec.h
---- transcode-1.1.7-orig/libtc/tcavcodec.h 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/libtc/tcavcodec.h 2012-07-03 10:34:43.648007213 -0700
-@@ -53,7 +53,6 @@
-
- #define TC_INIT_LIBAVCODEC do { \
- TC_LOCK_LIBAVCODEC; \
-- avcodec_init(); \
- avcodec_register_all(); \
- TC_UNLOCK_LIBAVCODEC; \
- } while (0)
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg.patch
deleted file mode 100644
index be7a6cbaeb..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- encode/encode_lavc.c
-+++ encode/encode_lavc.c
-@@ -955,8 +955,6 @@
- /*
- * context *transcode* (not libavcodec) defaults
- */
-- pd->ff_vcontext.mb_qmin = 2;
-- pd->ff_vcontext.mb_qmax = 31;
- pd->ff_vcontext.max_qdiff = 3;
- pd->ff_vcontext.max_b_frames = 0;
- pd->ff_vcontext.me_range = 0;
-@@ -1116,8 +1114,6 @@
- // handled by transcode core
- // { "vqmax", PCTX(qmax), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 60 },
- // handled by transcode core
-- { "mbqmin", PCTX(mb_qmin), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 60 },
-- { "mbqmax", PCTX(mb_qmax), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 60 },
- { "lmin", PAUX(lmin), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
- { "lmax", PAUX(lmax), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
- { "vqdiff", PCTX(max_qdiff), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31 },
---- export/ffmpeg_cfg.c
-+++ export/ffmpeg_cfg.c
-@@ -34,8 +34,6 @@
- //int lavc_param_vqscale = 0;
- //int lavc_param_vqmin = 2;
- //int lavc_param_vqmax = 31;
--int lavc_param_mb_qmin = 2;
--int lavc_param_mb_qmax = 31;
- int lavc_param_lmin = 2;
- int lavc_param_lmax = 31;
- int lavc_param_vqdiff = 3;
-@@ -143,8 +141,6 @@
- // {"vqscale", &lavc_param_vqscale, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
- // {"vqmin", &lavc_param_vqmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
- // {"vqmax", &lavc_param_vqmax, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
-- {"mbqmin", &lavc_param_mb_qmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
-- {"mbqmax", &lavc_param_mb_qmax, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
- {"lmin", &lavc_param_lmin, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0},
- {"lmax", &lavc_param_lmax, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0},
- {"vqdiff", &lavc_param_vqdiff, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
---- export/ffmpeg_cfg.h
-+++ export/ffmpeg_cfg.h
-@@ -13,8 +13,6 @@
- //extern int lavc_param_vqscale;
- //extern int lavc_param_vqmin;
- //extern int lavc_param_vqmax;
--extern int lavc_param_mb_qmin;
--extern int lavc_param_mb_qmax;
- extern int lavc_param_lmin;
- extern int lavc_param_lmax;
- extern int lavc_param_vqdiff;
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg2.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg2.patch
deleted file mode 100644
index 9a770a6a0d..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg2.patch
+++ /dev/null
@@ -1,557 +0,0 @@
-Fix build with ffmpeg-2.0.
-Fix segfaults introduced by wrong usage of the av_dict API.
-Fix forgotten parts in the libav9 patch.
-
-Index: transcode-1.1.7/encode/encode_lavc.c
-===================================================================
---- transcode-1.1.7.orig/encode/encode_lavc.c
-+++ transcode-1.1.7/encode/encode_lavc.c
-@@ -74,6 +74,9 @@ struct tclavcconfigdata_ {
- int lmin;
- int lmax;
- int me_method;
-+ int luma_elim_threshold;
-+ int chroma_elim_threshold;
-+ int quantizer_noise_shaping;
-
- /* same as above for flags */
- struct {
-@@ -114,7 +117,7 @@ struct tclavcprivatedata_ {
-
- AVFrame ff_venc_frame;
- AVCodecContext ff_vcontext;
-- AVDictionary ** ff_opts;
-+ AVDictionary * ff_opts;
-
- AVCodec *ff_vcodec;
-
-@@ -165,6 +168,7 @@ static const TCCodecID tc_lavc_codecs_ou
- TC_CODEC_ERROR
- };
-
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- static const enum CodecID tc_lavc_internal_codecs[] = {
- CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO, CODEC_ID_MPEG4,
- CODEC_ID_H263I, CODEC_ID_H263P,
-@@ -177,6 +181,20 @@ static const enum CodecID tc_lavc_intern
- CODEC_ID_MSMPEG4V2, CODEC_ID_MSMPEG4V3,
- CODEC_ID_NONE
- };
-+#else
-+static const enum AVCodecID tc_lavc_internal_codecs[] = {
-+ AV_CODEC_ID_MPEG1VIDEO, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_MPEG4,
-+ AV_CODEC_ID_H263I, AV_CODEC_ID_H263P,
-+ AV_CODEC_ID_H264,
-+ AV_CODEC_ID_WMV1, AV_CODEC_ID_WMV2,
-+ AV_CODEC_ID_RV10,
-+ AV_CODEC_ID_HUFFYUV, AV_CODEC_ID_FFV1,
-+ AV_CODEC_ID_DVVIDEO,
-+ AV_CODEC_ID_MJPEG, AV_CODEC_ID_LJPEG,
-+ AV_CODEC_ID_MSMPEG4V2, AV_CODEC_ID_MSMPEG4V3,
-+ AV_CODEC_ID_NONE
-+};
-+#endif
-
- static const TCFormatID tc_lavc_formats[] = { TC_FORMAT_ERROR };
-
-@@ -938,7 +956,11 @@ static int tc_lavc_settings_from_vob(TCL
- static void tc_lavc_config_defaults(TCLavcPrivateData *pd)
- {
- /* first of all reinitialize lavc data */
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- avcodec_get_context_defaults(&pd->ff_vcontext);
-+#else
-+ avcodec_get_context_defaults3(&pd->ff_vcontext, NULL);
-+#endif
-
- pd->confdata.thread_count = 1;
-
-@@ -976,8 +998,8 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.mpeg_quant = 0;
- pd->ff_vcontext.rc_initial_cplx = 0.0;
- pd->ff_vcontext.rc_qsquish = 1.0;
-- pd->ff_vcontext.luma_elim_threshold = 0;
-- pd->ff_vcontext.chroma_elim_threshold = 0;
-+ pd->confdata.luma_elim_threshold = 0;
-+ pd->confdata.chroma_elim_threshold = 0;
- pd->ff_vcontext.strict_std_compliance = 0;
- pd->ff_vcontext.dct_algo = FF_DCT_AUTO;
- pd->ff_vcontext.idct_algo = FF_IDCT_AUTO;
-@@ -1001,7 +1023,7 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.intra_quant_bias = FF_DEFAULT_QUANT_BIAS;
- pd->ff_vcontext.inter_quant_bias = FF_DEFAULT_QUANT_BIAS;
- pd->ff_vcontext.noise_reduction = 0;
-- pd->ff_vcontext.quantizer_noise_shaping = 0;
-+ pd->confdata.quantizer_noise_shaping = 0;
- pd->ff_vcontext.flags = 0;
- }
-
-@@ -1033,7 +1055,6 @@ static void tc_lavc_dispatch_settings(TC
-
- pd->ff_vcontext.flags = 0;
- SET_FLAG(pd, mv0);
-- SET_FLAG(pd, cbp);
- SET_FLAG(pd, qpel);
- SET_FLAG(pd, naq);
- SET_FLAG(pd, ilme);
-@@ -1060,17 +1081,29 @@ static void tc_lavc_dispatch_settings(TC
- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
- }
- if (pd->confdata.flags.alt) {
-- av_dict_set(pd->ff_opts, "alternate_scan", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "alternate_scan", "1", 0);
- }
- if (pd->confdata.flags.vdpart) {
-- av_dict_set(pd->ff_opts, "data_partitioning", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "data_partitioning", "1", 0);
- }
- if (pd->confdata.flags.umv) {
-- av_dict_set(pd->ff_opts, "umv", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "umv", "1", 0);
- }
- if (pd->confdata.flags.aiv) {
-- av_dict_set(pd->ff_opts, "aiv", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "aiv", "1", 0);
- }
-+ if (pd->confdata.flags.cbp) {
-+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+cbp_rd", 0);
-+ }
-+
-+ char buf[1024];
-+#define set_dict_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%i", pd->confdata.val);\
-+ av_dict_set(&(pd->ff_opts), opt, buf, 0)
-+
-+ set_dict_opt(luma_elim_threshold, "luma_elim_threshold");
-+ set_dict_opt(chroma_elim_threshold, "chroma_elim_threshold");
-+ set_dict_opt(quantizer_noise_shaping, "quantizer_noise_shaping");
- }
-
- #undef SET_FLAG
-@@ -1155,8 +1188,8 @@ static int tc_lavc_read_config(TCLavcPri
- { "vrc_init_cplx", PCTX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
- // { "vrc_init_occupancy", }, // not yet supported
- { "vqsquish", PCTX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
-- { "vlelim", PCTX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-- { "vcelim", PCTX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-+ { "vlelim", PAUX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-+ { "vcelim", PAUX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vstrict", PCTX(strict_std_compliance), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vpsize", PCTX(rtp_payload_size), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000 },
- { "dct", PCTX(dct_algo), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
-@@ -1182,12 +1215,12 @@ static int tc_lavc_read_config(TCLavcPri
- { "ibias", PCTX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
- { "pbias", PCTX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
- { "nr", PCTX(noise_reduction), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
-- { "qns", PCTX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
-+ { "qns", PAUX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
- { "inter_matrix_file", inter_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
- { "intra_matrix_file", intra_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
-
- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
-- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD },
-+ { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
-@@ -1350,6 +1383,8 @@ static int tc_lavc_configure(TCModuleIns
-
- pd = self->userdata;
-
-+ pd->ff_opts = NULL;
-+
- pd->flush_flag = vob->encoder_flush;
-
- /* FIXME: move into core? */
-@@ -1402,7 +1437,7 @@ static int tc_lavc_configure(TCModuleIns
- }
-
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts);
-+ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, &(pd->ff_opts));
- TC_UNLOCK_LIBAVCODEC;
-
- if (ret < 0) {
-Index: transcode-1.1.7/export/export_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/export/export_ffmpeg.c
-+++ transcode-1.1.7/export/export_ffmpeg.c
-@@ -122,7 +122,7 @@ static uint8_t *img_buffer =
- static AVFrame *lavc_convert_frame = NULL;
-
- static AVCodec *lavc_venc_codec = NULL;
--static AVDictionary **lavc_venc_opts = NULL;
-+static AVDictionary *lavc_venc_opts = NULL;
- static AVFrame *lavc_venc_frame = NULL;
- static AVCodecContext *lavc_venc_context;
- static avi_t *avifile = NULL;
-@@ -486,7 +486,7 @@ MOD_init
- codec->name, codec->fourCC, codec->comments);
- }
-
-- lavc_venc_context = avcodec_alloc_context();
-+ lavc_venc_context = avcodec_alloc_context3(lavc_venc_codec);
- lavc_venc_frame = avcodec_alloc_frame();
-
- lavc_convert_frame= avcodec_alloc_frame();
-@@ -838,8 +838,13 @@ MOD_init
- lavc_venc_context->rc_strategy = lavc_param_vrc_strategy;
- lavc_venc_context->b_frame_strategy = lavc_param_vb_strategy;
- lavc_venc_context->b_quant_offset = lavc_param_vb_qoffset;
-- lavc_venc_context->luma_elim_threshold= lavc_param_luma_elim_threshold;
-- lavc_venc_context->chroma_elim_threshold= lavc_param_chroma_elim_threshold;
-+
-+ char buf[1024];
-+#define set_dict_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%i", val); \
-+ av_dict_set(&lavc_venc_opts, opt, buf, 0)
-+ set_dict_opt(lavc_param_luma_elim_threshold, "luma_elim_threshold");
-+ set_dict_opt(lavc_param_chroma_elim_threshold, "chroma_elim_threshold");
- lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- if (lavc_param_packet_size)
-@@ -870,7 +875,7 @@ MOD_init
- lavc_venc_context->context_model = lavc_param_context;
- lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
- lavc_venc_context->noise_reduction = lavc_param_noise_reduction;
-- lavc_venc_context->inter_threshold = lavc_param_inter_threshold;
-+ set_dict_opt(lavc_param_inter_threshold, "inter_threshold");
- lavc_venc_context->intra_dc_precision = lavc_param_intra_dc_precision;
- lavc_venc_context->skip_top = lavc_param_skip_top;
- lavc_venc_context->skip_bottom = lavc_param_skip_bottom;
-@@ -1066,9 +1071,11 @@ MOD_init
- lavc_venc_context->flags |= lavc_param_trunc;
- lavc_venc_context->flags |= lavc_param_aic;
- lavc_venc_context->flags |= lavc_param_v4mv;
-- lavc_venc_context->flags |= lavc_param_cbp;
-+ if(lavc_param_cbp)
-+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+cbp_rd", 0);
- lavc_venc_context->flags |= lavc_param_mv0;
-- lavc_venc_context->flags |= lavc_param_qp_rd;
-+ if(lavc_param_qp_rd)
-+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+qp_rd", 0);
- lavc_venc_context->flags |= lavc_param_ilme;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_venc_context->flags |= lavc_param_trell;
-@@ -1238,29 +1245,29 @@ MOD_init
- }
-
- if (lavc_param_scan_offset) {
-- av_dict_set(lavc_venc_opts, "scan_offset", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "scan_offset", "1", 0);
- }
-
- if (lavc_param_ss) {
-- av_dict_set(lavc_venc_opts, "structured_slices", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "structured_slices", "1", 0);
- }
-
- if (lavc_param_alt) {
-- av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "alternate_scan", "1", 0);
- }
-
- if (lavc_param_umv) {
-- av_dict_set(lavc_venc_opts, "umv", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "umv", "1", 0);
- }
-
- if (lavc_param_data_partitioning) {
-- av_dict_set(lavc_venc_opts, "vdpart", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "vdpart", "1", 0);
- }
-
- //-- open codec --
- //----------------
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts);
-+ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, &lavc_venc_opts);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_log_warn(MOD_NAME, "could not open FFMPEG codec");
-Index: transcode-1.1.7/export/ffmpeg_cfg.c
-===================================================================
---- transcode-1.1.7.orig/export/ffmpeg_cfg.c
-+++ transcode-1.1.7/export/ffmpeg_cfg.c
-@@ -214,10 +214,10 @@ TCConfigEntry lavcopts_conf[]={
- {"context", &lavc_param_context, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
- {"intra_matrix", &lavc_param_intra_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
- {"inter_matrix", &lavc_param_inter_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
-- {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD},
-+ {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0},
- {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
-- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
-+ {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
-Index: transcode-1.1.7/export/aud_aux.c
-===================================================================
---- transcode-1.1.7.orig/export/aud_aux.c
-+++ transcode-1.1.7/export/aud_aux.c
-@@ -326,10 +326,18 @@ static int tc_audio_init_ffmpeg(vob_t *vob, int o_codec)
-
- switch (o_codec) {
- case 0x50:
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- codeid = CODEC_ID_MP2;
-+#else
-+ codeid = AV_CODEC_ID_MP2;
-+#endif
- break;
- case 0x2000:
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- codeid = CODEC_ID_AC3;
-+#else
-+ codeid = AV_CODEC_ID_AC3;
-+#endif
- break;
- default:
- tc_warn("cannot init ffmpeg with %x", o_codec);
-@@ -346,7 +346,7 @@ static int tc_audio_init_ffmpeg(vob_t *v
-
- //-- set parameters (bitrate, channels and sample-rate) --
- //--------------------------------------------------------
-- avcodec_get_context_defaults(&mpa_ctx);
-+ avcodec_get_context_defaults3(&mpa_ctx, mpa_codec);
- #if LIBAVCODEC_VERSION_MAJOR < 53
- mpa_ctx.codec_type = CODEC_TYPE_AUDIO;
- #else
-@@ -359,7 +359,7 @@ static int tc_audio_init_ffmpeg(vob_t *v
- //-- open codec --
- //----------------
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(&mpa_ctx, mpa_codec);
-+ ret = avcodec_open2(&mpa_ctx, mpa_codec, NULL);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_warn("tc_audio_init_ffmpeg: could not open %s codec !",
-@@ -371,7 +371,12 @@ static int tc_audio_init_ffmpeg(vob_t *vob, int o_codec)
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_warn("tc_audio_init_ffmpeg: could not open %s codec !",
-- (codeid == CODEC_ID_MP2) ?"mpa" :"ac3");
-+#if LIBAVCODEC_VERSION_MAJOR < 55
-+ (codeid == CODEC_ID_MP2)
-+#else
-+ (codeid == AV_CODEC_ID_MP2)
-+#endif
-+ ?"mpa" :"ac3");
- return(TC_EXPORT_ERROR);
- }
-
-Index: transcode-1.1.7/import/import_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/import/import_ffmpeg.c
-+++ transcode-1.1.7/import/import_ffmpeg.c
-@@ -58,6 +58,7 @@ struct ffmpeg_codec {
- };
-
- // fourCC to ID mapping taken from MPlayer's codecs.conf
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- static struct ffmpeg_codec ffmpeg_codecs[] = {
- {CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
- {"MP41", "DIV1", ""}},
-@@ -106,6 +107,56 @@ static struct ffmpeg_codec ffmpeg_codecs[] = {
- {CODEC_ID_RAWVIDEO, TC_CODEC_YUV422P, "raw",
- {"Y42B", ""}},
- {0, TC_CODEC_UNKNOWN, NULL, {""}}};
-+#else
-+static struct ffmpeg_codec ffmpeg_codecs[] = {
-+ {AV_CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
-+ {"MP41", "DIV1", ""}},
-+ {AV_CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
-+ {"MP42", "DIV2", ""}},
-+ {AV_CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
-+ {"DIV3", "DIV5", "AP41", "MPG3", "MP43", ""}},
-+ {AV_CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
-+ {"DIVX", "XVID", "MP4S", "M4S2", "MP4V", "UMP4", "DX50", ""}},
-+ {AV_CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
-+ {"MJPG", "AVRN", "AVDJ", "JPEG", "MJPA", "JFIF", ""}},
-+ {AV_CODEC_ID_MPEG1VIDEO, TC_CODEC_MPG1, "mpeg1video",
-+ {"MPG1", ""}},
-+ {AV_CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
-+ {"DVSD", ""}},
-+ {AV_CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
-+ {"WMV1", ""}},
-+ {AV_CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
-+ {"WMV2", ""}},
-+ {AV_CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
-+ {"HFYU", ""}},
-+ {AV_CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
-+ {"I263", ""}},
-+ {AV_CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
-+ {"H263", "U263", "VIV1", ""}},
-+ {AV_CODEC_ID_H264, TC_CODEC_H264, "h264",
-+ {"H264", "h264", "X264", "x264", "avc1", ""}},
-+ {AV_CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
-+ {"RV10", "RV13", ""}},
-+ {AV_CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
-+ {"SVQ1", ""}},
-+ {AV_CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
-+ {"SVQ3", ""}},
-+ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
-+ {"MPG2", ""}},
-+ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG, "mpeg2video",
-+ {"MPG2", ""}},
-+ {AV_CODEC_ID_ASV1, TC_CODEC_ASV1, "asv1",
-+ {"ASV1", ""}},
-+ {AV_CODEC_ID_ASV2, TC_CODEC_ASV2, "asv2",
-+ {"ASV2", ""}},
-+ {AV_CODEC_ID_FFV1, TC_CODEC_FFV1, "ffv1",
-+ {"FFV1", ""}},
-+ {AV_CODEC_ID_RAWVIDEO, TC_CODEC_YUV420P, "raw",
-+ {"I420", "IYUV", ""}},
-+ {AV_CODEC_ID_RAWVIDEO, TC_CODEC_YUV422P, "raw",
-+ {"Y42B", ""}},
-+ {0, TC_CODEC_UNKNOWN, NULL, {""}}};
-+#endif
-
- #define BUFFER_SIZE SIZE_RGB_FRAME
-
-@@ -302,7 +302,7 @@ do_avi:
-
- // Set these to the expected values so that ffmpeg's decoder can
- // properly detect interlaced input.
-- lavc_dec_context = avcodec_alloc_context();
-+ lavc_dec_context = avcodec_alloc_context3(lavc_dec_codec);
- if (lavc_dec_context == NULL) {
- tc_log_error(MOD_NAME, "Could not allocate enough memory.");
- return TC_IMPORT_ERROR;
-@@ -324,6 +375,7 @@ do_avi:
- // XXX: some codecs need extra data
- switch (codec->id)
- {
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- case CODEC_ID_MJPEG: extra_data_size = 28; break;
- case CODEC_ID_LJPEG: extra_data_size = 28; break;
- case CODEC_ID_HUFFYUV: extra_data_size = 1000; break;
-@@ -331,6 +383,15 @@ do_avi:
- case CODEC_ID_ASV2: extra_data_size = 8; break;
- case CODEC_ID_WMV1: extra_data_size = 4; break;
- case CODEC_ID_WMV2: extra_data_size = 4; break;
-+#else
-+ case AV_CODEC_ID_MJPEG: extra_data_size = 28; break;
-+ case AV_CODEC_ID_LJPEG: extra_data_size = 28; break;
-+ case AV_CODEC_ID_HUFFYUV: extra_data_size = 1000; break;
-+ case AV_CODEC_ID_ASV1: extra_data_size = 8; break;
-+ case AV_CODEC_ID_ASV2: extra_data_size = 8; break;
-+ case AV_CODEC_ID_WMV1: extra_data_size = 4; break;
-+ case AV_CODEC_ID_WMV2: extra_data_size = 4; break;
-+#endif
- default: extra_data_size = 0; break;
- }
-
-@@ -344,7 +344,7 @@ do_avi:
- }
-
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(lavc_dec_context, lavc_dec_codec);
-+ ret = avcodec_open2(lavc_dec_context, lavc_dec_codec, NULL);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_log_warn(MOD_NAME, "Could not initialize the '%s' codec.",
-@@ -360,7 +421,11 @@ do_avi:
- frame_size = x_dim*y_dim + 2*UV_PLANE_SIZE(IMG_YUV_DEFAULT,x_dim,y_dim);
-
- // we adapt the color space
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- if(codec->id == CODEC_ID_MJPEG) {
-+#else
-+ if(codec->id == AV_CODEC_ID_MJPEG) {
-+#endif
- enable_levels_filter();
- }
- break;
-@@ -434,7 +499,11 @@ do_dv:
- }
-
- // we adapt the color space
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- if(codec->id == CODEC_ID_MJPEG) {
-+#else
-+ if(codec->id == AV_CODEC_ID_MJPEG) {
-+#endif
- enable_levels_filter();
- }
-
-@@ -504,13 +573,25 @@ MOD_decode {
- int bkey = 0;
-
- // check for keyframes
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- if (codec->id == CODEC_ID_MSMPEG4V3) {
-+#else
-+ if (codec->id == AV_CODEC_ID_MSMPEG4V3) {
-+#endif
- if (divx3_is_key(buffer)) bkey = 1;
- }
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- else if (codec->id == CODEC_ID_MPEG4) {
-+#else
-+ else if (codec->id == AV_CODEC_ID_MPEG4) {
-+#endif
- if (mpeg4_is_key(buffer, bytes_read)) bkey = 1;
- }
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- else if (codec->id == CODEC_ID_MJPEG) {
-+#else
-+ else if (codec->id == AV_CODEC_ID_MJPEG) {
-+#endif
- bkey = 1;
- }
-
---- a/import/decode_lavc.c
-+++ b/import/decode_lavc.c
-@@ -57,6 +57,7 @@ struct ffmpeg_codec {
- };
-
- // fourCC to ID mapping taken from MPlayer's codecs.conf
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- static struct ffmpeg_codec ffmpeg_codecs[] = {
- {CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
- {"MP41", "DIV1", ""}},
-@@ -91,6 +92,42 @@ static struct ffmpeg_codec ffmpeg_codecs[] = {
- {CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
- {"MPG2", ""}},
- {0, TC_CODEC_UNKNOWN, NULL, {""}}};
-+#else
-+static struct ffmpeg_codec ffmpeg_codecs[] = {
-+ {AV_CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
-+ {"MP41", "DIV1", ""}},
-+ {AV_CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
-+ {"MP42", "DIV2", ""}},
-+ {AV_CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
-+ {"DIV3", "DIV5", "AP41", "MPG3", "MP43", ""}},
-+ {AV_CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
-+ {"DIVX", "XVID", "MP4S", "M4S2", "MP4V", "UMP4", "DX50", ""}},
-+ {AV_CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
-+ {"MJPG", "AVRN", "AVDJ", "JPEG", "MJPA", "JFIF", ""}},
-+ {AV_CODEC_ID_MPEG1VIDEO, TC_CODEC_MPEG1VIDEO, "mpeg1video",
-+ {"MPG1", ""}},
-+ {AV_CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
-+ {"DVSD", ""}},
-+ {AV_CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
-+ {"WMV1", ""}},
-+ {AV_CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
-+ {"WMV2", ""}},
-+ {AV_CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
-+ {"HFYU", ""}},
-+ {AV_CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
-+ {"I263", ""}},
-+ {AV_CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
-+ {"H263", "U263", "VIV1", ""}},
-+ {AV_CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
-+ {"RV10", "RV13", ""}},
-+ {AV_CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
-+ {"SVQ1", ""}},
-+ {AV_CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
-+ {"SVQ3", ""}},
-+ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
-+ {"MPG2", ""}},
-+ {0, TC_CODEC_UNKNOWN, NULL, {""}}};
-+#endif
-
-
- static struct ffmpeg_codec *find_ffmpeg_codec_id(unsigned int transcode_id)
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg24.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg24.patch
deleted file mode 100644
index 57a91774ab..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg24.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=520190
-
-Index: transcode-1.1.7/import/probe_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/import/probe_ffmpeg.c
-+++ transcode-1.1.7/import/probe_ffmpeg.c
-@@ -120,7 +120,11 @@ void probe_ffmpeg(info_t *ipipe)
-
- translate_info(lavf_dmx_context, ipipe->probe_info);
-
-+#if LIBAVFORMAT_VERSION_INT > AV_VERSION_INT(53,25,0)
-+ avformat_close_input(&lavf_dmx_context);
-+#else
- av_close_input_file(lavf_dmx_context);
-+#endif
- return;
- }
-
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg29.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg29.patch
deleted file mode 100644
index 7901fc3cc3..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg29.patch
+++ /dev/null
@@ -1,352 +0,0 @@
-Index: transcode-1.1.7/encode/encode_lavc.c
-===================================================================
---- transcode-1.1.7.orig/encode/encode_lavc.c
-+++ transcode-1.1.7/encode/encode_lavc.c
-@@ -233,7 +233,7 @@ static void pre_encode_video_yuv420p(TCL
- vframe_list_t *vframe)
- {
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, vframe->video_buf,
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- }
-
-@@ -247,7 +247,7 @@ static void pre_encode_video_yuv420p_huf
- IMG_YUV_DEFAULT,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, pd->vframe_buf->video_buf,
-- PIX_FMT_YUV422P,
-+ AV_PIX_FMT_YUV422P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- ac_imgconvert(src, IMG_YUV_DEFAULT,
- pd->ff_venc_frame.data, IMG_YUV422P,
-@@ -263,7 +263,7 @@ static void pre_encode_video_yuv422p(TCL
- IMG_YUV422P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, pd->vframe_buf->video_buf,
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- ac_imgconvert(src, IMG_YUV422P,
- pd->ff_venc_frame.data, IMG_YUV420P,
-@@ -275,7 +275,7 @@ static void pre_encode_video_yuv422p_huf
- vframe_list_t *vframe)
- {
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, vframe->video_buf,
-- PIX_FMT_YUV422P,
-+ AV_PIX_FMT_YUV422P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
-
- }
-@@ -285,7 +285,7 @@ static void pre_encode_video_rgb24(TCLav
- vframe_list_t *vframe)
- {
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, pd->vframe_buf->video_buf,
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- ac_imgconvert(&vframe->video_buf, IMG_RGB_DEFAULT,
- pd->ff_venc_frame.data, IMG_YUV420P,
-@@ -610,21 +610,21 @@ static int tc_lavc_set_pix_fmt(TCLavcPri
- case CODEC_YUV:
- if (TC_VCODEC_ID(pd) == TC_CODEC_HUFFYUV) {
- pd->tc_pix_fmt = TC_CODEC_YUV422P;
-- pd->ff_vcontext.pix_fmt = PIX_FMT_YUV422P;
-+ pd->ff_vcontext.pix_fmt = AV_PIX_FMT_YUV422P;
- pd->pre_encode_video = pre_encode_video_yuv420p_huffyuv;
- } else {
- pd->tc_pix_fmt = TC_CODEC_YUV420P;
- pd->ff_vcontext.pix_fmt = (TC_VCODEC_ID(pd) == TC_CODEC_MJPEG)
-- ? PIX_FMT_YUVJ420P
-- : PIX_FMT_YUV420P;
-+ ? AV_PIX_FMT_YUVJ420P
-+ : AV_PIX_FMT_YUV420P;
- pd->pre_encode_video = pre_encode_video_yuv420p;
- }
- break;
- case CODEC_YUV422:
- pd->tc_pix_fmt = TC_CODEC_YUV422P;
- pd->ff_vcontext.pix_fmt = (TC_VCODEC_ID(pd) == TC_CODEC_MJPEG)
-- ? PIX_FMT_YUVJ422P
-- : PIX_FMT_YUV422P;
-+ ? AV_PIX_FMT_YUVJ422P
-+ : AV_PIX_FMT_YUV422P;
- if (TC_VCODEC_ID(pd) == TC_CODEC_HUFFYUV) {
- pd->pre_encode_video = pre_encode_video_yuv422p_huffyuv;
- } else {
-@@ -634,10 +634,10 @@ static int tc_lavc_set_pix_fmt(TCLavcPri
- case CODEC_RGB:
- pd->tc_pix_fmt = TC_CODEC_RGB;
- pd->ff_vcontext.pix_fmt = (TC_VCODEC_ID(pd) == TC_CODEC_HUFFYUV)
-- ? PIX_FMT_YUV422P
-+ ? AV_PIX_FMT_YUV422P
- : (TC_VCODEC_ID(pd) == TC_CODEC_MJPEG)
-- ? PIX_FMT_YUVJ420P
-- : PIX_FMT_YUV420P;
-+ ? AV_PIX_FMT_YUVJ420P
-+ : AV_PIX_FMT_YUV420P;
- pd->pre_encode_video = pre_encode_video_rgb24;
- break;
- default:
-@@ -1390,7 +1390,7 @@ static int tc_lavc_configure(TCModuleIns
- /* FIXME: move into core? */
- TC_INIT_LIBAVCODEC;
-
-- avcodec_get_frame_defaults(&pd->ff_venc_frame);
-+ av_frame_unref(&pd->ff_venc_frame);
- /*
- * auxiliary config data needs to be blanked too
- * before any other operation
-@@ -1523,6 +1523,8 @@ static int tc_lavc_encode_video(TCModule
- vframe_list_t *outframe)
- {
- TCLavcPrivateData *pd = NULL;
-+ AVPacket pkt;
-+ int ret, got_packet = 0;
-
- TC_MODULE_SELF_CHECK(self, "encode_video");
-
-@@ -1537,12 +1539,15 @@ static int tc_lavc_encode_video(TCModule
-
- pd->pre_encode_video(pd, inframe);
-
-+ av_init_packet(&pkt);
-+ pkt.data = outframe->video_buf;
-+ pkt.size = inframe->video_size;
-+
- TC_LOCK_LIBAVCODEC;
-- outframe->video_len = avcodec_encode_video(&pd->ff_vcontext,
-- outframe->video_buf,
-- inframe->video_size,
-- &pd->ff_venc_frame);
-+ ret = avcodec_encode_video2(&pd->ff_vcontext, &pkt,
-+ &pd->ff_venc_frame, &got_packet);
- TC_UNLOCK_LIBAVCODEC;
-+ outframe->video_len = ret ? ret : pkt.size;
-
- if (outframe->video_len < 0) {
- tc_log_warn(MOD_NAME, "encoder error: size (%i)",
-Index: transcode-1.1.7/export/export_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/export/export_ffmpeg.c
-+++ transcode-1.1.7/export/export_ffmpeg.c
-@@ -250,9 +250,9 @@ int opt_default(const char *opt, const c
- for(type=0; type<AVMEDIA_TYPE_NB && ret>= 0; type++){
- /* GLUE: +if */
- if (type == AVMEDIA_TYPE_VIDEO) {
-- const AVOption *o2 = av_find_opt(avcodec_opts[0], opt, NULL, opt_types[type], opt_types[type]);
-- if(o2)
-- ret = av_set_string3(avcodec_opts[type], opt, arg, 1, &o);
-+ o = av_opt_find(avcodec_opts[0], opt, NULL, opt_types[type], opt_types[type]);
-+ if(o)
-+ ret = av_opt_set(avcodec_opts[type], opt, arg, 0);
- /* GLUE: +if */
- }
- }
-@@ -267,7 +267,10 @@ int opt_default(const char *opt, const c
- if(opt[0] == 'a')
- ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_AUDIO], opt+1, arg, 1, &o);
- else */ if(opt[0] == 'v')
-- ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, arg, 1, &o);
-+ {
-+ o = av_opt_find(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, NULL, 0, 0);
-+ ret = av_opt_set(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, arg, 0);
-+ }
- /* GLUE: disabling
- else if(opt[0] == 's')
- ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_SUBTITLE], opt+1, arg, 1, &o);
-@@ -487,10 +490,10 @@ MOD_init
- }
-
- lavc_venc_context = avcodec_alloc_context3(lavc_venc_codec);
-- lavc_venc_frame = avcodec_alloc_frame();
-+ lavc_venc_frame = av_frame_alloc();
-
-- lavc_convert_frame= avcodec_alloc_frame();
-- size = avpicture_get_size(PIX_FMT_RGB24, vob->ex_v_width, vob->ex_v_height);
-+ lavc_convert_frame= av_frame_alloc();
-+ size = avpicture_get_size(AV_PIX_FMT_RGB24, vob->ex_v_width, vob->ex_v_height);
- enc_buffer = tc_malloc(size);
-
- if (lavc_venc_context == NULL || !enc_buffer || !lavc_convert_frame) {
-@@ -1114,7 +1117,7 @@ MOD_init
- lavc_venc_context->prediction_method = lavc_param_prediction_method;
-
- if(is_huffyuv)
-- lavc_venc_context->pix_fmt = PIX_FMT_YUV422P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUV422P;
- else
- {
- switch(pix_fmt)
-@@ -1123,18 +1126,18 @@ MOD_init
- case CODEC_RGB:
- {
- if(is_mjpeg)
-- lavc_venc_context->pix_fmt = PIX_FMT_YUVJ420P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUVJ420P;
- else
-- lavc_venc_context->pix_fmt = PIX_FMT_YUV420P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUV420P;
- break;
- }
-
- case CODEC_YUV422:
- {
- if(is_mjpeg)
-- lavc_venc_context->pix_fmt = PIX_FMT_YUVJ422P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUVJ422P;
- else
-- lavc_venc_context->pix_fmt = PIX_FMT_YUV422P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUV422P;
- break;
- }
-
-@@ -1596,6 +1599,8 @@ MOD_encode
-
- int out_size;
- const char pict_type_char[5]= {'?', 'I', 'P', 'B', 'S'};
-+ AVPacket pkt;
-+ int ret, got_packet = 0;
-
- if (param->flag == TC_VIDEO) {
-
-@@ -1620,7 +1625,7 @@ MOD_encode
- YUV_INIT_PLANES(src, param->buffer, IMG_YUV_DEFAULT,
- lavc_venc_context->width, lavc_venc_context->height);
- avpicture_fill((AVPicture *)lavc_venc_frame, img_buffer,
-- PIX_FMT_YUV422P, lavc_venc_context->width,
-+ AV_PIX_FMT_YUV422P, lavc_venc_context->width,
- lavc_venc_context->height);
- /* FIXME: can't use tcv_convert (see decode_lavc.c) */
- ac_imgconvert(src, IMG_YUV_DEFAULT,
-@@ -1650,7 +1655,7 @@ MOD_encode
- lavc_venc_context->width,
- lavc_venc_context->height);
- avpicture_fill((AVPicture *)lavc_venc_frame, img_buffer,
-- PIX_FMT_YUV420P, lavc_venc_context->width,
-+ AV_PIX_FMT_YUV420P, lavc_venc_context->width,
- lavc_venc_context->height);
- ac_imgconvert(src, IMG_YUV422P,
- lavc_venc_frame->data, IMG_YUV420P,
-@@ -1661,7 +1666,7 @@ MOD_encode
-
- case CODEC_RGB:
- avpicture_fill((AVPicture *)lavc_venc_frame, img_buffer,
-- PIX_FMT_YUV420P, lavc_venc_context->width,
-+ AV_PIX_FMT_YUV420P, lavc_venc_context->width,
- lavc_venc_context->height);
- ac_imgconvert(&param->buffer, IMG_RGB_DEFAULT,
- lavc_venc_frame->data, IMG_YUV420P,
-@@ -1674,13 +1679,17 @@ MOD_encode
- return TC_EXPORT_ERROR;
- }
-
-+ av_init_packet(&pkt);
-+ pkt.data = enc_buffer;
-+ pkt.size = size;
-
- TC_LOCK_LIBAVCODEC;
-- out_size = avcodec_encode_video(lavc_venc_context,
-- enc_buffer, size,
-- lavc_venc_frame);
-+ ret = avcodec_encode_video2(lavc_venc_context, &pkt,
-+ lavc_venc_frame, &got_packet);
- TC_UNLOCK_LIBAVCODEC;
-
-+ out_size = ret ? ret : pkt.size;
-+
- if (out_size < 0) {
- tc_log_warn(MOD_NAME, "encoder error: size (%d)", out_size);
- return TC_EXPORT_ERROR;
-Index: transcode-1.1.7/import/decode_lavc.c
-===================================================================
---- transcode-1.1.7.orig/import/decode_lavc.c
-+++ transcode-1.1.7/import/decode_lavc.c
-@@ -327,8 +327,8 @@ void decode_lavc(decode_t *decode)
-
- // Convert avcodec image to the requested YUV or RGB format
- switch (lavc_dec_context->pix_fmt) {
-- case PIX_FMT_YUVJ420P:
-- case PIX_FMT_YUV420P:
-+ case AV_PIX_FMT_YUVJ420P:
-+ case AV_PIX_FMT_YUV420P:
- // Remove "dead space" at right edge of planes, if any
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
-@@ -352,7 +352,7 @@ void decode_lavc(decode_t *decode)
- pix_fmt==TC_CODEC_YUV420P ? IMG_YUV420P : IMG_RGB_DEFAULT,
- lavc_dec_context->width, lavc_dec_context->height);
- break;
-- case PIX_FMT_YUV411P:
-+ case AV_PIX_FMT_YUV411P:
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
- for (y = 0; y < lavc_dec_context->height; y++) {
-@@ -371,8 +371,8 @@ void decode_lavc(decode_t *decode)
- pix_fmt==TC_CODEC_YUV420P ? IMG_YUV420P : IMG_RGB_DEFAULT,
- lavc_dec_context->width, lavc_dec_context->height);
- break;
-- case PIX_FMT_YUVJ422P:
-- case PIX_FMT_YUV422P:
-+ case AV_PIX_FMT_YUVJ422P:
-+ case AV_PIX_FMT_YUV422P:
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
- for (y = 0; y < lavc_dec_context->height; y++) {
-@@ -391,8 +391,8 @@ void decode_lavc(decode_t *decode)
- pix_fmt==TC_CODEC_YUV420P ? IMG_YUV420P : IMG_RGB_DEFAULT,
- lavc_dec_context->width, lavc_dec_context->height);
- break;
-- case PIX_FMT_YUVJ444P:
-- case PIX_FMT_YUV444P:
-+ case AV_PIX_FMT_YUVJ444P:
-+ case AV_PIX_FMT_YUV444P:
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
- for (y = 0; y < lavc_dec_context->height; y++) {
-Index: transcode-1.1.7/import/import_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/import/import_ffmpeg.c
-+++ transcode-1.1.7/import/import_ffmpeg.c
-@@ -661,8 +661,8 @@ retry:
-
- // Convert avcodec image to our internal YUV or RGB format
- switch (lavc_dec_context->pix_fmt) {
-- case PIX_FMT_YUVJ420P:
-- case PIX_FMT_YUV420P:
-+ case AV_PIX_FMT_YUVJ420P:
-+ case AV_PIX_FMT_YUV420P:
- src_fmt = IMG_YUV420P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
-@@ -693,7 +693,7 @@ retry:
- }
- break;
-
-- case PIX_FMT_YUV411P:
-+ case AV_PIX_FMT_YUV411P:
- src_fmt = IMG_YUV411P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
-@@ -721,8 +721,8 @@ retry:
- }
- break;
-
-- case PIX_FMT_YUVJ422P:
-- case PIX_FMT_YUV422P:
-+ case AV_PIX_FMT_YUVJ422P:
-+ case AV_PIX_FMT_YUV422P:
- src_fmt = IMG_YUV422P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
-@@ -750,8 +750,8 @@ retry:
- }
- break;
-
-- case PIX_FMT_YUVJ444P:
-- case PIX_FMT_YUV444P:
-+ case AV_PIX_FMT_YUVJ444P:
-+ case AV_PIX_FMT_YUV444P:
- src_fmt = IMG_YUV444P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg4.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg4.patch
deleted file mode 100644
index 9ad765e1c3..0000000000
--- a/multimedia/transcode/transcode-1.1.7-ffmpeg4.patch
+++ /dev/null
@@ -1,508 +0,0 @@
-Index: transcode-1.1.7/encode/encode_lavc.c
-===================================================================
---- transcode-1.1.7.orig/encode/encode_lavc.c
-+++ transcode-1.1.7/encode/encode_lavc.c
-@@ -77,6 +77,13 @@ struct tclavcconfigdata_ {
- int luma_elim_threshold;
- int chroma_elim_threshold;
- int quantizer_noise_shaping;
-+ int inter_quant_bias;
-+ int intra_quant_bias;
-+ int scenechange_factor;
-+ int rc_strategy;
-+ float rc_initial_cplx;
-+ float rc_qsquish;
-+ float border_masking;
-
- /* same as above for flags */
- struct {
-@@ -684,7 +691,7 @@ static int tc_lavc_init_multipass(TCLavc
- switch (vob->divxmultipass) {
- case 1:
- CAN_DO_MULTIPASS(multipass_flag);
-- pd->ff_vcontext.flags |= CODEC_FLAG_PASS1;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_PASS1;
- pd->stats_file = fopen(vob->divxlogfile, "w");
- if (pd->stats_file == NULL) {
- tc_log_error(MOD_NAME, "could not create 2pass log file"
-@@ -694,7 +701,7 @@ static int tc_lavc_init_multipass(TCLavc
- break;
- case 2:
- CAN_DO_MULTIPASS(multipass_flag);
-- pd->ff_vcontext.flags |= CODEC_FLAG_PASS2;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_PASS2;
- pd->stats_file = fopen(vob->divxlogfile, "r");
- if (pd->stats_file == NULL){
- tc_log_error(MOD_NAME, "could not open 2pass log file \"%s\""
-@@ -723,7 +730,7 @@ static int tc_lavc_init_multipass(TCLavc
- break;
- case 3:
- /* fixed qscale :p */
-- pd->ff_vcontext.flags |= CODEC_FLAG_QSCALE;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_QSCALE;
- pd->ff_venc_frame.quality = vob->divxbitrate;
- break;
- }
-@@ -970,7 +977,7 @@ static void tc_lavc_config_defaults(TCLa
- pd->confdata.rc_buffer_size = 0;
- pd->confdata.lmin = 2;
- pd->confdata.lmax = 31;
-- pd->confdata.me_method = ME_EPZS;
-+ pd->confdata.me_method = 0;
-
- memset(&pd->confdata.flags, 0, sizeof(pd->confdata.flags));
- pd->confdata.turbo_setup = 0;
-@@ -983,12 +990,12 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.me_range = 0;
- pd->ff_vcontext.mb_decision = 0;
- pd->ff_vcontext.scenechange_threshold = 0;
-- pd->ff_vcontext.scenechange_factor = 1;
-+ pd->confdata.scenechange_factor = 1;
- pd->ff_vcontext.b_frame_strategy = 0;
- pd->ff_vcontext.b_sensitivity = 40;
- pd->ff_vcontext.brd_scale = 0;
- pd->ff_vcontext.bidir_refine = 0;
-- pd->ff_vcontext.rc_strategy = 2;
-+ pd->confdata.rc_strategy = 2;
- pd->ff_vcontext.b_quant_factor = 1.25;
- pd->ff_vcontext.i_quant_factor = 0.8;
- pd->ff_vcontext.b_quant_offset = 1.25;
-@@ -996,8 +1003,8 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.qblur = 0.5;
- pd->ff_vcontext.qcompress = 0.5;
- pd->ff_vcontext.mpeg_quant = 0;
-- pd->ff_vcontext.rc_initial_cplx = 0.0;
-- pd->ff_vcontext.rc_qsquish = 1.0;
-+ pd->confdata.rc_initial_cplx = 0.0;
-+ pd->confdata.rc_qsquish = 1.0;
- pd->confdata.luma_elim_threshold = 0;
- pd->confdata.chroma_elim_threshold = 0;
- pd->ff_vcontext.strict_std_compliance = 0;
-@@ -1008,7 +1015,7 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.temporal_cplx_masking = 0.0;
- pd->ff_vcontext.spatial_cplx_masking = 0.0;
- pd->ff_vcontext.p_masking = 0.0;
-- pd->ff_vcontext.border_masking = 0.0;
-+ pd->confdata.border_masking = 0.0;
- pd->ff_vcontext.me_pre_cmp = 0;
- pd->ff_vcontext.me_cmp = 0;
- pd->ff_vcontext.me_sub_cmp = 0;
-@@ -1020,8 +1027,6 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.pre_me = 1;
- pd->ff_vcontext.me_subpel_quality = 8;
- pd->ff_vcontext.refs = 1;
-- pd->ff_vcontext.intra_quant_bias = FF_DEFAULT_QUANT_BIAS;
-- pd->ff_vcontext.inter_quant_bias = FF_DEFAULT_QUANT_BIAS;
- pd->ff_vcontext.noise_reduction = 0;
- pd->confdata.quantizer_noise_shaping = 0;
- pd->ff_vcontext.flags = 0;
-@@ -1044,19 +1049,19 @@ static void tc_lavc_config_defaults(TCLa
- */
- static void tc_lavc_dispatch_settings(TCLavcPrivateData *pd)
- {
-+ char buf[1024];
- /* some translation... */
- pd->ff_vcontext.bit_rate_tolerance = pd->confdata.vrate_tolerance * 1000;
- pd->ff_vcontext.rc_min_rate = pd->confdata.rc_min_rate * 1000;
- pd->ff_vcontext.rc_max_rate = pd->confdata.rc_max_rate * 1000;
- pd->ff_vcontext.rc_buffer_size = pd->confdata.rc_buffer_size * 1024;
-- pd->ff_vcontext.lmin = (int)(FF_QP2LAMBDA * pd->confdata.lmin + 0.5);
-- pd->ff_vcontext.lmax = (int)(FF_QP2LAMBDA * pd->confdata.lmax + 0.5);
-- pd->ff_vcontext.me_method = ME_ZERO + pd->confdata.me_method;
-+ snprintf(buf, sizeof(buf), "%i", (int)(FF_QP2LAMBDA * pd->confdata.lmin + 0.5));
-+ av_dict_set(&(pd->ff_opts), "lmin", buf, 0);
-+ snprintf(buf, sizeof(buf), "%i", (int)(FF_QP2LAMBDA * pd->confdata.lmax + 0.5));
-+ av_dict_set(&(pd->ff_opts), "lmax", buf, 0);
-
- pd->ff_vcontext.flags = 0;
-- SET_FLAG(pd, mv0);
- SET_FLAG(pd, qpel);
-- SET_FLAG(pd, naq);
- SET_FLAG(pd, ilme);
- SET_FLAG(pd, ildct);
- SET_FLAG(pd, aic);
-@@ -1077,8 +1082,8 @@ static void tc_lavc_dispatch_settings(TC
- }
- if (pd->interlacing.active) {
- /* enforce interlacing */
-- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT;
-- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_INTERLACED_DCT;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_INTERLACED_ME;
- }
- if (pd->confdata.flags.alt) {
- av_dict_set(&(pd->ff_opts), "alternate_scan", "1", 0);
-@@ -1095,15 +1100,31 @@ static void tc_lavc_dispatch_settings(TC
- if (pd->confdata.flags.cbp) {
- av_dict_set(&(pd->ff_opts), "mpv_flags", "+cbp_rd", 0);
- }
-+ if (pd->confdata.flags.mv0) {
-+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+mv0", 0);
-+ }
-+ if (pd->confdata.flags.naq) {
-+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+naq", 0);
-+ }
-
-- char buf[1024];
- #define set_dict_opt(val, opt) \
- snprintf(buf, sizeof(buf), "%i", pd->confdata.val);\
- av_dict_set(&(pd->ff_opts), opt, buf, 0)
-+#define set_dict_float_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%f", pd->confdata.val);\
-+ av_dict_set(&(pd->ff_opts), opt, buf, 0)
-
- set_dict_opt(luma_elim_threshold, "luma_elim_threshold");
- set_dict_opt(chroma_elim_threshold, "chroma_elim_threshold");
- set_dict_opt(quantizer_noise_shaping, "quantizer_noise_shaping");
-+ set_dict_opt(inter_quant_bias, "pbias");
-+ set_dict_opt(intra_quant_bias, "ibias");
-+ set_dict_opt(me_method, "me_method");
-+ set_dict_opt(scenechange_factor, "sc_factor");
-+ set_dict_opt(rc_strategy, "rc_strategy");
-+ set_dict_float_opt(rc_initial_cplx, "rc_init_cplx");
-+ set_dict_float_opt(rc_qsquish, "qsquish");
-+ set_dict_float_opt(border_masking, "border_mask");
- }
-
- #undef SET_FLAG
-@@ -1159,12 +1180,12 @@ static int tc_lavc_read_config(TCLavcPri
- { "lmin", PAUX(lmin), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
- { "lmax", PAUX(lmax), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
- { "vqdiff", PCTX(max_qdiff), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31 },
-- { "vmax_b_frames", PCTX(max_b_frames), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, FF_MAX_B_FRAMES },
-+ { "vmax_b_frames", PCTX(max_b_frames), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, INT_MAX },
- { "vme", PAUX(me_method), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16, },
- { "me_range", PCTX(me_range), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16000 },
- { "mbd", PCTX(mb_decision), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
- { "sc_threshold", PCTX(scenechange_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000 },
-- { "sc_factor", PCTX(scenechange_factor), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16 },
-+ { "sc_factor", PAUX(scenechange_factor), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16 },
- { "vb_strategy", PCTX(b_frame_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
- { "b_sensitivity", PCTX(b_sensitivity), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 100 },
- { "brd_scale", PCTX(brd_scale), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
-@@ -1175,7 +1196,7 @@ static int tc_lavc_read_config(TCLavcPri
- { "vrc_maxrate", PAUX(rc_max_rate), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 24000000 },
- { "vrc_minrate", PAUX(rc_min_rate), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 24000000 },
- { "vrc_buf_size", PAUX(rc_buffer_size), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 4, 24000000 },
-- { "vrc_strategy", PCTX(rc_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2 },
-+ { "vrc_strategy", PAUX(rc_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2 },
- { "vb_qfactor", PCTX(b_quant_factor), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0 },
- { "vi_qfactor", PCTX(i_quant_factor), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0 },
- { "vb_qoffset", PCTX(b_quant_offset), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0 },
-@@ -1185,9 +1206,9 @@ static int tc_lavc_read_config(TCLavcPri
- { "mpeg_quant", PCTX(mpeg_quant), TCCONF_TYPE_FLAG, 0, 0, 1 },
- // { "vrc_eq", }, // not yet supported
- { "vrc_override", rc_override_buf, TCCONF_TYPE_STRING, 0, 0, 0 },
-- { "vrc_init_cplx", PCTX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
-+ { "vrc_init_cplx", PAUX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
- // { "vrc_init_occupancy", }, // not yet supported
-- { "vqsquish", PCTX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
-+ { "vqsquish", PAUX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
- { "vlelim", PAUX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vcelim", PAUX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vstrict", PCTX(strict_std_compliance), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-@@ -1199,7 +1220,7 @@ static int tc_lavc_read_config(TCLavcPri
- { "tcplx_mask", PCTX(temporal_cplx_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
- { "scplx_mask", PCTX(spatial_cplx_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
- { "p_mask", PCTX(p_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
-- { "border_mask", PCTX(border_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
-+ { "border_mask", PAUX(border_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
- { "pred", PCTX(prediction_method), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 4 },
- { "precmp", PCTX(me_pre_cmp), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000 },
- { "cmp", PCTX(me_cmp), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000 },
-@@ -1212,37 +1233,37 @@ static int tc_lavc_read_config(TCLavcPri
- { "pre_me", PCTX(pre_me), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- { "subq", PCTX(me_subpel_quality), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 8 },
- { "refs", PCTX(refs), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 8 },
-- { "ibias", PCTX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
-- { "pbias", PCTX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
-+ { "ibias", PAUX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
-+ { "pbias", PAUX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
- { "nr", PCTX(noise_reduction), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
- { "qns", PAUX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
- { "inter_matrix_file", inter_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
- { "intra_matrix_file", intra_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
-
-- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
-+ { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, 1 },
-- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
-+ { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_QPEL },
- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
-- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
-- { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT },
-- { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP },
-+ { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_ME },
-+ { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_DCT },
-+ { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC },
- #else
-- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED },
-+ { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_AC_PRED },
- #endif
- { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 },
-- { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR },
-+ { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_PSNR },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT },
- #else
- { "trell", PCTX(trellis), TCCONF_TYPE_FLAG, 0, 0, 1 },
- #endif
-- { "gray", PAUX(flags.gray), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY },
-- { "v4mv", PAUX(flags.v4mv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_4MV },
-- { "closedgop", PAUX(flags.closedgop), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CLOSED_GOP },
-+ { "gray", PAUX(flags.gray), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_GRAY },
-+ { "v4mv", PAUX(flags.v4mv), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_4MV },
-+ { "closedgop", PAUX(flags.closedgop), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_CLOSED_GOP },
-
- // { "turbo", PAUX(turbo_setup), TCCONF_TYPE_FLAG, 0, 0, 1 }, // not yet supported
- /* End of the config file */
-Index: transcode-1.1.7/export/export_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/export/export_ffmpeg.c
-+++ transcode-1.1.7/export/export_ffmpeg.c
-@@ -831,14 +831,11 @@ MOD_init
-
- lavc_venc_context->bit_rate = vob->divxbitrate * 1000;
- lavc_venc_context->bit_rate_tolerance = lavc_param_vrate_tolerance * 1000;
-- lavc_venc_context->lmin= (int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5);
-- lavc_venc_context->lmax= (int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5);
- lavc_venc_context->max_qdiff = lavc_param_vqdiff;
- lavc_venc_context->qcompress = lavc_param_vqcompress;
- lavc_venc_context->qblur = lavc_param_vqblur;
- lavc_venc_context->max_b_frames = lavc_param_vmax_b_frames;
- lavc_venc_context->b_quant_factor = lavc_param_vb_qfactor;
-- lavc_venc_context->rc_strategy = lavc_param_vrc_strategy;
- lavc_venc_context->b_frame_strategy = lavc_param_vb_strategy;
- lavc_venc_context->b_quant_offset = lavc_param_vb_qoffset;
-
-@@ -846,8 +843,23 @@ MOD_init
- #define set_dict_opt(val, opt) \
- snprintf(buf, sizeof(buf), "%i", val); \
- av_dict_set(&lavc_venc_opts, opt, buf, 0)
-+#define set_dict_float_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%f", val); \
-+ av_dict_set(&lavc_venc_opts, opt, buf, 0)
- set_dict_opt(lavc_param_luma_elim_threshold, "luma_elim_threshold");
- set_dict_opt(lavc_param_chroma_elim_threshold, "chroma_elim_threshold");
-+ set_dict_opt((int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5), "lmin");
-+ set_dict_opt((int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5), "lmax");
-+ set_dict_opt(lavc_param_vrc_strategy, "rc_strategy");
-+ set_dict_float_opt(lavc_param_rc_qsquish, "qsquish");
-+ set_dict_float_opt(lavc_param_rc_qmod_amp, "rc_qmod_amp");
-+ set_dict_opt(lavc_param_rc_qmod_freq, "rc_qmod_freq");
-+ set_dict_opt(lavc_param_rc_eq, "rc_eq");
-+ set_dict_opt(lavc_param_vme, "me_method");
-+ set_dict_opt(lavc_param_ibias, "ibias");
-+ set_dict_opt(lavc_param_pbias, "pbias");
-+ set_dict_float_opt(lavc_param_rc_buffer_aggressivity, "rc_buf_aggressivity");
-+ set_dict_float_opt(lavc_param_rc_initial_cplx, "rc_init_cplx");
- lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- if (lavc_param_packet_size)
-@@ -856,15 +868,9 @@ MOD_init
- lavc_venc_context->strict_std_compliance= lavc_param_strict;
- lavc_venc_context->i_quant_factor = lavc_param_vi_qfactor;
- lavc_venc_context->i_quant_offset = lavc_param_vi_qoffset;
-- lavc_venc_context->rc_qsquish = lavc_param_rc_qsquish;
-- lavc_venc_context->rc_qmod_amp = lavc_param_rc_qmod_amp;
-- lavc_venc_context->rc_qmod_freq = lavc_param_rc_qmod_freq;
-- lavc_venc_context->rc_eq = lavc_param_rc_eq;
- lavc_venc_context->rc_max_rate = lavc_param_rc_max_rate * 1000;
- lavc_venc_context->rc_min_rate = lavc_param_rc_min_rate * 1000;
- lavc_venc_context->rc_buffer_size = lavc_param_rc_buffer_size * 1024;
-- lavc_venc_context->rc_buffer_aggressivity= lavc_param_rc_buffer_aggressivity;
-- lavc_venc_context->rc_initial_cplx = lavc_param_rc_initial_cplx;
- lavc_venc_context->debug = lavc_param_debug;
- lavc_venc_context->last_predictor_count= lavc_param_last_pred;
- lavc_venc_context->pre_me = lavc_param_pre_me;
-@@ -872,8 +878,6 @@ MOD_init
- lavc_venc_context->pre_dia_size = lavc_param_pre_dia_size;
- lavc_venc_context->me_subpel_quality = lavc_param_me_subpel_quality;
- lavc_venc_context->me_range = lavc_param_me_range;
-- lavc_venc_context->intra_quant_bias = lavc_param_ibias;
-- lavc_venc_context->inter_quant_bias = lavc_param_pbias;
- lavc_venc_context->coder_type = lavc_param_coder;
- lavc_venc_context->context_model = lavc_param_context;
- lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
-@@ -1079,6 +1083,8 @@ MOD_init
- lavc_venc_context->flags |= lavc_param_mv0;
- if(lavc_param_qp_rd)
- av_dict_set(&lavc_venc_opts, "mpv_flags", "+qp_rd", 0);
-+ if (lavc_param_normalize_aqp)
-+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+naq", 0);
- lavc_venc_context->flags |= lavc_param_ilme;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_venc_context->flags |= lavc_param_trell;
-@@ -1087,9 +1093,7 @@ MOD_init
- #endif
-
- if (lavc_param_gray)
-- lavc_venc_context->flags |= CODEC_FLAG_GRAY;
-- if (lavc_param_normalize_aqp)
-- lavc_venc_context->flags |= CODEC_FLAG_NORMALIZE_AQP;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_GRAY;
-
- switch(vob->encode_fields) {
- case TC_ENCODE_FIELDS_TOP_FIRST:
-@@ -1107,9 +1111,9 @@ MOD_init
- }
-
- lavc_venc_context->flags |= interlacing_active ?
-- CODEC_FLAG_INTERLACED_DCT : 0;
-+ AV_CODEC_FLAG_INTERLACED_DCT : 0;
- lavc_venc_context->flags |= interlacing_active ?
-- CODEC_FLAG_INTERLACED_ME : 0;
-+ AV_CODEC_FLAG_INTERLACED_ME : 0;
-
- lavc_venc_context->flags |= lavc_param_psnr;
- do_psnr = lavc_param_psnr;
-@@ -1156,7 +1160,7 @@ MOD_init
- "encoding.");
- return TC_EXPORT_ERROR;
- }
-- lavc_venc_context->flags |= CODEC_FLAG_PASS1;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_PASS1;
- stats_file = fopen(vob->divxlogfile, "w");
- if (stats_file == NULL){
- tc_log_warn(MOD_NAME, "Could not create 2pass log file \"%s\".",
-@@ -1170,7 +1174,7 @@ MOD_init
- "encoding.");
- return TC_EXPORT_ERROR;
- }
-- lavc_venc_context->flags |= CODEC_FLAG_PASS2;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_PASS2;
- stats_file= fopen(vob->divxlogfile, "r");
- if (stats_file==NULL){
- tc_log_warn(MOD_NAME, "Could not open 2pass log file \"%s\" for "
-@@ -1201,12 +1205,11 @@ MOD_init
- break;
- case 3:
- /* fixed qscale :p */
-- lavc_venc_context->flags |= CODEC_FLAG_QSCALE;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_QSCALE;
- lavc_venc_frame->quality = vob->divxbitrate;
- break;
- }
-
-- lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
-
- /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
- if (lavc_param_video_preset && strcmp(lavc_param_video_preset, "none")) {
-Index: transcode-1.1.7/export/ffmpeg_cfg.c
-===================================================================
---- transcode-1.1.7.orig/export/ffmpeg_cfg.c
-+++ transcode-1.1.7/export/ffmpeg_cfg.c
-@@ -93,8 +93,8 @@ int lavc_param_last_pred= 0;
- int lavc_param_pre_me= 1;
- int lavc_param_me_subpel_quality= 8;
- int lavc_param_me_range=0;
--int lavc_param_ibias=FF_DEFAULT_QUANT_BIAS;
--int lavc_param_pbias=FF_DEFAULT_QUANT_BIAS;
-+int lavc_param_ibias=0;
-+int lavc_param_pbias=0;
- int lavc_param_coder=0;
- int lavc_param_context=0;
- char *lavc_param_intra_matrix = NULL;
-@@ -136,7 +136,7 @@ TCConfigEntry lavcopts_conf[]={
- {"vratetol", &lavc_param_vrate_tolerance, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 4, 24000000},
- {"vhq", &lavc_param_mb_decision, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"mbd", &lavc_param_mb_decision, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 9},
-- {"v4mv", &lavc_param_v4mv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_4MV},
-+ {"v4mv", &lavc_param_v4mv, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_4MV},
- {"vme", &lavc_param_vme, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 5},
- // {"vqscale", &lavc_param_vqscale, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
- // {"vqmin", &lavc_param_vqmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
-@@ -147,7 +147,7 @@ TCConfigEntry lavcopts_conf[]={
- {"vqcomp", &lavc_param_vqcompress, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0},
- {"vqblur", &lavc_param_vqblur, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0},
- {"vb_qfactor", &lavc_param_vb_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
-- {"vmax_b_frames", &lavc_param_vmax_b_frames, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, FF_MAX_B_FRAMES},
-+ {"vmax_b_frames", &lavc_param_vmax_b_frames, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, INT_MAX},
- // {"vpass", &lavc_param_vpass, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2},
- {"vrc_strategy", &lavc_param_vrc_strategy, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2},
- {"vb_strategy", &lavc_param_vb_strategy, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
-@@ -158,7 +158,7 @@ TCConfigEntry lavcopts_conf[]={
- {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
- {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1},
- // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
-- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY},
-+ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_GRAY},
- {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
- {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
-@@ -184,7 +184,7 @@ TCConfigEntry lavcopts_conf[]={
- {"pred", &lavc_param_prediction_method, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 20},
- {"format", &lavc_param_format, TCCONF_TYPE_STRING, 0, 0, 0},
- {"debug", &lavc_param_debug, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
-- {"psnr", &lavc_param_psnr, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR},
-+ {"psnr", &lavc_param_psnr, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_PSNR},
- {"precmp", &lavc_param_me_pre_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- {"cmp", &lavc_param_me_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- {"subcmp", &lavc_param_me_sub_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
-@@ -192,9 +192,9 @@ TCConfigEntry lavcopts_conf[]={
- {"ildctcmp", &lavc_param_ildct_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- {"predia", &lavc_param_pre_dia_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -2000, 2000},
- {"dia", &lavc_param_dia_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -2000, 2000},
-- {"qpel", &lavc_param_qpel, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL},
-+ {"qpel", &lavc_param_qpel, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_QPEL},
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
-- {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT},
-+ {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_TRELLIS_QUANT},
- #else
- {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, 1},
- #endif
-@@ -203,9 +203,9 @@ TCConfigEntry lavcopts_conf[]={
- {"subq", &lavc_param_me_subpel_quality, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 8},
- {"me_range", &lavc_param_me_range, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16000},
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
-- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC},
-+ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_H263P_AIC},
- #else
-- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
-+ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_AC_PRED},
- #endif
- {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
-@@ -215,20 +215,20 @@ TCConfigEntry lavcopts_conf[]={
- {"intra_matrix", &lavc_param_intra_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
- {"inter_matrix", &lavc_param_inter_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
- {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, 1},
-- {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0},
-+ {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1},
-- {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
-+ {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_ME},
- {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
- {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
- {"top", &lavc_param_top, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1, 1},
-- {"gmc", &lavc_param_gmc, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GMC},
-- {"trunc", &lavc_param_trunc, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRUNCATED},
-- {"closedgop", &lavc_param_closedgop, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CLOSED_GOP},
-+ {"gmc", &lavc_param_gmc, TCCONF_TYPE_FLAG, 0, 0, 1},
-+ {"trunc", &lavc_param_trunc, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_TRUNCATED},
-+ {"closedgop", &lavc_param_closedgop, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_CLOSED_GOP},
- {"intra_dc_precision", &lavc_param_intra_dc_precision, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16},
- {"skip_top", &lavc_param_skip_top, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000},
- {"skip_bottom", &lavc_param_skip_bottom, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000},
-Index: transcode-1.1.7/import/import_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/import/import_ffmpeg.c
-+++ transcode-1.1.7/import/import_ffmpeg.c
-@@ -361,7 +361,7 @@ do_avi:
- lavc_dec_context->width = x_dim;
- lavc_dec_context->height = y_dim;
-
-- if (vob->decolor) lavc_dec_context->flags |= CODEC_FLAG_GRAY;
-+ if (vob->decolor) lavc_dec_context->flags |= AV_CODEC_FLAG_GRAY;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_dec_context->error_resilience = 2;
- #else
diff --git a/multimedia/transcode/transcode-1.1.7-libav-10.patch b/multimedia/transcode/transcode-1.1.7-libav-10.patch
deleted file mode 100644
index 1f4a24039d..0000000000
--- a/multimedia/transcode/transcode-1.1.7-libav-10.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-fix building w/libav-10
-
-https://wiki.libav.org/Migration/10
-
---- a/filter/filter_resample.c
-+++ b/filter/filter_resample.c
-@@ -37,6 +37,7 @@
- #include "libtc/optstr.h"
- #include "libtc/tcavcodec.h"
- #include "libtc/tcmodule-plugin.h"
-+#include <libavresample/avresample.h>
-
-
- typedef struct {
-@@ -45,7 +46,7 @@ typedef struct {
-
- int bytes_per_sample;
-
-- ReSampleContext *resample_ctx;
-+ AVAudioResampleContext *resample_ctx;
- } ResamplePrivateData;
-
- static const char resample_help[] = ""
---- a/import/probe_ffmpeg.c
-+++ b/import/probe_ffmpeg.c
-@@ -51,8 +51,8 @@ static void translate_info(const AVFormatContext *ctx, ProbeInfo *info)
- info->bitrate = st->codec->bit_rate / 1000;
- info->width = st->codec->width;
- info->height = st->codec->height;
-- if (st->r_frame_rate.num > 0 && st->r_frame_rate.den > 0) {
-- info->fps = av_q2d(st->r_frame_rate);
-+ if (st->avg_frame_rate.num > 0 && st->avg_frame_rate.den > 0) {
-+ info->fps = av_q2d(st->avg_frame_rate);
- } else {
- /* watch out here */
- info->fps = 1.0/av_q2d(st->codec->time_base);
diff --git a/multimedia/transcode/transcode-1.1.7-libav-9.patch b/multimedia/transcode/transcode-1.1.7-libav-9.patch
deleted file mode 100644
index 3989d3d83a..0000000000
--- a/multimedia/transcode/transcode-1.1.7-libav-9.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- import/probe_ffmpeg.c.original 2013-04-22 20:04:51.058081388 +0200
-+++ import/probe_ffmpeg.c 2013-04-22 20:05:25.744081897 +0200
-@@ -109,7 +109,7 @@ void probe_ffmpeg(info_t *ipipe)
- return;
- }
-
-- ret = av_find_stream_info(lavf_dmx_context);
-+ ret = avformat_find_stream_info(lavf_dmx_context, NULL);
- if (ret < 0) {
- tc_log_error(__FILE__, "unable to fetch informations from '%s'"
- " (libavformat failure)",
---- import/decode_lavc.c.original 2013-04-22 20:06:17.260082652 +0200
-+++ import/decode_lavc.c 2013-04-22 20:07:47.564083975 +0200
-@@ -170,7 +170,7 @@ void decode_lavc(decode_t *decode)
-
- // Set these to the expected values so that ffmpeg's decoder can
- // properly detect interlaced input.
-- lavc_dec_context = avcodec_alloc_context();
-+ lavc_dec_context = avcodec_alloc_context3(NULL);
- if (lavc_dec_context == NULL) {
- tc_log_error(__FILE__, "Could not allocate enough memory.");
- goto decoder_error;
-@@ -186,7 +186,7 @@ void decode_lavc(decode_t *decode)
- lavc_dec_context->error_concealment = 3;
- lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
-
-- if (avcodec_open(lavc_dec_context, lavc_dec_codec) < 0) {
-+ if (avcodec_open2(lavc_dec_context, lavc_dec_codec, NULL) < 0) {
- tc_log_error(__FILE__, "Could not initialize the '%s' codec.",
- codec->name);
- goto decoder_error;
diff --git a/multimedia/transcode/transcode-1.1.7-preset-force.patch b/multimedia/transcode/transcode-1.1.7-preset-force.patch
deleted file mode 100644
index 0d1da8b4f6..0000000000
--- a/multimedia/transcode/transcode-1.1.7-preset-force.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Do not force using a preset. Do not try to open non-existant preset by default.
-
-Index: transcode-1.1.7/export/export_ffmpeg.c
-===================================================================
---- transcode-1.1.7.orig/export/export_ffmpeg.c
-+++ transcode-1.1.7/export/export_ffmpeg.c
-@@ -1206,7 +1206,7 @@ MOD_init
- lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
-
- /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
-- if (lavc_param_video_preset) {
-+ if (lavc_param_video_preset && strcmp(lavc_param_video_preset, "none")) {
- avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context;
- video_codec_name = av_strdup(ffmpeg_codec_name(codec->name));
-
-Index: transcode-1.1.7/export/ffmpeg_cfg.c
-===================================================================
---- transcode-1.1.7.orig/export/ffmpeg_cfg.c
-+++ transcode-1.1.7/export/ffmpeg_cfg.c
-@@ -124,7 +124,7 @@ int lavc_param_gmc = 0;
- //int lavc_param_atag = 0;
- //int lavc_param_abitrate = 224;
-
--char *lavc_param_video_preset = "medium";
-+char *lavc_param_video_preset = "none";
- char *lavc_param_ffmpeg_datadir = "/usr/share/ffmpeg";
-
- TCConfigEntry lavcopts_conf[]={
diff --git a/multimedia/transcode/transcode-1.1.7-preset-free.patch b/multimedia/transcode/transcode-1.1.7-preset-free.patch
deleted file mode 100644
index 00494b94ba..0000000000
--- a/multimedia/transcode/transcode-1.1.7-preset-free.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Fix invalid free when preset file not found
-https://bugs.gentoo.org/show_bug.cgi?id=322945
-Author: Brennan Shacklett
-
-diff -urN transcode-1.1.7-orig/export/export_ffmpeg.c transcode-1.1.7/export/export_ffmpeg.c
---- transcode-1.1.7-orig/export/export_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800
-+++ transcode-1.1.7/export/export_ffmpeg.c 2012-07-03 20:07:05.669083945 -0700
-@@ -321,7 +321,7 @@
- }
-
- if(!f){
-- fprintf(stderr, "File for preset '%s' not found\n", arg);
-+ tc_log_error(MOD_NAME, "File for preset '%s' not found", arg);
- av_exit(1);
- }
-
-@@ -1207,7 +1207,7 @@
- /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
- if (lavc_param_video_preset) {
- avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context;
-- video_codec_name = ffmpeg_codec_name(codec->name);
-+ video_codec_name = av_strdup(ffmpeg_codec_name(codec->name));
-
- const char *preset_start = lavc_param_video_preset;
- while (preset_start) {
-@@ -1225,6 +1225,8 @@
- if (opt_preset("vpre", preset_name) != 0) {
- tc_log_warn(MOD_NAME, "Parsing ffmpeg preset '%s' failed", preset_name);
- }
-+ av_free(video_codec_name);
-+ video_codec_name = NULL;
- if (verbose) {
- int i;
- tc_log_info(MOD_NAME, "After parsing preset '%s', %i options are overridden:", preset_name, opt_name_count);
diff --git a/multimedia/transcode/transcode.SlackBuild b/multimedia/transcode/transcode.SlackBuild
index d9a7341eb2..5f02f16f62 100644
--- a/multimedia/transcode/transcode.SlackBuild
+++ b/multimedia/transcode/transcode.SlackBuild
@@ -79,18 +79,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix building with newer ffmpeg
-patch -p0 -i $CWD/transcode-1.1.7-ffmpeg.patch
-patch -p0 -i $CWD/transcode-1.1.7-ffmpeg-0.10.patch
-patch -p1 -i $CWD/transcode-1.1.7-ffmpeg-0.11.patch
-patch -p1 -i $CWD/transcode-1.1.7-preset-free.patch
-patch -p0 -i $CWD/transcode-1.1.7-libav-9.patch
-patch -p1 -i $CWD/transcode-1.1.7-libav-10.patch
-patch -p1 -i $CWD/transcode-1.1.7-preset-force.patch
-patch -p1 -i $CWD/transcode-1.1.7-ffmpeg2.patch
-patch -p1 -i $CWD/transcode-1.1.7-ffmpeg24.patch
-patch -p1 -i $CWD/transcode-1.1.7-ffmpeg29.patch
-patch -p1 -i $CWD/transcode-1.1.7-ffmpeg4.patch
# Fix building with imagemagick 7.x
patch -p1 -i $CWD/transcode-1.1.7-imagemagick7.patch
patch -p1 -i $CWD/transcode-1.1.7-gcc10.patch
@@ -100,6 +88,7 @@ autoreconf -vif
export MAGICKCORE_QUANTUM_DEPTH=32
+# unfortunately ffmpeg >= 5.x breaks compatibility and no patches are available...
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -109,6 +98,8 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--mandir=/usr/man \
+ --disable-ffmpeg \
+ --enable-alsa \
--enable-alsa \
--enable-v4l \
--enable-libv4lconvert \
diff --git a/multimedia/xjadeo/ffmpeg-5.1.patch b/multimedia/xjadeo/ffmpeg-5.1.patch
new file mode 100644
index 0000000000..4fa4d6d3cc
--- /dev/null
+++ b/multimedia/xjadeo/ffmpeg-5.1.patch
@@ -0,0 +1,105 @@
+From 973f0046cf0dad1a5c5d847aaa02c8bfb21b5804 Mon Sep 17 00:00:00 2001
+From: Robin Gareus <robin@gareus.org>
+Date: Fri, 2 Sep 2022 10:26:12 +0200
+Subject: [PATCH] ffmpeg 5.1 compat -- closes #51
+
+---
+ src/xjadeo/ffcompat.h | 11 +++++++++++
+ src/xjadeo/xjadeo.c | 28 +++++++++++-----------------
+ 2 files changed, 22 insertions(+), 17 deletions(-)
+
+diff --git a/src/xjadeo/ffcompat.h b/src/xjadeo/ffcompat.h
+index b60baad..4aadde9 100644
+--- a/src/xjadeo/ffcompat.h
++++ b/src/xjadeo/ffcompat.h
+@@ -151,5 +151,16 @@ register_codecs_compat ()
+ #endif
+ }
+
++static inline void
++maybe_avcodec_flush_buffers(AVCodecContext *avctx)
++{
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59, 26, 100)
++ if (avctx->codec->flush) {
++ avcodec_flush_buffers(avctx);
++ }
++#else
++ avcodec_flush_buffers(avctx);
++#endif
++}
+
+ #endif /* FFCOMPAT_H */
+diff --git a/src/xjadeo/xjadeo.c b/src/xjadeo/xjadeo.c
+index d626f92..a8807f3 100644
+--- a/src/xjadeo/xjadeo.c
++++ b/src/xjadeo/xjadeo.c
+@@ -575,9 +575,7 @@ static int seek_frame (AVPacket *packet, int64_t framenumber) {
+ seek = av_seek_frame (pFormatCtx, videoStream, fidx[framenumber].seekpts, AVSEEK_FLAG_BACKWARD);
+ }
+
+- if (pCodecCtx->codec->flush) {
+- avcodec_flush_buffers (pCodecCtx);
+- }
++ maybe_avcodec_flush_buffers (pCodecCtx);
+
+ if (seek < 0) {
+ if (!want_quiet)
+@@ -915,9 +913,7 @@ static int index_frames () {
+ error |= 16;
+ break;
+ }
+- if (pCodecCtx->codec->flush) {
+- avcodec_flush_buffers (pCodecCtx);
+- }
++ maybe_avcodec_flush_buffers (pCodecCtx);
+
+ int err = 0;
+ int bailout = 100;
+@@ -1053,9 +1049,7 @@ static int index_frames () {
+ printf("NOBYTE 2\n");
+ break;
+ }
+- if (pCodecCtx->codec->flush) {
+- avcodec_flush_buffers (pCodecCtx);
+- }
++ maybe_avcodec_flush_buffers (pCodecCtx);
+
+ int64_t pts = AV_NOPTS_VALUE;
+ while (!got_pic) {
+@@ -1118,9 +1112,7 @@ static int index_frames () {
+ } else {
+ av_seek_frame (pFormatCtx, videoStream, fidx[i].seekpts, AVSEEK_FLAG_BACKWARD);
+ }
+- if (pCodecCtx->codec->flush) {
+- avcodec_flush_buffers (pCodecCtx);
+- }
++ maybe_avcodec_flush_buffers (pCodecCtx);
+ while (!got_pic) {
+
+ if (av_read_frame (pFormatCtx, &packet) < 0) {
+@@ -1192,9 +1184,7 @@ static int index_frames () {
+ }
+
+ av_seek_frame (pFormatCtx, videoStream, 0, AVSEEK_FLAG_BACKWARD);
+- if (pCodecCtx->codec->flush) {
+- avcodec_flush_buffers (pCodecCtx);
+- }
++ maybe_avcodec_flush_buffers (pCodecCtx);
+ if (!error) {
+ scan_complete = 1;
+ }
+@@ -1271,8 +1261,12 @@ static void clear_info () {
+
+ int open_movie (char* file_name) {
+ int i;
+- AVCodec *pCodec;
+- AVStream *av_stream;
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59, 0, 100)
++ AVCodec* pCodec;
++#else
++ AVCodec const* pCodec;
++#endif
++ AVStream* av_stream;
+
+ if (pFrameFMT) {
+ close_movie ();
diff --git a/multimedia/xjadeo/ffmpeg-5.patch b/multimedia/xjadeo/ffmpeg-5.patch
new file mode 100644
index 0000000000..c54e9bab56
--- /dev/null
+++ b/multimedia/xjadeo/ffmpeg-5.patch
@@ -0,0 +1,25 @@
+From 69877e30c86771d2a99d9820cbc8d96415bb3395 Mon Sep 17 00:00:00 2001
+From: Robin Gareus <robin@gareus.org>
+Date: Sat, 23 Apr 2022 02:32:54 +0200
+Subject: [PATCH] Fix ffmpeg compatibility
+
+---
+ src/xjadeo/ffcompat.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/xjadeo/ffcompat.h b/src/xjadeo/ffcompat.h
+index 6c71292..b60baad 100644
+--- a/src/xjadeo/ffcompat.h
++++ b/src/xjadeo/ffcompat.h
+@@ -75,8 +75,10 @@ static inline void av_packet_unref (AVPacket *pkt)
+ #if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51, 63, 100)
+ static inline int av_image_get_buffer_size (enum AVPixelFormat pix_fmt, int width, int height, int align)
+ {
+- return avpicture_get_size (pix_fmt, width, height)
++ return avpicture_get_size (pix_fmt, width, height);
+ }
++#else
++#include <libavutil/imgutils.h>
+ #endif
+
+ #if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 2, 0)
diff --git a/multimedia/xjadeo/xjadeo.SlackBuild b/multimedia/xjadeo/xjadeo.SlackBuild
index 8811d28851..6f616ec317 100644
--- a/multimedia/xjadeo/xjadeo.SlackBuild
+++ b/multimedia/xjadeo/xjadeo.SlackBuild
@@ -5,7 +5,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=xjadeo
-VERSION=${VERSION:-0.8.10}
+VERSION=${VERSION:-0.8.11}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -59,6 +59,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/ffmpeg-5.patch
+patch -p1 < $CWD/ffmpeg-5.1.patch
+
# libporttime is included in libportmidi
sed -i 's/-lporttime//g' configure
diff --git a/multimedia/xjadeo/xjadeo.info b/multimedia/xjadeo/xjadeo.info
index 6ce604dac1..a5449a6a69 100644
--- a/multimedia/xjadeo/xjadeo.info
+++ b/multimedia/xjadeo/xjadeo.info
@@ -1,8 +1,8 @@
PRGNAM="xjadeo"
-VERSION="0.8.10"
+VERSION="0.8.11"
HOMEPAGE="http://xjadeo.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/xjadeo/xjadeo-0.8.10.tar.gz"
-MD5SUM="a064aeb351682a7303c60c747591eb3a"
+DOWNLOAD="http://downloads.sourceforge.net/xjadeo/xjadeo-0.8.11.tar.gz"
+MD5SUM="b0ecd39d526e819c583e5ea51c9b25f7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="liblo"
diff --git a/network/MEGAsync/MEGAsync.SlackBuild b/network/MEGAsync/MEGAsync.SlackBuild
index 4d804db29e..bc2acaaf87 100644
--- a/network/MEGAsync/MEGAsync.SlackBuild
+++ b/network/MEGAsync/MEGAsync.SlackBuild
@@ -26,8 +26,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=MEGAsync
-VERSION=${VERSION:-4.5.3.0}
-SDK=${SDK:-3.8.2c}
+VERSION=${VERSION:-4.7.2.0}
+SDK=${SDK:-4.5.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -83,7 +83,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-patch -p1 < $CWD/megasync-4.5.0.0_ffmpeg.patch
+# Apply ffmpeg5 fix patch
+patch -p1 < $CWD/megasync-4.7.1.0_ffmpeg5.patch
cd src/MEGASync/mega
patch -p1 < $CWD/megasync-4.5.0.0_pdfium.patch
diff --git a/network/MEGAsync/MEGAsync.info b/network/MEGAsync/MEGAsync.info
index db02860be9..210577a829 100644
--- a/network/MEGAsync/MEGAsync.info
+++ b/network/MEGAsync/MEGAsync.info
@@ -1,10 +1,10 @@
PRGNAM="MEGAsync"
-VERSION="4.5.3.0"
+VERSION="4.7.2.0"
HOMEPAGE="https://github.com/meganz/MEGAsync/"
-DOWNLOAD="https://github.com/meganz/MEGAsync/archive/v4.5.3.0_Linux/MEGAsync-4.5.3.0_Linux.tar.gz \
- https://github.com/meganz/sdk/archive/v3.8.2c/sdk-3.8.2c.tar.gz"
-MD5SUM="be0f1e070b6990c19d766990758ef997 \
- ded79c86d1ddbe2572f0562fa1dc15fc"
+DOWNLOAD="https://github.com/meganz/MEGAsync/archive/v4.7.2.0_Linux/MEGAsync-4.7.2.0_Linux.tar.gz \
+ https://github.com/meganz/sdk/archive/v4.5.0/sdk-4.5.0.tar.gz"
+MD5SUM="b1734bf785e279dd0d01d8ff254c7587 \
+ e9f17a8679f3d50d66d76ffc1ce94ac2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="FreeImage libmediainfo"
diff --git a/network/MEGAsync/megasync-4.5.0.0_ffmpeg.patch b/network/MEGAsync/megasync-4.5.0.0_ffmpeg.patch
deleted file mode 100644
index a30d4a1eff..0000000000
--- a/network/MEGAsync/megasync-4.5.0.0_ffmpeg.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur a/src/MEGASync/mega/src/gfx/freeimage.cpp b/src/MEGASync/mega/src/gfx/freeimage.cpp
---- a/src/MEGASync/mega/src/gfx/freeimage.cpp 2021-05-23 02:28:08.694081111 +0100
-+++ b/src/MEGASync/mega/src/gfx/freeimage.cpp 2021-05-23 02:29:56.189964969 +0100
-@@ -188,7 +188,7 @@
-
- // Force seeking to key frames
- formatContext->seek2any = false;
-- videoStream->skip_to_keyframe = true;
-+ //videoStream->skip_to_keyframe = true;
- if (decoder->capabilities & CAP_TRUNCATED)
- {
- codecContext.flags |= CAP_TRUNCATED;
-diff -Naur a/src/MEGASync/mega/src/gfx/qt.cpp b/src/MEGASync/mega/src/gfx/qt.cpp
---- a/src/MEGASync/mega/src/gfx/qt.cpp 2021-05-23 02:28:08.694081111 +0100
-+++ b/src/MEGASync/mega/src/gfx/qt.cpp 2021-05-23 02:29:36.172545153 +0100
-@@ -1209,7 +1209,7 @@
-
- // Force seeking to key frames
- formatContext->seek2any = false;
-- videoStream->skip_to_keyframe = true;
-+ //videoStream->skip_to_keyframe = true;
- if (decoder->capabilities & CAP_TRUNCATED)
- {
- codecContext.flags |= CAP_TRUNCATED;
diff --git a/network/MEGAsync/megasync-4.7.1.0_ffmpeg5.patch b/network/MEGAsync/megasync-4.7.1.0_ffmpeg5.patch
new file mode 100644
index 0000000000..ea5ad2a3e3
--- /dev/null
+++ b/network/MEGAsync/megasync-4.7.1.0_ffmpeg5.patch
@@ -0,0 +1,19 @@
+--- MEGAsync-4.7.1.0_Win/src/MEGASync/mega/src/gfx/freeimage.cpp 2022-09-27 20:24:16.000000000 +0900
++++ MEGAsync-4.7.1.0_Win.New/src/MEGASync/mega/src/gfx/freeimage.cpp 2022-10-12 10:30:22.849460973 +0900
+@@ -313,7 +313,7 @@
+
+ // Find decoder for video stream
+ AVCodecID codecId = codecParm->codec_id;
+- AVCodec* decoder = avcodec_find_decoder(codecId);
++ auto decoder = avcodec_find_decoder(codecId);
+ if (!decoder)
+ {
+ LOG_warn << "Codec not found: " << codecId;
+@@ -330,7 +330,6 @@
+
+ // Force seeking to key frames
+ formatContext->seek2any = false;
+- videoStream->skip_to_keyframe = true;
+ if (decoder->capabilities & CAP_TRUNCATED)
+ {
+ codecContext->flags |= CAP_TRUNCATED;
diff --git a/network/mumble/mumble.SlackBuild b/network/mumble/mumble.SlackBuild
index e9941cb66e..6797b201cb 100644
--- a/network/mumble/mumble.SlackBuild
+++ b/network/mumble/mumble.SlackBuild
@@ -27,7 +27,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mumble
-VERSION=${VERSION:-1.4.230}
+VERSION=${VERSION:-1.4.287}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/network/mumble/mumble.info b/network/mumble/mumble.info
index 210635647a..553d27e33f 100644
--- a/network/mumble/mumble.info
+++ b/network/mumble/mumble.info
@@ -1,8 +1,8 @@
PRGNAM="mumble"
-VERSION="1.4.230"
+VERSION="1.4.287"
HOMEPAGE="https://wiki.mumble.info/wiki/Main_Page"
-DOWNLOAD="https://github.com/mumble-voip/mumble/releases/download/v1.4.230/mumble-1.4.230.tar.gz"
-MD5SUM="8069db67ecb4b601f0e324c62dbed90a"
+DOWNLOAD="https://github.com/mumble-voip/mumble/releases/download/v1.4.287/mumble-1.4.287.tar.gz"
+MD5SUM="c9a2eb6413d165da606fb8d4657a1697"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="protobuf3 poco"
diff --git a/network/spice-gtk/spice-gtk.SlackBuild b/network/spice-gtk/spice-gtk.SlackBuild
index 860576c9f4..56d7aeaddd 100644
--- a/network/spice-gtk/spice-gtk.SlackBuild
+++ b/network/spice-gtk/spice-gtk.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for spice-gtk
-# Copyright 2013-2021 Matteo Bernardini <ponce@slackbuilds.org> Pisa, Italy
+# Copyright 2013-2022 Matteo Bernardini <ponce@slackbuilds.org> Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=spice-gtk
-VERSION=${VERSION:-0.40}
+VERSION=${VERSION:-0.41}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/network/spice-gtk/spice-gtk.info b/network/spice-gtk/spice-gtk.info
index fe8f48da50..36712bacf0 100644
--- a/network/spice-gtk/spice-gtk.info
+++ b/network/spice-gtk/spice-gtk.info
@@ -1,8 +1,8 @@
PRGNAM="spice-gtk"
-VERSION="0.40"
+VERSION="0.41"
HOMEPAGE="https://www.spice-space.org"
-DOWNLOAD="https://www.spice-space.org/download/gtk/spice-gtk-0.40.tar.xz"
-MD5SUM="03dcb437afb31151a421de1d7922e2b1"
+DOWNLOAD="https://www.spice-space.org/download/gtk/spice-gtk-0.41.tar.xz"
+MD5SUM="b44a82b39b0273fb0443cdbdbc375a26"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="spice"
diff --git a/network/x2goclient/glibc236.patch b/network/x2goclient/glibc236.patch
new file mode 100644
index 0000000000..8e1c1fddcd
--- /dev/null
+++ b/network/x2goclient/glibc236.patch
@@ -0,0 +1,11 @@
+diff -Naur x2goclient-4.1.2.2.orig/src/onmainwindow_privat.h x2goclient-4.1.2.2/src/onmainwindow_privat.h
+--- x2goclient-4.1.2.2.orig/src/onmainwindow_privat.h 2020-02-13 11:36:07.000000000 +0100
++++ x2goclient-4.1.2.2/src/onmainwindow_privat.h 2022-08-23 20:49:00.556603000 +0200
+@@ -84,7 +84,6 @@
+ #include "contest.h"
+
+ #if !defined Q_OS_WIN
+-#include <sys/mount.h>
+ #ifdef Q_OS_LINUX
+ #include <X11/Xatom.h>
+ #include <X11/xpm.h>
diff --git a/network/x2goclient/x2goclient.SlackBuild b/network/x2goclient/x2goclient.SlackBuild
index 8fb5f09e1a..5f9cf7ac6f 100644
--- a/network/x2goclient/x2goclient.SlackBuild
+++ b/network/x2goclient/x2goclient.SlackBuild
@@ -87,6 +87,8 @@ find -L . \
sed -i -e '/^QMAKE_BINARY=/s@qmake-qt4@qmake@' Makefile
sed -i -e '/^LRELEASE_BINARY=/s@lrelease-qt4@lrelease@' Makefile
+patch -p1 < $CWD/glibc236.patch
+
make
make install PREFIX=/usr DESTDIR=$PKG
diff --git a/network/x2goserver/x2goserver.SlackBuild b/network/x2goserver/x2goserver.SlackBuild
index caa42c4eaa..28975163ae 100644
--- a/network/x2goserver/x2goserver.SlackBuild
+++ b/network/x2goserver/x2goserver.SlackBuild
@@ -26,7 +26,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=x2goserver
-VERSION=${VERSION:-20201227_08aa5e6}
+VERSION=${VERSION:-20220808_1a6c81b}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/network/x2goserver/x2goserver.info b/network/x2goserver/x2goserver.info
index 7dfbf73d3a..9e02b52761 100644
--- a/network/x2goserver/x2goserver.info
+++ b/network/x2goserver/x2goserver.info
@@ -1,8 +1,8 @@
PRGNAM="x2goserver"
-VERSION="20201227_08aa5e6"
+VERSION="20220808_1a6c81b"
HOMEPAGE="http://www.x2go.org"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/x2goserver-20201227_08aa5e6.tar.xz"
-MD5SUM="46aad829313b85218841e1f818244a06"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/x2goserver-20220808_1a6c81b.tar.xz"
+MD5SUM="b244703bf997aaf5c427d7698fe3ac0f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="nx-libs perl-Config-Simple perl-File-ReadBackwards perl-DBD-SQLite perl-Capture-Tiny perl-Try-Tiny perl-Unix-Syslog perl-file-basedir perl-Switch"
diff --git a/office/evince/Remove-incorrect-args-for-i18n.merge_file.patch b/office/evince/Remove-incorrect-args-for-i18n.merge_file.patch
new file mode 100644
index 0000000000..d444af8369
--- /dev/null
+++ b/office/evince/Remove-incorrect-args-for-i18n.merge_file.patch
@@ -0,0 +1,51 @@
+From: r-value <i@rvalue.moe>
+Date: Wed, 17 Nov 2021 18:22:45 +0800
+Subject: Remove incorrect args for i18n.merge_file
+
+`i18n.merge_file` has been ignoring positional arguments for
+a time and explicitly rejects with error since meson 0.60.0
+
+Origin: upstream, 42.0, commit:1060b24d051607f14220f148d2f7723b29897a54
+Bug-Debian: https://bugs.debian.org/1005520
+---
+ backend/meson.build | 1 -
+ data/meson.build | 1 -
+ meson.build | 1 -
+ 3 files changed, 3 deletions(-)
+
+diff --git a/backend/meson.build b/backend/meson.build
+index 14629f2..2f972a8 100644
+--- a/backend/meson.build
++++ b/backend/meson.build
+@@ -53,7 +53,6 @@ foreach backend, backend_mime_types: backends
+ )
+
+ i18n.merge_file(
+- appstream,
+ input: appstream_in,
+ output: appstream,
+ po_dir: po_dir,
+diff --git a/data/meson.build b/data/meson.build
+index 8a308b8..afc3020 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -15,7 +15,6 @@ foreach desktop: desktops
+ )
+
+ i18n.merge_file(
+- desktop,
+ type: 'desktop',
+ input: desktop_in,
+ output: desktop,
+diff --git a/meson.build b/meson.build
+index 07fb8ec..0bb5d0f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -498,7 +498,6 @@ install_headers(
+ appdata = ev_namespace + '.appdata.xml'
+
+ i18n.merge_file(
+- appdata,
+ input: appdata + '.in',
+ output: appdata,
+ po_dir: po_dir,
diff --git a/office/evince/evince.SlackBuild b/office/evince/evince.SlackBuild
index 8b706be14c..2cd205f7af 100644
--- a/office/evince/evince.SlackBuild
+++ b/office/evince/evince.SlackBuild
@@ -80,6 +80,8 @@ 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 {} \+
+patch -p1 < $CWD/Remove-incorrect-args-for-i18n.merge_file.patch
+
mkdir build
cd build
CFLAGS="$SLKCFLAGS" \
diff --git a/office/pstoedit/pstoedit-3.78-mga-uniqueptr.patch b/office/pstoedit/pstoedit-3.78-mga-uniqueptr.patch
new file mode 100644
index 0000000000..bca0f760dc
--- /dev/null
+++ b/office/pstoedit/pstoedit-3.78-mga-uniqueptr.patch
@@ -0,0 +1,12 @@
+Index: pstoedit-3.78/src/drvpptx.cpp
+===================================================================
+--- pstoedit-3.78/src/drvpptx.cpp
++++ pstoedit-3.78/src/drvpptx.cpp 2022-03-14 21:23:51.156263356 -0700
+@@ -35,6 +35,7 @@
+ #include I_stdlib
+ #include I_iomanip
+ #include <cfloat>
++#include <memory>
+ #include <time.h>
+
+ #include <errno.h>
diff --git a/office/pstoedit/pstoedit.SlackBuild b/office/pstoedit/pstoedit.SlackBuild
index fdc3fef7d8..406c7462f9 100644
--- a/office/pstoedit/pstoedit.SlackBuild
+++ b/office/pstoedit/pstoedit.SlackBuild
@@ -79,6 +79,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# https://sourceforge.net/p/pstoedit/patches/4/ Thanks to lioh!
+patch -p1 < $CWD/pstoedit-3.78-mga-uniqueptr.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++14" \
./configure \
diff --git a/office/scribus/harfbuzz-3.0.0.patch b/office/scribus/harfbuzz-3.0.0.patch
deleted file mode 100644
index 4dc4f0db4a..0000000000
--- a/office/scribus/harfbuzz-3.0.0.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 1b546978bc4ea0b2a73fbe4d7cf947887e865162 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Sat, 21 Aug 2021 20:05:43 +0000
-Subject: [PATCH] Use new hb-subset api with harfbuzz >= 2.9.0 in order to
- prepeare for removal of legacy API in 3.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24696 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/fonts/sfnt.cpp | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp
-index 50777f66e3..fca8b39158 100644
---- a/scribus/fonts/sfnt.cpp
-+++ b/scribus/fonts/sfnt.cpp
-@@ -1256,11 +1256,19 @@ namespace sfnt {
-
- for (int i = 0; i < cids.count(); ++i)
- hb_set_add(glyphSet, cids.at(i));
--
-+
-+#if HB_VERSION_ATLEAST(2, 9, 0)
-+ uint32_t subsetFlags = (uint32_t) hb_subset_input_get_flags(hbSubsetInput.get());
-+ subsetFlags |= HB_SUBSET_FLAGS_RETAIN_GIDS;
-+ subsetFlags &= ~HB_SUBSET_FLAGS_NO_HINTING;
-+ subsetFlags |= HB_SUBSET_FLAGS_NAME_LEGACY;
-+ hb_subset_input_set_flags(hbSubsetInput.get(), subsetFlags);
-+#else
- hb_subset_input_set_retain_gids(hbSubsetInput.get(), true);
- hb_subset_input_set_drop_hints(hbSubsetInput.get(), false);
- #if HB_VERSION_ATLEAST(2, 6, 5)
- hb_subset_input_set_name_legacy(hbSubsetInput.get(), true);
-+#endif
- #endif
-
- QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
-
-From 68ec41169eaceea4a6e1d6f359762a191c7e61d5 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Sun, 19 Sep 2021 11:59:50 +0000
-Subject: [PATCH] #16635: Replace hb_subset, removed in harfbuzz 3.0, by
- hb_subset_or_fail
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24707 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/fonts/sfnt.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp
-index fca8b39158..b3dfa50dc6 100644
---- a/scribus/fonts/sfnt.cpp
-+++ b/scribus/fonts/sfnt.cpp
-@@ -1271,9 +1271,15 @@ namespace sfnt {
- #endif
- #endif
-
-+#if HB_VERSION_ATLEAST(2, 9, 0)
-+ QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset_or_fail(hbFullFace.get(), hbSubsetInput.get()));
-+ if (hbSubsetFace.isNull())
-+ return QByteArray();
-+#else
- QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
- if (hbSubsetFace.isNull())
- return QByteArray();
-+#endif
-
- QScopedPointer<hb_blob_t, HbBlobDeleter> hbSubsetBlob(hb_face_reference_blob(hbSubsetFace.get()));
- if (hbSubsetBlob.isNull())
diff --git a/office/scribus/scribus.SlackBuild b/office/scribus/scribus.SlackBuild
index c7e17f62e8..fe248d8a2a 100644
--- a/office/scribus/scribus.SlackBuild
+++ b/office/scribus/scribus.SlackBuild
@@ -29,7 +29,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=scribus
-VERSION=${VERSION:-1.5.7}
+VERSION=${VERSION:-r25163}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -83,13 +83,11 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# thanks archlinux!
-patch -p1 < $CWD/harfbuzz-3.0.0.patch
-
cmake \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DWANT_CPP17=1 \
-DLIB_SUFFIX=${LIBDIRSUFFIX}
make
diff --git a/office/scribus/scribus.info b/office/scribus/scribus.info
index f1b56cd8de..ef09816d55 100644
--- a/office/scribus/scribus.info
+++ b/office/scribus/scribus.info
@@ -1,8 +1,8 @@
PRGNAM="scribus"
-VERSION="1.5.7"
+VERSION="r25163"
HOMEPAGE="https://www.scribus.net"
-DOWNLOAD="https://downloads.sourceforge.net/scribus/scribus-1.5.7.tar.xz"
-MD5SUM="4d0c63cfdade8a9abf225a4415e43694"
+DOWNLOAD="https://ponce.cc/slackware/sources/repo/scribus-r25163.tar.xz"
+MD5SUM="32a903d888922c1cb652cf274bb2ef93"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/python/alabaster/alabaster.SlackBuild b/python/alabaster/alabaster.SlackBuild
index 0278a67414..0292c5f96c 100644
--- a/python/alabaster/alabaster.SlackBuild
+++ b/python/alabaster/alabaster.SlackBuild
@@ -81,10 +81,6 @@ find -L . \
python setup.py install --root=$PKG
-if python3 -c 'import sys' 2>/dev/null; then
- python3 setup.py install --root=$PKG
-fi
-
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/python/cppy/cppy.SlackBuild b/python/cppy/cppy.SlackBuild
index 342f26f47b..b828593ef7 100644
--- a/python/cppy/cppy.SlackBuild
+++ b/python/cppy/cppy.SlackBuild
@@ -26,7 +26,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=cppy
-VERSION=${VERSION:-1.2.0}
+VERSION=${VERSION:-1.2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/python/cppy/cppy.info b/python/cppy/cppy.info
index 627bf0eea6..98e53b3276 100644
--- a/python/cppy/cppy.info
+++ b/python/cppy/cppy.info
@@ -1,8 +1,8 @@
PRGNAM="cppy"
-VERSION="1.2.0"
+VERSION="1.2.1"
HOMEPAGE="https://github.com/nucleic/cppy"
-DOWNLOAD="https://github.com/nucleic/cppy/releases/download/1.2.0/cppy-1.2.0.tar.gz"
-MD5SUM="d5790863221465f259f751252a259654"
+DOWNLOAD="https://github.com/nucleic/cppy/releases/download/1.2.1/cppy-1.2.1.tar.gz"
+MD5SUM="7c1f825c43dd66454440932a35b9969c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/python/imagesize/imagesize.SlackBuild b/python/imagesize/imagesize.SlackBuild
index cf4c682cd7..a052c645d5 100644
--- a/python/imagesize/imagesize.SlackBuild
+++ b/python/imagesize/imagesize.SlackBuild
@@ -81,10 +81,6 @@ find -L . \
python setup.py install --root=$PKG
-if python3 -c 'import sys' 2>/dev/null; then
- python3 setup.py install --root=$PKG
-fi
-
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/python/pikepdf/pikepdf.SlackBuild b/python/pikepdf/pikepdf.SlackBuild
index ffd52a04d8..ff201dfdb7 100644
--- a/python/pikepdf/pikepdf.SlackBuild
+++ b/python/pikepdf/pikepdf.SlackBuild
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=pikepdf
-VERSION=${VERSION:-5.3.2}
+VERSION=${VERSION:-6.0.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/python/pikepdf/pikepdf.info b/python/pikepdf/pikepdf.info
index 91c4fca5d9..a1e50d8cf4 100644
--- a/python/pikepdf/pikepdf.info
+++ b/python/pikepdf/pikepdf.info
@@ -1,8 +1,8 @@
PRGNAM="pikepdf"
-VERSION="5.3.2"
+VERSION="6.0.1"
HOMEPAGE="https://github.com/pikepdf/pikepdf"
-DOWNLOAD="https://pypi.python.org/packages/source/p/pikepdf/pikepdf-5.3.2.tar.gz"
-MD5SUM="367ed61eeff72e190c58eb8bc1f882a7"
+DOWNLOAD="https://pypi.python.org/packages/source/p/pikepdf/pikepdf-6.0.1.tar.gz"
+MD5SUM="38b50358ea6c38212dc99bd6944e165c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="lxml pybind11 python3-deprecation python3-setuptools_scm_git_archive"
diff --git a/python/python-importlib_metadata/README b/python/python-importlib_metadata/README
deleted file mode 100644
index 628ad7454d..0000000000
--- a/python/python-importlib_metadata/README
+++ /dev/null
@@ -1,4 +0,0 @@
-importlib_metadata is a library which provides an API for accessing
-an installed package's metadata, such as its entry points or its
-top-level name. This functionality intends to replace most uses of
-pkg_resources entry point API and metadata API.
diff --git a/python/python-importlib_metadata/python-importlib_metadata.SlackBuild b/python/python-importlib_metadata/python-importlib_metadata.SlackBuild
deleted file mode 100644
index f586f1a5b3..0000000000
--- a/python/python-importlib_metadata/python-importlib_metadata.SlackBuild
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for python-importlib_metadata
-
-# Copyright 2019-2020 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
-# Copyright 2022 Dimitris Zlatanidis Orestiada, Greece
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=python-importlib_metadata
-VERSION=${VERSION:-4.10.1}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-SRCNAM=importlib_metadata
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-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 $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
-cd $SRCNAM-$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 {} \;
-
-python3 setup.py install --root=$PKG
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- README.rst \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/python/python-importlib_metadata/python-importlib_metadata.info b/python/python-importlib_metadata/python-importlib_metadata.info
deleted file mode 100644
index 0203cc4a5b..0000000000
--- a/python/python-importlib_metadata/python-importlib_metadata.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-importlib_metadata"
-VERSION="4.10.1"
-HOMEPAGE="https://importlib-metadata.readthedocs.io/"
-DOWNLOAD="https://files.pythonhosted.org/packages/f8/41/8ffb059708359ea14a3ec74a99a2bf0cd44a0c983a0c480d9eb7a69438bb/importlib_metadata-4.10.1.tar.gz"
-MD5SUM="2b476f505bc3bf934e2b2221d4fb4a44"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python-zipp"
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/python/python-importlib_metadata/slack-desc b/python/python-importlib_metadata/slack-desc
deleted file mode 100644
index a14e1318e8..0000000000
--- a/python/python-importlib_metadata/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-python-importlib_metadata: python-importlib_metadata (Python package metadata)
-python-importlib_metadata:
-python-importlib_metadata: importlib_metadata is a library which provides an API for accessing
-python-importlib_metadata: an installed package's metadata, such as its entry points or its
-python-importlib_metadata: top-level name. This functionality intends to replace most uses of
-python-importlib_metadata: pkg_resources entry point API and metadata API.
-python-importlib_metadata:
-python-importlib_metadata:
-python-importlib_metadata:
-python-importlib_metadata:
-python-importlib_metadata:
diff --git a/python/python-pcapy/python-pcapy.SlackBuild b/python/python-pcapy/python-pcapy.SlackBuild
index fd1bd93670..eafdadf75e 100644
--- a/python/python-pcapy/python-pcapy.SlackBuild
+++ b/python/python-pcapy/python-pcapy.SlackBuild
@@ -25,8 +25,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=python-pcapy
-SRCNAM=pcapy
-VERSION=${VERSION:-0.11.4}
+SRCNAM=pcapy-ng
+VERSION=${VERSION:-1.0.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/python/python-pcapy/python-pcapy.info b/python/python-pcapy/python-pcapy.info
index abea62f2a2..3956daa295 100644
--- a/python/python-pcapy/python-pcapy.info
+++ b/python/python-pcapy/python-pcapy.info
@@ -1,8 +1,8 @@
PRGNAM="python-pcapy"
-VERSION="0.11.4"
+VERSION="1.0.9"
HOMEPAGE="https://www.coresecurity.com/corelabs-research/open-source-tools/pcapy"
-DOWNLOAD="https://github.com/CoreSecurity/pcapy/archive/0.11.4/pcapy-0.11.4.tar.gz"
-MD5SUM="ccc0ece6114a095800c8764f85451677"
+DOWNLOAD="https://github.com/stamparm/pcapy-ng/archive/1.0.9/pcapy-ng-1.0.9.tar.gz"
+MD5SUM="5f17398bbe18c0679e0ed2d07c470a44"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/python/python-zipp/README b/python/python-zipp/README
deleted file mode 100644
index 6498203e6d..0000000000
--- a/python/python-zipp/README
+++ /dev/null
@@ -1,2 +0,0 @@
-A pathlib-compatible Zipfile object wrapper. A backport of the Path
-object.
diff --git a/python/python-zipp/python-zipp.SlackBuild b/python/python-zipp/python-zipp.SlackBuild
deleted file mode 100644
index 3f39269b22..0000000000
--- a/python/python-zipp/python-zipp.SlackBuild
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for python-zipp
-
-# Copyright 2019-2020 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
-# Copyright 2022 Dimitris Zlatanidis Orestiada, Greece
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=python-zipp
-VERSION=${VERSION:-3.8.0}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-SRCNAM=zipp
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-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 $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
-cp $CWD/setup.py $SRCNAM-$VERSION
-cd $SRCNAM-$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 {} \;
-
-sed -i "s,^name =.*$,&\nversion = $VERSION," setup.cfg
-
-python3 setup.py install --root=$PKG
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README.rst LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/python/python-zipp/python-zipp.info b/python/python-zipp/python-zipp.info
deleted file mode 100644
index 6fb99df1bd..0000000000
--- a/python/python-zipp/python-zipp.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="python-zipp"
-VERSION="3.8.0"
-HOMEPAGE="https://github.com/jaraco/zipp"
-DOWNLOAD="https://files.pythonhosted.org/packages/cc/3c/3e8c69cd493297003da83f26ccf1faea5dd7da7892a0a7c965ac3bcba7bf/zipp-3.8.0.tar.gz"
-MD5SUM="8864ff5ed01cd28755cc87f1443dbc67"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dimitris Zlatanidis"
-EMAIL="d.zlatanidis@gmail.com"
diff --git a/python/python-zipp/setup.py b/python/python-zipp/setup.py
deleted file mode 100644
index 0ae4555937..0000000000
--- a/python/python-zipp/setup.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from setuptools import setup
-
-
-if __name__ == '__main__':
- setup()
diff --git a/python/python-zipp/slack-desc b/python/python-zipp/slack-desc
deleted file mode 100644
index 0445035132..0000000000
--- a/python/python-zipp/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-python-zipp: python-zipp (pathlib-compatible Zipfile object wrapper)
-python-zipp:
-python-zipp: A pathlib-compatible Zipfile object wrapper. A backport of the Path
-python-zipp: object.
-python-zipp:
-python-zipp:
-python-zipp:
-python-zipp:
-python-zipp:
-python-zipp:
-python-zipp:
diff --git a/python/python3-babel/README b/python/python3-babel/README
deleted file mode 100644
index 292ad0fb52..0000000000
--- a/python/python3-babel/README
+++ /dev/null
@@ -1,10 +0,0 @@
-babel (python internationalization tools)
-
-Babel is a collection of tools for internationalizing Python apps.
-It's composed of two major parts:
-- tools to build and work with gettext message catalogs;
-- a Python interface to the CLDR (Common Locale Data Repository),
- providing access to various locale display names, localized number
- and date formatting, etc.
-
-The pytz dependency must be built with optional Python 3 support.
diff --git a/python/python3-babel/python3-babel.SlackBuild b/python/python3-babel/python3-babel.SlackBuild
deleted file mode 100644
index 4b5aaaf07e..0000000000
--- a/python/python3-babel/python3-babel.SlackBuild
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for python3-babel
-#
-# Copyright 2021 Yth | Pont-en-Royans, France | yth@ythogtha.org
-# Copyright 2019-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
-# Copyright 2013-2018 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=python3-babel
-VERSION=${VERSION:-2.10.1}
-CLDRVER=${CLDRVER:-41.0}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-SRCNAM=babel
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-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 $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
-cd $SRCNAM-$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 {} \;
-
-sed -i "s/getiterator/iter/" scripts/import_cldr.py # support Python 3.9
-sed -i "s/elem.getchildren()/list(elem)/" scripts/import_cldr.py # support Python 3.9
-ln -s $CWD/cldr-common-$CLDRVER.zip cldr/
-python3 setup.py import_cldr
-python3 setup.py install --root=$PKG
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- AUTHORS* CHANGES* CONTRIBUTING* LICENSE* README* \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/python/python3-babel/python3-babel.info b/python/python3-babel/python3-babel.info
deleted file mode 100644
index ccc177ac0e..0000000000
--- a/python/python3-babel/python3-babel.info
+++ /dev/null
@@ -1,12 +0,0 @@
-PRGNAM="python3-babel"
-VERSION="2.10.1"
-HOMEPAGE="http://babel.pocoo.org/"
-DOWNLOAD="https://github.com/python-babel/babel/archive/v2.10.1/babel-2.10.1.tar.gz \
- http://unicode.org/Public/cldr/41/cldr-common-41.0.zip"
-MD5SUM="9483ad57043776324459e7f000aec7f0 \
- d346710d2beb5133bdb1d14f966ae2cd"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="pytz"
-MAINTAINER="Yth - Arnaud"
-EMAIL="yth@ythogtha.org"
diff --git a/python/python3-babel/slack-desc b/python/python3-babel/slack-desc
deleted file mode 100644
index 3da4910178..0000000000
--- a/python/python3-babel/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-python3-babel: python3-babel (python internationalization tools)
-python3-babel:
-python3-babel: Babel is a collection of tools for internationalizing Python apps.
-python3-babel: It's composed of two major parts:
-python3-babel: - tools to build and work with gettext message catalogs;
-python3-babel: - a Python interface to the CLDR (Common Locale Data Repository),
-python3-babel: providing access to various locale display names, localized number
-python3-babel: and date formatting, etc.
-python3-babel:
-python3-babel: homepage: http://babel.edgewall.org/
-python3-babel:
diff --git a/python/python3-kiwisolver/README b/python/python3-kiwisolver/README
index 33dd7e0d0c..539a84662d 100644
--- a/python/python3-kiwisolver/README
+++ b/python/python3-kiwisolver/README
@@ -8,6 +8,3 @@ improvement. Memory savings are consistently > 5x.
This is the Python 3 version of kiwisolver and will coexist with SBo's
kiwisolver package.
-
-python3-kiwisolver 1.4.1 is the last possible version for Slackware
-15.0. Newer versions would require a newer python-setuptools.
diff --git a/python/python3-kiwisolver/python3-kiwisolver.SlackBuild b/python/python3-kiwisolver/python3-kiwisolver.SlackBuild
index dc508a2611..d39c213ef2 100644
--- a/python/python3-kiwisolver/python3-kiwisolver.SlackBuild
+++ b/python/python3-kiwisolver/python3-kiwisolver.SlackBuild
@@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=python3-kiwisolver
SRCNAM=kiwisolver
-VERSION=${VERSION:-1.4.1}
+VERSION=${VERSION:-1.4.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -68,7 +68,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-python3 setup.py install --root $PKG
+python3 -m build --no-isolation
+python3 -m installer -d "$PKG" dist/*.whl
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/python/python3-kiwisolver/python3-kiwisolver.info b/python/python3-kiwisolver/python3-kiwisolver.info
index aea7dde3da..fb81796848 100644
--- a/python/python3-kiwisolver/python3-kiwisolver.info
+++ b/python/python3-kiwisolver/python3-kiwisolver.info
@@ -1,10 +1,10 @@
PRGNAM="python3-kiwisolver"
-VERSION="1.4.1"
+VERSION="1.4.4"
HOMEPAGE="https://github.com/nucleic/kiwi"
-DOWNLOAD="https://github.com/nucleic/kiwi/releases/download/1.4.1/kiwisolver-1.4.1.tar.gz"
-MD5SUM="a9ad45ee855ad59bb4625a4daa76ad51"
+DOWNLOAD="https://github.com/nucleic/kiwi/releases/download/1.4.4/kiwisolver-1.4.4.tar.gz"
+MD5SUM="34796908455c3b23c889439b541e424b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="cppy wheel"
+REQUIRES="cppy python3-build python3-installer wheel"
MAINTAINER="Isaac Yu"
EMAIL="isaacyu1@isaacyu1.com"
diff --git a/python/pytz/pytz.SlackBuild b/python/pytz/pytz.SlackBuild
index 2d4da870cc..d4cbd825a3 100644
--- a/python/pytz/pytz.SlackBuild
+++ b/python/pytz/pytz.SlackBuild
@@ -66,7 +66,6 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
python setup.py install --root=$PKG
-python3 setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/python/snowballstemmer/snowballstemmer.SlackBuild b/python/snowballstemmer/snowballstemmer.SlackBuild
index 00f83e6019..acf82fea9a 100644
--- a/python/snowballstemmer/snowballstemmer.SlackBuild
+++ b/python/snowballstemmer/snowballstemmer.SlackBuild
@@ -80,9 +80,6 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
python setup.py install --root=$PKG
-if $(python3 -c 'import sys' 2>/dev/null); then
- python3 setup.py install --root=$PKG
-fi
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/system/audit/audit.SlackBuild b/system/audit/audit.SlackBuild
index baf85c9b38..45aca7c2a1 100644
--- a/system/audit/audit.SlackBuild
+++ b/system/audit/audit.SlackBuild
@@ -79,6 +79,9 @@ find -L . \
# Init should check /etc/rc.d/rc.auditd.conf instead of /etc/sysconfig/auditd
patch -p1 < $CWD/audit-2.3.6-sysconfig.diff
+# python binding are disabled ATM, see
+# https://listman.redhat.com/archives/linux-audit/2022-February/msg00085.html
+# thanks to fourtysixandtwo for the pointers
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -94,6 +97,8 @@ CFLAGS="$SLKCFLAGS" \
--enable-systemd=no \
--with-libcap-ng=yes \
--enable-gssapi-krb5=yes \
+ --without-python \
+ --without-python3 \
--build=$ARCH-slackware-linux
make
diff --git a/system/conky/conky.SlackBuild b/system/conky/conky.SlackBuild
index 241cf0edaf..bed6704f24 100644
--- a/system/conky/conky.SlackBuild
+++ b/system/conky/conky.SlackBuild
@@ -102,7 +102,7 @@ cd build
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DDOC_PATH=/usr/doc/$PRGNAM-$VERSION \
- -DMAINTAINER_MODE=ON \
+ -DMAINTAINER_MODE=OFF \
-DBUILD_DOCS=OFF \
-DBUILD_EXTRAS=ON \
-DBUILD_XDBE=ON \
diff --git a/system/osinfo-db-tools/osinfo-db-tools.SlackBuild b/system/osinfo-db-tools/osinfo-db-tools.SlackBuild
index 96f3f7b6c5..1418e79bc9 100644
--- a/system/osinfo-db-tools/osinfo-db-tools.SlackBuild
+++ b/system/osinfo-db-tools/osinfo-db-tools.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for osinfo-db-tools
-# Copyright 2016-2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2016-2022 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=osinfo-db-tools
-VERSION=${VERSION:-1.9.0}
+VERSION=${VERSION:-1.10.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/system/osinfo-db-tools/osinfo-db-tools.info b/system/osinfo-db-tools/osinfo-db-tools.info
index c2ed3c03d1..ad699ecdc1 100644
--- a/system/osinfo-db-tools/osinfo-db-tools.info
+++ b/system/osinfo-db-tools/osinfo-db-tools.info
@@ -1,8 +1,8 @@
PRGNAM="osinfo-db-tools"
-VERSION="1.9.0"
+VERSION="1.10.0"
HOMEPAGE="http://libosinfo.org"
-DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-tools-1.9.0.tar.xz"
-MD5SUM="99374514e84ef223c9d9db0463982a1b"
+DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-tools-1.10.0.tar.xz"
+MD5SUM="f0c83772ce612b5d0befb77a8d6f309b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/osinfo-db/osinfo-db.SlackBuild b/system/osinfo-db/osinfo-db.SlackBuild
index e2ef246535..df13c66bdb 100644
--- a/system/osinfo-db/osinfo-db.SlackBuild
+++ b/system/osinfo-db/osinfo-db.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for osinfo-db
-# Copyright 2016-2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2016-2022 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=osinfo-db
-VERSION=${VERSION:-20211216}
+VERSION=${VERSION:-20220727}
SLVERSION=${SLVERSION:-20220214}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/osinfo-db/osinfo-db.info b/system/osinfo-db/osinfo-db.info
index 9e4b47bb02..3a0bb17fbe 100644
--- a/system/osinfo-db/osinfo-db.info
+++ b/system/osinfo-db/osinfo-db.info
@@ -1,9 +1,9 @@
PRGNAM="osinfo-db"
-VERSION="20211216"
+VERSION="20220727"
HOMEPAGE="http://libosinfo.org"
-DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-20211216.tar.xz \
+DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-20220727.tar.xz \
https://harrier.slackbuilds.org/misc/osinfo-db-slackware-20220214.tar.xz"
-MD5SUM="1a67c27f8d0f922f479876d973cc1fc3 \
+MD5SUM="e3babe02a25748eaab0b7a37c9ed18ba \
65ed4d991bdab6ab00bc34bcbb5d16ff"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/qemu/qemu.SlackBuild b/system/qemu/qemu.SlackBuild
index 763c04d248..24e6133870 100644
--- a/system/qemu/qemu.SlackBuild
+++ b/system/qemu/qemu.SlackBuild
@@ -30,7 +30,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=qemu
-VERSION=${VERSION:-6.2.0}
+VERSION=${VERSION:-7.1.0}
SRCVER=$(echo $VERSION | tr _ - )
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/qemu/qemu.info b/system/qemu/qemu.info
index ee823d3477..19276021da 100644
--- a/system/qemu/qemu.info
+++ b/system/qemu/qemu.info
@@ -1,8 +1,8 @@
PRGNAM="qemu"
-VERSION="6.2.0"
+VERSION="7.1.0"
HOMEPAGE="https://www.qemu.org"
-DOWNLOAD="https://download.qemu.org/qemu-6.2.0.tar.xz"
-MD5SUM="a077669ce58b6ee07ec355e54aad25be"
+DOWNLOAD="https://download.qemu.org/qemu-7.1.0.tar.xz"
+MD5SUM="3be5458a9171b4ec5220c65d5d52bdcf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/vice/psiddrv.h.prebuilt.3.4 b/system/vice/psiddrv.h.prebuilt.3.4
deleted file mode 100644
index c1820907b8..0000000000
--- a/system/vice/psiddrv.h.prebuilt.3.4
+++ /dev/null
@@ -1,28 +0,0 @@
- 0x01, 0x00, 0x6f, 0x36, 0x35, 0x00, 0x03, 0x00, 0x00, 0x10, 0x35, 0x01, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x70, 0x73, 0x69, 0x64,
- 0x64, 0x72, 0x76, 0x2e, 0x6f, 0x36, 0x35, 0x00, 0x1c, 0x03, 0x44, 0x61, 0x67, 0x20, 0x4c, 0x65,
- 0x6d, 0x20, 0x3c, 0x72, 0x65, 0x73, 0x69, 0x64, 0x40, 0x6e, 0x69, 0x6d, 0x72, 0x6f, 0x64, 0x2e,
- 0x6e, 0x6f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x2b,
- 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x2b, 0x11, 0x31, 0x11,
- 0xa9, 0x00, 0x8d, 0x1a, 0xd0, 0xad, 0x19, 0xd0, 0x8d, 0x19, 0xd0, 0xa9, 0x7f, 0x8d, 0x0d, 0xdc,
- 0x8d, 0x0d, 0xdd, 0xad, 0x0d, 0xdc, 0xad, 0x0d, 0xdd, 0xa2, 0x08, 0xbd, 0x0c, 0x10, 0x9d, 0x00,
- 0x80, 0xca, 0x10, 0xf7, 0xad, 0x18, 0x10, 0xc9, 0x03, 0x90, 0x14, 0xd0, 0x07, 0xad, 0x17, 0x10,
- 0xc9, 0x1a, 0x90, 0x0b, 0xa2, 0x05, 0xbd, 0x25, 0x10, 0x9d, 0x14, 0x03, 0xca, 0x10, 0xf7, 0xa9,
- 0x1b, 0xa2, 0x00, 0x8d, 0x11, 0xd0, 0x8e, 0x12, 0xd0, 0xad, 0x21, 0x10, 0xf0, 0x06, 0xa9, 0x25,
- 0xa2, 0x40, 0xd0, 0x04, 0xa9, 0x95, 0xa2, 0x42, 0x8d, 0x04, 0xdc, 0x8e, 0x05, 0xdc, 0xa9, 0x0f,
- 0x8d, 0x18, 0xd4, 0xac, 0x15, 0x10, 0x88, 0xcc, 0x16, 0x10, 0x90, 0x02, 0xa0, 0x00, 0x98, 0x48,
- 0xad, 0x1c, 0x10, 0xf0, 0x27, 0xae, 0x1c, 0x10, 0x20, 0xf9, 0x10, 0x8d, 0x24, 0x10, 0xc0, 0x20,
- 0x90, 0x02, 0xa0, 0x1f, 0xa9, 0x00, 0xaa, 0x38, 0x2a, 0x90, 0x02, 0x2a, 0xe8, 0x88, 0x10, 0xf8,
- 0x3d, 0x1d, 0x10, 0xd0, 0x07, 0xa9, 0x81, 0x8d, 0x1a, 0xd0, 0xd0, 0x0a, 0xa9, 0x81, 0xa2, 0x01,
- 0x8d, 0x0d, 0xdc, 0x8e, 0x0e, 0xdc, 0xa9, 0x2f, 0x85, 0x00, 0xad, 0x1a, 0x10, 0xae, 0x23, 0x10,
- 0x20, 0xf9, 0x10, 0x85, 0x01, 0x68, 0xaa, 0xa8, 0x20, 0xf3, 0x10, 0xad, 0x1c, 0x10, 0xf0, 0x04,
- 0xa9, 0x36, 0x85, 0x01, 0x58, 0x4c, 0xf0, 0x10, 0x6c, 0x19, 0x10, 0x6c, 0x1b, 0x10, 0xc9, 0xe0,
- 0x90, 0x03, 0xa9, 0x35, 0x60, 0xc9, 0xd0, 0x90, 0x03, 0xa9, 0x34, 0x60, 0xe0, 0xa0, 0x90, 0x03,
- 0xa9, 0x36, 0x60, 0xa9, 0x37, 0x60, 0xad, 0x1c, 0x10, 0xf0, 0x0c, 0xad, 0x24, 0x10, 0x85, 0x01,
- 0x20, 0xf6, 0x10, 0xa9, 0x36, 0x85, 0x01, 0xad, 0x19, 0xd0, 0x8d, 0x19, 0xd0, 0xad, 0x0d, 0xdc,
- 0x68, 0xa8, 0x68, 0xaa, 0x68, 0x40, 0x2c, 0x0d, 0xdd, 0x40, 0x00, 0x00, 0x0b, 0x82, 0x1b, 0x82,
- 0x02, 0x82, 0x02, 0x82, 0x1e, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x13, 0x82, 0x1a, 0x82,
- 0x04, 0x82, 0x09, 0x82, 0x05, 0x82, 0x03, 0x82, 0x03, 0x82, 0x15, 0x82, 0x1a, 0x82, 0x03, 0x82,
- 0x03, 0x82, 0x08, 0x82, 0x03, 0x82, 0x0a, 0x82, 0x03, 0x82, 0x03, 0x82, 0x1b, 0x82, 0x05, 0x82,
- 0x05, 0x82, 0x00, 0x00, 0x00, 0x00,
diff --git a/system/vice/vice.SlackBuild b/system/vice/vice.SlackBuild
index 119d5c76a4..c24163308e 100644
--- a/system/vice/vice.SlackBuild
+++ b/system/vice/vice.SlackBuild
@@ -37,7 +37,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=vice
-VERSION=${VERSION:-3.5}
+VERSION=${VERSION:-3.6.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -81,6 +81,7 @@ set -e
# ffmpeg is included in the base OS on post-14.2 -current, but leave
# this here in case someone's doing something clever.
[ -x /usr/bin/ffmpeg ] && ffmpeg="--enable-external-ffmpeg"
+ffmpeg="" # ...but with ffmpeg 5.x is broken ATM
# Anticipating 15.0's pure-alsa-system
if [ "${PULSE:-yes}" != "yes" ]; then
@@ -129,7 +130,7 @@ config() {
# dynamic about this header, it's just a small chunk of 6502 object
# code as a C array, and for a given version of vice it'll always be
# the same code. It didn't change between vice 3.4 and 3.5, either.
- cat $CWD/psiddrv.h.prebuilt.3.4 > src/c64/psiddrv.h
+ #cat $CWD/psiddrv.h.prebuilt.3.4 > src/c64/psiddrv.h
# 20210809 bkw: in 3.5, upstream added dos2unix as a required dep,
# but it's *only used* if you run "make dist" or "make dist-gzip",
@@ -231,14 +232,14 @@ install -m0644 src/arch/gtk3/data/unix/vice*directory \
# Documentation. vice.pdf has already been installed to the doc dir.
# Generate info, plaintext, and HTML versions here. The text doc is
# harder to navigate, but easier to grep, so it's worth having IMO.
-makeinfo doc/$PRGNAM.texi
-mkdir -p $PKG/usr/info
-mv $PRGNAM.info* $PKG/usr/info
+#makeinfo doc/$PRGNAM.texi
+#mkdir -p $PKG/usr/info
+#mv $PRGNAM.info* $PKG/usr/info
-makeinfo --plaintext doc/$PRGNAM.texi > $PKGDOC/$PRGNAM.txt
+#makeinfo --plaintext doc/$PRGNAM.texi > $PKGDOC/$PRGNAM.txt
-( cd doc ; texi2any --html $PRGNAM.texi )
-cp -a doc/$PRGNAM $PKGDOC/html
+#( cd doc ; texi2any --html $PRGNAM.texi )
+#cp -a doc/$PRGNAM $PKGDOC/html
# 20210810 bkw: as of 3.5, upstream dropped the man pages. I'm
# including the man pages from 3.4 in the 3.5 package. Edited them
@@ -251,7 +252,7 @@ for i in $CWD/man/*.?; do
-e "s,@PDFDOC@,$DOCDIR/$PRGNAM.pdf," \
< $i > $PKG/usr/man/man1/$( basename $i )
done
-gzip -9 $PKG/usr/man/man?/*.? $PKG/usr/info/*
+gzip -9 $PKG/usr/man/man?/*.?
for i in x64 x64sc xscpu64 x64dtv x128 xvic xpet xplus4 xcbm2 xcbm5x0; do
ln -s vice.1.gz $PKG/usr/man/man1/$i.1.gz
done
diff --git a/system/vice/vice.info b/system/vice/vice.info
index adbff1facd..0b744adf92 100644
--- a/system/vice/vice.info
+++ b/system/vice/vice.info
@@ -1,10 +1,10 @@
PRGNAM="vice"
-VERSION="3.5"
+VERSION="3.6.1"
HOMEPAGE="https://vice-emu.sourceforge.io"
-DOWNLOAD="https://downloads.sourceforge.net/project/vice-emu/releases/vice-3.5.tar.gz"
-MD5SUM="23904beb4d251006373f11e99310971c"
+DOWNLOAD="https://downloads.sourceforge.net/project/vice-emu/releases/vice-3.6.1.tar.gz"
+MD5SUM="7fd18d68b3c802658e0a577e9196b448"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="xa"
MAINTAINER="B. Watson"
EMAIL="urchlay@slackware.uk"
diff --git a/system/virt-manager/Add-Slackware-to-OS-choices.patch b/system/virt-manager/Add-Slackware-to-OS-choices.patch
index 0a5260206f..6b5ccd1a9d 100644
--- a/system/virt-manager/Add-Slackware-to-OS-choices.patch
+++ b/system/virt-manager/Add-Slackware-to-OS-choices.patch
@@ -49,14 +49,3 @@ diff -Nur virt-manager-2.2.0.orig/virtinst/install/urldetect.py virt-manager-2.2
class _SuseDistro(_RHELDistro):
PRETTY_NAME = None
_suse_regex = []
-diff -Nur virt-manager-2.2.0.orig/virtinst/osdict.py virt-manager-2.2.0/virtinst/osdict.py
---- virt-manager-2.2.0.orig/virtinst/osdict.py 2019-06-17 00:20:11.000000000 -0500
-+++ virt-manager-2.2.0/virtinst/osdict.py 2019-07-03 02:11:59.208399622 -0500
-@@ -146,6 +146,7 @@
- "rhel5": "rhel5.0",
- "rhel6": "rhel6.0",
- "rhel7": "rhel7.0",
-+ "slackware": "slackware14.2",
- "ubuntuhardy": "ubuntu8.04",
- "ubuntuintrepid": "ubuntu8.10",
- "ubuntujaunty": "ubuntu9.04",
diff --git a/system/virt-manager/virt-manager.SlackBuild b/system/virt-manager/virt-manager.SlackBuild
index 9514fa6914..047e03eed7 100644
--- a/system/virt-manager/virt-manager.SlackBuild
+++ b/system/virt-manager/virt-manager.SlackBuild
@@ -9,7 +9,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=virt-manager
-VERSION=${VERSION:-3.2.0}
+VERSION=${VERSION:-4.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/system/virt-manager/virt-manager.info b/system/virt-manager/virt-manager.info
index 5f496889a2..033d35106b 100644
--- a/system/virt-manager/virt-manager.info
+++ b/system/virt-manager/virt-manager.info
@@ -1,8 +1,8 @@
PRGNAM="virt-manager"
-VERSION="3.2.0"
+VERSION="4.1.0"
HOMEPAGE="http://virt-manager.org/"
-DOWNLOAD="https://virt-manager.org/download/sources/virt-manager/virt-manager-3.2.0.tar.gz"
-MD5SUM="a87507223c32d15eb12e1754404061dc"
+DOWNLOAD="https://virt-manager.org/download/sources/virt-manager/virt-manager-4.1.0.tar.gz"
+MD5SUM="8bf86bcc7e43a956ff94ebdaf4d7d399"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libosinfo libvirt-glib libvirt-python gtk-vnc spice-gtk"
diff --git a/system/xf86-video-qxl/buildfix.diff b/system/xf86-video-qxl/buildfix.diff
new file mode 100644
index 0000000000..d1a8d7e6f2
--- /dev/null
+++ b/system/xf86-video-qxl/buildfix.diff
@@ -0,0 +1,101 @@
+From 4b083ede3c4a827a84295ff223e34ee3c2e581b2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
+ <zboszor@gmail.com>
+Date: Sat, 28 Aug 2021 15:38:40 +0200
+Subject: [PATCH] Fix a build error with Xorg master
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use xf86ReturnOptValBool() in get_bool_option() instead of
+options[option_index].value.bool to fix a compiler error with
+current Xorg xserver master branch.
+
+Also use xf86GetOptValInteger() in get_int_option() and
+xf86GetOptValString() in get_str_option() for consistency.
+
+The change causes a slight performance drop during option parsing
+because the passed-in index_value is no longer used as an index
+into the options array.
+
+Instead, it's used as a token now for the standard option getter
+functions which works since the index_value to the get_*_option()
+functions are identical to the value of options[n].token in the
+passed-in OptionInfoRec array.
+
+Also rename "int option_index" to "int token" for clarity in all
+three functions.
+
+Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
+---
+ src/qxl_option_helpers.c | 13 +++++++------
+ src/qxl_option_helpers.h | 6 +++---
+ 2 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c
+index 2aba677..7707b7c 100644
+--- a/src/qxl_option_helpers.c
++++ b/src/qxl_option_helpers.c
+@@ -10,31 +10,32 @@
+
+ #include "qxl_option_helpers.h"
+
+-int get_int_option(OptionInfoPtr options, int option_index,
++int get_int_option(OptionInfoPtr options, int token,
+ const char *env_name)
+ {
++ int value;
+ if (env_name && getenv(env_name)) {
+ return atoi(getenv(env_name));
+ }
+- return options[option_index].value.num;
++ return xf86GetOptValInteger(options, token, &value) ? value : 0;
+ }
+
+-const char *get_str_option(OptionInfoPtr options, int option_index,
++const char *get_str_option(OptionInfoPtr options, int token,
+ const char *env_name)
+ {
+ if (getenv(env_name)) {
+ return getenv(env_name);
+ }
+- return options[option_index].value.str;
++ return xf86GetOptValString(options, token);
+ }
+
+-int get_bool_option(OptionInfoPtr options, int option_index,
++int get_bool_option(OptionInfoPtr options, int token,
+ const char *env_name)
+ {
+ const char* value = getenv(env_name);
+
+ if (!value) {
+- return options[option_index].value.bool;
++ return xf86ReturnOptValBool(options, token, FALSE);
+ }
+ if (strcmp(value, "0") == 0 ||
+ strcasecmp(value, "off") == 0 ||
+diff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h
+index 7c54c72..66d0a17 100644
+--- a/src/qxl_option_helpers.h
++++ b/src/qxl_option_helpers.h
+@@ -4,13 +4,13 @@
+ #include <xf86Crtc.h>
+ #include <xf86Opt.h>
+
+-int get_int_option(OptionInfoPtr options, int option_index,
++int get_int_option(OptionInfoPtr options, int token,
+ const char *env_name);
+
+-const char *get_str_option(OptionInfoPtr options, int option_index,
++const char *get_str_option(OptionInfoPtr options, int token,
+ const char *env_name);
+
+-int get_bool_option(OptionInfoPtr options, int option_index,
++int get_bool_option(OptionInfoPtr options, int token,
+ const char *env_name);
+
+ #endif // OPTION_HELPERS_H
+--
+GitLab
+
diff --git a/system/xf86-video-qxl/xf86-video-qxl.SlackBuild b/system/xf86-video-qxl/xf86-video-qxl.SlackBuild
index f507d7f199..8f9b695f2e 100644
--- a/system/xf86-video-qxl/xf86-video-qxl.SlackBuild
+++ b/system/xf86-video-qxl/xf86-video-qxl.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
# Slackware build script for xf86-video-qxl
-# Copyright 2012-2017 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2012-2022 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -85,6 +85,7 @@ find -L . \
-exec chmod 644 {} \;
patch -p1 < $CWD/libdrm.patch
+patch -p1 < $CWD/buildfix.diff
# autogen.sh can be used in place of configure
CFLAGS="$SLKCFLAGS" \