summaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/AtomicParsley/AtomicParsley.SlackBuild19
-rw-r--r--multimedia/AtomicParsley/AtomicParsley.info6
-rw-r--r--multimedia/AtomicParsley/README6
-rw-r--r--multimedia/AtomicParsley/Using_AtomicParsley.txt191
-rw-r--r--multimedia/AtomicParsley/slack-desc2
-rw-r--r--multimedia/LBRY/LBRY.SlackBuild4
-rw-r--r--multimedia/LBRY/LBRY.info6
-rw-r--r--multimedia/MuseScore/MuseScore.SlackBuild7
-rw-r--r--multimedia/MuseScore/MuseScore.info14
-rw-r--r--multimedia/aegisub/aegisub.info2
-rw-r--r--multimedia/aom/README3
-rw-r--r--multimedia/aom/aom.SlackBuild20
-rw-r--r--multimedia/aom/aom.info6
-rw-r--r--multimedia/coriander/README18
-rw-r--r--multimedia/coriander/coriander.SlackBuild4
-rw-r--r--multimedia/coriander/coriander.desktop2
-rw-r--r--multimedia/coriander/coriander.info8
-rw-r--r--multimedia/coriander/slack-desc2
-rw-r--r--multimedia/ffmpeg4/ffmpeg4.SlackBuild4
-rw-r--r--multimedia/ffmpeg4/ffmpeg4.info6
-rw-r--r--multimedia/flashplayer-plugin/flashplayer-plugin.SlackBuild2
-rw-r--r--multimedia/flashplayer-plugin/flashplayer-plugin.info10
-rw-r--r--multimedia/gpodder/README6
-rw-r--r--multimedia/gpodder/gpodder.SlackBuild2
-rw-r--r--multimedia/gpodder/gpodder.info6
-rw-r--r--multimedia/k9copy-reloaded/README23
-rw-r--r--multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild133
-rw-r--r--multimedia/k9copy-reloaded/k9copy-reloaded.info8
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-ffmpeg3.patch44
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-fix-desktop-files.patch66
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-gcc7.patch30
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-i18n.patch942
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-installdirs.patch29
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-mimetype.patch23
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-missing-language-in-po-files.patch221
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-tempdir.patch63
-rw-r--r--multimedia/k9copy-reloaded/patches/k9copy-uncheck-dvdauthor.patch12
-rw-r--r--multimedia/lightspark/README9
-rw-r--r--multimedia/lightspark/lightspark.SlackBuild11
-rw-r--r--multimedia/lightspark/lightspark.info6
-rw-r--r--multimedia/lives/README15
-rw-r--r--multimedia/lives/lives.SlackBuild39
-rw-r--r--multimedia/lives/slack-desc8
-rw-r--r--multimedia/mediainfo/mediainfo.SlackBuild2
-rw-r--r--multimedia/mediainfo/mediainfo.info6
-rw-r--r--multimedia/mpv/mpv.SlackBuild7
-rw-r--r--multimedia/mpv/mpv.info6
-rw-r--r--multimedia/openshot/openshot.info2
-rw-r--r--multimedia/pepperflash-plugin/pepperflash-plugin.SlackBuild2
-rw-r--r--multimedia/pepperflash-plugin/pepperflash-plugin.info10
-rw-r--r--multimedia/plexmediaserver/README7
-rw-r--r--multimedia/plexmediaserver/plexmediaserver.SlackBuild4
-rw-r--r--multimedia/plexmediaserver/plexmediaserver.info10
-rw-r--r--multimedia/rtmpdump/rtmpdump.SlackBuild2
-rw-r--r--multimedia/rtmpdump/rtmpdump.info6
-rw-r--r--multimedia/spotify/spotify.SlackBuild2
-rw-r--r--multimedia/straw-viewer/straw-viewer.SlackBuild3
-rw-r--r--multimedia/straw-viewer/straw-viewer.info6
-rw-r--r--multimedia/tomahawk/tomahawk.info2
-rw-r--r--multimedia/vapoursynth-mvtools/README1
-rw-r--r--multimedia/vapoursynth-mvtools/slack-desc19
-rw-r--r--multimedia/vapoursynth-mvtools/vapoursynth-mvtools.SlackBuild96
-rw-r--r--multimedia/vapoursynth-mvtools/vapoursynth-mvtools.info10
-rw-r--r--multimedia/vapoursynth/650.patch560
-rw-r--r--multimedia/vapoursynth/README3
-rw-r--r--multimedia/vapoursynth/slack-desc19
-rw-r--r--multimedia/vapoursynth/vapoursynth.SlackBuild100
-rw-r--r--multimedia/vapoursynth/vapoursynth.info10
-rw-r--r--multimedia/vlc/vlc.SlackBuild4
-rw-r--r--multimedia/vlc/vlc.info6
-rw-r--r--multimedia/vokoscreen/README2
-rw-r--r--multimedia/vokoscreen/slack-desc19
-rw-r--r--multimedia/vokoscreen/vokoscreen.info10
-rw-r--r--multimedia/vokoscreenNG/0001-Add-better-integration-for-Linux.patch110
-rw-r--r--multimedia/vokoscreenNG/README13
-rw-r--r--multimedia/vokoscreenNG/doinst.sh (renamed from multimedia/vokoscreen/doinst.sh)0
-rw-r--r--multimedia/vokoscreenNG/slack-desc19
-rw-r--r--multimedia/vokoscreenNG/vokoscreenNG.SlackBuild (renamed from multimedia/vokoscreen/vokoscreen.SlackBuild)37
-rw-r--r--multimedia/vokoscreenNG/vokoscreenNG.info10
79 files changed, 2768 insertions, 395 deletions
diff --git a/multimedia/AtomicParsley/AtomicParsley.SlackBuild b/multimedia/AtomicParsley/AtomicParsley.SlackBuild
index d627d278bd..a433f6c3c7 100644
--- a/multimedia/AtomicParsley/AtomicParsley.SlackBuild
+++ b/multimedia/AtomicParsley/AtomicParsley.SlackBuild
@@ -22,10 +22,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=AtomicParsley
-SRCNAM=atomicparsley
-SRCDIR=wez-$SRCNAM-da2f6e4fc120
+SRCNAM=$( echo $PRGNAM | tr A-Z a-z )
VERSION=${VERSION:-0.9.6}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -60,11 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf __MACOSX
-rm -rf $SRCDIR
-#unzip $CWD/$SRCNAM-$VERSION.zip
-tar xfv $CWD/$VERSION.tar.gz
-cd $SRCDIR
+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 \
@@ -92,11 +89,13 @@ 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
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/tools
cp -a \
- COPYING CREDITS Changes.txt README.md $CWD/Using_AtomicParsley.rtf \
+ COPYING CREDITS Changes.txt README.md $CWD/Using_AtomicParsley.{rtf,txt} \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+install -D -m0755 tools/iTunMOVI-1.1.pl \
+ $PKG/usr/doc/$PRGNAM-$VERSION/tools/iTunMOVI-1.1.pl
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/multimedia/AtomicParsley/AtomicParsley.info b/multimedia/AtomicParsley/AtomicParsley.info
index 3baf76ce79..9e7b522e10 100644
--- a/multimedia/AtomicParsley/AtomicParsley.info
+++ b/multimedia/AtomicParsley/AtomicParsley.info
@@ -1,8 +1,8 @@
PRGNAM="AtomicParsley"
VERSION="0.9.6"
-HOMEPAGE="http://atomicparsley.sourceforge.net"
-DOWNLOAD="https://bitbucket.org/wez/atomicparsley/get/0.9.6.tar.gz"
-MD5SUM="1fa52dbc98fb74465cf680429f712d20"
+HOMEPAGE="https://github.com/wez/atomicparsley"
+DOWNLOAD="https://github.com/wez/atomicparsley/archive/0.9.6/atomicparsley-0.9.6.tar.gz"
+MD5SUM="c4fb177b448304a20dbbf138db60c92a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/AtomicParsley/README b/multimedia/AtomicParsley/README
index 640dcfea21..cffb8193c7 100644
--- a/multimedia/AtomicParsley/README
+++ b/multimedia/AtomicParsley/README
@@ -1,4 +1,2 @@
-AtomicParsley (mpeg4 tag tool)
-
-AtomicParsley is a lightweight command line program for reading,
-parsing and setting metadata into MPEG-4 files.
+AtomicParsley is a lightweight command line program for reading, parsing
+and setting metadata into MPEG-4 files.
diff --git a/multimedia/AtomicParsley/Using_AtomicParsley.txt b/multimedia/AtomicParsley/Using_AtomicParsley.txt
new file mode 100644
index 0000000000..4a53b596cb
--- /dev/null
+++ b/multimedia/AtomicParsley/Using_AtomicParsley.txt
@@ -0,0 +1,191 @@
+Welcome to AtomicParsley
+https://github.com/wez/atomicparsley
+(converted from the RTF using Ted. Contains long lines and tabs.)
+
+AtomicParsley is distributed under the GPL "AS IS", without any warranty; without even the implied warranty of merchantability or fitness for either an expressed or implied particular purpose.
+
+AtomicParsley is a command line program for reading & writing iTune-style metadata in mpeg4 files (m4a, m4b, m4p, m4v & mp4) whether iTMS drm protected or not. AtomicParsley can set most user accessible tags, and some that iTunes doesn't let you change. Of particular note are the Mac OS X only image modification preferences that allow artwork to be modified prior to embedding. Artwork can be converted to jpeg, file size limited, reduced & squared through setting command line preferences.
+
+Currently, AtomicParsley lets you set these type of iTunes-style tags in MPEG-4 files:
+
+artist lyrics category TVEpisodeNum
+title album artist artwork TVSeasonNum
+album composer compilation podcast flag
+genre copyright advisory podcast feed url
+tracknumber grouping stik podcast episode GUID url
+disknumber bpm/tempo TVNetwork purchase date
+comment description TVShowName encoder tool
+year keyword TVEpisode play gapless
+
+3GPP & 3GPP2 files (.3gp & .3g2) have a different set of metadata tags available called assets:
+
+title author performer genre
+album * year copyright description
+rating keyword classification location
+
+* album asset is only available on 3gp6 and later branded files.
+
+All mpeg-4 based files support 'uuid' user-defined extensions atoms & ISO copyright notices:
+
+tagtime url information
+ANY user-defined atom with text ANY user-defined atom with embedded file
+ISO-copyright [at movie and/or track level(s)]
+______________________________________________________________________________________________
+Working with AtomicParsley
+
+The format for working with files is always the same:
+
+/path/to/AtomicParsley /path/to/your.m4a [options]
+
+Example to set a picture file into your mpeg4 file (jpeg or png only):
+AtomicParsley /path/your.m4a --artwork /path/to/your.jpg
+
+Exampe of setting multiple tags into your mpeg4 file:
+AtomicParsley /path/your.m4a --artist "I am an Artist" --title "This is the Title" --album "The iAlbum" --genre "Progressive Zydeco" --tracknum 1/2 --disknum 1/2 --year 1985 --comment 'Superlative (I made this TODAY!!!)' --lyrics 'Go, Go, GO! (repeat)' --composer "I Claudius" --grouping "Ennui" --copyright "LowDown Recordings" --bpm 20 --compilation true --advisory clean --artwork /path/to/your.jpg --artwork /path/to/your2.jpg
+
+Example of using the artwork preferences to limit the embedded artwork size & dimensions:
+export PIC_OPTIONS="MaxDimensions=400:MaxKBytes=50:AllPixJPEG=true:SquareUp:removeTempPix"
+AtomicParsley /path/your.m4a --artwork /path/to/your.jpg
+
+Example to change your own mpeg4 file into an iTunes TV show:
+AtomicParsley /path/your.mp4 --genre "TV Shows" --stik "TV Show" --TVNetwork FOOnn --TVShowName "Some Showname" --TVEpisode "1120" --TVEpisodeNum 20 --TVSeason 11
+
+Example to change your own mpeg4 file into a Video Podcast (FrontRow requires the purl atom, iTunes doesn't):
+AtomicParsley /path/your.mp4 --podcastFlag true --stik "Movie" --podcastURL "http://www.fictionalURL.com"
+
+Example of extracting embedded artwork in your mpeg4 file to the same folder:
+AtomicParsley /path/your.m4a --extractPix
+
+To see the atom tree of your mpeg4 file:
+AtomicParsley /path/your.m4a -T
+
+To see the metadata tags set into your mpeg4 file:
+AtomicParsley /path/your.m4a -t
+
+Note Mac users: iTunes looks at type/creator when opening an mpeg4 file. As of AtomicParsley 0.8.1, you no longer need to change extensions to/from anything - this is automatically determined through the information in the file itself and is set accordingly. A podcast mpeg-4 file may cause some concern at first because it shows up as being a protected file with a lock on the icon. This is nothing to be concerned about; iTunes uses the same icon/file info for 'M4B ' and 'M4P ' types - that's it. They aren't drm'ed in any way, just a sharing of icon/Finder info.
+Note2: iTMS purchased media often has ©day set to "2005-09-06T07:00:00Z" or something similar. This is normal and is called Coordinated Universal Time and is denoted by the Z at the end. iTunes only displays the year, but in fact there is an entire date that is there.
+
+Writing out is non-destructive - the original file is unaltered. There is a command-line option to over write the source file: use it with caution or on duplicates. Starting with version 0.9, AtomicParsley can used available padding to rapidly update tags. This option is only available with the --overWrite option.
+
+--------------
+Erasing atoms with AtomicParsley
+
+To delete metadata "":
+AtomicParsley /path/your.m4a --artist "" --title ""
+
+To delete all artwork (on the covr atom):
+AtomicParsley /path/your.m4a --artwork REMOVE_ALL
+
+To delete every piece of metadata (in the "moov.udta.meta.ilst" hierarchy); drm files will still play as normally:
+AtomicParsley /path/your.m4a --metaEnema
+
+--------------
+Setting 3gp assets with AtomicParsley
+
+3gp metadata assets are more complicated than iTunes-style metadata. Assets can be in either utf8 or utf16, and are for a specific language. Multiple like-named tags differing in the language are supported allowing for up to around 480 tags per asset. See the AtomicParsley --3gp-help page for more. 3gp assets are only available on 3gp files - setting iTunes-style metadata is not allowed.
+
+3gp assets have more options than iTunes tags - most are hardcoded with defaults. Defaults are as follows:
+
+Default encoding: utf8 (utf16 also available)
+Default language: 'eng' (about 480 other languages supported; none are currently checked)
+Default Rating: entity = 'NONE' (4spaces); criteria = 'NONE' (4 spaces)
+Default Classification: entity = 'NONE' (4 spaces); index = 0
+Default Location: Longitude: = -73.98; Latitude = 40.77; Altitude = 4.3; Role = shooting location; Astronomical Body = Earth; Additional notes = 'none' [Central Park] - altitude is measured in meters; negative values are appended with a capital letter (S for southern latitudes, W for western longitudes, B for below sea level.)
+
+Setting a title asset for the spanish language in utf16:
+AtomicParsley /path/your.3g2 --3gp-title "The Rain In Spain..." lang=spa UTF16
+
+Setting a album asset (with tracknumber) for the sve language in utf8:
+AtomicParsley /path/your.3g2 --3gp-album "Bjorn Diddles His Banjo of Death" track=2 lang=sve
+
+Setting a rating asset for the japanese language in utf16:
+AtomicParsley /path/your.3g2 --3gp-rating "A superlative 4-on-the-floor house anthem." entity=MOMA criteria=PU18 lang=jpn UTF16
+
+Setting a location asset for the english language in utf16:
+AtomicParsley /path/your.3g2 --3gp-location "Bethesda Terrace" latitude=40.77 longitude=73.98W altitude=4.3B role="real" body=Earth notes="Underground in Central Park" UTF16
+
+Setting a keyword asset for the french language in utf8:
+AtomicParsley /path/your.3gp --3gp-keyword "keywords=France,Paris,Basilique du Sacré-Cœur, Sewers, stinky cheeses" lang=fra
+
+--------------
+Setting copyright notices at movie and/or track level
+
+The only defined piece of metadata designed for descriptive annotations of the presentation/track is the copyright notice. If your file contains 4 tracks, there are 5 places to set copyright notices, max — each of the tracks + movie level. There may be multiple notices, differing by language & may be present at any combination of movie and/or track level in either utf8 or utf16. Defaults are lang=eng & utf8.
+
+Please note that at movie level, this notice is identical the the 3gp copyright asset, and if present for the same langauges this will overwrite the exising asset.
+
+Examples:
+AtomicParsley /path/your.m4a --ISO-copyright "© 2006, Lalalandia Productions" movie UTF16
+AtomicParsley /path/your.m4a --ISO-copyright "© 2006, Produções Da Estrada" track lang=por
+AtomicParsley /path/your.m4a --ISO-copyright "©2006. USA" track=1 --ISO-copyright "©2006. Ελλάδα" track=2 lang=gre --ISO-copyright "©2006. ਬਣਾਉਟੀ" track=5 lang=pun --ISO-copyright "Callaloo Prductions, ©2006" movie lang=car
+
+--------------
+Custom uuid atoms with AtomicParsley
+
+According the the specifications for the mpeg-4 file format, any atom not listed is reserved & is unavailable for use. However, the specification & the mpeg-4 registration authority www.mp4ra.org allow for user defined extension via a mechanism called the 'uuid' atom. This type of atom actually has a 'uuid' name, but following that is 16 bytes (the actual UUID representation itself).
+
+Because anyone or any program can implement UUID atoms, a special version of the UUID form is used - and when read back, special checks are in place to determine if any UUIDs found were created by AtomicParsley. In this way, UUIDs created by 3rd parties are ignored for reading, listings & extractions. This is all handled transparently via a simple mechanism: --meta-uuid ATOM text "Some Text"
+
+where ATOM can be any 4 letter atom name you choose - carrying any text information you choose. Support is also present for directly embedding a file via a similar mechanism: --meta-uuid ATOM file /path/to/target/file.ext
+
+Create your own atoms directly:
+AtomicParsley /path/your.m4a --meta-uuid "YZAB" text "Some string value to set"
+AtomicParsley /path/your.m4a --meta-uuid "®USP" text "6125480"
+AtomicParsley /path/your.m4a --meta-uuid "©212" text "CBGB OMFUG last set"
+AtomicParsley /path/your.m4a --meta-uuid "docu" file ~/Desktop/taxes.zip
+AtomicParsley /path/your.m4a --meta-uuid "inst" file /Files/archive.dmg description="Installer"
+
+Deleting a custom uuid atom:
+AtomicParsley /path/your.m4a --meta-uuid "©212" text ""
+AtomicParsley /path/your.m4a --meta-uuid "docu" file ""
+
+Set the tagging time (the moment the tag was written) on a uuid=tdtg atom:
+AtomicParsley /path/your.m4a --tagtime
+
+Set a url on a uuid=©url atom:
+AtomicParsley /path/your.m4a --url "http://www.bumperdumper.com"
+
+Manually removing uuid atoms:
+AP /path/your.m4a --manualAtomRemove "moov.trak[1].uuid=55534d54-21d2-4fce-bb88-695cfac9c740"
+AP /path/your.m4a --manualAtomRemove "moov.udta.meta.uuid=1fed6656-d911-5385-9cb2-cb2c100f06e7"
+
+Note: any program can create a uuid atom - and are listed differently in an atom tree based on origin. Non-AP created atoms are listed slightly differently than AP-created uuid atoms:
+
+non-AtomicParsley created uuid (from a Sony PSP file):
+Atom uuid=55534d54-21d2-4fce-bb88-695cfac9c740 @ ...
+
+uuid created by AtomicParsley:
+
+Atom uuid=971451ee-0928-59f2-b81f-b1372b62565d(APuuid=ATOM) @ ...
+
+Here you can see that after the hex-a-decimal representation of the uuid, AP has discovered an AtomicParsley-set uuid atom, and lists its name after APuuid).
+
+--------------
+Compiling AtomicParsley
+
+A fresh svn checkout will always be the most recent version available. AtomicParsley was developed on Mac OS X 10.4x, but should be able to compile on older versions. Only gcc4 was used to compile on Mac OS X.
+
+cd AtomicParsley && ./build
+
+Releases of AtomicParsley are also available built using:
+
+• Debian 'Sarge' 31r0a-i386 with gcc/g++4.02, libc6_2.3.5-8 & libstdc++6_4.0.2-2
+• Microsoft Windows XP SP2 with VisualC++ 6.0
+
+--------------
+AtomicParsley & new atoms, bugs, etc....
+
+If you should come across an atom (in the moov.udta.meta.ilst hierarchy) that AtomicParsley doesn't handle, please let me know about it - I would like to be able to support it. Note: AtomicParsley will never support iTunes-style "----" atoms. To facilitate implementation, a sample of the new atom would be needed as it could come in a few different types - or even an entirely new type.
+
+Should you find a bug or a suspect behavior, please post to the bugs section or forum at sourceforge. A sample of the file that demonstrates the behavior would be best. Please also provide the name of the encoding program used to produce the file. Please refrain from using email as a primary means of support - it isn't. Fun though it is to answer some questions repeatedly, imagine the fun a non-response would be.
+
+Please remember: as long as it works on Mac OS X - to me it works *perfectly* good enough. If you find a bug on another platform (probably Windows, because Linux will have most of the same encoders as on Mac OS X) or with any form of commercial encoder, a sample would probably go a long way to making AtomicParsley work on your files.
+
+--------------
+Things to watch out for & avoid with AtomicParsley
+
+• iTunes text tags (except for lyics) are restricted to 255 characters
+
+• Many of the iTMS (both drm and podcast) files have **ID atoms. What they stand for can only be guessed, but their values have meaning only to Apple - as such they are displayed in raw hex. Since all metadata can be stripped (including these **ID atoms), and a drm file still plays properly, these tags can be considered superfluous metadata.
+
+• iTunes 7 incorporates a feature called gapless playback. For unknown reason, iTunes incorporates NULL space at the end of mpeg4 files. This may (or may not) be part of the mechanism iTunes uses as part of its gapless playback. Normally, this NULL space is replicated when AP writes out. It is not if DEFAULT_PAD=0 is set.
diff --git a/multimedia/AtomicParsley/slack-desc b/multimedia/AtomicParsley/slack-desc
index aa8d90b5b9..8e6d241578 100644
--- a/multimedia/AtomicParsley/slack-desc
+++ b/multimedia/AtomicParsley/slack-desc
@@ -11,7 +11,7 @@ AtomicParsley:
AtomicParsley: AtomicParsley is a lightweight command line program for reading,
AtomicParsley: parsing and setting metadata into MPEG-4 files.
AtomicParsley:
-AtomicParsley: http://atomicparsley.sourceforge.net
+AtomicParsley: https://github.com/wez/atomicparsley
AtomicParsley:
AtomicParsley:
AtomicParsley:
diff --git a/multimedia/LBRY/LBRY.SlackBuild b/multimedia/LBRY/LBRY.SlackBuild
index 89647055d9..c818a02301 100644
--- a/multimedia/LBRY/LBRY.SlackBuild
+++ b/multimedia/LBRY/LBRY.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for LBRY
-# Copyright 2020, Chris Abela, Malta
+# Copyright 2020, 2021, Chris Abela, Malta
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=LBRY
-VERSION=${VERSION:-0.48.2}
+VERSION=${VERSION:-0.49.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/LBRY/LBRY.info b/multimedia/LBRY/LBRY.info
index 68705be926..7ccaa36843 100644
--- a/multimedia/LBRY/LBRY.info
+++ b/multimedia/LBRY/LBRY.info
@@ -1,10 +1,10 @@
PRGNAM="LBRY"
-VERSION="0.48.2"
+VERSION="0.49.5"
HOMEPAGE="https://lbry.com/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/lbryio/lbry-desktop/releases/download/v0.48.2/LBRY_0.48.2.deb"
-MD5SUM_x86_64="0da458095a9ccd11587dd02f95525ef5"
+DOWNLOAD_x86_64="https://github.com/lbryio/lbry-desktop/releases/download/v0.49.5/LBRY_0.49.5.deb"
+MD5SUM_x86_64="08f4a2203e3778f310f10e69fea8eaf0"
REQUIRES=""
MAINTAINER="Chris Abela"
EMAIL="kristofru@gmail.com"
diff --git a/multimedia/MuseScore/MuseScore.SlackBuild b/multimedia/MuseScore/MuseScore.SlackBuild
index ee256a4dc6..d36d21c67f 100644
--- a/multimedia/MuseScore/MuseScore.SlackBuild
+++ b/multimedia/MuseScore/MuseScore.SlackBuild
@@ -3,7 +3,7 @@
# Maintained by Klaatu at member.fsf dot org
PRGNAM=MuseScore
-VERSION=${VERSION:-3.4.2}
+VERSION=${VERSION:-3.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,11 +60,15 @@ sed -i 's|share/man|man|' CMakeLists.txt
#musescore doesn't like to build with webengine with qt4 installed
#because the qmake finder finds the qt4 version. lets patch this
sed -i 's/qmake)/qmake-qt5)/g' build/FindQt5.cmake
+
+make revision
+
make release \
PREFIX=/usr \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="-pthread" \
+ MUSESCORE_BUILD_CONFIG=release \
DOWNLOAD_SOUNDFONT=OFF \
USE_SYSTEM_FREETYPE=ON \
BUILD_WEBENGINE=ON \
@@ -73,6 +77,7 @@ make install \
-C build.release \
DESTDIR=$PKG \
UPDATE_CACHE=FALSE
+
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/multimedia/MuseScore/MuseScore.info b/multimedia/MuseScore/MuseScore.info
index 4ec952f528..aa3acac807 100644
--- a/multimedia/MuseScore/MuseScore.info
+++ b/multimedia/MuseScore/MuseScore.info
@@ -1,12 +1,12 @@
PRGNAM="MuseScore"
-VERSION="3.4.2"
+VERSION="3.6"
HOMEPAGE="http://www.musescore.org/"
-DOWNLOAD="https://github.com/musescore/MuseScore/archive/v3.4.2/MuseScore-3.4.2.tar.gz \
- http://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/MuseScore_General.sf3 \
- http://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/MuseScore_General_License.md"
-MD5SUM="d0fb3df64a8d5b5cf229d001b3711788 \
- 52b81759e686ee0da40a459d32cb3ea9 \
- fe7f450714f342135be1f5df7dbab8db"
+DOWNLOAD="https://github.com/musescore/MuseScore/archive/v3.6/MuseScore-3.6.tar.gz \
+http://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/MuseScore_General.sf3 \
+http://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/MuseScore_General_License.md"
+MD5SUM="63c890ef7849da113b80d699a23ccaac \
+ 7b354559c7ef4e859a2bfad8738d477d \
+ bc7b4fbe58b37788876b6c36f19577d0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="qt5-webkit jack lame portaudio portmidi"
diff --git a/multimedia/aegisub/aegisub.info b/multimedia/aegisub/aegisub.info
index a1c1451829..96e448214e 100644
--- a/multimedia/aegisub/aegisub.info
+++ b/multimedia/aegisub/aegisub.info
@@ -1,7 +1,7 @@
PRGNAM="aegisub"
VERSION="3.2.2"
HOMEPAGE="http://www.aegisub.org/"
-DOWNLOAD="http://ftp.aegisub.org/pub/archives/releases/source/aegisub-3.2.2.tar.xz"
+DOWNLOAD="https://github.com/Aegisub/Aegisub/releases/download/v3.2.2/aegisub-3.2.2.tar.xz"
MD5SUM="d80e852c34811add358c06d77f5cd40d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/multimedia/aom/README b/multimedia/aom/README
index 60aa084072..40b686daea 100644
--- a/multimedia/aom/README
+++ b/multimedia/aom/README
@@ -5,3 +5,6 @@ VP9 and also to eventually be a competitor with HEVC/H.265.
This script builds the encoder aomenc, the decoder aomdec as well
as shared libraries which can be utilised by recent versions of
both FFmpeg and vlc.
+
+Note: 'aom' replaces and upgrades 'libaom'; make sure 'libaom' is
+removed before using this SlackBuild.
diff --git a/multimedia/aom/aom.SlackBuild b/multimedia/aom/aom.SlackBuild
index f0c6dfdd4a..6d6940a1e7 100644
--- a/multimedia/aom/aom.SlackBuild
+++ b/multimedia/aom/aom.SlackBuild
@@ -2,7 +2,7 @@
# ----------------------------------------------------------------------
# Slackware build script for aom
#
-# Copyright (c) 2018-2020 Andrew Strong, Blue Mountains, Australia.
+# Copyright (c) 2018-2021 Andrew Strong, Blue Mountains, Australia.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
@@ -25,10 +25,10 @@
PRGNAM=aom
-# The 'official' archive for the aom 2.0.0 release has the git commit in
+# The 'official' archive for the aom 2.0.1 release has the git commit in
# the filename, so adjustments are required for a sane Slackware build:
-VERSION=${VERSION:-2.0.0}
-GITCOMMIT=${GITCOMMIT:-bb35ba9148543f22ba7d8642e4fbd29ae301f5dc}
+VERSION=${VERSION:-2.0.1}
+GITCOMMIT=${GITCOMMIT:-b52ee6d44adaef8a08f6984390de050d64df9faa}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -79,9 +79,8 @@ cd build
# I don't build either the HTML or the Latex docs as IMHO at this stage
# of aom development they are not terribly useful for non-developers.
- # To enable these docs change '-DENABLE_DOCS:BOOL=OFF' below to 'ON' to
- # build the docs and then uncomment the 'extra docs' section below to
- # install them...
+ # To enable these docs change '-DENABLE_DOCS=0' below to '1' to build
+ # the docs and then uncomment the 'extra docs' section below to install them...
cmake \
-G "Unix Makefiles" \
@@ -91,9 +90,10 @@ cd build
-DCMAKE_INSTALL_LIBDIR=/lib${LIBDIRSUFFIX} \
-DCMAKE_INSTALL_INCLUDEDIR=/include \
-DCMAKE_BUILD_TYPE=Release \
- -DENABLE_NASM=ON \
- -DENABLE_DOCS=OFF \
- -DBUILD_SHARED_LIBS=ON \
+ -DENABLE_NASM=1 \
+ -DENABLE_DOCS=0 \
+ -DBUILD_SHARED_LIBS=1 \
+ -DENABLE_TESTS=0 \
../
make -j1
make install DESTDIR=$PKG
diff --git a/multimedia/aom/aom.info b/multimedia/aom/aom.info
index 7cae618dfe..3537579242 100644
--- a/multimedia/aom/aom.info
+++ b/multimedia/aom/aom.info
@@ -1,8 +1,8 @@
PRGNAM="aom"
-VERSION="2.0.0"
+VERSION="2.0.1"
HOMEPAGE="https://aomedia.googlesource.com/aom"
-DOWNLOAD="http://www.andrews-corner.org/downloads/aom-bb35ba9148543f22ba7d8642e4fbd29ae301f5dc.tar.gz"
-MD5SUM="ebca14bf0ef8843cf89fb8cbbab7b6ef"
+DOWNLOAD="http://www.andrews-corner.org/downloads/aom-b52ee6d44adaef8a08f6984390de050d64df9faa.tar.gz"
+MD5SUM="d37bf9cfe3353e661637c2b106ee1787"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/coriander/README b/multimedia/coriander/README
index 60ab304338..d7e1b8d8c5 100644
--- a/multimedia/coriander/README
+++ b/multimedia/coriander/README
@@ -1,10 +1,10 @@
-Coriander is a full-featured graphical interface for controlling digital cameras
-through the IEEE-1394 bus (i.e. FireWire or iLink). It can also record videos,
-send images to an FTP site and convert videos to V4L streams. A live display is
-also provided. The program will work with any camera that is compatible with
-the IIDC specifications (v1.04 or later): this includes most 1394 webcams and
-many industrial and scientific cameras.
+Coriander is a full-featured graphical interface for controlling digital
+cameras through the IEEE-1394 bus (i.e. FireWire or iLink). It can also
+record videos, send images to an FTP site and convert videos to V4L
+streams. A live display is also provided. The program will work with any
+camera that is compatible with the IIDC specifications (v1.04 or later):
+this includes most 1394 webcams and many industrial and scientific
+cameras.
-NOTE: FTP support is added automatically if ftplib is detected.
-
-Optional dependencies: ftplib
+NOTE - ftplib can be omitted if FTP support is not needed: Coriander
+will build just fine.
diff --git a/multimedia/coriander/coriander.SlackBuild b/multimedia/coriander/coriander.SlackBuild
index eaba975fed..9e9b71a51e 100644
--- a/multimedia/coriander/coriander.SlackBuild
+++ b/multimedia/coriander/coriander.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for coriander
-# Copyright 2015-2017 Philip Lacroix <slackph at posteo dot de>
+# Copyright 2015-2021 Philip Lacroix <slackph at posteo dot de>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=coriander
-VERSION=${VERSION:-2.0.2}
+VERSION=${VERSION:-2.0.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/coriander/coriander.desktop b/multimedia/coriander/coriander.desktop
index 1cd8df9426..b18544b554 100644
--- a/multimedia/coriander/coriander.desktop
+++ b/multimedia/coriander/coriander.desktop
@@ -7,5 +7,5 @@ Comment=Control IEEE-1394 digital cameras compatible with the IIDC specification
Exec=coriander
Icon=/usr/share/icons/hicolor/128x128/apps/coriander.png
Terminal=false
-Categories=AudioVideo;Video;GTK;
+Categories=Video;
StartupNotify=true
diff --git a/multimedia/coriander/coriander.info b/multimedia/coriander/coriander.info
index 78cddfaf88..fb3da6cb7c 100644
--- a/multimedia/coriander/coriander.info
+++ b/multimedia/coriander/coriander.info
@@ -1,10 +1,10 @@
PRGNAM="coriander"
-VERSION="2.0.2"
+VERSION="2.0.3"
HOMEPAGE="https://damien.douxchamps.net/ieee1394/coriander/"
-DOWNLOAD="https://sourceforge.net/projects/coriander/files/coriander-2/2.0.2/coriander-2.0.2.tar.gz"
-MD5SUM="431d98fb013217681f97ade168201fb8"
+DOWNLOAD="https://sourceforge.net/projects/coriander/files/coriander-2/2.0.3/coriander-2.0.3.tar.gz"
+MD5SUM="6bf50046ba9ce3c72cc42a897c51ec24"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libdc1394 libgnomeui"
+REQUIRES="libdc1394 ftplib libgnomeui"
MAINTAINER="Philip Lacroix"
EMAIL="slackph at posteo dot de"
diff --git a/multimedia/coriander/slack-desc b/multimedia/coriander/slack-desc
index dc2a5e7e8a..9b09607deb 100644
--- a/multimedia/coriander/slack-desc
+++ b/multimedia/coriander/slack-desc
@@ -15,5 +15,5 @@ coriander: videos to V4L streams. A live display is also provided. The program
coriander: will work with IIDC-compatible devices (v1.04 or later) including
coriander: most 1394 webcams and many industrial and scientific cameras.
coriander:
-coriander: Homepage: http://damien.douxchamps.net/ieee1394/coriander/
+coriander: Homepage: https://damien.douxchamps.net/ieee1394/coriander/
coriander:
diff --git a/multimedia/ffmpeg4/ffmpeg4.SlackBuild b/multimedia/ffmpeg4/ffmpeg4.SlackBuild
index 9799759324..30f00771d1 100644
--- a/multimedia/ffmpeg4/ffmpeg4.SlackBuild
+++ b/multimedia/ffmpeg4/ffmpeg4.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2018 Andreas Guldstrand
# All rights reserved.
-# Copyright (c) 2020 Christoph Willing Brisbane, Australia
+# Copyright (c) 2020-2021 Christoph Willing Brisbane/Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@
PRGNAM=ffmpeg4
SRCNAM=ffmpeg
-VERSION=${VERSION:-4.3.1}
+VERSION=${VERSION:-4.3.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/ffmpeg4/ffmpeg4.info b/multimedia/ffmpeg4/ffmpeg4.info
index a02dc3440a..dad8d9f9a9 100644
--- a/multimedia/ffmpeg4/ffmpeg4.info
+++ b/multimedia/ffmpeg4/ffmpeg4.info
@@ -1,8 +1,8 @@
PRGNAM="ffmpeg4"
-VERSION="4.3.1"
+VERSION="4.3.2"
HOMEPAGE="https://ffmpeg.org/"
-DOWNLOAD="https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.bz2"
-MD5SUM="804707549590e90880e8ecd4e5244fd8"
+DOWNLOAD="https://ffmpeg.org/releases/ffmpeg-4.3.2.tar.bz2"
+MD5SUM="d84e0f81740adefa76d94ed8c3aa9006"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="aom libass libwebp x264 x265"
diff --git a/multimedia/flashplayer-plugin/flashplayer-plugin.SlackBuild b/multimedia/flashplayer-plugin/flashplayer-plugin.SlackBuild
index a7eb61e68f..5800d9e790 100644
--- a/multimedia/flashplayer-plugin/flashplayer-plugin.SlackBuild
+++ b/multimedia/flashplayer-plugin/flashplayer-plugin.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=flashplayer-plugin
-VERSION=${VERSION:-32.0.0.445}
+VERSION=${VERSION:-32.0.0.465}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/flashplayer-plugin/flashplayer-plugin.info b/multimedia/flashplayer-plugin/flashplayer-plugin.info
index af0a145975..828630bb4c 100644
--- a/multimedia/flashplayer-plugin/flashplayer-plugin.info
+++ b/multimedia/flashplayer-plugin/flashplayer-plugin.info
@@ -1,10 +1,10 @@
PRGNAM="flashplayer-plugin"
-VERSION="32.0.0.445"
+VERSION="32.0.0.465"
HOMEPAGE="https://get.adobe.com/flashplayer/"
-DOWNLOAD="https://fpdownload.adobe.com/get/flashplayer/pdc/32.0.0.445/flash_player_npapi_linux.i386.tar.gz"
-MD5SUM="247df6252af16c5f55ff5efff6ded74d"
-DOWNLOAD_x86_64="https://fpdownload.adobe.com/get/flashplayer/pdc/32.0.0.445/flash_player_npapi_linux.x86_64.tar.gz"
-MD5SUM_x86_64="4a5fbf321ae0c946a000ddd4fc7cb62e"
+DOWNLOAD="https://fpdownload.adobe.com/get/flashplayer/pdc/32.0.0.465/flash_player_npapi_linux.i386.tar.gz"
+MD5SUM="d5630852001c5ddabdb2fa1915728e3a"
+DOWNLOAD_x86_64="https://fpdownload.adobe.com/get/flashplayer/pdc/32.0.0.465/flash_player_npapi_linux.x86_64.tar.gz"
+MD5SUM_x86_64="86a40a0464fbd3ae85b6376aa794e79a"
REQUIRES=""
MAINTAINER="Robby Workman"
EMAIL="rworkman@slackbuilds.org"
diff --git a/multimedia/gpodder/README b/multimedia/gpodder/README
index af37efb180..082b27e420 100644
--- a/multimedia/gpodder/README
+++ b/multimedia/gpodder/README
@@ -1,6 +1,6 @@
gPodder is a podcast receiver/catcher written in Python utilizing PyGTK
for its user interface. gPodder allows the user to subscribe to RSS
feeds for podcasts, videocasts, and other similar content and download
-media files found in those feeds. gPodder has system-tray notifications,
-remote access to the gpodder.net web services and optional support for
-Bluetooth and iPod synchronization.
+media files found in those feeds. gPodder has system-tray
+notifications, remote access to the gpodder.net web services and
+optional support for Bluetooth and iPod synchronization.
diff --git a/multimedia/gpodder/gpodder.SlackBuild b/multimedia/gpodder/gpodder.SlackBuild
index 7659bbd4b2..cc5b973767 100644
--- a/multimedia/gpodder/gpodder.SlackBuild
+++ b/multimedia/gpodder/gpodder.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gpodder
-VERSION=${VERSION:-3.10.11}
+VERSION=${VERSION:-3.10.17}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/gpodder/gpodder.info b/multimedia/gpodder/gpodder.info
index c0f010dec7..83cbd9bab7 100644
--- a/multimedia/gpodder/gpodder.info
+++ b/multimedia/gpodder/gpodder.info
@@ -1,8 +1,8 @@
PRGNAM="gpodder"
-VERSION="3.10.11"
+VERSION="3.10.17"
HOMEPAGE="http://gpodder.org/"
-DOWNLOAD="https://github.com/gpodder/gpodder/archive/3.10.11/gpodder-3.10.11.tar.gz"
-MD5SUM="1dfcfb0360492357111393d27da55f5f"
+DOWNLOAD="https://github.com/gpodder/gpodder/archive/3.10.17/gpodder-3.10.17.tar.gz"
+MD5SUM="2262b6fa6f26a0e933a6ea8b0d68b33c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="dbus-python3 pygobject3-python3 podcastparser mygpoclient"
diff --git a/multimedia/k9copy-reloaded/README b/multimedia/k9copy-reloaded/README
index d8f146a7d3..3f2efa3d1e 100644
--- a/multimedia/k9copy-reloaded/README
+++ b/multimedia/k9copy-reloaded/README
@@ -2,23 +2,22 @@ K9copy-reloaded is a continuation of the original k9copy program.
It allows you to make 1:1 backups of both single-and dual-layer
DVDs, as well as compress a dual-layer DVD to single-layer.
-NOTE 1: For some reason, this will not build properly if ccache is
-enabled. (It will build and run, but the backups come out corrupted.)
+NOTE 1: This script now uses the system ffmpeg, so be sure it is
+installed before trying to run this script.
-NOTE 2: This script builds an internal copy of the ffmpeg 2.8.15
-static libaries. It has been tested and does not (should not?)
-interfere with any existing ffmpeg installation. Just remember that
-you need to be in a full shell (su - and not just su) for ffmpeg
-to build properly.
-
-NOTE 3: K9copy-reloaded is unable to open .iso files on 32-bit systems.
+NOTE 2: K9copy-reloaded is unable to open .iso files on 32-bit systems.
This is an issue with libdvdread and not with k9copy-reloaded.
They open just fine on 64-bit systems.
-NOTE 4: If you wish to build this on current (15.0 EXPERIMENTAL), you
-will need to build and install the gcc5 package from ponce's -current
-SBo repo, then pass CURRENT=yes to the script.
+NOTE 3: If you wish to build this on current (15.0 EXPERIMENTAL), you
+will need to pass CURRENT=yes to the script.
+
+NOTE 4: dvdauthor is listed as optional, but it is not necessary.
+It crashes k9copy if you try to use it in current, but it works fine
+in 14.2. It is disabled by default in settings.
NOTE 5: This program is only intended for personal backups, and is NOT
intended for copying of copyrighted commercial DVDs. Therefore, there
is NO CSS decription libary included in this package.
+
+Requires libmpeg2 and ffmpeg (ffmpeg is already included in current).
diff --git a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild
index aa12e5ddd7..4f1e30b823 100644
--- a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild
+++ b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild
@@ -5,9 +5,6 @@
# Copyright 2018, 2020 by Lenard Spencer (lenardrspencer@gmail.com)
# All rights reserved.
#
-# ffmpeg static library section borrowed (stolen?) from xine-lib.SlackBuild
-# from Slackware 14.2 source archives,copyrighted by Pat Volkerding, et. al.
-#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
@@ -29,8 +26,7 @@
PRGNAM=k9copy-reloaded
SRCNAM=k9copy
VERSION=${VERSION:-3.0.3}
-BUILD=${BUILD:-4}
-FFMPEG_VERSION=${FFMPEG_VERSION:-2.8.16}
+BUILD=${BUILD:-6}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -45,100 +41,27 @@ CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-NUMJOBS=${NUMJOBS:--j7}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
- # 32bit x86 fails without this...
- FFARCHOPTS="--disable-asm"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- # 32bit x86 fails without this...
- FFARCHOPTS="--disable-asm"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
- FFARCHOPTS="--arch=x86_64 --enable-pic"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
- FFARCHOPTS=""
fi
-CURRENT=${CURRENT:-no}
-
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-if [ "$CURRENT" = "yes" ]; then
- # check for gcc5 and abort if not found:
- if ! [ -x /usr/bin/gcc-5 ]; then
- echo "Cannot find the gcc5 package. Please install the gcc5 package"
- echo "and rerun the SlackBuild script."
- exit 1
- fi
- # Set gcc-5 vars to make it build with gcc5:
- # cmake will use these settings to build k9copy-reloaded
- source /etc/profile.d/gcc5.sh
- # Options for ffmpeg:
- GCC5OPTS="--cc=gcc-5 --cxx=g++-5 --ar=gcc-ar-5 --nm=gcc-nm-5 --ranlib=gcc-ranlib-5 --dep-cc=gcc-5"
-else
- GCC5OPTS=""
-fi
-
-rm -rf ffmpeg*
-tar xvf $CWD/ffmpeg-$FFMPEG_VERSION.tar.?z* || exit 1
-cd ffmpeg* || exit 1
-
- chown -R root:root .
- find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
- echo "Building static ffmpeg libs ..."
-
- FFMPEGDIR=/$TMP/ffmpeg-temp
-
- CFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \
- CXXFLAGS="$SLKCFLAGS -fvisibility=hidden -I/usr/include/openmj2-2.1" \
- ./configure \
- --prefix=$FFMPEGDIR/usr \
- $GCC5OPTS \
- --libdir=$FFMPEGDIR/usr/lib${LIBDIRSUFFIX} \
- --shlibdir=$FFMPEGDIR/usr/lib${LIBDIRSUFFIX} \
- --enable-gpl \
- --enable-version3 \
- --enable-postproc \
- --disable-doc \
- --disable-avfilter \
- --disable-avdevice \
- --disable-swresample \
- --disable-ffserver \
- --disable-ffplay \
- --disable-ffmpeg \
- --disable-ffprobe \
- --enable-pthreads \
- --disable-debug \
- --disable-shared \
- --enable-static \
- --enable-hardcoded-tables \
- --enable-memalign-hack \
- --enable-bzlib \
- --enable-zlib \
- --enable-libopenjpeg \
- ${FFARCHOPTS}
-
- make
- make install # Note: no DESTDIR !!
-cd -
-
rm -rf $SRCNAM
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM
@@ -149,28 +72,54 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# patches from upstream and community:
-patch -p1 < $CWD/patches/k9copy-mimetype.patch
-patch -p0 < $CWD/patches/k9copy-tempdir.patch
-
-# Fix internal dvdnav to link against internal dvdread
+# Insert a blank CmakeLists.txt file in various subs
+# or the build will fail
+touch src/libdvdnav-NOW/CMakeLists.txt
+touch src/libdvdnav-NOW/vm/CMakeLists.txt
+touch src/libdvdnav-NOW/dvdnav/CMakeLists.txt
+touch src/libdvdread-NOW/CMakeLists.txt
+touch src/libdvdread-NOW/dvdread/CMakeLists.txt
+
+patch -p1 < $CWD/patches/k9copy-fix-desktop-files.patch
+patch -p1 < $CWD/patches/k9copy-installdirs.patch
+patch -p1 < $CWD/patches/k9copy-ffmpeg3.patch
+
+# from the Fedora community, MUCH better than the ill-conceived and
+# BROKEN gcc6 patch that has been floating around the web:
+patch -p1 < $CWD/patches/k9copy-gcc7.patch
+
+# There have been several attempts to remove the internal libdvdread
+# and libdvdnav, but NONE of then work properly (the program builds,
+# but the backups are corrupt and will not play). I may revisit it
+# later, but for now, we must patch the internal dvdnav to properly
+# link to the internal dvdread:
patch -p1 < $CWD/patches/k9copy-dvdnav.patch
-# Needed to link with the ffmpeg static libs we just built:
-export PKG_CONFIG_PATH="${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH"
+# In current, dvdauthor crashes the program if we try to use it
+# for copy without menus, so we disable it by default in settings:
+patch -p1 < $CWD/patches/k9copy-uncheck-dvdauthor.patch
+
+# Patch for missing "Language=" entry in .po files:
+patch -p1 < $CWD/patches/k9copy-missing-language-in-po-files.patch
+
+# Patch for i18n (mitigates I18N_ARGUMENT_MISSING messages:
+patch -p1 < $CWD/patches/k9copy-i18n.patch
+
+if [ "${CURRENT:-no}" = "yes" ];then
+ QT5="ON"
+else
+ QT5="OFF"
+fi
mkdir -p build
cd build
cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DFFMPEGSCALE_LIBRARY:FILEPATH=${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX} \
- -DFFMPEGSCALE_INCLUDE_DIR_LAVC=${FFMPEGDIR}/usr/include \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS -std=c++11" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DMAN_INSTALL_DIR=/usr/man \
+ -DQT5_BUILD="$QT5" \
-DCMAKE_BUILD_TYPE=Release ..
- make
+ make
make install DESTDIR=$PKG
cd ..
diff --git a/multimedia/k9copy-reloaded/k9copy-reloaded.info b/multimedia/k9copy-reloaded/k9copy-reloaded.info
index 09827a5505..a82603e1e8 100644
--- a/multimedia/k9copy-reloaded/k9copy-reloaded.info
+++ b/multimedia/k9copy-reloaded/k9copy-reloaded.info
@@ -1,12 +1,10 @@
PRGNAM="k9copy-reloaded"
VERSION="3.0.3"
HOMEPAGE="http://k9copy-reloaded.sourceforge.net"
-DOWNLOAD="http://downloads.sourceforge.net/project/k9copy-reloaded/k9copy-3.0.3.tar.gz \
- http://www.ffmpeg.org/releases/ffmpeg-2.8.16.tar.bz2"
-MD5SUM="53158282e23a4aa4fb8f4336f1424521 \
- d7aca0cd98f9e3b4a6085cd1e715ce43"
+DOWNLOAD="http://downloads.sourceforge.net/project/k9copy-reloaded/k9copy-3.0.3.tar.gz"
+MD5SUM="53158282e23a4aa4fb8f4336f1424521"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="dvdauthor libmpeg2"
+REQUIRES="ffmpeg libmpeg2"
MAINTAINER="Lenard Spencer"
EMAIL="lenardrspencer@gmail.com"
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-ffmpeg3.patch b/multimedia/k9copy-reloaded/patches/k9copy-ffmpeg3.patch
new file mode 100644
index 0000000000..e01b562787
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-ffmpeg3.patch
@@ -0,0 +1,44 @@
+diff -Nru a/src/import/k9avidecode.cpp b/src/import/k9avidecode.cpp
+--- a/src/import/k9avidecode.cpp 2014-09-29 17:00:12.000000000 +0200
++++ b/src/import/k9avidecode.cpp 2017-03-10 06:42:21.692670007 +0100
+@@ -26,7 +26,6 @@
+ void av_free_packet_internal(AVPacket *pkt)
+ {
+ if (pkt) {
+- if (pkt->destruct) pkt->destruct(pkt);
+ pkt->data = NULL; pkt->size = 0;
+ }
+ }
+@@ -238,14 +237,14 @@
+
+ int numBytes;
+ // Determine required buffer size and allocate buffer
+- numBytes=avpicture_get_size(PIX_FMT_RGB24, m_CodecCtx->width,
++ numBytes=avpicture_get_size(AV_PIX_FMT_RGB24, m_CodecCtx->width,
+ m_CodecCtx->height);
+ m_buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t));
+
+ // Assign appropriate parts of buffer to image planes in pFrameRGB
+ // Note that pFrameRGB is an AVFrame, but AVFrame is a superset
+ // of AVPicture
+- avpicture_fill((AVPicture *)m_FrameRGB, m_buffer, PIX_FMT_RGB24,
++ avpicture_fill((AVPicture *)m_FrameRGB, m_buffer, AV_PIX_FMT_RGB24,
+ m_CodecCtx->width, m_CodecCtx->height);
+
+
+@@ -317,13 +316,13 @@
+ bFound=true;
+ #ifndef HAVE_SWSCALE
+ // Convert the image from its native format to RGB
+- img_convert((AVPicture *)m_FrameRGB, PIX_FMT_RGB24,
++ img_convert((AVPicture *)m_FrameRGB, AV_PIX_FMT_RGB24,
+ (AVPicture*)m_Frame, m_CodecCtx->pix_fmt,
+ m_CodecCtx->width, m_CodecCtx->height);
+ SaveFrame(m_FrameRGB, m_CodecCtx->width,
+ m_CodecCtx->height);
+ #else
+- toRGB_convert_ctx=sws_getContext(m_CodecCtx->width, m_CodecCtx->height, m_CodecCtx->pix_fmt, m_CodecCtx->width, m_CodecCtx->height, PIX_FMT_RGB24, sws_flags,NULL,NULL,NULL);
++ toRGB_convert_ctx=sws_getContext(m_CodecCtx->width, m_CodecCtx->height, m_CodecCtx->pix_fmt, m_CodecCtx->width, m_CodecCtx->height, AV_PIX_FMT_RGB24, sws_flags,NULL,NULL,NULL);
+ sws_scale(toRGB_convert_ctx, m_Frame->data, m_Frame->linesize, 0, m_CodecCtx->height, m_FrameRGB->data,m_FrameRGB->linesize);
+ // convert frame to QImage
+ SaveFrame(m_FrameRGB, m_CodecCtx->width,
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-fix-desktop-files.patch b/multimedia/k9copy-reloaded/patches/k9copy-fix-desktop-files.patch
new file mode 100644
index 0000000000..ace6842e87
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-fix-desktop-files.patch
@@ -0,0 +1,66 @@
+diff -Naur a/k9copy.desktop b/k9copy.desktop
+--- a/k9copy.desktop 2014-09-29 11:00:11.000000000 -0400
++++ b/k9copy.desktop 2020-12-25 20:56:36.228414115 -0500
+@@ -1,7 +1,7 @@
+ [Desktop Entry]
+ Type=Application
+ Name=k9copy
+-Exec=k9copy -caption "%c" %i %u
++Exec=k9copy "%c" %i %u
+ Comment=DVD9 to DVD5 backup tool
+ Comment[fr]=Backup de DVD9 en DVD5
+ Comment[tr]=DVD9 DVD5 yedekleme aracı
+@@ -15,5 +15,5 @@
+ Terminal=false
+ Icon=k9copy
+ X-DocPath=k9copy/index.html
+-Categories=Qt;KDE;AudioVideo;DiscBurning;AudioVideoEditing;
++Categories=Qt;KDE;AudioVideo;DiscBurning;AudioVideoEditing;Video;
+ X-KDE-StartupNotify=true
+diff -Naur a/k9copy_assistant.desktop b/k9copy_assistant.desktop
+--- a/k9copy_assistant.desktop 2014-09-29 11:00:12.000000000 -0400
++++ b/k9copy_assistant.desktop 2020-12-25 20:56:36.228414115 -0500
+@@ -1,9 +1,7 @@
+-#!/usr/bin/env xdg-open
+ [Desktop Entry]
+-Encoding=UTF-8
+ Type=Application
+ Name=k9copy assistant
+-Exec=k9copy --assistant -caption "%c" %i %m %u
++Exec=k9copy --assistant "%c" %i %m %u
+ Comment=DVD9 to DVD5 backup tool
+ Comment[fr]=Backup de DVD9 en DVD5
+ Comment[tr]=DVD9 DVD5 yedekleme aracı
+@@ -14,9 +12,8 @@
+ GenericName[tr]=DVD Vidyo Yedekleme Aracı
+ GenericName[ru]=Копирование с видео-DVD
+ GenericName[uk]=Копіювання відео-DVD
+-MimeTypes=
+ Terminal=false
+ Icon=k9copy
+ X-DocPath=k9copy/index.html
+-Categories=Qt;KDE;AudioVideo;DiscBurning;
+-X-KDE-StartupNotify=true
+\ No newline at end of file
++Categories=Qt;KDE;AudioVideo;DiscBurning;Video;
++X-KDE-StartupNotify=true
+diff -Naur a/k9copy_assistant_open.desktop b/k9copy_assistant_open.desktop
+--- a/k9copy_assistant_open.desktop 2014-09-29 11:00:12.000000000 -0400
++++ b/k9copy_assistant_open.desktop 2020-12-25 20:57:16.993844890 -0500
+@@ -11,4 +11,4 @@
+ [Desktop Entry]
+ X-KDE-Solid-Predicate=[[ StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Data|VideoDvd' ] OR [ StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Data|VideoDvd' ]]
+ Type=Service
+-Actions=open;
+\ No newline at end of file
++Actions=open;
+diff -Naur a/k9copy_open.desktop b/k9copy_open.desktop
+--- a/k9copy_open.desktop 2014-09-29 11:00:12.000000000 -0400
++++ b/k9copy_open.desktop 2020-12-25 20:57:45.522142523 -0500
+@@ -11,4 +11,4 @@
+ [Desktop Entry]
+ X-KDE-Solid-Predicate=[[ StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Data|VideoDvd' ] OR [ StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Data|VideoDvd' ]]
+ Type=Service
+-Actions=open;
+\ No newline at end of file
++Actions=open;
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-gcc7.patch b/multimedia/k9copy-reloaded/patches/k9copy-gcc7.patch
new file mode 100644
index 0000000000..a90cd7b368
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-gcc7.patch
@@ -0,0 +1,30 @@
+diff -up k9copy/src/backup/k9dvdbackup.cpp.gcc7 k9copy/src/backup/k9dvdbackup.cpp
+--- k9copy/src/backup/k9dvdbackup.cpp.gcc7 2014-09-29 18:55:40.000000000 +0200
++++ k9copy/src/backup/k9dvdbackup.cpp 2017-10-04 14:48:33.100692360 +0200
+@@ -907,7 +907,7 @@ k9Vobu * k9DVDBackup::remapOffset(uint32
+
+
+ if ((vobu1 !=NULL) && (vobu2!=NULL)) {
+- *_offset = abs(vobu1->newSector - vobu2->newSector) | maskOffset1 ;
++ *_offset = abs((int32_t)(vobu1->newSector - vobu2->newSector)) | maskOffset1 ;
+ *_offset |= maskOffset2;
+ return vobu2;
+ }
+diff -up k9copy/src/backup/k9execcopy.cpp.gcc7 k9copy/src/backup/k9execcopy.cpp
+--- k9copy/src/backup/k9execcopy.cpp.gcc7 2014-09-29 17:00:12.000000000 +0200
++++ k9copy/src/backup/k9execcopy.cpp 2017-10-04 14:51:04.899589523 +0200
+@@ -306,12 +306,12 @@ void k9ExecCopy::createMkv(k9DVDTitle *_
+
+ #if QT_VERSION >= 0x050000
+ m_progressDialog=new QProgressDialog(k9Dialogs::getMainWidget() );
+- m_progressDialog->setCancelButton(false);
++ m_progressDialog->setCancelButton(NULL);
+
+ #else
+ m_progressDialog=new KProgressDialog(k9Dialogs::getMainWidget() );
+
+- m_progressDialog->showCancelButton(false);
++ m_progressDialog->showCancelButton(NULL);
+ #endif
+ #if QT_VERSION >= 0x050000
+ m_progressDialog->setMaximum(100);
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-i18n.patch b/multimedia/k9copy-reloaded/patches/k9copy-i18n.patch
new file mode 100644
index 0000000000..365fa08a5b
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-i18n.patch
@@ -0,0 +1,942 @@
+diff -Naur k9copy-work/src/assistant/k9aststreams.cpp k9copy/src/assistant/k9aststreams.cpp
+--- k9copy-work/src/assistant/k9aststreams.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/assistant/k9aststreams.cpp 2020-12-23 23:53:38.473154933 -0500
+@@ -54,7 +54,7 @@
+ showDefault(false);
+ setFlags(Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable);
+ setCheckState(0,_stream->getselected()?Qt::Checked:Qt::Unchecked);
+- setText(0,i18n("%4 - %1 %2 %3 ch").arg(_stream->getlanguage()).arg(_stream->getformat()).arg(_stream->getchannels()).arg(_stream->getID()));
++ setText(0,i18n("%4 - %1 %2 %3 ch",_stream->getlanguage(),_stream->getformat(),_stream->getchannels(),_stream->getID()));
+ setIcon(0,SmallIcon("sound")) ;
+ //setText(1,i18n("%1 MB",_stream->getsize_mb()));
+ }
+@@ -65,7 +65,7 @@
+ showDefault(false);
+ setFlags(Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable);
+ setCheckState(0,_stream->getselected()?Qt::Checked:Qt::Unchecked);
+- setText(0,i18n("%3 - %1 %2").arg(_stream->getlanguage()).arg(_stream->getcontent()).arg(_stream->getID().first()));
++ setText(0,i18n("%3 - %1 %2",_stream->getlanguage(),_stream->getcontent(),_stream->getID().first()));
+ setIcon(0,SmallIcon("subtitle"));
+
+ //setText(1,i18n("%1 MB",_stream->getsize_mb()));
+diff -Naur k9copy-work/src/assistant/k9asttitles.cpp k9copy/src/assistant/k9asttitles.cpp
+--- k9copy-work/src/assistant/k9asttitles.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/assistant/k9asttitles.cpp 2020-12-23 23:48:01.704471948 -0500
+@@ -276,22 +276,22 @@
+ int ch=0;
+ for (int i=0;i< _title->getchapterCount();i++) {
+ _k9ItemWidget *it =new _k9ItemWidget(_title->getChapter(i),_parent,k9astTitles::CHAPTER);
+- it->setText(1,i18n("chapter %1").arg(++ch));
++ it->setText(1,i18n("chapter %1",++ch));
+ QString s;
+
+ s=QString("%1").arg((double)(_title->getChapter(i)->getsectors()) /512,0,'f',2);
+ it->setText(2,QString("%1").arg(_title->getChapter(i)->getLength().toString("hh:mm:ss")));
+- it->setText(3,i18n("%1 MB").arg(s));
++ it->setText(3,i18n("%1 MB",s));
+ }
+ for (int j=0;j <_title->getTitles().count();j++) {
+ k9DVDTitle *title2=_title->getTitles().at(j);
+ for (int i=0;i< title2->getchapterCount();i++) {
+ _k9ItemWidget *it =new _k9ItemWidget(title2->getChapter(i),_parent,k9astTitles::CHAPTER);
+- it->setText(1,i18n("chapter %1").arg(++ch));
++ it->setText(1,i18n("chapter %1",++ch));
+ QString s;
+ s=QString("%1").arg((double)(title2->getChapter(i)->getsectors()) /512,0,'f',2);
+ it->setText(2,QString("%1").arg(title2->getChapter(i)->getLength().toString("hh:mm:ss")));
+- it->setText(3,i18n("%1 MB").arg(s));
++ it->setText(3,i18n("%1 MB",s));
+ }
+
+ }
+diff -Naur k9copy-work/src/backup/k9dvdauthor.cpp k9copy/src/backup/k9dvdauthor.cpp
+--- k9copy-work/src/backup/k9dvdauthor.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/backup/k9dvdauthor.cpp 2020-12-23 23:48:01.704471948 -0500
+@@ -161,7 +161,7 @@
+ error=true;
+ QString sMsg;
+ //sMsg.QString::sprintf(tr2i18n("'%s' not selected"),l_track->getname().latin1());
+- sMsg=i18n("'%1' not selected").arg(l_track->getname());
++ sMsg=i18n("'%1' not selected",l_track->getname());
+ k9Dialogs::error( sMsg, i18n("authoring"));
+ }
+ start.sprintf("jump titleset %d menu;",DVD->getnewTitleNum(l_track));
+@@ -415,7 +415,7 @@
+ c.sprintf("g1=%d;\ncall vmgm menu;",DVD->getnewTitleNum(l_next));
+ if ( DVD->getnewTitleNum(l_next)==-1) {
+ error=true;
+- c=i18n("'%1' not selected").arg(l_next->getname());
++ c=i18n("'%1' not selected",l_next->getname());
+ k9Dialogs::error( c, i18n("authoring"));
+ }
+
+@@ -439,7 +439,7 @@
+ void k9DVDAuthor::author() {
+ k9Config config;
+ if ( ! k9Tools::checkProgram("dvdauthor")) {
+- k9Dialogs::error (i18n("Unable to run %1").arg("dvdauthor") , i18n("authoring"));
++ k9Dialogs::error (i18n("Unable to run %1","dvdauthor") , i18n("authoring"));
+ error = TRUE;
+ return;
+ }
+diff -Naur k9copy-work/src/backup/k9dvdbackup.cpp k9copy/src/backup/k9dvdbackup.cpp
+--- k9copy-work/src/backup/k9dvdbackup.cpp 2020-12-23 23:47:42.374321418 -0500
++++ k9copy/src/backup/k9dvdbackup.cpp 2020-12-23 23:48:01.705471956 -0500
+@@ -295,13 +295,13 @@
+ k9DVDFile *dvdfile;
+ if ((dvdfile = m_dvdread->openTitle( _vts))== 0) {
+ QString stmp;
+- stmp=i18n("Unable to open titleset %1").arg(_vts);
++ stmp=i18n("Unable to open titleset %1",_vts);
+ seterror(stmp);
+ return ;
+ }
+ setTotalSteps(vts_handle->vtsi_mat->vts_last_sector-vts_handle->vtsi_mat->vtstt_vobs -1);
+ QString c;
+- c=i18n("Extracting titleset %1").arg(_vts);
++ c=i18n("Extracting titleset %1",_vts);
+ setProgressLabel(c);
+ if (!k9Tools::getBatchCopy())
+ backupDlg->show();
+@@ -477,7 +477,7 @@
+ k9DVDFile *dvdfile;
+ if ((dvdfile = m_dvdread->openMenu( _vts))== 0) {
+ QString stmp;
+- stmp=i18n("Unable to open menu for titleset %1").arg(_vts);
++ stmp=i18n("Unable to open menu for titleset %1",_vts);
+ seterror (stmp);
+ return 0;
+ }
+@@ -503,7 +503,7 @@
+ uint32_t sector, dsi_next_vobu = 0;
+ uint32_t imax=length/sizeof(cell_adr_t);
+ QString c;
+- c=i18n("Extracting menu for titleset %1").arg(_vts);
++ c=i18n("Extracting menu for titleset %1",_vts);
+ setProgressLabel(c);
+ if (!k9Tools::getBatchCopy()) {
+ backupDlg->show();
+@@ -597,7 +597,7 @@
+ vts_handle=currTS->ifoTitle->getIFO();
+ if (!vts_handle) {
+ QString stmp;
+- stmp=i18n("Unable to open ifo file for titleset %1").arg(vts_num);
++ stmp=i18n("Unable to open ifo file for titleset %1",vts_num);
+ seterror (stmp);
+ //JMP vamps->setNoData();
+ return;
+@@ -605,7 +605,7 @@
+
+ setTotalSteps( vts_handle->vtsi_mat->vts_last_sector-vts_handle->vtsi_mat->vtstt_vobs -1);
+ QString c;
+- c=i18n("Extracting titleset %1").arg(vts_num);
++ c=i18n("Extracting titleset %1",vts_num);
+ setProgressLabel(c);
+ if (!k9Tools::getBatchCopy())
+ backupDlg->show();
+@@ -620,7 +620,7 @@
+ dvdfile = m_dvdread->openTitle (vts_num);
+ if (! dvdfile) {
+ QString stmp;
+- stmp=i18n("Unable to open vobs for titleset %1").arg(vts_num);
++ stmp=i18n("Unable to open vobs for titleset %1",vts_num);
+ seterror( stmp);
+ //JMP vamps->setNoData();
+ return;
+@@ -1450,7 +1450,7 @@
+ sName="VIDEO_TS.VOB";
+ else
+ sName.sprintf("VTS_%02d_%d.VOB",(int)currVTS,(int)VobNum);
+- dbg=i18n("Updating vob %1").arg(sName);
++ dbg=i18n("Updating vob %1",sName);
+ sName=output+"/"+sName;
+ QFileInfo finfo(sName);
+ long fileSize=finfo.size();
+diff -Naur k9copy-work/src/backup/k9execcopy.cpp k9copy/src/backup/k9execcopy.cpp
+--- k9copy-work/src/backup/k9execcopy.cpp 2020-12-23 23:47:42.374321418 -0500
++++ k9copy/src/backup/k9execcopy.cpp 2020-12-23 23:48:01.705471956 -0500
+@@ -39,7 +39,7 @@
+ m_cancelled=false;
+ QString filename;
+ if (!m_dvd->getopened()) {
+- k9Dialogs::error( i18n("DVD is not opened"), i18n("DVD Copy"));
++ k9Dialogs::error( i18n("DVD is not opened"),i18n("DVD Copy"));
+ return;
+ }
+
+@@ -70,7 +70,7 @@
+ long fs=k9Tools::getFreeSpace(outputDir);
+ int maxSize=config.getPrefSize() < (m_dvd->getsizeSelected(false)/512) ? config.getPrefSize():(m_dvd->getsizeSelected(false)/512);
+ if ((fs < maxSize) && (fs !=-1)) {
+- if (k9Dialogs::warningContinueCancel ( i18n("Insufficient disk space on %1\n%2 MB expected.").arg(outputDir).arg(config.getPrefSize()),i18n("DVD Copy"))==cancel)
++ if (k9Dialogs::warningContinueCancel ( i18n("Insufficient disk space on %1\n%2 MB expected.",outputDir,config.getPrefSize()),i18n("DVD Copy"))==cancel)
+ return;
+ }
+
+@@ -188,7 +188,7 @@
+
+ if (matroska) {
+ if ( ! k9Tools::checkProgram("mkvmerge") ) {
+- k9Dialogs::error (i18n("Unable to run %1").arg("mkvmerge") , i18n("Encoding error"));
++ k9Dialogs::error (i18n("Unable to run %1","mkvmerge") , i18n("Encoding error"));
+ delete mp4;
+ return ;
+ }
+diff -Naur k9copy-work/src/backup/k9mp4enc.cpp k9copy/src/backup/k9mp4enc.cpp
+--- k9copy-work/src/backup/k9mp4enc.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/backup/k9mp4enc.cpp 2020-12-23 23:48:01.706471964 -0500
+@@ -157,8 +157,8 @@
+
+ if (!m_extractAudio) {
+ if ( ! k9Tools::checkProgram(sCodecV) ) {
+- k9log::add(i18n("Unable to run %1").arg(sCodecV),k9logLevel::ERROR);
+- k9Dialogs::error (i18n("Unable to run %1").arg(sCodecV) , i18n("Encoding error"));
++ k9log::add(i18n("Unable to run %1",sCodecV),k9logLevel::ERROR);
++ k9Dialogs::error (i18n("Unable to run %1",sCodecV) , i18n("Encoding error"));
+ m_error = TRUE;
+ return false;
+ }
+@@ -168,8 +168,8 @@
+
+ if ((sCodecA!=sCodecV) || m_extractAudio) {
+ if ( ! k9Tools::checkProgram(sCodecA) ) {
+- k9log::add(i18n("Unable to run %1").arg(sCodecV),k9logLevel::ERROR);
+- k9Dialogs::error (i18n("Unable to run %1").arg(sCodecA) , i18n("Encoding error"));
++ k9log::add(i18n("Unable to run %1",sCodecV),k9logLevel::ERROR);
++ k9Dialogs::error (i18n("Unable to run %1",sCodecA) , i18n("Encoding error"));
+ m_error = TRUE;
+ return false;
+ }
+@@ -181,12 +181,12 @@
+
+ void k9MP4Enc::execute(k9DVDTitle *_title) {
+ if (m_mpeg2)
+- k9log::add(i18n("Starting extraction of %1, chapters %2").arg(_title->getname()).arg(getChapterList( _title)),k9logLevel::INFO);
++ k9log::add(i18n("Starting extraction of %1, chapters %2",_title->getname(),getChapterList( _title)),k9logLevel::INFO);
+ else
+- k9log::add(i18n("Starting encoding of %1, chapters %2").arg(_title->getname()).arg(getChapterList( _title)),k9logLevel::INFO);
+- k9log::add(i18n("source : %1").arg(m_device),k9logLevel::INFO);
+- k9log::add(i18n("destination : %1").arg(m_filename),k9logLevel::INFO);
+- k9log::add(i18n("disk cache : %1").arg( m_usecache ? i18n("activated"):i18n("disabled")),k9logLevel::INFO);
++ k9log::add(i18n("Starting encoding of %1, chapters %2",_title->getname(),getChapterList( _title)),k9logLevel::INFO);
++ k9log::add(i18n("source : %1",m_device),k9logLevel::INFO);
++ k9log::add(i18n("destination : %1",m_filename),k9logLevel::INFO);
++ k9log::add(i18n("disk cache : %1", m_usecache ? i18n("activated"):i18n("disabled")),k9logLevel::INFO);
+ m_currentChapter=0;
+ m_error=false;
+ m_outputFile=NULL;
+@@ -205,14 +205,14 @@
+ m_remain="--:--:--";
+
+ m_totalSize=_title->getChaptersSize(true);
+- k9log::add(i18n("size : %1 MB").arg(m_totalSize/512),k9logLevel::INFO);
++ k9log::add(i18n("size : %1 MB",m_totalSize/512),k9logLevel::INFO);
+ if (!m_mpeg2) {
+- k9log::add(i18n("audio bitrate : %1").arg(m_audioBitrate),k9logLevel::INFO);
++ k9log::add(i18n("audio bitrate : %1",m_audioBitrate),k9logLevel::INFO);
+ if (!m_extractAudio) {
+ if (m_videoBitrate !="")
+- k9log::add(i18n("user defined video bitrate : %1").arg(m_videoBitrate),k9logLevel::INFO);
++ k9log::add(i18n("user defined video bitrate : %1",m_videoBitrate),k9logLevel::INFO);
+ else
+- k9log::add(i18n("calculated video bitrate : %1").arg(getBitRate(_title)),k9logLevel::INFO);
++ k9log::add(i18n("calculated video bitrate : %1",getBitRate(_title)),k9logLevel::INFO);
+ }
+ }
+ QString injectName;
+@@ -239,7 +239,7 @@
+
+ do {
+ if (!m_mpeg2)
+- k9log::add(i18n("starting pass %1 of %2").arg(pass==0 ? 1:pass).arg(maxPass==0 ? 1 : maxPass),k9logLevel::INFO);
++ k9log::add(i18n("starting pass %1 of %2",pass==0 ? 1:pass,maxPass==0 ? 1 : maxPass),k9logLevel::INFO);
+ m_totalBytes=0;
+ m_vamps=new k9vamps(this,m_usecache);;
+ m_player=new k9play(this);
+@@ -507,7 +507,7 @@
+
+ QString sAOption=replaceParams(audioCodecs->getOptions(m_audioCodec)).trimmed();
+
+- m_progress->setTitleLabel(i18n("Encoding %1").arg(sCodec));
++ m_progress->setTitleLabel(i18n("Encoding %1",sCodec));
+ QString path,ext=audioCodecs->getExtension(m_audioCodec) ;
+ if (!ext.startsWith("."))
+ ext="."+ext;
+@@ -519,7 +519,7 @@
+
+ cmd << m_ffmpegPath << "-i" << "/dev/stdin" <<sAOption.split(" ") << KShell::quoteArg(path) ;
+
+- k9log::add(i18n("starting thread : %1").arg(cmd.join(" ")),k9logLevel::INFO);
++ k9log::add(i18n("starting thread : %1",cmd.join(" ")),k9logLevel::INFO);
+ k9ConvertAudio *converter=new k9ConvertAudio("",cmd);
+ m_converters[BASE_CONV_AUDIO+i]=converter;
+ m_convertersToDelete << converter;
+@@ -571,9 +571,9 @@
+ cmd << sVOption.split(" ");
+
+ if (pass >0)
+- m_progress->setTitleLabel(i18n("Encoding %1").arg(sCodec)+" - "+i18n("pass %1").arg(pass));
++ m_progress->setTitleLabel(i18n("Encoding %1",sCodec)+" - "+i18n("pass %1",pass));
+ else
+- m_progress->setTitleLabel(i18n("Encoding %1").arg(sCodec));
++ m_progress->setTitleLabel(i18n("Encoding %1",sCodec));
+
+ if (m_fourcc !="")
+ cmd << "-vtag" << m_fourcc;
+@@ -640,7 +640,7 @@
+ cmd << "-y" << KShell::quoteArg(path);
+ cmd << slNewAudio;
+ // if (m_extractMkv) {
+- k9log::add(i18n("starting thread : %1").arg(cmd.join(" ")),k9logLevel::INFO);
++ k9log::add(i18n("starting thread : %1",cmd.join(" ")),k9logLevel::INFO);
+ k9ConvertAudio *converter=new k9ConvertAudio("",cmd);
+ //converter->setDebug(true);
+ m_converters[BASE_CONV_VIDEO]=converter;
+@@ -690,9 +690,9 @@
+
+
+ if (pass >0)
+- m_progress->setTitleLabel(i18n("Encoding %1").arg(sCodec)+" - "+i18n("pass %1").arg(pass));
++ m_progress->setTitleLabel(i18n("Encoding %1",sCodec)+" - "+i18n("pass %1",pass));
+ else
+- m_progress->setTitleLabel(i18n("Encoding %1").arg(sCodec));
++ m_progress->setTitleLabel(i18n("Encoding %1",sCodec));
+
+ if (m_fourcc !="")
+ cmd << "-ffourcc" << m_fourcc;
+@@ -747,7 +747,7 @@
+ // cmd << "-of" << "lavf";
+ // cmd << "-lavfopts" << "i_certify_that_my_video_stream_does_not_use_b_frames";
+ }
+- k9log::add(i18n("starting thread : %1").arg(cmd.join(" ")),k9logLevel::INFO);
++ k9log::add(i18n("starting thread : %1",cmd.join(" ")),k9logLevel::INFO);
+ k9ConvertAudio *converter=new k9ConvertAudio("",cmd);
+ converter->setDebug(false);
+ m_converters[BASE_CONV_VIDEO]=converter;
+@@ -894,7 +894,7 @@
+ else {
+ m_player->setAborted(true);
+ m_error=true;
+- m_msgError=i18n("An error occured while encoding the %1 stream").arg(i18n("audio"));
++ m_msgError=i18n("An error occured while encoding the %1 stream",i18n("audio"));
+ m_ErrorDetail=c->getOutput();
+ k9log::add(m_msgError,k9logLevel::ERROR);
+ }
+@@ -919,7 +919,7 @@
+ else {
+ m_player->setAborted(true);
+ m_error=true;
+- m_msgError=i18n("An error occured while encoding the %1 stream").arg(i18n("video"));
++ m_msgError=i18n("An error occured while encoding the %1 stream",i18n("video"));
+ m_ErrorDetail=c->getOutput();
+ k9log::add(m_msgError,k9logLevel::ERROR);
+ }
+diff -Naur k9copy-work/src/core/k9burndvd.cpp k9copy/src/core/k9burndvd.cpp
+--- k9copy-work/src/core/k9burndvd.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/core/k9burndvd.cpp 2020-12-23 23:48:01.706471964 -0500
+@@ -148,7 +148,7 @@
+ proc2->sync();
+ if (proc2->exitStatus()==0) {
+ delete proc2;
+- k9log::add(i18n("image size : %1").arg(imageSize),k9logLevel::INFO);
++ k9log::add(i18n("image size : %1",imageSize),k9logLevel::INFO);
+ return imageSize;
+ }
+ }
+@@ -234,7 +234,7 @@
+ connect( proc2, SIGNAL(receivedStdout(char *, int)),this, SLOT(mkisoSizeStdout(char *, int)) );
+ k9log::add(i18n("computing image size"),k9logLevel::INFO);
+ proc2->setShellCommand(proc2Cmd.join(" "));;
+- k9log::add(i18n("starting thread : %1").arg(proc2Cmd.join(" ")),k9logLevel::INFO);
++ k9log::add(i18n("starting thread : %1",proc2Cmd.join(" ")),k9logLevel::INFO);
+ proc2->start();
+ proc2->sync();
+ getWodimCmd(procCmd);
+@@ -243,7 +243,7 @@
+
+ if (!autoBurn) {
+ #if QT_VERSION >= 0x050000
+- if ( k9Dialogs::warningContinueCancel ( i18n("Insert a recordable DVD"), i18n("DVD burning"))!=QMessageBox::Ignore)
++ if ( k9Dialogs::warningContinueCancel ( i18n("Insert a recordable DVD"),i18n("DVD burning"))!=QMessageBox::Ignore)
+ #else
+ if ( k9Dialogs::warningContinueCancel ( i18n("Insert a recordable DVD"), i18n("DVD burning"))!=KMessageBox::Continue)
+ #endif
+@@ -255,12 +255,12 @@
+
+ if (!cancelled) {
+ k9log::add(i18n("start burning"),k9logLevel::INFO);
+- k9log::add(i18n("starting thread : %1").arg(procCmd.join(" ")),k9logLevel::INFO);
++ k9log::add(i18n("starting thread : %1",procCmd.join(" ")),k9logLevel::INFO);
+
+ int res=progress->execute();
+ if ( res==-1 ) {
+ k9log::add(i18n("Error"),k9logLevel::ERROR);
+- k9Dialogs::error( i18n("Error burning DVD :\n")+i18n("Unable to run %1").arg("genisoimage"), i18n("DVD burning") );
++ k9Dialogs::error( i18n("Error burning DVD :\n")+i18n("Unable to run %1", "genisoimage"),i18n("DVD burning") );
+ cancelled=true;
+ } else {
+
+@@ -353,13 +353,13 @@
+ }
+ if (!cancelled) {
+ k9log::add(i18n("start burning"),k9logLevel::INFO);
+- k9log::add(i18n("starting thread : %1").arg(proc->debug()),k9logLevel::INFO);
++ k9log::add(i18n("starting thread : %1",proc->debug()),k9logLevel::INFO);
+
+ int res=progress->execute();
+ if ( res==-1 ) {
+ k9log::add(i18n("Error"),k9logLevel::ERROR);
+
+- k9Dialogs::error( i18n("Error burning DVD :\n")+i18n("Unable to run %1").arg(progname), i18n("DVD burning") );
++ k9Dialogs::error( i18n("Error burning DVD :\n")+i18n("Unable to run %1",progname), i18n("DVD burning") );
+ cancelled=true;
+ } else {
+
+@@ -413,7 +413,7 @@
+ }
+
+ progress->setTitle(i18n("Burning DVD"));
+- progress->setLabelText(i18n("Current write speed :%1 x").arg(burnSpeed));
++ progress->setLabelText(i18n("Current write speed :%1 x",burnSpeed));
+ if (c.contains("% done")) {
+ pos=c.indexOf("%");
+ if (pos!=-1) {
+@@ -433,7 +433,7 @@
+ }
+ }
+ }
+- else k9log::add(i18n("%1").arg(c),k9logLevel::INFO);
++ else k9log::add(i18n("%1",c),k9logLevel::INFO);
+ }
+ }
+ void k9BurnDVD::growisoStdout(char *buffer, int buflen) {
+diff -Naur k9copy-work/src/core/k9dvd.cpp k9copy/src/core/k9dvd.cpp
+--- k9copy-work/src/core/k9dvd.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/core/k9dvd.cpp 2020-12-23 23:48:01.707471971 -0500
+@@ -214,7 +214,7 @@
+ int i;
+ QString c;
+ if (! (filehandle = fopen(dvd_device, "r"))) {
+- c=i18n("Couldn't open %1 for title\n").arg(dvd_device);
++ c=i18n("Couldn't open %1 for title\n",dvd_device);
+ // setError(c );
+ strcpy(title, i18n("unknown").toUtf8());
+ return -1;
+@@ -222,7 +222,7 @@
+
+ if ( fseek(filehandle, 32808, SEEK_SET )) {
+ fclose(filehandle);
+- c=i18n("Couldn't seek in %1 for title\n").arg(dvd_device);
++ c=i18n("Couldn't seek in %1 for title\n",dvd_device);
+ setError(c);
+ strcpy(title, i18n("unknown").toUtf8());
+ return -1;
+@@ -377,7 +377,7 @@
+ m_dvd.close();
+ m_dvd.openDevice(device);
+ if ( !m_dvd.opened() ) {
+- c=i18n("Can't open disc %1!\n").arg(device);
++ c=i18n("Can't open disc %1!\n",device);
+ setError(c);
+ return 2;
+ }
+@@ -411,7 +411,7 @@
+ ifo = kifo->getIFO();
+ if (ifo==NULL) {
+ //ifo is null when trying to open a protected dvd
+- setError(i18n("Can't open disc %1!\n").arg(device));
++ setError(i18n("Can't open disc %1!\n",device));
+ return 2;
+ //continue;
+ }
+@@ -435,7 +435,7 @@
+ vts_ttn = ttn;//ifo->vts_ptt_srpt->title[j].ptt[0].pgcn; //ifo_zero->tt_srpt->title[j].vts_ttn;
+
+ //JMPtxt=i18n("Title %1").arg(indexedCount);
+- txt=i18n("Title %1").arg(numTitle);
++ txt=i18n("Title %1",numTitle);
+ emit sigTotalText (txt);
+ emit sigTitleProgress(numTitle,ltitles);
+ video_attr = &vtsi_mat->vts_video_attr;
+@@ -725,7 +725,7 @@
+ }
+ if (bappend)
+ m_titles.append(track);
+- track->name=i18n("Title %1").arg(num);
++ track->name=i18n("Title %1",num);
+
+ if (!_indexed) {
+ for (int i=0;i<m_titles.count();i++) {
+@@ -895,7 +895,7 @@
+ QString c;
+ dvdfile =m_dvd.openTitle( title);
+ if ( !dvdfile ) {
+- c=i18n("Error opening vobs for title %1\n").arg(title);
++ c=i18n("Error opening vobs for title %1\n",title);
+ setError(c);
+ return 0;
+ }
+@@ -906,7 +906,7 @@
+ emit sigVobProgress(i-startblock,lastblock-startblock);
+ total+=size;
+ if ( !size ) {
+- c=i18n("ERROR reading block %1\n").arg(i);
++ c=i18n("ERROR reading block %1\n",i);
+ setError(c);
+ break;
+ }
+diff -Naur k9copy-work/src/import/k9avidecode.cpp k9copy/src/import/k9avidecode.cpp
+--- k9copy-work/src/import/k9avidecode.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/import/k9avidecode.cpp 2020-12-23 23:48:01.707471971 -0500
+@@ -53,20 +53,20 @@
+ m_error="";
+ QStringList errs;
+ if (!CodecHandle) {
+- errs << i18n("Cannot open the library %1").arg("libavcodec");
++ errs << i18n("Cannot open the library %1","libavcodec");
+ }
+ if (!FormatHandle ) {
+- errs << i18n("Cannot open the library %1").arg("libavformat");
++ errs << i18n("Cannot open the library %1","libavformat");
+ }
+ # if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51, 33, 0)
+ if (!UtilHandle) {
+- m_error =i18n("Cannot open then library %1").arg("libavutil");
++ m_error =i18n("Cannot open then library %1","libavutil");
+ return;
+ }
+ # endif
+ #ifdef HAVE_SWSCALE
+ if (!SwscaleHandle) {
+- errs << i18n("Cannot open the library %1").arg("libswscale");
++ errs << i18n("Cannot open the library %1","libswscale");
+ }
+ #endif
+
+@@ -101,7 +101,7 @@
+ img_convert = (img_convert_t)dlsym(CodecHandle,"img_convert");
+ //if img_convert is null (deprecated in ffmpeg), we need libswscale
+ if (!img_convert)
+- errs << i18n("Cannot open the library %1").arg("libswscale");
++ errs << i18n("Cannot open the library %1","libswscale");
+ #endif
+ av_free = (av_free_t)dlsym(CodecHandle,"av_free");
+ av_free_packet = (av_free_packet_t)dlsym(CodecHandle,"av_free_packet");
+@@ -174,7 +174,7 @@
+ av_open_input_file(&m_FormatCtx, _fileName.toUtf8(), NULL, 0, NULL)!=0
+ # endif
+ ) {
+- m_error=i18n("Couldn't open the file %1").arg(_fileName);
++ m_error=i18n("Couldn't open the file %1",_fileName);
+ return false; // Couldn't open file}
+ }
+ // Retrieve stream information
+@@ -231,7 +231,7 @@
+ // Allocate an AVFrame structure
+ m_FrameRGB=avcodec_alloc_frame();
+ if (m_FrameRGB==NULL) {
+- m_error =i18n ("Unable to allocate memory for frames");
++ m_error =i18n("Unable to allocate memory for frames");
+ return false;
+ }
+
+diff -Naur k9copy-work/src/import/k9import.cpp k9copy/src/import/k9import.cpp
+--- k9copy-work/src/import/k9import.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/import/k9import.cpp 2020-12-23 23:48:01.707471971 -0500
+@@ -186,7 +186,7 @@
+
+
+ k9LvItemImport * itemch=new k9LvItemImport(title,k9LvItemImport::CHAPTER);
+- itemch->setText(0,i18n("chapter %1").arg(title->childCount()));
++ itemch->setText(0,i18n("chapter %1",title->childCount()));
+ itemch->setAviFile(file);
+ itemch->setTitle(title->getTitle());
+ connect(file,SIGNAL(aviFileUpdated(k9AviFile*)),this,SLOT(aviFileUpdated(k9AviFile*)));
+@@ -201,7 +201,7 @@
+ btn->setHeight(config.getPrefButtonHeight());
+ btn->setScript(QString("jump title 1 chapter %1 ;").arg(title->childCount()));
+ btn->setTextPosition(BOTTOM);
+- btn->setText(i18n("chapter %1").arg(title->childCount()));
++ btn->setText(i18n("chapter %1",title->childCount()));
+ btn->setColor(config.getPrefButtonTextColor());
+ btn->setFont(config.getPrefButtonFont());
+ file->setButton(btn);
+diff -Naur k9copy-work/src/import/k9menu.cpp k9copy/src/import/k9menu.cpp
+--- k9copy-work/src/import/k9menu.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/import/k9menu.cpp 2020-12-23 23:48:01.707471971 -0500
+@@ -145,7 +145,7 @@
+ void k9Menu::createAudio(const QString & _audioFile) {
+ if (! (k9Tools::checkProgram("twolame",false) || k9Tools::checkProgram("toolame",false))) {
+ m_error=true;
+- k9Dialogs::error(i18n("Error starting program %1").arg("twolame | toolame"),i18n("Running program"));
++ k9Dialogs::error(i18n("Error starting program %1","twolame | toolame"),i18n("Running program"));
+ return;
+ }
+
+diff -Naur k9copy-work/src/import/k9menuedit.cpp k9copy/src/import/k9menuedit.cpp
+--- k9copy-work/src/import/k9menuedit.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/import/k9menuedit.cpp 2020-12-23 23:48:01.708471979 -0500
+@@ -298,7 +298,7 @@
+ disconnect (this,SIGNAL(endScriptChanged(const QString&)),0,0);
+ Ui_menuEdit.cbEnd->setEnabled(true);
+ m_scene->clearSelection();;
+- Ui_menuEdit.lTitle->setText(i18n("Title %1 Menu").arg(_title->getNum()+1));
++ Ui_menuEdit.lTitle->setText(i18n("Title %1 Menu",_title->getNum()+1));
+ setScene(_title->getMenu()->getScene());
+ m_menuType=TITLEMENU;
+ Ui_menuEdit.cbStart->clear();
+@@ -322,7 +322,7 @@
+ k9NewDVD *newDVD=(k9NewDVD*)_title->parent() ;
+ k9NewDVDItems *items=newDVD->getTitles();
+ foreach (k9Title *title,*items) {
+- Ui_menuEdit.cbEnd->addItem(i18n("Play Title %1").arg(title->getNum()+1));
++ Ui_menuEdit.cbEnd->addItem(i18n("Play Title %1",title->getNum()+1));
+ QString script=QString("g6=%1; call vmgm menu;" ).arg(title->getNum()+1);
+ m_endScripts << script;
+ }
+@@ -348,7 +348,7 @@
+ m_startScripts << "";
+ k9NewDVDItems *items=_newDVD->getTitles();
+ foreach (k9Title *title,*items) {
+- Ui_menuEdit.cbStart->addItem(i18n("Play Title %1").arg(title->getNum()+1));
++ Ui_menuEdit.cbStart->addItem(i18n("Play Title %1",title->getNum()+1));
+ // QString script=QString("if (g5==0) {g5=1; jump title %1;}" ).arg(title->getNum()+1);
+ QString script=QString("g6=%1;" ).arg(title->getNum()+1);
+ m_startScripts << script;
+diff -Naur k9copy-work/src/import/k9newdvd.cpp k9copy/src/import/k9newdvd.cpp
+--- k9copy-work/src/import/k9newdvd.cpp 2020-12-23 23:47:42.375321426 -0500
++++ k9copy/src/import/k9newdvd.cpp 2020-12-23 23:48:01.708471979 -0500
+@@ -175,7 +175,7 @@
+ QString menuFileName=m_workDir+k9Tools::randomFileName()+".mpg";
+ m_tmpFiles << menuFileName,
+ menu->setMenuFileName(menuFileName);
+- m_processList->addProgress(i18n("Creating menu for title %1").arg(title->getNum()+1));
++ m_processList->addProgress(i18n("Creating menu for title %1",title->getNum()+1));
+ if (!menu->createMenus(&titleSet))
+ return;
+
+@@ -282,7 +282,7 @@
+ break;
+ }
+
+- k9Process *process=m_processList->addProcess(i18n("Encoding %1").arg(_aviFile->getFileName()));
++ k9Process *process=m_processList->addProcess(i18n("Encoding %1",_aviFile->getFileName()));
+ m_processList->setFileName(process,_aviFile->getFileName());
+
+ QTime t(0,0);
+@@ -499,7 +499,7 @@
+ btn->setHeight(m_config->getPrefButtonHeight());
+ btn->setScript(QString("g1=0;jump titleset %1 menu;").arg(_title->getNum()+1));
+ btn->setTextPosition(RIGHT);
+- btn->setText(i18n("title %1").arg(_title->getNum()+1));
++ btn->setText(i18n("title %1",_title->getNum()+1));
+ btn->setColor(m_config->getPrefButtonTextColor());
+ btn->setFont(m_config->getPrefButtonFont());
+
+diff -Naur k9copy-work/src/import/k9newtitle.cpp k9copy/src/import/k9newtitle.cpp
+--- k9copy-work/src/import/k9newtitle.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/import/k9newtitle.cpp 2020-12-23 23:48:01.708471979 -0500
+@@ -126,7 +126,7 @@
+ k9LvItemImport *item=new k9LvItemImport(m_k9Import->getRoot(),k9LvItemImport::TITLE);
+ item->setExpanded(true);
+ k9Title *title=new k9Title( m_k9Import->getNewDVD());
+- item->setText(0,i18n("title %1").arg(title->getNum() +1));
++ item->setText(0,i18n("title %1",title->getNum() +1));
+
+ connect( title->getButton(),SIGNAL(sigsetImage(k9MenuButton*, const QImage&)),m_k9Import,SLOT(buttonUpdated(k9MenuButton*, const QImage&)));
+ item->setTitle(title);
+@@ -180,7 +180,7 @@
+ file->setEnd(t.addMSecs(qMin(pos,fileInfo.getDuration()) *1000));
+ file->setReencode(!Ui_newTitle.ckReencode->isChecked());
+ k9LvItemImport * itemch=new k9LvItemImport(item,k9LvItemImport::CHAPTER);
+- itemch->setText(0,i18n("chapter %1").arg(i+1));
++ itemch->setText(0,i18n("chapter %1",i+1));
+ itemch->setText(1,file->getStart().toString("hh:mm:ss") +" - "+file->getEnd().toString("hh:mm:ss") );
+ itemch->setAviFile(file);
+ itemch->setTitle(title);
+@@ -202,7 +202,7 @@
+ btn->setHeight(height);
+ btn->setScript(QString("jump title 1 chapter %1 ;").arg(i+1));
+ btn->setTextPosition(BOTTOM);
+- btn->setText(i18n("chapter %1").arg(i+1));
++ btn->setText(i18n("chapter %1",i+1));
+ btn->setColor(config.getPrefButtonTextColor());
+ btn->setFont(config.getPrefButtonFont());
+ file->setButton(btn);
+diff -Naur k9copy-work/src/main/k9main.cpp k9copy/src/main/k9main.cpp
+--- k9copy-work/src/main/k9main.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/main/k9main.cpp 2020-12-23 23:48:01.708471979 -0500
+@@ -436,7 +436,7 @@
+ execCopy.copyDVD();
+ break;
+ }
+- changeStatusbar ( i18n ( "Ready" ) ,sbMessage );
++ changeStatusbar ( i18n( "Ready" ) ,sbMessage );
+
+ }
+
+@@ -457,7 +457,7 @@
+ index=i;
+ }
+ QString res="";
+- if ( ( index==-1 ) || ( _combo->currentText() ==i18n ( "ISO Image" ) ) ) {
++ if ( ( index==-1 ) || ( _combo->currentText() ==i18n( "ISO Image" ) ) ) {
+ res=_combo->currentText();
+ } else {
+ k9CdDrive * drive= ( k9CdDrive* ) driveList.at ( index );
+@@ -512,12 +512,12 @@
+
+ dvd->scandvd ( sDevice,m_quickScan );
+ if ( dvd->geterror() ) {
+- k9Dialogs::error ( dvd->geterrMsg(), i18n ( "Open DVD" ) );
++ k9Dialogs::error ( dvd->geterrMsg(), i18n( "Open DVD" ) );
+ return;
+ }
+
+ m_parent->setDvdOpened(true);
+- if ( dvd->getDVDTitle() ==i18n ( "unknown" ) && sVolName!="" ) {
++ if ( dvd->getDVDTitle() ==i18n( "unknown" ) && sVolName!="" ) {
+ dvd->setDVDTitle ( sVolName );
+ }
+
+@@ -535,14 +535,14 @@
+ ckLvItem *tsItem = new ckLvItem ( root,this,TITLESET );
+ tsItem->setExpanded ( TRUE );
+ QString c;
+- c=i18n ( "Titleset %1").arg(i+1 );
++ c=i18n( "Titleset %1",i+1 );
+ tsItem->setText ( 0,c );
+ QFont font=tsItem->font ( 1 );
+ font.setWeight ( QFont::Bold );
+ tsItem->setFont ( 1,font );
+
+
+- tsItem->setText ( 1," "+dvd->gettitleset ( i )->getsize_mb() +" " +i18n ( "MB" ) );
++ tsItem->setText ( 1," "+dvd->gettitleset ( i )->getsize_mb() +" " +i18n( "MB" ) );
+ tsItem->setTextAlignment ( 1,Qt::AlignRight );
+ tsItem->obj=dvd->gettitleset ( i ) ;
+ tsItem->streamType=NONE;
+@@ -561,7 +561,7 @@
+ m_playbackOptions->fillTitleList();
+ m_langSelect->fillLvLanguages();
+ listView1->setSortingEnabled ( true );
+- changeStatusbar ( i18n ( "Ready" ),sbMessage );
++ changeStatusbar ( i18n( "Ready" ),sbMessage );
+ emit SelectionChanged ( dvd,withMenus() );
+ this->setEnabled ( true );
+
+@@ -606,18 +606,18 @@
+
+ void k9Main::addChapters ( QTreeWidgetItem *_parent,k9DVDTitle *_title ) {
+ LvItem *chapter = new LvItem ( _parent,CHAPTER );
+- chapter->setText ( 0, i18n ( "chapters" ) );
++ chapter->setText ( 0, i18n( "chapters" ) );
+ chapter->setExpanded ( false );
+ chapter->setIcon ( 0,pxChapter );
+
+ int ch=0;
+ for ( int i=0;i< _title->getchapterCount();i++ ) {
+ ckLvItem *it =new ckLvItem ( chapter,this,CHAPTER );
+- it->setText ( 0,i18n ( "chapter %1").arg(++ch ) );
++ it->setText ( 0,i18n( "chapter %1",++ch ) );
+ QString s;
+
+ s=QString ( "%1" ).arg ( ( double ) ( _title->getChapter ( i )->getsectors() ) /512,0,'f',2 );
+- it->setText ( 1,i18n ( "%1 MB").arg(s ) );
++ it->setText ( 1,i18n( "%1 MB",s ) );
+ it->setTextAlignment ( 1,Qt::AlignRight | Qt::AlignVCenter);
+ it->setTextAlignment ( 2,Qt::AlignRight | Qt::AlignVCenter);
+
+@@ -631,13 +631,13 @@
+ k9DVDTitle *title2=_title->getTitles().at ( j );
+ for ( int i=0;i< title2->getchapterCount();i++ ) {
+ ckLvItem *it =new ckLvItem ( chapter,this,CHAPTER );
+- it->setText ( 0,i18n ( "chapter %1").arg(++ch ) );
++ it->setText ( 0,i18n( "chapter %1",++ch ) );
+ it->streamType=CHAP;
+ it->obj=title2->getChapter ( i );
+ QString s;
+ s=QString ( "%1" ).arg ( ( double ) ( title2->getChapter ( i )->getsectors() ) /512,0,'f',2 );
+
+- it->setText ( 1,i18n ( "%1 MB").arg(s ) );
++ it->setText ( 1,i18n( "%1 MB",s ) );
+ it->setTextAlignment ( 1,Qt::AlignRight | Qt::AlignVCenter );
+ it->setTextAlignment ( 2,Qt::AlignRight | Qt::AlignVCenter );
+
+@@ -672,7 +672,7 @@
+ itemTrack->setIcon ( col1,SmallIcon ( "title" ) );
+ c.sprintf ( "%.2f ", track->gettotalsize_mb() );
+
+- itemTrack->setText ( col2,c+i18n ( "MB" ) );
++ itemTrack->setText ( col2,c+i18n( "MB" ) );
+ itemTrack->setText (col4,track->gettotallength().toString ( "h:mm:ss" ));
+ itemTrack->setTextAlignment ( col2,Qt::AlignRight|Qt::AlignVCenter );
+ itemTrack->setTextAlignment ( col4,Qt::AlignRight|Qt::AlignVCenter );
+@@ -690,20 +690,20 @@
+ video->setIcon ( 0,SmallIcon ( "video" ) );
+ addListItem ( track,video,VID );
+ video->setExpanded ( false );
+- c=i18n ( "video %1 ").arg(track->getformat() );
++ c=i18n( "video %1 ",track->getformat() );
+ c.append ( " - " + track->getaspectRatio() );
+
+ video->setText ( col1, c );
+ if ( track->gettotalvideosize_mb() ) {
+ c.sprintf ( "%.2f ", track->gettotalvideosize_mb() );
+- video->setText ( col2,c +i18n ( "MB" ) );
++ video->setText ( col2,c +i18n( "MB" ) );
+ video->setTextAlignment ( col2,Qt::AlignRight );
+ }
+ video->obj=track;
+
+ for ( i=0;i< track->getaudioStreamCount();i++ ) {
+ l_auds=track->getaudioStream ( i );
+- c=i18n ( "audio %1 ").arg(i+1 );
++ c=i18n( "audio %1 ",i+1 );
+ c.append ( l_auds->getlanguage() + " " +l_auds->getformat() +" " );
+ ch.sprintf ( "%dch ",l_auds->getchannels() );
+ c.append ( ch+l_auds->getfrequency() +" "+l_auds->getquantization() );
+@@ -717,7 +717,7 @@
+ item->setText ( col1, c );
+ if ( l_auds->getsize_mb() ) {
+ c.sprintf ( "%.2f ", l_auds->getsize_mb());
+- item->setText ( col2,c +i18n ( "MB" ) );
++ item->setText ( col2,c +i18n( "MB" ) );
+ item->setTextAlignment ( col2,Qt::AlignRight );
+ }
+ item->setText ( col3,l_auds->getcontent() );
+@@ -727,7 +727,7 @@
+ }
+ for ( i=0;i< track->getsubPictureCount();i++ ) {
+ l_sub=track->getsubtitle ( i );
+- c=i18n ( "subpicture %1 ").arg(i+1 );
++ c=i18n( "subpicture %1 ",i+1 );
+ c.append ( l_sub->getlanguage() );
+ ckLvItem * item = new ckLvItem ( itemTrack,this,STREAM );
+
+@@ -738,7 +738,7 @@
+ item->setText ( col1, c );
+ if ( l_sub->getsize_mb() ) {
+ c.sprintf ( "%.2f ", l_sub->getsize_mb());
+- item->setText ( col2,c +i18n ( "MB" ) );
++ item->setText ( col2,c +i18n( "MB" ) );
+ item->setTextAlignment ( col2,Qt::AlignRight );
+ }
+ item->setText ( col3, l_sub->getcontent() );
+@@ -1207,7 +1207,7 @@
+ execCopy.setDvd ( dvd );
+ execCopy.setPath(Ui_MainDlg.urOutput->url().path());
+ execCopy.CreateMP4();
+- changeStatusbar ( i18n ( "Ready" ) ,sbMessage );
++ changeStatusbar ( i18n( "Ready" ) ,sbMessage );
+
+ }
+
+@@ -1216,7 +1216,7 @@
+ execCopy.setDvd ( dvd );
+ execCopy.setPath(Ui_MainDlg.urOutput->url().path());
+ execCopy.extractAudio();
+- changeStatusbar ( i18n ( "Ready" ) ,sbMessage );
++ changeStatusbar ( i18n( "Ready" ) ,sbMessage );
+
+ }
+
+@@ -1226,7 +1226,7 @@
+ execCopy.setDvd ( dvd );
+ execCopy.setPath(Ui_MainDlg.urOutput->url().path());
+ execCopy.extractMPEG2();
+- changeStatusbar ( i18n ( "Ready" ) ,sbMessage );
++ changeStatusbar ( i18n( "Ready" ) ,sbMessage );
+
+
+ }
+@@ -1365,7 +1365,7 @@
+ if ( drive !=NULL ) {
+ QList <int>list=drive->getWriteSpeeds();
+ Ui_MainDlg.cbBurnSpeed->clear();
+- Ui_MainDlg.cbBurnSpeed->addItem ( i18n ( "default" ) );
++ Ui_MainDlg.cbBurnSpeed->addItem ( i18n( "default" ) );
+ foreach ( int speed,list ) {
+ Ui_MainDlg.cbBurnSpeed->addItem ( QString::number ( ( double ) ( speed ) /1385 ) );
+ }
+@@ -1389,7 +1389,7 @@
+
+
+ void k9Main::bInputOpenClick() {
+- QString result=k9Dialogs::getOpenFileName ( QDir::homePath(),"*.iso", 0,i18n ( "Open ISO Image" ) );
++ QString result=k9Dialogs::getOpenFileName ( QDir::homePath(),"*.iso", 0,i18n( "Open ISO Image" ) );
+ if ( result!="" ) {
+ k9Tools::setComboText ( Ui_MainDlg.cbInputDev,result );
+ Open();
+@@ -1482,7 +1482,7 @@
+ }
+ else {
+ changeStatusbar ( QString::number ( dbfactor,'f',2 ),sbFactor );
+- changeStatusbar ( i18n("%1 MB").arg(QString::number ((double)sizeSelected/512.,'f',2)),sbSelSize);
++ changeStatusbar ( i18n("%1 MB",QString::number ((double)sizeSelected/512.,'f',2)),sbSelSize);
+ }
+ emit SelectionChanged ( dvd,withMenus() );
+ m_mutex.unlock();
+diff -Naur k9copy-work/src/main/k9titlefactor.cpp k9copy/src/main/k9titlefactor.cpp
+--- k9copy-work/src/main/k9titlefactor.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/main/k9titlefactor.cpp 2020-12-23 23:51:35.909155787 -0500
+@@ -60,7 +60,7 @@
+ }
+ double size;
+ size =m_current->getChaptersSize_mb(true) / getFactor();
+- Ui_titleFactor.lTargetSize->setText(i18n("size : %1 MB").arg(size ));
++ Ui_titleFactor.lTargetSize->setText(i18n("size : %1 MB",size ));
+ }
+ }
+
+@@ -97,7 +97,7 @@
+ Ui_titleFactor.tFactor->setText(QString("%1").arg(getFactor(),4,'f',2));
+ size =m_current->getChaptersSize_mb(true) / getFactor();
+ }
+- Ui_titleFactor.lTargetSize->setText(i18n("size : %1 MB").arg(size ));
++ Ui_titleFactor.lTargetSize->setText(i18n("size : %1 MB",size ));
+
+
+ }
+@@ -118,7 +118,7 @@
+ Ui_titleFactor.gbTitle->setChecked(m_current->getforceFactor());
+ m_updating=false;
+
+- Ui_titleFactor.lbTitle->setText(i18n("Shrink Factor for %1").arg(m_current->getname()));
++ Ui_titleFactor.lbTitle->setText(i18n("Shrink Factor for %1",m_current->getname()));
+ double size;
+ if (m_current->getforceFactor()) {
+ Ui_titleFactor.slFactor->setValue(m_current->getfactor()*100.0);
+@@ -131,7 +131,7 @@
+ Ui_titleFactor.slFactor->setMinimum(100);
+ size =m_current->getChaptersSize_mb(true) / getFactor();
+ }
+- Ui_titleFactor.lTargetSize->setText(i18n("size : %1 MB").arg(size ));
++ Ui_titleFactor.lTargetSize->setText(i18n("size : %1 MB",size ));
+
+ }
+
+diff -Naur k9copy-work/src/mplayer/k9mplayer.cpp k9copy/src/mplayer/k9mplayer.cpp
+--- k9copy-work/src/mplayer/k9mplayer.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/mplayer/k9mplayer.cpp 2020-12-23 23:48:01.709471987 -0500
+@@ -174,7 +174,7 @@
+
+ qDebug() << m_process->debug();
+ if (!m_process->start()) {
+- k9Dialogs::error (i18n("Unable to run %1").arg("mplayer") , i18n("Preview"));
++ k9Dialogs::error (i18n("Unable to run %1","mplayer") , i18n("Preview"));
+ }
+
+ m_canwrite=TRUE;
+diff -Naur k9copy-work/src/player/k9play.cpp k9copy/src/player/k9play.cpp
+--- k9copy-work/src/player/k9play.cpp 2020-12-23 23:47:42.379321457 -0500
++++ k9copy/src/player/k9play.cpp 2020-12-23 23:48:01.709471987 -0500
+@@ -366,7 +366,7 @@
+ /* set read ahead cache usage */
+ if (dvdnav_set_readahead_flag(dvdnav, DVD_READ_CACHE) != DVDNAV_STATUS_OK) {
+ writeOutput( QString("ERR:Error on dvdnav_set_readahead_flag: %1\n").arg(dvdnav_err_to_string(dvdnav)));
+- emit sigError(i18n("Error on dvdnav_set_readahead_flag: %1").arg(dvdnav_err_to_string(dvdnav)));
++ emit sigError(i18n("Error on dvdnav_set_readahead_flag: %1",dvdnav_err_to_string(dvdnav)));
+ end();
+ return;
+ }
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-installdirs.patch b/multimedia/k9copy-reloaded/patches/k9copy-installdirs.patch
new file mode 100644
index 0000000000..ec923d1706
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-installdirs.patch
@@ -0,0 +1,29 @@
+diff -Naur k9copy.orig/CMakeLists.txt k9copy/CMakeLists.txt
+--- k9copy.orig/CMakeLists.txt 2014-10-16 07:58:20.000000000 -0400
++++ k9copy/CMakeLists.txt 2020-12-24 10:48:11.088907284 -0500
+@@ -1,3 +1,4 @@
++cmake_minimum_required(VERSION 3.1)
+ project(k9copy)
+ set (VERSION 3.0.3)
+
+@@ -38,7 +38,7 @@ find_package(Qt5DBus REQUIRED)
+ find_package(Qt5Gui REQUIRED)
+ find_package(Qt5Widgets REQUIRED)
+
+-find_package(KF5 COMPONENTS REQUIRED I18n Config Su CoreAddons WidgetsAddons DocTools XmlGui Solid KIO IconThemes)
++find_package(KF5 COMPONENTS REQUIRED Auth I18n Config Su CoreAddons WidgetsAddons DocTools XmlGui Solid KIO IconThemes)
+
+ else()
+ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+@@ -568,7 +569,11 @@
+
+ install( FILES k9copy.desktop k9copy_assistant.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
+ #install( FILES k9copy.kcfg DESTINATION ${KCFG_INSTALL_DIR} )
++if(QT5_BUILD)
++install( FILES k9copyui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/k9copy )
++else()
+ install( FILES k9copyui.rc DESTINATION ${DATA_INSTALL_DIR}/k9copy )
++endif()
+
+ install(FILES k9copy_open.desktop DESTINATION ${DATA_INSTALL_DIR}/solid/actions)
+ install(FILES k9copy_assistant_open.desktop DESTINATION ${DATA_INSTALL_DIR}/solid/actions)
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-mimetype.patch b/multimedia/k9copy-reloaded/patches/k9copy-mimetype.patch
deleted file mode 100644
index 1c156d6055..0000000000
--- a/multimedia/k9copy-reloaded/patches/k9copy-mimetype.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- k9copy.orig/k9copy_assistant.desktop 2014-09-29 16:00:12.000000000 +0100
-+++ k9copy/k9copy_assistant.desktop 2015-05-28 20:08:49.318602109 +0100
-@@ -14,9 +14,8 @@ GenericName[fr]=Backup de DVD Video
- GenericName[tr]=DVD Vidyo Yedekleme Aracı
- GenericName[ru]=Копирование с видео-DVD
- GenericName[uk]=Копіювання відео-DVD
--MimeTypes=
- Terminal=false
- Icon=k9copy
- X-DocPath=k9copy/index.html
- Categories=Qt;KDE;AudioVideo;DiscBurning;
--X-KDE-StartupNotify=true
-\ No newline at end of file
-+X-KDE-StartupNotify=true
---- k9copy.orig/k9copy_assistant_open.desktop 2014-09-29 16:00:12.000000000 +0100
-+++ k9copy/k9copy_assistant_open.desktop 2015-05-28 20:06:11.140619453 +0100
-@@ -11,4 +11,4 @@ NAme[uk]=Копіювати за доп
- [Desktop Entry]
- X-KDE-Solid-Predicate=[[ StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Data|VideoDvd' ] OR [ StorageVolume.ignored == false AND OpticalDisc.availableContent == 'Data|VideoDvd' ]]
- Type=Service
--Actions=open;
-\ No newline at end of file
-+Actions=open;
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-missing-language-in-po-files.patch b/multimedia/k9copy-reloaded/patches/k9copy-missing-language-in-po-files.patch
new file mode 100644
index 0000000000..6db2f51708
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-missing-language-in-po-files.patch
@@ -0,0 +1,221 @@
+diff -Naur k9copy.orig/po/ca.po k9copy/po/ca.po
+--- k9copy.orig/po/ca.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/ca.po 2020-12-24 10:48:11.122907577 -0500
+@@ -12,6 +12,7 @@
+ "PO-Revision-Date: 2006-09-06 19:13+0200\n"
+ "Last-Translator: Daniel Balagué Guardia <bullet@k-demar.org>\n"
+ "Language-Team: Català <ca@li.org>\n"
++"Language: ca\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/cs.po k9copy/po/cs.po
+--- k9copy.orig/po/cs.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/cs.po 2020-12-24 10:48:11.123907586 -0500
+@@ -13,6 +13,7 @@
+ "PO-Revision-Date: 2004-01-01 00:36+0100\n"
+ "Last-Translator: \n"
+ "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
++"Language: cs\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/da.po k9copy/po/da.po
+--- k9copy.orig/po/da.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/da.po 2020-12-24 10:48:11.125907603 -0500
+@@ -11,6 +11,7 @@
+ "PO-Revision-Date: 2010-05-12 14:26+0200\n"
+ "Last-Translator: Martin Schlander <mschlander@opensuse.org>\n"
+ "Language-Team: Danish <opensuse-translation@opensuse.org>\n"
++"Language: da\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/de.po k9copy/po/de.po
+--- k9copy.orig/po/de.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/de.po 2020-12-24 10:48:11.126907611 -0500
+@@ -11,6 +11,7 @@
+ "PO-Revision-Date: 2009-06-12 14:13+0200\n"
+ "Last-Translator: Jan Berndt <Jan.Berndt@gmx.de>\n"
+ "Language-Team: deutsch <de@li.org>\n"
++"Language: de\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/el.po k9copy/po/el.po
+--- k9copy.orig/po/el.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/el.po 2020-12-24 10:48:11.127907620 -0500
+@@ -13,6 +13,7 @@
+ "PO-Revision-Date: 2007-10-17 11:33+0300\n"
+ "Last-Translator: Spiros Georgaras <sng@hellug.gr>\n"
+ "Language-Team: Greek <i18ngr@lists.hellug.gr>\n"
++"Language: el\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/es.po k9copy/po/es.po
+--- k9copy.orig/po/es.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/es.po 2020-12-24 10:48:11.127907620 -0500
+@@ -12,6 +12,7 @@
+ "PO-Revision-Date: 2006-09-06 19:11+0200\n"
+ "Last-Translator: Daniel Balagué Guardia <bullet@k-demar.org>\n"
+ "Language-Team: Català <ca@li.org>\n"
++"Language: es\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/es_AR.po k9copy/po/es_AR.po
+--- k9copy.orig/po/es_AR.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/es_AR.po 2020-12-24 10:48:11.128907629 -0500
+@@ -10,6 +10,7 @@
+ "PO-Revision-Date: 2008-04-30 03:57-0300\n"
+ "Last-Translator: Fernando Toledo <ftoledo@docksud.com.ar>\n"
+ "Language-Team: Español (Argentina) <es@li.org>\n"
++"Language: es_AR\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/fr.po k9copy/po/fr.po
+--- k9copy.orig/po/fr.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/fr.po 2020-12-24 10:48:11.128907629 -0500
+@@ -9,6 +9,7 @@
+ "PO-Revision-Date: 2007-07-24 09:24+0200\n"
+ "Last-Translator: Jean-Michel Petit <k9copy@free.fr>\n"
+ "Language-Team: <fr@li.org>\n"
++"Language: fr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/it.po k9copy/po/it.po
+--- k9copy.orig/po/it.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/it.po 2020-12-24 10:48:11.129907637 -0500
+@@ -15,6 +15,7 @@
+ "PO-Revision-Date: 2008-03-25 18:47+0100\n"
+ "Last-Translator: Leonardo Finetti <finex@finex.org>\n"
+ "Language-Team: italian <kde-i18n-it@kde.org>\n"
++"Language: it\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/ja.po k9copy/po/ja.po
+--- k9copy.orig/po/ja.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/ja.po 2020-12-24 10:48:11.129907637 -0500
+@@ -12,6 +12,7 @@
+ "PO-Revision-Date: 2010-07-11 10:17+0900\n"
+ "Last-Translator: Munehiro Yamamoto <munepixyz@gmail.com>\n"
+ "Language-Team: munepi <munepixyz@gmail.com>\n"
++"Language: ja\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: \n"
+diff -Naur k9copy.orig/po/k9copy.pot k9copy/po/k9copy.pot
+--- k9copy.orig/po/k9copy.pot 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/k9copy.pot 2020-12-24 10:48:11.130907646 -0500
+@@ -13,6 +13,7 @@
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: en\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=CHARSET\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/nl.po k9copy/po/nl.po
+--- k9copy.orig/po/nl.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/nl.po 2020-12-24 10:48:11.130907646 -0500
+@@ -11,6 +11,7 @@
+ "PO-Revision-Date: 2009-05-10 16:15+0200\n"
+ "Last-Translator: \n"
+ "Language-Team: Dutch <kde-i18n-doc@kde.org>\n"
++"Language: nl\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/pl.po k9copy/po/pl.po
+--- k9copy.orig/po/pl.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/pl.po 2020-12-24 10:48:11.130907646 -0500
+@@ -13,6 +13,7 @@
+ "PO-Revision-Date: 2006-09-27 11:51+0200\n"
+ "Last-Translator: Wojciech Nawrocki <wojtasin@o2.pl>\n"
+ "Language-Team: Polski <pl@li.org>\n"
++"Language: pl\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/pt_BR.po k9copy/po/pt_BR.po
+--- k9copy.orig/po/pt_BR.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/pt_BR.po 2020-12-24 10:48:11.131907655 -0500
+@@ -14,6 +14,7 @@
+ "PO-Revision-Date: 2010-02-08 21:04-0200\n"
+ "Last-Translator: Phantom X <megaphantomx at bol.com.br>\n"
+ "Language-Team: Português do Brasil <pt@li.org>\n"
++"Language: pt_BR\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/ru.po k9copy/po/ru.po
+--- k9copy.orig/po/ru.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/ru.po 2020-12-24 10:48:11.133907672 -0500
+@@ -11,6 +11,7 @@
+ "PO-Revision-Date: 2010-01-01 17:32+0000\n"
+ "Last-Translator: kostya_hm <kostya.hm@rambler.ru>\n"
+ "Language-Team: Russian <none>\n"
++"Language: ru\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/sr.po k9copy/po/sr.po
+--- k9copy.orig/po/sr.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/sr.po 2020-12-24 10:48:11.133907672 -0500
+@@ -14,6 +14,7 @@
+ "PO-Revision-Date: 2007-08-15 11:15+0100\n"
+ "Last-Translator: Милош Поповић <gpopac@gmail.com>\n"
+ "Language-Team: Serbian <gnom@prevod.org>\n"
++"Language: sr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/sr@Latn.po k9copy/po/sr@Latn.po
+--- k9copy.orig/po/sr@Latn.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/sr@Latn.po 2020-12-24 10:48:11.135907689 -0500
+@@ -14,6 +14,7 @@
+ "PO-Revision-Date: 2007-08-15 11:15+0100\n"
+ "Last-Translator: Miloš Popović <gpopac@gmail.com>\n"
+ "Language-Team: Serbian <gnom@prevod.org>\n"
++"Language: sr@Latn\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/tr.po k9copy/po/tr.po
+--- k9copy.orig/po/tr.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/tr.po 2020-12-24 10:48:11.136907698 -0500
+@@ -14,6 +14,7 @@
+ "PO-Revision-Date: 2007-10-17 11:01+0300\n"
+ "Last-Translator: Murat Şenel <muratasenel@gmail.com>\n"
+ "Language-Team: <tr@li.org>\n"
++"Language: tr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/uk.po k9copy/po/uk.po
+--- k9copy.orig/po/uk.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/uk.po 2020-12-24 10:48:11.137907707 -0500
+@@ -11,7 +11,7 @@
+ "PO-Revision-Date: 2011-07-24 12:18+0300\n"
+ "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+ "Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
+-"Language: \n"
++"Language: uk\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+diff -Naur k9copy.orig/po/zh_TW.po k9copy/po/zh_TW.po
+--- k9copy.orig/po/zh_TW.po 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/po/zh_TW.po 2020-12-24 10:48:11.137907707 -0500
+@@ -12,6 +12,7 @@
+ "PO-Revision-Date: 2007-10-24 19:43+0800\n"
+ "Last-Translator: 洪任諭 <pcman.tw@gmail.com>\n"
+ "Language-Team: Traditional Chinese <LL@li.org>\n"
++"Language: zh_TW\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-tempdir.patch b/multimedia/k9copy-reloaded/patches/k9copy-tempdir.patch
deleted file mode 100644
index e9376cf291..0000000000
--- a/multimedia/k9copy-reloaded/patches/k9copy-tempdir.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- src/core/k9tools.cpp.org 2014-09-29 17:00:12.000000000 +0200
-+++ src/core/k9tools.cpp 2015-12-19 19:18:40.474442195 +0100
-@@ -48,7 +48,7 @@
- const QString k9Tools::getTempPath() {
- QString sPath;
-
--sPath=QString("%1/%2/").arg(QDir::tempPath() + '/' + "k9copy/");
-+sPath=QString("%1/%2/").arg(QDir::tempPath(),"k9copy/");
-
- return sPath;
- }
---- src/vamps/k9fifo.cpp.org 2014-09-29 17:00:12.000000000 +0200
-+++ src/vamps/k9fifo.cpp 2015-12-19 19:04:18.616261661 +0100
-@@ -11,6 +11,8 @@
- //
- #include "k9fifo.h"
- #include <QDir>
-+#include <errno.h>
-+#include <KDebug>
-
- uint64_t k9MemoryFifo::count() {
- return m_count;
-@@ -134,12 +136,19 @@
- m_wait.wait(&m_mutex);
- }
- m_wfile->seek(m_fstart);
-- m_wfile->write((const char*)_buffer,_size);
-+ int rc=m_wfile->write((const char*)_buffer,_size) ;
-+ if (rc != (int) _size) {
-+ kFatal() << QString("error writing to tempfile (%1)").arg(strerror (errno));
-+ abort();
-+ }
- m_fstart=m_wfile->pos();
- if (m_fstart > MAX_FILE_SIZE) {
- m_wfile=new QTemporaryFile(QDir::cleanPath(m_output +"/k9b"));
- m_wfile->setAutoRemove(true);
-- m_wfile->open();
-+ if(m_wfile->open() == false) {
-+ kFatal() << QString("error creating tempfile in %1 (%1)").arg(QDir::cleanPath(m_output +"/k9b"), strerror (errno));
-+ abort();
-+ }
- m_queue.enqueue(m_wfile);
- m_fstart=0;
- }
-@@ -190,12 +199,17 @@
- if (m_rfile) {
- m_rfile->close();
- delete m_rfile;
-+ m_rfile=NULL;
- }
- qDeleteAll(m_queue);
-
-+
- m_fstart=m_fend=0;
- m_rfile=new QTemporaryFile(QDir::cleanPath(m_output +"/k9b"));
- m_rfile->setAutoRemove(true);
-- m_rfile->open();
-+ if(m_rfile->open() == false) {
-+ kFatal() << QString("error creating tempfile in %1 (%1)").arg(QDir::cleanPath(m_output +"/k9b"), strerror (errno));
-+ abort();
-+ }
- m_start=m_end=0;
- }
diff --git a/multimedia/k9copy-reloaded/patches/k9copy-uncheck-dvdauthor.patch b/multimedia/k9copy-reloaded/patches/k9copy-uncheck-dvdauthor.patch
new file mode 100644
index 0000000000..58814b7941
--- /dev/null
+++ b/multimedia/k9copy-reloaded/patches/k9copy-uncheck-dvdauthor.patch
@@ -0,0 +1,12 @@
+diff -Naur k9copy.orig/src/core/k9config.cpp k9copy/src/core/k9config.cpp
+--- k9copy.orig/src/core/k9config.cpp 2014-09-29 11:00:12.000000000 -0400
++++ k9copy/src/core/k9config.cpp 2020-12-26 12:17:00.538310987 -0500
+@@ -100,7 +100,7 @@
+ m_prefAutoBurn=group.readEntry("autoburn",false);
+ m_quickScan=group.readEntry("quickscan",true);
+ m_prefSize=group.readEntry("dvdsize",4400);
+- m_useDvdAuthor=group.readEntry("useDvdAuthor",true);
++ m_useDvdAuthor=group.readEntry("useDvdAuthor",false);
+ m_keepMenus=group.readEntry("keepMenus",true);
+ m_prefDelTmpFiles=group.readEntry("deltmpfiles",false);
+ m_prefReadAhead=group.readEntry("readahead",-1);
diff --git a/multimedia/lightspark/README b/multimedia/lightspark/README
index 5d48aaefc4..a2343f66ce 100644
--- a/multimedia/lightspark/README
+++ b/multimedia/lightspark/README
@@ -1,10 +1,9 @@
Lightspark is an open source Flash player implementation for playing
-files in SWF format. Lightspark can run as a web browser plugin or as
-a standalone application.
+files in the SWF format. Lightspark can run as a web browser plugin or
+as a standalone application.
-Lightspark supports SWF files written on the newest version of the
-ActionScript language, ActionScript 3.0, which was introduced at the
-same time as Flash player 9.
+Lightspark supports SWF files written on all versions of the
+ActionScript language.
Optional Dependency
diff --git a/multimedia/lightspark/lightspark.SlackBuild b/multimedia/lightspark/lightspark.SlackBuild
index 36bc8ea5a9..734d2a164f 100644
--- a/multimedia/lightspark/lightspark.SlackBuild
+++ b/multimedia/lightspark/lightspark.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for lightspark
-# Copyright 2016-2020 Hunter Sezen California, USA
+# Copyright 2016-2021 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lightspark
-VERSION=${VERSION:-0.8.3}
+VERSION=${VERSION:-0.8.4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -69,9 +69,6 @@ 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 {} \;
-# don't name scripts 'build'
-mv build build.sh
-
mkdir -p build
cd build
cmake \
@@ -81,12 +78,14 @@ cd build
-DMANUAL_DIRECTORY=man \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DGNASH_EXE_PATH=/usr/bin/gtk-gnash \
- -DCMAKE_SKIP_RPATH=TRUE \
-DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
cd ..
+# lightspark depends on the rpath
+# -DCMAKE_SKIP_RPATH=TRUE \
+
mv -- $PKG/etc/xdg/lightspark.conf $PKG/etc/xdg/lightspark.conf.new
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
diff --git a/multimedia/lightspark/lightspark.info b/multimedia/lightspark/lightspark.info
index 8f2eac3343..e597dad478 100644
--- a/multimedia/lightspark/lightspark.info
+++ b/multimedia/lightspark/lightspark.info
@@ -1,8 +1,8 @@
PRGNAM="lightspark"
-VERSION="0.8.3"
+VERSION="0.8.4.1"
HOMEPAGE="https://lightspark.github.io/"
-DOWNLOAD="https://github.com/lightspark/lightspark/archive/0.8.3/lightspark-0.8.3.tar.gz"
-MD5SUM="d9aed3452d00294c668845e99e6a6b97"
+DOWNLOAD="https://github.com/lightspark/lightspark/archive/0.8.4.1/lightspark-0.8.4.1.tar.gz"
+MD5SUM="27c1ad450eb1c8f47bd07dbc2ba34a5a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ffmpeg rtmpdump SDL2_mixer"
diff --git a/multimedia/lives/README b/multimedia/lives/README
index a0296a8354..8772d9807b 100644
--- a/multimedia/lives/README
+++ b/multimedia/lives/README
@@ -20,10 +20,23 @@ performances, and as a video editor is capable of creating dazzling
clips in a huge variety of formats.
Optional dependencies:
-ffmpeg mjpegtools ladspa_sdk libunicap libdv schroedinger frei0r libavc1394
+ffmpeg mjpegtools ladspa_sdk libunicap libdv schroedinger frei0r
+ libavc1394 opencv (or opencv-legacy - If opencv-legacy is installed,
+ the toonz plugin will not be built.)
+
+
+If after initialization the program does not properly come up on the
+screen, right-click on the entry in the taskbar, then go to
+'More Actions -> Resize', then click anywhere on the screen and it
+should lock in.
+
+NOTE! You must remove any previous installation of lives before
+running this script or the build will fail.
This package uses POSIX filesystem capabilities to execute with
elevated privileges (required for realtime audio processing). This
may be considered a security/stability risk. Please read
http://www.slackbuilds.org/caps/ for more information. To disable
capabilities, pass SETCAP=no to the script.
+
+Version 3.0.2 will be the last for Slackware 14.2.
diff --git a/multimedia/lives/lives.SlackBuild b/multimedia/lives/lives.SlackBuild
index c99f6006ed..c224ef53ef 100644
--- a/multimedia/lives/lives.SlackBuild
+++ b/multimedia/lives/lives.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2014-2015 Yanes Checcacci Balod <yanes@pobox.com>, Brazil
# Copyright 2015-2016 Marcel Saegebarth <marc@mos6581.de>
-# Copyright 2020 Lenard Spencer <lenardrspencer@gmail.com>
+# Copyright 2020 Lenard Spencer, Orlando,Florida, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -29,7 +29,7 @@
PRGNAM=lives
SRCNAM=LiVES
VERSION=${VERSION:-3.0.2}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -59,11 +59,17 @@ else
LIBDIRSUFFIX=""
fi
+# Check for a previous LiVES installation:
+if [ -e /usr/bin/lives ]; then
+ echo "ERROR: A previous LiVES installation is detected!"
+ echo "Please remove it before running this script."
+ exit 1
+fi
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2
@@ -75,14 +81,16 @@ 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 {} \;
-# Don't build toonz plugin (build failure when opencv is present)
-# https://sourceforge.net/p/lives/bugs/217/
-sed -i -e '/toonz/d' lives-plugins/weed-plugins/Makefile.am
-autoreconf -fi
-automake
+# Don't build toonz plugin if opencv-legacy is found (breaks build)
+# (opencv 4.x reports as opencv4):
+if [ pkg-config --exists opencv ]; then
+ sed -i -e '/toonz/d' lives-plugins/weed-plugins/Makefile.am
+ autoreconf -fiv
+ automake
+fi
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -std=c++11" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -92,16 +100,17 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
-# Parallel builds break, so we make sure MAKEFLAGS is clear:
-unset MAKEFLAGS
-make
-make install-strip DESTDIR=$PKG
+make -j1 # Parallel builds have a tendency to fail
+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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- ABOUT-NLS AUTHORS COPYING* ChangeLog FEATURES GETTING.STARTED INSTALL \
+ ABOUT-NLS AUTHORS COPYING ChangeLog FEATURES GETTING.STARTED INSTALL \
NEWS README \
- $PKG/usr/doc/$PRGNAM-$VERSION || true
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
(
diff --git a/multimedia/lives/slack-desc b/multimedia/lives/slack-desc
index f156f9040e..00576dd9d0 100644
--- a/multimedia/lives/slack-desc
+++ b/multimedia/lives/slack-desc
@@ -11,9 +11,9 @@ lives:
lives: LiVES is a Video Editing System. It is designed to be simple to use,
lives: yet powerful. It is small in size, yet it has many advanced features.
lives:
-lives: Homepage: http://lives-video.com/
-lives:
-lives:
-lives:
+lives: LiVES is good enough to be used as a VJ tool for professional
+lives: performances, and as a video editor is capable of creating dazzling
+lives: clips in a huge variety of formats.
lives:
+lives: Homepage: http://lives.sourceforge.net/
lives:
diff --git a/multimedia/mediainfo/mediainfo.SlackBuild b/multimedia/mediainfo/mediainfo.SlackBuild
index 03855eba57..410d331fa0 100644
--- a/multimedia/mediainfo/mediainfo.SlackBuild
+++ b/multimedia/mediainfo/mediainfo.SlackBuild
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mediainfo
-VERSION=${VERSION:-20.08}
+VERSION=${VERSION:-20.09}
SRCNAM=MediaInfo
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/mediainfo/mediainfo.info b/multimedia/mediainfo/mediainfo.info
index f0a4dd4361..a7713afba0 100644
--- a/multimedia/mediainfo/mediainfo.info
+++ b/multimedia/mediainfo/mediainfo.info
@@ -1,8 +1,8 @@
PRGNAM="mediainfo"
-VERSION="20.08"
+VERSION="20.09"
HOMEPAGE="https://mediaarea.net/MediaInfo/"
-DOWNLOAD="https://github.com/MediaArea/MediaInfo/archive/v20.08/MediaInfo-20.08.tar.gz"
-MD5SUM="e946a94a3776f2f5016db20dfad2d35d"
+DOWNLOAD="https://github.com/MediaArea/MediaInfo/archive/v20.09/MediaInfo-20.09.tar.gz"
+MD5SUM="5814d9ed34be0719cc71a7d90967bc16"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libmediainfo"
diff --git a/multimedia/mpv/mpv.SlackBuild b/multimedia/mpv/mpv.SlackBuild
index f679709e54..d4e5ce2a0b 100644
--- a/multimedia/mpv/mpv.SlackBuild
+++ b/multimedia/mpv/mpv.SlackBuild
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mpv
-VERSION=${VERSION:-0.32.0}
+VERSION=${VERSION:-0.33.0}
WAF_VERSION=${WAF_VERSION:-2.0.20}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -66,9 +66,10 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cp $CWD/waf-$WAF_VERSION $PRGNAM-$VERSION/waf
-chmod +x $PRGNAM-$VERSION/waf
cd $PRGNAM-$VERSION
+cp $CWD/waf-$WAF_VERSION ./waf
+sed -i -e 's/python$/python3/' waf
+chmod +x waf
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/multimedia/mpv/mpv.info b/multimedia/mpv/mpv.info
index 890c2baa00..8dd18520f5 100644
--- a/multimedia/mpv/mpv.info
+++ b/multimedia/mpv/mpv.info
@@ -1,9 +1,9 @@
PRGNAM="mpv"
-VERSION="0.32.0"
+VERSION="0.33.0"
HOMEPAGE="https://mpv.io/"
-DOWNLOAD="https://github.com/mpv-player/mpv/archive/v0.32.0/mpv-0.32.0.tar.gz \
+DOWNLOAD="https://github.com/mpv-player/mpv/archive/v0.33.0/mpv-0.33.0.tar.gz \
https://waf.io/waf-2.0.20"
-MD5SUM="1f7d23afe7a8639dedc9f7beef4e90d7 \
+MD5SUM="b08d25d3a44c3362984636e5dfa78ecc \
eb0cd320fc8838971cfa735ad78f6de8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/multimedia/openshot/openshot.info b/multimedia/openshot/openshot.info
index 513e4e0e48..a34cc5b29d 100644
--- a/multimedia/openshot/openshot.info
+++ b/multimedia/openshot/openshot.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://github.com/OpenShot/openshot-qt/archive/v2.5.1/openshot-qt-2.5
MD5SUM="e59bf56ac01aee5f43491aebebe479a8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="python3-PyQt5 python3-pyzmq libopenshot python-chardet httplib2 jack python3-certifi python-requests"
+REQUIRES="python3-PyQt5 python3-pyzmq libopenshot python-chardet httplib2 jack python-certifi python-requests"
MAINTAINER="Christoph Willing"
EMAIL="chris.willing@linux.com"
diff --git a/multimedia/pepperflash-plugin/pepperflash-plugin.SlackBuild b/multimedia/pepperflash-plugin/pepperflash-plugin.SlackBuild
index 8a2fe1d8af..a2ebc50aa8 100644
--- a/multimedia/pepperflash-plugin/pepperflash-plugin.SlackBuild
+++ b/multimedia/pepperflash-plugin/pepperflash-plugin.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=pepperflash-plugin
SRCNAM=flash_player_ppapi_linux
-VERSION=${VERSION:-32.0.0.445}
+VERSION=${VERSION:-32.0.0.465}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/pepperflash-plugin/pepperflash-plugin.info b/multimedia/pepperflash-plugin/pepperflash-plugin.info
index 9ac49eda5e..442300d550 100644
--- a/multimedia/pepperflash-plugin/pepperflash-plugin.info
+++ b/multimedia/pepperflash-plugin/pepperflash-plugin.info
@@ -1,10 +1,10 @@
PRGNAM="pepperflash-plugin"
-VERSION="32.0.0.445"
+VERSION="32.0.0.465"
HOMEPAGE="https://get.adobe.com/flashplayer/otherversions/"
-DOWNLOAD="https://fpdownload.adobe.com/pub/flashplayer/pdc/32.0.0.445/flash_player_ppapi_linux.i386.tar.gz"
-MD5SUM="e586ccef937a753085f0b6d926623bc0"
-DOWNLOAD_x86_64="https://fpdownload.adobe.com/pub/flashplayer/pdc/32.0.0.445/flash_player_ppapi_linux.x86_64.tar.gz"
-MD5SUM_x86_64="c820951b6444b668d9913d393d84712e"
+DOWNLOAD="https://fpdownload.adobe.com/pub/flashplayer/pdc/32.0.0.465/flash_player_ppapi_linux.i386.tar.gz"
+MD5SUM="1fd125d28a90892691b70a9198a6c208"
+DOWNLOAD_x86_64="https://fpdownload.adobe.com/pub/flashplayer/pdc/32.0.0.465/flash_player_ppapi_linux.x86_64.tar.gz"
+MD5SUM_x86_64="04d9e5a07f9e457b40f9e790437b2782"
REQUIRES=""
MAINTAINER="Matteo Bernardini"
EMAIL="ponce@slackbuilds.org"
diff --git a/multimedia/plexmediaserver/README b/multimedia/plexmediaserver/README
index 755950fce4..3c0e127c73 100644
--- a/multimedia/plexmediaserver/README
+++ b/multimedia/plexmediaserver/README
@@ -1,9 +1,10 @@
Plex Media Server is the backend for the Plex media system.
Plex's frontend media player, Plex Home Theater, is Windows/Mac only;
-however, you can stream your local files on Linux from your web browser.
-Plex Home Theater allows the user to manage and play video, photos, music,
-and podcasts from a local or remote computer running Plex Media Server.
+however, you can stream your local files on Linux from your web
+browser. Plex Home Theater allows the user to manage and play video,
+photos, music, and podcasts from a local or remote computer running
+Plex Media Server.
Plex Media Server runs as plex:plex (UID/GID 279) with its $HOME as
/var/lib/plexmediaserver:
diff --git a/multimedia/plexmediaserver/plexmediaserver.SlackBuild b/multimedia/plexmediaserver/plexmediaserver.SlackBuild
index 3a71c7c330..0921c984b9 100644
--- a/multimedia/plexmediaserver/plexmediaserver.SlackBuild
+++ b/multimedia/plexmediaserver/plexmediaserver.SlackBuild
@@ -5,7 +5,7 @@
# Copyright 2014-2015 Lionel Young <lionelyoung@gmail.com>
# Copyright 2015-2017 Marcel Saegebarth <marc@mos6581.de>
# Copyright 2017-2020 Kevin Matthew <kevin@kevinmatthew.com>
-# Copyright 2020 Stu Miller <slackbuilds@go4it2day.com>
+# Copyright 2020-2021 Stu Miller <slackbuilds@go4it2day.com>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,7 +28,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=plexmediaserver
-VERSION=${VERSION:-1.20.5.3600_47c0d9038}
+VERSION=${VERSION:-1.21.4.4079_1b7748a7b}
PKG_VERSION=$(echo $VERSION | tr _ -)
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/plexmediaserver/plexmediaserver.info b/multimedia/plexmediaserver/plexmediaserver.info
index f71905b6e7..4bb724aa50 100644
--- a/multimedia/plexmediaserver/plexmediaserver.info
+++ b/multimedia/plexmediaserver/plexmediaserver.info
@@ -1,10 +1,10 @@
PRGNAM="plexmediaserver"
-VERSION="1.20.5.3600_47c0d9038"
+VERSION="1.21.4.4079_1b7748a7b"
HOMEPAGE="https://plex.tv/"
-DOWNLOAD="https://downloads.plex.tv/plex-media-server-new/1.20.5.3600-47c0d9038/debian/plexmediaserver_1.20.5.3600-47c0d9038_i386.deb"
-MD5SUM="871c3e6c481399ceddce5f723f5a5aba"
-DOWNLOAD_x86_64="https://downloads.plex.tv/plex-media-server-new/1.20.5.3600-47c0d9038/debian/plexmediaserver_1.20.5.3600-47c0d9038_amd64.deb"
-MD5SUM_x86_64="c37fbbf70769e91c1d53809fb38e6364"
+DOWNLOAD="https://downloads.plex.tv/plex-media-server-new/1.21.4.4079-1b7748a7b/debian/plexmediaserver_1.21.4.4079-1b7748a7b_i386.deb"
+MD5SUM="6bca5aae5f98a2a3680ea1f29172ee90"
+DOWNLOAD_x86_64="https://downloads.plex.tv/plex-media-server-new/1.21.4.4079-1b7748a7b/debian/plexmediaserver_1.21.4.4079-1b7748a7b_amd64.deb"
+MD5SUM_x86_64="005c22e60960323c396d68a24409794b"
REQUIRES=""
MAINTAINER="Stu Miller"
EMAIL="slackbuilds@go4it2day.com"
diff --git a/multimedia/rtmpdump/rtmpdump.SlackBuild b/multimedia/rtmpdump/rtmpdump.SlackBuild
index 7728e656d5..b54b9fc9fe 100644
--- a/multimedia/rtmpdump/rtmpdump.SlackBuild
+++ b/multimedia/rtmpdump/rtmpdump.SlackBuild
@@ -25,7 +25,7 @@
# Modified by SlackBuilds.org
PRGNAM=rtmpdump
-VERSION=${VERSION:-20151223_fa8646d}
+VERSION=${VERSION:-20210219_f1b83c1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/rtmpdump/rtmpdump.info b/multimedia/rtmpdump/rtmpdump.info
index 32d0018f4d..f941dccc28 100644
--- a/multimedia/rtmpdump/rtmpdump.info
+++ b/multimedia/rtmpdump/rtmpdump.info
@@ -1,8 +1,8 @@
PRGNAM="rtmpdump"
-VERSION="20151223_fa8646d"
+VERSION="20210219_f1b83c1"
HOMEPAGE="http://rtmpdump.mplayerhq.hu/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/rtmpdump-20151223_fa8646d.tar.xz"
-MD5SUM="344bbd75df62bd19c983f58137726932"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/rtmpdump-20210219_f1b83c1.tar.xz"
+MD5SUM="b50be8df554bf1a8632fb1daa8bd5b7a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/multimedia/spotify/spotify.SlackBuild b/multimedia/spotify/spotify.SlackBuild
index b97005839d..2d03814176 100644
--- a/multimedia/spotify/spotify.SlackBuild
+++ b/multimedia/spotify/spotify.SlackBuild
@@ -27,7 +27,7 @@
PRGNAM=spotify
SRCNAM=spotify-client
-VERSION=${VERSION:-1.1.42}
+VERSION=${VERSION:-1.1.10}
VERSION32=${VERSION32:-1.0.72}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
diff --git a/multimedia/straw-viewer/straw-viewer.SlackBuild b/multimedia/straw-viewer/straw-viewer.SlackBuild
index 21dff7a078..763f6bfa41 100644
--- a/multimedia/straw-viewer/straw-viewer.SlackBuild
+++ b/multimedia/straw-viewer/straw-viewer.SlackBuild
@@ -6,6 +6,7 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20201208 bkw: update for v0.1.2.
# 20201109 bkw: update for v0.1.1.
# 20201012 bkw: update for v0.1.0.
# 20200814 bkw: update for v0.0.7.
@@ -26,7 +27,7 @@
# issues that have been fixed.
PRGNAM=straw-viewer
-VERSION=${VERSION:-0.1.1}
+VERSION=${VERSION:-0.1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/straw-viewer/straw-viewer.info b/multimedia/straw-viewer/straw-viewer.info
index 1b58e701ec..14c1670ef1 100644
--- a/multimedia/straw-viewer/straw-viewer.info
+++ b/multimedia/straw-viewer/straw-viewer.info
@@ -1,8 +1,8 @@
PRGNAM="straw-viewer"
-VERSION="0.1.1"
+VERSION="0.1.2"
HOMEPAGE="https://github.com/trizen/straw-viewer/"
-DOWNLOAD="https://github.com/trizen/straw-viewer/archive/0.1.1/straw-viewer-0.1.1.tar.gz"
-MD5SUM="3134244107e7da1a999e765a7a3482dc"
+DOWNLOAD="https://github.com/trizen/straw-viewer/archive/0.1.2/straw-viewer-0.1.2.tar.gz"
+MD5SUM="dcee29de09e239cf1bbb6ebc8909b351"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="perl-data-dump perl-LWP-Protocol-https perl-JSON perl-Module-Build perl-List-MoreUtils"
diff --git a/multimedia/tomahawk/tomahawk.info b/multimedia/tomahawk/tomahawk.info
index 9a939fd8c5..1cdfb0f718 100644
--- a/multimedia/tomahawk/tomahawk.info
+++ b/multimedia/tomahawk/tomahawk.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://download.tomahawk-player.org/tomahawk-0.8.4.tar.bz2"
MD5SUM="04832abe1786edcc55805875b5882445"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="jreen libechonest LucenePlusPlus qtkeychain sparsehash quazip libwebsocketpp"
+REQUIRES="jreen libechonest LucenePlusPlus qtkeychain sparsehash quazip-qt4 libwebsocketpp"
MAINTAINER="Thorn Inurcide"
EMAIL="thorn_inurcide@zoho.com"
diff --git a/multimedia/vapoursynth-mvtools/README b/multimedia/vapoursynth-mvtools/README
new file mode 100644
index 0000000000..e58694f6b9
--- /dev/null
+++ b/multimedia/vapoursynth-mvtools/README
@@ -0,0 +1 @@
+MVTools is a set of filters for motion estimation and compensation.
diff --git a/multimedia/vapoursynth-mvtools/slack-desc b/multimedia/vapoursynth-mvtools/slack-desc
new file mode 100644
index 0000000000..ec91c8a36a
--- /dev/null
+++ b/multimedia/vapoursynth-mvtools/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+vapoursynth-mvtools: vapoursynth-mvtools (motion estimation vapoursynth plugin)
+vapoursynth-mvtools:
+vapoursynth-mvtools: MVTools is a set of filters for motion estimation and compensation.
+vapoursynth-mvtools:
+vapoursynth-mvtools: Homepage: https://github.com/dubhater/vapoursynth-mvtools
+vapoursynth-mvtools:
+vapoursynth-mvtools:
+vapoursynth-mvtools:
+vapoursynth-mvtools:
+vapoursynth-mvtools:
+vapoursynth-mvtools:
diff --git a/multimedia/vapoursynth-mvtools/vapoursynth-mvtools.SlackBuild b/multimedia/vapoursynth-mvtools/vapoursynth-mvtools.SlackBuild
new file mode 100644
index 0000000000..5a05905a2c
--- /dev/null
+++ b/multimedia/vapoursynth-mvtools/vapoursynth-mvtools.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for vapoursynth-mvtools
+
+# Copyright 2021 Hunter Sezen California, 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.
+
+PRGNAM=vapoursynth-mvtools
+VERSION=${VERSION:-23}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+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 {} \;
+
+autoreconf -fi
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/vapoursynth \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make
+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
+
+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:-tgz}
diff --git a/multimedia/vapoursynth-mvtools/vapoursynth-mvtools.info b/multimedia/vapoursynth-mvtools/vapoursynth-mvtools.info
new file mode 100644
index 0000000000..4151904dca
--- /dev/null
+++ b/multimedia/vapoursynth-mvtools/vapoursynth-mvtools.info
@@ -0,0 +1,10 @@
+PRGNAM="vapoursynth-mvtools"
+VERSION="23"
+HOMEPAGE="https://github.com/dubhater/vapoursynth-mvtools"
+DOWNLOAD="https://github.com/dubhater/vapoursynth-mvtools/archive/v23/vapoursynth-mvtools-23.tar.gz"
+MD5SUM="08bb2a31c63d0075ea3bf2dcb8370502"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="vapoursynth"
+MAINTAINER="Hunter Sezen"
+EMAIL="orbea@riseup.net"
diff --git a/multimedia/vapoursynth/650.patch b/multimedia/vapoursynth/650.patch
new file mode 100644
index 0000000000..6c2358b951
--- /dev/null
+++ b/multimedia/vapoursynth/650.patch
@@ -0,0 +1,560 @@
+From 14b36ee7a300aa47e08df06241bc409e213edff2 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Fri, 1 Jan 2021 06:28:18 -0800
+Subject: [PATCH] Add missing pthread dependency.
+
+---
+ Makefile.am | 5 +-
+ configure.ac | 1 +
+ m4/ax_pthread.m4 | 507 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 511 insertions(+), 2 deletions(-)
+ create mode 100644 m4/ax_pthread.m4
+
+diff --git a/Makefile.am b/Makefile.am
+index 123a3488..3844afb7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,6 +2,7 @@ warningflags = -Wall -Wextra -Wno-unused-parameter -Wno-unused-function -Wno-ign
+ commoncflags = -O3 -fvisibility=hidden $(warningflags) -I$(srcdir)/include $(DEBUGCFLAGS) $(MFLAGS) $(UNICODECFLAGS) $(STACKREALIGN)
+ AM_CXXFLAGS = -std=c++11 $(commoncflags)
+ AM_CFLAGS = -std=c99 $(commoncflags)
++ACLOCAL_AMFLAGS = -I m4
+
+
+
+@@ -80,8 +81,8 @@ pkginclude_HEADERS = include/VapourSynth.h \
+ pkgconfig_DATA += pc/vapoursynth.pc
+
+ libvapoursynth_la_LDFLAGS = -no-undefined -avoid-version
+-libvapoursynth_la_CPPFLAGS = $(ZIMG_CFLAGS) -DVS_PATH_PLUGINDIR='"$(PLUGINDIR)"'
+-libvapoursynth_la_LIBADD = $(ZIMG_LIBS) $(DLOPENLIB) libexprfilter.la
++libvapoursynth_la_CPPFLAGS = $(PTHREAD_CFLAGS) $(ZIMG_CFLAGS) -DVS_PATH_PLUGINDIR='"$(PLUGINDIR)"'
++libvapoursynth_la_LIBADD = $(PTHREAD_LIBS) $(ZIMG_LIBS) $(DLOPENLIB) libexprfilter.la
+
+
+ if X86ASM
+diff --git a/configure.ac b/configure.ac
+index b898d411..1566c6e0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,6 +14,7 @@ AC_PROG_CXX
+
+ AC_SYS_LARGEFILE
+ AC_FUNC_FSEEKO
++AX_PTHREAD
+
+
+ AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Enable compilation options required for debugging. (default=no)]))
+diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4
+new file mode 100644
+index 00000000..1598d077
+--- /dev/null
++++ b/m4/ax_pthread.m4
+@@ -0,0 +1,507 @@
++# ===========================================================================
++# https://www.gnu.org/software/autoconf-archive/ax_pthread.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro figures out how to build C programs using POSIX threads. It
++# sets the PTHREAD_LIBS output variable to the threads library and linker
++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
++# flags that are needed. (The user can also force certain compiler
++# flags/libs to be tested by setting these environment variables.)
++#
++# Also sets PTHREAD_CC to any special C compiler that is needed for
++# multi-threaded programs (defaults to the value of CC otherwise). (This
++# is necessary on AIX to use the special cc_r compiler alias.)
++#
++# NOTE: You are assumed to not only compile your program with these flags,
++# but also to link with them as well. For example, you might link with
++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
++#
++# If you are only building threaded programs, you may wish to use these
++# variables in your default LIBS, CFLAGS, and CC:
++#
++# LIBS="$PTHREAD_LIBS $LIBS"
++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++# CC="$PTHREAD_CC"
++#
++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
++# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
++# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
++#
++# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
++# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
++# PTHREAD_CFLAGS.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a threads library
++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
++# is not found. If ACTION-IF-FOUND is not specified, the default action
++# will define HAVE_PTHREAD.
++#
++# Please let the authors know if this macro fails on any platform, or if
++# you have any other suggestions or comments. This macro was based on work
++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
++# Alejandro Forero Cuervo to the autoconf macro repository. We are also
++# grateful for the helpful feedback of numerous users.
++#
++# Updated for Autoconf 2.68 by Daniel Richard G.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
++# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl>
++#
++# 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 3 of the License, or (at your
++# option) any later version.
++#
++# 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. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <https://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 27
++
++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
++AC_DEFUN([AX_PTHREAD], [
++AC_REQUIRE([AC_CANONICAL_HOST])
++AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AC_PROG_SED])
++AC_LANG_PUSH([C])
++ax_pthread_ok=no
++
++# We used to check for pthread.h first, but this fails if pthread.h
++# requires special compiler flags (e.g. on Tru64 or Sequent).
++# It gets checked for in the link test anyway.
++
++# First of all, check if the user has set any of the PTHREAD_LIBS,
++# etcetera environment variables, and if threads linking works using
++# them:
++if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
++ ax_pthread_save_CC="$CC"
++ ax_pthread_save_CFLAGS="$CFLAGS"
++ ax_pthread_save_LIBS="$LIBS"
++ AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
++ AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
++ AC_MSG_RESULT([$ax_pthread_ok])
++ if test "x$ax_pthread_ok" = "xno"; then
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++ fi
++ CC="$ax_pthread_save_CC"
++ CFLAGS="$ax_pthread_save_CFLAGS"
++ LIBS="$ax_pthread_save_LIBS"
++fi
++
++# We must check for the threads library under a number of different
++# names; the ordering is very important because some systems
++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
++# libraries is broken (non-POSIX).
++
++# Create a list of thread flags to try. Items with a "," contain both
++# C compiler flags (before ",") and linker flags (after ","). Other items
++# starting with a "-" are C compiler flags, and remaining items are
++# library names, except for "none" which indicates that we try without
++# any flags at all, and "pthread-config" which is a program returning
++# the flags for the Pth emulation library.
++
++ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
++
++# The ordering *is* (sometimes) important. Some notes on the
++# individual items follow:
++
++# pthreads: AIX (must check this before -lpthread)
++# none: in case threads are in libc; should be tried before -Kthread and
++# other compiler flags to prevent continual compiler warnings
++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
++# (Note: HP C rejects this with "bad form for `-t' option")
++# -pthreads: Solaris/gcc (Note: HP C also rejects)
++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
++# doesn't hurt to check since this sometimes defines pthreads and
++# -D_REENTRANT too), HP C (must be checked before -lpthread, which
++# is present but should not be used directly; and before -mthreads,
++# because the compiler interprets this as "-mt" + "-hreads")
++# -mthreads: Mingw32/gcc, Lynx/gcc
++# pthread: Linux, etcetera
++# --thread-safe: KAI C++
++# pthread-config: use pthread-config program (for GNU Pth library)
++
++case $host_os in
++
++ freebsd*)
++
++ # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
++ # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
++
++ ax_pthread_flags="-kthread lthread $ax_pthread_flags"
++ ;;
++
++ hpux*)
++
++ # From the cc(1) man page: "[-mt] Sets various -D flags to enable
++ # multi-threading and also sets -lpthread."
++
++ ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
++ ;;
++
++ openedition*)
++
++ # IBM z/OS requires a feature-test macro to be defined in order to
++ # enable POSIX threads at all, so give the user a hint if this is
++ # not set. (We don't define these ourselves, as they can affect
++ # other portions of the system API in unpredictable ways.)
++
++ AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
++ [
++# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
++ AX_PTHREAD_ZOS_MISSING
++# endif
++ ],
++ [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
++ ;;
++
++ solaris*)
++
++ # On Solaris (at least, for some versions), libc contains stubbed
++ # (non-functional) versions of the pthreads routines, so link-based
++ # tests will erroneously succeed. (N.B.: The stubs are missing
++ # pthread_cleanup_push, or rather a function called by this macro,
++ # so we could check for that, but who knows whether they'll stub
++ # that too in a future libc.) So we'll check first for the
++ # standard Solaris way of linking pthreads (-mt -lpthread).
++
++ ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
++ ;;
++esac
++
++# Are we compiling with Clang?
++
++AC_CACHE_CHECK([whether $CC is Clang],
++ [ax_cv_PTHREAD_CLANG],
++ [ax_cv_PTHREAD_CLANG=no
++ # Note that Autoconf sets GCC=yes for Clang as well as GCC
++ if test "x$GCC" = "xyes"; then
++ AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
++ [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
++# if defined(__clang__) && defined(__llvm__)
++ AX_PTHREAD_CC_IS_CLANG
++# endif
++ ],
++ [ax_cv_PTHREAD_CLANG=yes])
++ fi
++ ])
++ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
++
++
++# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
++
++# Note that for GCC and Clang -pthread generally implies -lpthread,
++# except when -nostdlib is passed.
++# This is problematic using libtool to build C++ shared libraries with pthread:
++# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
++# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
++# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
++# To solve this, first try -pthread together with -lpthread for GCC
++
++AS_IF([test "x$GCC" = "xyes"],
++ [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"])
++
++# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first
++
++AS_IF([test "x$ax_pthread_clang" = "xyes"],
++ [ax_pthread_flags="-pthread,-lpthread -pthread"])
++
++
++# The presence of a feature test macro requesting re-entrant function
++# definitions is, on some systems, a strong hint that pthreads support is
++# correctly enabled
++
++case $host_os in
++ darwin* | hpux* | linux* | osf* | solaris*)
++ ax_pthread_check_macro="_REENTRANT"
++ ;;
++
++ aix*)
++ ax_pthread_check_macro="_THREAD_SAFE"
++ ;;
++
++ *)
++ ax_pthread_check_macro="--"
++ ;;
++esac
++AS_IF([test "x$ax_pthread_check_macro" = "x--"],
++ [ax_pthread_check_cond=0],
++ [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
++
++
++if test "x$ax_pthread_ok" = "xno"; then
++for ax_pthread_try_flag in $ax_pthread_flags; do
++
++ case $ax_pthread_try_flag in
++ none)
++ AC_MSG_CHECKING([whether pthreads work without any flags])
++ ;;
++
++ *,*)
++ PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"`
++ PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"`
++ AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"])
++ ;;
++
++ -*)
++ AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
++ PTHREAD_CFLAGS="$ax_pthread_try_flag"
++ ;;
++
++ pthread-config)
++ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
++ AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
++ PTHREAD_CFLAGS="`pthread-config --cflags`"
++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
++ ;;
++
++ *)
++ AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
++ PTHREAD_LIBS="-l$ax_pthread_try_flag"
++ ;;
++ esac
++
++ ax_pthread_save_CFLAGS="$CFLAGS"
++ ax_pthread_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++
++ # Check for various functions. We must include pthread.h,
++ # since some functions may be macros. (On the Sequent, we
++ # need a special flag -Kthread to make this header compile.)
++ # We check for pthread_join because it is in -lpthread on IRIX
++ # while pthread_create is in libc. We check for pthread_attr_init
++ # due to DEC craziness with -lpthreads. We check for
++ # pthread_cleanup_push because it is one of the few pthread
++ # functions on Solaris that doesn't have a non-functional libc stub.
++ # We try pthread_create on general principles.
++
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
++# if $ax_pthread_check_cond
++# error "$ax_pthread_check_macro must be defined"
++# endif
++ static void *some_global = NULL;
++ static void routine(void *a)
++ {
++ /* To avoid any unused-parameter or
++ unused-but-set-parameter warning. */
++ some_global = a;
++ }
++ static void *start_routine(void *a) { return a; }],
++ [pthread_t th; pthread_attr_t attr;
++ pthread_create(&th, 0, start_routine, 0);
++ pthread_join(th, 0);
++ pthread_attr_init(&attr);
++ pthread_cleanup_push(routine, 0);
++ pthread_cleanup_pop(0) /* ; */])],
++ [ax_pthread_ok=yes],
++ [])
++
++ CFLAGS="$ax_pthread_save_CFLAGS"
++ LIBS="$ax_pthread_save_LIBS"
++
++ AC_MSG_RESULT([$ax_pthread_ok])
++ AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
++
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++done
++fi
++
++
++# Clang needs special handling, because older versions handle the -pthread
++# option in a rather... idiosyncratic way
++
++if test "x$ax_pthread_clang" = "xyes"; then
++
++ # Clang takes -pthread; it has never supported any other flag
++
++ # (Note 1: This will need to be revisited if a system that Clang
++ # supports has POSIX threads in a separate library. This tends not
++ # to be the way of modern systems, but it's conceivable.)
++
++ # (Note 2: On some systems, notably Darwin, -pthread is not needed
++ # to get POSIX threads support; the API is always present and
++ # active. We could reasonably leave PTHREAD_CFLAGS empty. But
++ # -pthread does define _REENTRANT, and while the Darwin headers
++ # ignore this macro, third-party headers might not.)
++
++ # However, older versions of Clang make a point of warning the user
++ # that, in an invocation where only linking and no compilation is
++ # taking place, the -pthread option has no effect ("argument unused
++ # during compilation"). They expect -pthread to be passed in only
++ # when source code is being compiled.
++ #
++ # Problem is, this is at odds with the way Automake and most other
++ # C build frameworks function, which is that the same flags used in
++ # compilation (CFLAGS) are also used in linking. Many systems
++ # supported by AX_PTHREAD require exactly this for POSIX threads
++ # support, and in fact it is often not straightforward to specify a
++ # flag that is used only in the compilation phase and not in
++ # linking. Such a scenario is extremely rare in practice.
++ #
++ # Even though use of the -pthread flag in linking would only print
++ # a warning, this can be a nuisance for well-run software projects
++ # that build with -Werror. So if the active version of Clang has
++ # this misfeature, we search for an option to squash it.
++
++ AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
++ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
++ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
++ # Create an alternate version of $ac_link that compiles and
++ # links in two steps (.c -> .o, .o -> exe) instead of one
++ # (.c -> exe), because the warning occurs only in the second
++ # step
++ ax_pthread_save_ac_link="$ac_link"
++ ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
++ ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
++ ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
++ ax_pthread_save_CFLAGS="$CFLAGS"
++ for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
++ AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
++ CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
++ ac_link="$ax_pthread_save_ac_link"
++ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
++ [ac_link="$ax_pthread_2step_ac_link"
++ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
++ [break])
++ ])
++ done
++ ac_link="$ax_pthread_save_ac_link"
++ CFLAGS="$ax_pthread_save_CFLAGS"
++ AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
++ ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
++ ])
++
++ case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
++ no | unknown) ;;
++ *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
++ esac
++
++fi # $ax_pthread_clang = yes
++
++
++
++# Various other checks:
++if test "x$ax_pthread_ok" = "xyes"; then
++ ax_pthread_save_CFLAGS="$CFLAGS"
++ ax_pthread_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++
++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
++ AC_CACHE_CHECK([for joinable pthread attribute],
++ [ax_cv_PTHREAD_JOINABLE_ATTR],
++ [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
++ for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
++ [int attr = $ax_pthread_attr; return attr /* ; */])],
++ [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
++ [])
++ done
++ ])
++ AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
++ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
++ test "x$ax_pthread_joinable_attr_defined" != "xyes"],
++ [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
++ [$ax_cv_PTHREAD_JOINABLE_ATTR],
++ [Define to necessary symbol if this constant
++ uses a non-standard name on your system.])
++ ax_pthread_joinable_attr_defined=yes
++ ])
++
++ AC_CACHE_CHECK([whether more special flags are required for pthreads],
++ [ax_cv_PTHREAD_SPECIAL_FLAGS],
++ [ax_cv_PTHREAD_SPECIAL_FLAGS=no
++ case $host_os in
++ solaris*)
++ ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
++ ;;
++ esac
++ ])
++ AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
++ test "x$ax_pthread_special_flags_added" != "xyes"],
++ [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
++ ax_pthread_special_flags_added=yes])
++
++ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
++ [ax_cv_PTHREAD_PRIO_INHERIT],
++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
++ [[int i = PTHREAD_PRIO_INHERIT;
++ return i;]])],
++ [ax_cv_PTHREAD_PRIO_INHERIT=yes],
++ [ax_cv_PTHREAD_PRIO_INHERIT=no])
++ ])
++ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
++ test "x$ax_pthread_prio_inherit_defined" != "xyes"],
++ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
++ ax_pthread_prio_inherit_defined=yes
++ ])
++
++ CFLAGS="$ax_pthread_save_CFLAGS"
++ LIBS="$ax_pthread_save_LIBS"
++
++ # More AIX lossage: compile with *_r variant
++ if test "x$GCC" != "xyes"; then
++ case $host_os in
++ aix*)
++ AS_CASE(["x/$CC"],
++ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
++ [#handle absolute path differently from PATH based program lookup
++ AS_CASE(["x$CC"],
++ [x/*],
++ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
++ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
++ ;;
++ esac
++ fi
++fi
++
++test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
++
++AC_SUBST([PTHREAD_LIBS])
++AC_SUBST([PTHREAD_CFLAGS])
++AC_SUBST([PTHREAD_CC])
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test "x$ax_pthread_ok" = "xyes"; then
++ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
++ :
++else
++ ax_pthread_ok=no
++ $2
++fi
++AC_LANG_POP
++])dnl AX_PTHREAD
diff --git a/multimedia/vapoursynth/README b/multimedia/vapoursynth/README
new file mode 100644
index 0000000000..76b8668386
--- /dev/null
+++ b/multimedia/vapoursynth/README
@@ -0,0 +1,3 @@
+VapourSynth is an application for video manipulation. Or a plugin. Or
+a library. It’s hard to tell because it has a core library written
+in C++ and a Python module to allow video scripts to be created.
diff --git a/multimedia/vapoursynth/slack-desc b/multimedia/vapoursynth/slack-desc
new file mode 100644
index 0000000000..c247102a84
--- /dev/null
+++ b/multimedia/vapoursynth/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+vapoursynth: vapoursynth (video processing framework)
+vapoursynth:
+vapoursynth: A video processing framework with simplicity in mind.
+vapoursynth:
+vapoursynth: Homepage: https://www.vapoursynth.com/
+vapoursynth:
+vapoursynth:
+vapoursynth:
+vapoursynth:
+vapoursynth:
+vapoursynth:
diff --git a/multimedia/vapoursynth/vapoursynth.SlackBuild b/multimedia/vapoursynth/vapoursynth.SlackBuild
new file mode 100644
index 0000000000..72a383dbf9
--- /dev/null
+++ b/multimedia/vapoursynth/vapoursynth.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Slackware build script for vapoursynth
+
+# Copyright 2020 Hunter Sezen California, 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.
+
+PRGNAM=vapoursynth
+VERSION=${VERSION:-R52}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+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 {} \;
+
+# Fix undefined reference.
+# https://github.com/vapoursynth/vapoursynth/pull/650
+patch -p1 < $CWD/650.patch
+
+autoreconf -fi
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make
+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
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING.LESSER ChangeLog 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:-tgz}
diff --git a/multimedia/vapoursynth/vapoursynth.info b/multimedia/vapoursynth/vapoursynth.info
new file mode 100644
index 0000000000..de096be1a1
--- /dev/null
+++ b/multimedia/vapoursynth/vapoursynth.info
@@ -0,0 +1,10 @@
+PRGNAM="vapoursynth"
+VERSION="R52"
+HOMEPAGE="https://www.vapoursynth.com/"
+DOWNLOAD="https://github.com/vapoursynth/vapoursynth/archive/R52/vapoursynth-R52.tar.gz"
+MD5SUM="e6b37c3c7af6902f3835182292668550"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="python3-Cython zimg"
+MAINTAINER="Hunter Sezen"
+EMAIL="orbea@riseup.net"
diff --git a/multimedia/vlc/vlc.SlackBuild b/multimedia/vlc/vlc.SlackBuild
index f03775b29e..8b8543a820 100644
--- a/multimedia/vlc/vlc.SlackBuild
+++ b/multimedia/vlc/vlc.SlackBuild
@@ -6,7 +6,7 @@
# modified to build VLC only, shared libraries needed.
# Copyright (c) 2007,2008,2009,2010,2011 Eric Hameleers, Eindhoven, Netherlands
-# Copyright (c) 2014-2020 Christoph Willing, Brisbane, Australia
+# Copyright (c) 2014-2021 Christoph Willing, Brisbane, Australia
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
@@ -28,7 +28,7 @@
# -----------------------------------------------------------------------------
PRGNAM=vlc
-VERSION=${VERSION:-3.0.11.1}
+VERSION=${VERSION:-3.0.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/multimedia/vlc/vlc.info b/multimedia/vlc/vlc.info
index 1176501d10..08febffa16 100644
--- a/multimedia/vlc/vlc.info
+++ b/multimedia/vlc/vlc.info
@@ -1,8 +1,8 @@
PRGNAM="vlc"
-VERSION="3.0.11.1"
+VERSION="3.0.12"
HOMEPAGE="https://www.videolan.org/vlc/"
-DOWNLOAD="https://get.videolan.org/vlc/3.0.11.1/vlc-3.0.11.1.tar.xz"
-MD5SUM="f797dc97305639f6270df619fe1c5962"
+DOWNLOAD="https://get.videolan.org/vlc/3.0.12/vlc-3.0.12.tar.xz"
+MD5SUM="452d3423bcbaf1b85faebab0c45a7ecf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libass libdc1394 libdvbpsi libmpeg2 libupnp lua portaudio twolame opus ffmpeg libwebp gsm libtar libkate faac libdca libmatroska libshout speex avahi projectM jack libsidplay2 zvbi faad2 libavc1394 libmodplug musepack-tools vcdimager dirac gnome-vfs live555 qt5 rtmpdump libdvdcss fluidsynth schroedinger libminizip chromaprint x264 x265 libbluray libnfs protobuf"
diff --git a/multimedia/vokoscreen/README b/multimedia/vokoscreen/README
deleted file mode 100644
index 4bb086a679..0000000000
--- a/multimedia/vokoscreen/README
+++ /dev/null
@@ -1,2 +0,0 @@
-vokoscreen is an easy to use screencast creator to record educational videos,
-live recordings of browser, installation, videoconferences, etc.
diff --git a/multimedia/vokoscreen/slack-desc b/multimedia/vokoscreen/slack-desc
deleted file mode 100644
index fb49a51f85..0000000000
--- a/multimedia/vokoscreen/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------------------------------------------------------|
-vokoscreen: vokoscreen (screencast creator)
-vokoscreen:
-vokoscreen: vokoscreen is an easy to use screencast creator to record
-vokoscreen: educational videos, live recordings of browser, installation,
-vokoscreen: videoconferences, etc.
-vokoscreen:
-vokoscreen:
-vokoscreen:
-vokoscreen:
-vokoscreen: http://linuxecke.volkoh.de/vokoscreen/vokoscreen.html
-vokoscreen:
diff --git a/multimedia/vokoscreen/vokoscreen.info b/multimedia/vokoscreen/vokoscreen.info
deleted file mode 100644
index f42e9a9389..0000000000
--- a/multimedia/vokoscreen/vokoscreen.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="vokoscreen"
-VERSION="2.5.0"
-HOMEPAGE="http://linuxecke.volkoh.de/vokoscreen/vokoscreen.html"
-DOWNLOAD="https://github.com/vkohaupt/vokoscreen/archive/2.5.0/vokoscreen-2.5.0.tar.gz"
-MD5SUM="c4fd74a1a459dab818eb05df1ca93be0"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="qt5 ffmpeg lame"
-MAINTAINER="Harald Achitz"
-EMAIL="harald.achitz@gmail.com"
diff --git a/multimedia/vokoscreenNG/0001-Add-better-integration-for-Linux.patch b/multimedia/vokoscreenNG/0001-Add-better-integration-for-Linux.patch
new file mode 100644
index 0000000000..521793a33f
--- /dev/null
+++ b/multimedia/vokoscreenNG/0001-Add-better-integration-for-Linux.patch
@@ -0,0 +1,110 @@
+The original patch was from an ArchLinux package
+https://github.com/archlinux/svntogit-community/blob/packages/vokoscreen/trunk/0001-Add-better-integration-for-Linux.patch
+
+I got this one from https://github.com/City-busz/vokoscreenNG branch 'linux-support', and modified it to work with 3.0.8
+
+commit 0a378409 (HEAD -> linux-support, origin/linux-support)
+Author: Balló György <ballogyor@gmail.com>
+Date: 2020-07-06 07:14:26 -0600
+
+ Add better integration for Linux
+
+ Add AppStream metadata, add installation target.
+
+diff --git a/src/applications/INFO b/src/applications/INFO
+index 4195de8f..1c1bd870 100644
+--- a/src/applications/INFO
++++ b/src/applications/INFO
+@@ -1,2 +1,3 @@
++vokoscreenNG.appdata.xml
+ vokoscreenNG.desktop
+ vokoscreenNG.png
+diff --git a/src/applications/vokoscreenNG.appdata.xml b/src/applications/vokoscreenNG.appdata.xml
+new file mode 100644
+index 00000000..883f4ae2
+--- /dev/null
++++ b/src/applications/vokoscreenNG.appdata.xml
+@@ -0,0 +1,45 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<component type="desktop">
++ <id>vokoscreenNG.desktop</id>
++ <metadata_license>CC0-1.0</metadata_license>
++ <project_license>GPL-2.0</project_license>
++ <name>vokoscreenNG</name>
++ <summary>Easy to use desktop recorder</summary>
++ <description>
++ <p>vokoscreenNG is an easy to use screencast creator to record educational videos,
++ live recordings of browser, installation, videoconferences, etc.</p>
++ </description>
++ <screenshots>
++ <screenshot type="default">
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-0.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-1.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-2.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-3.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-4.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-5.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-6.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-7.png</image>
++ </screenshot>
++ <screenshot>
++ <image>https://vokoscreen.volkoh.de/3.0/picture/screencast-8.png</image>
++ </screenshot>
++ </screenshots>
++ <url type="homepage">https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html</url>
++ <url type="bugtracker">https://github.com/vkohaupt/vokoscreenNG/issues</url>
++ <url type="donation">https://linuxecke.volkoh.de/vokoscreen/vokoscreen-donate.html</url>
++ <developer_name>Volker Kohaupt</developer_name>
++</component>
+diff --git a/src/vokoscreenNG.pro b/src/vokoscreenNG.pro
+index 69bc5a33..fdf7fd07 100644
+--- a/src/vokoscreenNG.pro
++++ b/src/vokoscreenNG.pro
+@@ -163,4 +163,29 @@
+ # ciscoOpenh264
+ win32:include(ciscoOpenh264/ciscoOpenh264.pri)
+
+-unix:include(wayland/wayland.pri)
+\ No newline at end of file
++unix:include(wayland/wayland.pri)
++
++unix:!macx {
++ isEmpty(PREFIX) {
++ PREFIX = /usr/local
++ }
++ isEmpty(BINDIR) {
++ BINDIR = $$PREFIX/bin
++ }
++ isEmpty(DATADIR) {
++ DATADIR = $$PREFIX/share
++ }
++
++ target.path = $$BINDIR
++
++ icon.files = applications/vokoscreenNG.png
++ icon.path = $$DATADIR/icons/hicolor/256x256/apps/
++
++ desktop.files = applications/vokoscreenNG.desktop
++ desktop.path = $$DATADIR/applications/
++
++ appdata.files = applications/vokoscreenNG.appdata.xml
++ appdata.path = $$DATADIR/metainfo/
++
++ INSTALLS += target icon desktop appdata
++}
+Only in vokoscreenNG-3.0.8/src: vokoscreenNG.pro.orig
+Only in vokoscreenNG-3.0.8/src: vokoscreenNG.pro.rej
diff --git a/multimedia/vokoscreenNG/README b/multimedia/vokoscreenNG/README
new file mode 100644
index 0000000000..ed98b62da4
--- /dev/null
+++ b/multimedia/vokoscreenNG/README
@@ -0,0 +1,13 @@
+vokoscreenNG is an easy to use screencast creator to record educational
+videos, live recordings of browser, installation, videoconferences, etc.
+
+This application requires that $XDG_SESSION_TYPE be exported with either
+"X11" or "Wayland". This SlackBuild installs profile scripts under
+/etc/profile.d to set this variable. These scripts use the value of
+XDG_SESSION_TYPE from the environment in which this SlackBuild is run,
+defaulting to XDG_SESSION_TYPE=X11.
+
+To control the session type, run this script with your preferred
+definition of XDG_SESSION_TYPE:
+
+ XDG_SESSION_TYPE=Wayland ./vokoscreenNG.SlackBuild
diff --git a/multimedia/vokoscreen/doinst.sh b/multimedia/vokoscreenNG/doinst.sh
index 5fb28930db..5fb28930db 100644
--- a/multimedia/vokoscreen/doinst.sh
+++ b/multimedia/vokoscreenNG/doinst.sh
diff --git a/multimedia/vokoscreenNG/slack-desc b/multimedia/vokoscreenNG/slack-desc
new file mode 100644
index 0000000000..f8188ae4cc
--- /dev/null
+++ b/multimedia/vokoscreenNG/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+vokoscreenNG: vokoscreenNG (screencast creator)
+vokoscreenNG:
+vokoscreenNG: vokoscreenNG is an easy to use screencast creator to record
+vokoscreenNG: educational videos, live recordings of browser, installation,
+vokoscreenNG: videoconferences, etc.
+vokoscreenNG:
+vokoscreenNG:
+vokoscreenNG:
+vokoscreenNG:
+vokoscreenNG: http://linuxecke.volkoh.de/vokoscreen/vokoscreen.html
+vokoscreenNG:
diff --git a/multimedia/vokoscreen/vokoscreen.SlackBuild b/multimedia/vokoscreenNG/vokoscreenNG.SlackBuild
index 66a31fd981..4b4eadadc5 100644
--- a/multimedia/vokoscreen/vokoscreen.SlackBuild
+++ b/multimedia/vokoscreenNG/vokoscreenNG.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for <appname>
+# Slackware build script for VokoscreenNG
-# Harald Achitz | Stockholm/Sweden | harald.achitz@gmail.com
+# Erik Falor | Logan Utah, USA | ewfalor@gmail.com
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=vokoscreen
-VERSION=${VERSION:-2.5.0}
-BUILD=${BUILD:-1}
+PRGNAM=vokoscreenNG
+VERSION=${VERSION:-3.0.8}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -70,27 +70,38 @@ 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 {} \;
-qmake-qt5 VOKOSCREEN_INSTALL_PREFIX=/usr QMAKE_CXXFLAGS="$SLKCFLAGS"
-make
-make install INSTALL_ROOT=$PKG
+patch -Np1 -i $CWD/0001-Add-better-integration-for-Linux.patch
-mv $PKG/usr/share/man $PKG/usr/man
+qmake-qt5 PREFIX=/usr QMAKE_CXXFLAGS="$SLKCFLAGS" src/vokoscreenNG.pro
+make -j $(nproc)
+make INSTALL_ROOT=$PKG install
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
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- AUTHORS COPYING CREDITS \
+ CHANGELOG.md COPYING 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
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
+mkdir -p etc/profile.d
+cat > etc/profile.d/$PRGNAM.sh << EOF
+#!/bin/sh
+export XDG_SESSION_TYPE=${XDG_SESSION_TYPE:-X11}
+EOF
+
+cat > etc/profile.d/$PRGNAM.csh << EOF
+#!/bin/csh
+setenv XDG_SESSION_TYPE ${XDG_SESSION_TYPE:-X11}
+EOF
+
+chmod 755 etc/profile.d/*
+
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/multimedia/vokoscreenNG/vokoscreenNG.info b/multimedia/vokoscreenNG/vokoscreenNG.info
new file mode 100644
index 0000000000..f9bbbb5aad
--- /dev/null
+++ b/multimedia/vokoscreenNG/vokoscreenNG.info
@@ -0,0 +1,10 @@
+PRGNAM="vokoscreenNG"
+VERSION="3.0.8"
+HOMEPAGE="https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html"
+DOWNLOAD="https://github.com/vkohaupt/vokoscreenNG/archive/3.0.8/vokoscreenNG-3.0.8.tar.gz"
+MD5SUM="88aacbf74cb543ed0db2397abe3ac74a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="qt5 ffmpeg lame %README%"
+MAINTAINER="Erik Falor"
+EMAIL="ewfalor@gmail.com"