diff options
author | Lenard Spencer <lenardrspencer@gmail.com> | 2020-12-26 14:23:49 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2020-12-26 14:23:49 +0700 |
commit | d2ed0a703600edd5c150a00e7798caa463e6747e (patch) | |
tree | b0b3e950b70d57f64580a3ad86f01f36b370368f | |
parent | 93ddca68300284be91e4e0d23134f05e48dc3c20 (diff) |
multimedia/k9copy-reloaded: Fix build on current.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | multimedia/k9copy-reloaded/README | 25 | ||||
-rw-r--r-- | multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild | 109 | ||||
-rw-r--r-- | multimedia/k9copy-reloaded/k9copy-reloaded.info | 8 | ||||
-rw-r--r-- | multimedia/k9copy-reloaded/patches/k9copy-i18n.patch | 942 | ||||
-rw-r--r-- | multimedia/k9copy-reloaded/patches/k9copy-reloaded-consolidated-fixes.patch | 581 |
5 files changed, 1559 insertions, 106 deletions
diff --git a/multimedia/k9copy-reloaded/README b/multimedia/k9copy-reloaded/README index d8f146a7d3f4..2eea8659499d 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 5: This program is only intended for personal backups, and is NOT +NOTE 4: 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). + +dvdauthor is optional. (The dvdauthor program crashes k9copy if you +try to use it in current, but it works fine in 14.2. It can be +disabled in settings.) diff --git a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild index aa12e5ddd728..de7720bde0fb 100644 --- a/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild +++ b/multimedia/k9copy-reloaded/k9copy-reloaded.SlackBuild @@ -29,8 +29,7 @@ PRGNAM=k9copy-reloaded SRCNAM=k9copy VERSION=${VERSION:-3.0.3} -BUILD=${BUILD:-4} -FFMPEG_VERSION=${FFMPEG_VERSION:-2.8.16} +BUILD=${BUILD:-5} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -45,100 +44,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 +75,35 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# 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 + # patches from upstream and community: -patch -p1 < $CWD/patches/k9copy-mimetype.patch -patch -p0 < $CWD/patches/k9copy-tempdir.patch +patch -p1 < $CWD/patches/k9copy-reloaded-consolidated-fixes.patch -# Fix internal dvdnav to link against internal dvdread -patch -p1 < $CWD/patches/k9copy-dvdnav.patch +# Patch for i18n: +patch -p1 < $CWD/patches/k9copy-i18n.patch -# Needed to link with the ffmpeg static libs we just built: -export PKG_CONFIG_PATH="${FFMPEGDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH" +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 09827a5505d8..a82603e1e8d5 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-i18n.patch b/multimedia/k9copy-reloaded/patches/k9copy-i18n.patch new file mode 100644 index 000000000000..365fa08a5be9 --- /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-reloaded-consolidated-fixes.patch b/multimedia/k9copy-reloaded/patches/k9copy-reloaded-consolidated-fixes.patch new file mode 100644 index 000000000000..0f1e0e16fe4b --- /dev/null +++ b/multimedia/k9copy-reloaded/patches/k9copy-reloaded-consolidated-fixes.patch @@ -0,0 +1,581 @@ +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) + +@@ -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 -Naur k9copy.orig/k9copy.desktop k9copy/k9copy.desktop +--- k9copy.orig/k9copy.desktop 2014-09-29 11:00:11.000000000 -0400 ++++ k9copy/k9copy.desktop 2020-12-24 10:48:11.089907292 -0500 +@@ -1,13 +1,15 @@ + [Desktop Entry] + Type=Application +-Name=k9copy +-Exec=k9copy -caption "%c" %i %u ++Name=K9copy ++Exec=k9copy + Comment=DVD9 to DVD5 backup tool ++Comment[de]=DVD9 auf DVD5 sichern + Comment[fr]=Backup de DVD9 en DVD5 + Comment[tr]=DVD9 DVD5 yedekleme aracı + Comment[ru]=Инструмент для копирования с DVD9 на DVD5 + Comment[uk]=Інструмент резервного копіювання DVD + GenericName=Video DVD Backup ++GenericName[de]=Video-DVD-Sicherung + GenericName[fr]=Backup de DVD Video + GenericName[tr]=DVD Vidyo Yedekleme Aracı + GenericName[ru]=Копирование с видео-DVD +diff -Naur k9copy.orig/k9copy_assistant.desktop k9copy/k9copy_assistant.desktop +--- k9copy.orig/k9copy_assistant.desktop 2014-09-29 11:00:12.000000000 -0400 ++++ k9copy/k9copy_assistant.desktop 2020-12-24 10:48:11.089907292 -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 ++Name=K9copy assistant ++Exec=k9copy --assistant + 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 ++X-KDE-StartupNotify=true +diff -Naur k9copy.orig/k9copy_assistant_open.desktop k9copy/k9copy_assistant_open.desktop +--- k9copy.orig/k9copy_assistant_open.desktop 2014-09-29 11:00:12.000000000 -0400 ++++ k9copy/k9copy_assistant_open.desktop 2020-12-24 10:48:11.121907568 -0500 +@@ -1,5 +1,5 @@ + [Desktop Action open] +-Exec=k9copy --input %f --assistant ++Exec=k9copy --assistant + Icon=k9copy + Name=Copy with k9copy (wizard) + Name[fr]=Copier avec k9copy (wizard) +@@ -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 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 -Naur k9copy.orig/src/backup/k9dvdbackup.cpp k9copy/src/backup/k9dvdbackup.cpp +--- k9copy.orig/src/backup/k9dvdbackup.cpp 2014-09-29 12:55:40.000000000 -0400 ++++ k9copy/src/backup/k9dvdbackup.cpp 2020-12-24 14:26:13.473270218 -0500 +@@ -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 -Naur k9copy.orig/src/backup/k9execcopy.cpp k9copy/src/backup/k9execcopy.cpp +--- k9copy.orig/src/backup/k9execcopy.cpp 2014-09-29 11:00:12.000000000 -0400 ++++ k9copy/src/backup/k9execcopy.cpp 2020-12-24 10:48:11.138907715 -0500 +@@ -306,7 +306,7 @@ + + #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() ); +diff -Naur k9copy.orig/src/import/k9avidecode.cpp k9copy/src/import/k9avidecode.cpp +--- k9copy.orig/src/import/k9avidecode.cpp 2014-09-29 11:00:12.000000000 -0400 ++++ k9copy/src/import/k9avidecode.cpp 2020-12-24 12:11:16.447891983 -0500 +@@ -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 -Naur k9copy.orig/src/libdvdnav-NOW/dvdnav/dvdnav.h k9copy/src/libdvdnav-NOW/dvdnav/dvdnav.h +--- k9copy.orig/src/libdvdnav-NOW/dvdnav/dvdnav.h 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/dvdnav/dvdnav.h 2020-12-24 10:48:11.139907724 -0500 +@@ -32,11 +32,11 @@ + extern "C" { + #endif + +-#include <dvdnav/dvd_types.h> +-#include <dvdread/dvd_reader.h> +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> /* For vm_cmd_t */ +-#include <dvdnav/dvdnav_events.h> ++#include "dvdnav/dvd_types.h" ++#include "dvdread/dvd_reader.h" ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" /* For vm_cmd_t */ ++#include "dvdnav/dvdnav_events.h" + + + +diff -Naur k9copy.orig/src/libdvdnav-NOW/dvdnav.c k9copy/src/libdvdnav-NOW/dvdnav.c +--- k9copy.orig/src/libdvdnav-NOW/dvdnav.c 2014-09-29 12:02:49.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/dvdnav.c 2020-12-24 10:48:11.139907724 -0500 +@@ -34,14 +34,14 @@ + #include <string.h> + #include <sys/time.h> + #include "dvdnav/dvdnav.h" +-#include <dvdread/dvd_reader.h> +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> /* For vm_cmd_t */ ++#include "dvdread/dvd_reader.h" ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" /* For vm_cmd_t */ + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" + #include "read_cache.h" +-#include <dvdread/nav_read.h> ++#include "dvdread/nav_read.h" + + static dvdnav_status_t dvdnav_clear(dvdnav_t * this) { + /* clear everything except file, vm, mutex, readahead */ +diff -Naur k9copy.orig/src/libdvdnav-NOW/highlight.c k9copy/src/libdvdnav-NOW/highlight.c +--- k9copy.orig/src/libdvdnav-NOW/highlight.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/highlight.c 2020-12-24 10:48:11.139907724 -0500 +@@ -29,7 +29,7 @@ + #include <limits.h> + #include <string.h> + #include <sys/time.h> +-#include <dvdread/nav_types.h> ++#include "dvdread/nav_types.h" + #include "dvdnav/dvdnav.h" + #include "vm/decoder.h" + #include "vm/vm.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/navigation.c k9copy/src/libdvdnav-NOW/navigation.c +--- k9copy.orig/src/libdvdnav-NOW/navigation.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/navigation.c 2020-12-24 10:48:11.139907724 -0500 +@@ -27,8 +27,8 @@ + #include <string.h> + #include <sys/time.h> + #include "dvdnav/dvdnav.h" +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/read_cache.c k9copy/src/libdvdnav-NOW/read_cache.c +--- k9copy.orig/src/libdvdnav-NOW/read_cache.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/read_cache.c 2020-12-24 10:48:11.140907732 -0500 +@@ -34,8 +34,8 @@ + #include <sys/time.h> + #include <time.h> + #include "dvdnav/dvdnav.h" +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/searching.c k9copy/src/libdvdnav-NOW/searching.c +--- k9copy.orig/src/libdvdnav-NOW/searching.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/searching.c 2020-12-24 10:48:11.140907732 -0500 +@@ -30,12 +30,12 @@ + #include <stdlib.h> + #include <sys/time.h> + #include "dvdnav/dvdnav.h" +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +-#include <dvdread/ifo_read.h> ++#include "dvdread/ifo_read.h" + + /* + #define LOG_DEBUG +diff -Naur k9copy.orig/src/libdvdnav-NOW/settings.c k9copy/src/libdvdnav-NOW/settings.c +--- k9copy.orig/src/libdvdnav-NOW/settings.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/settings.c 2020-12-24 10:48:11.140907732 -0500 +@@ -27,8 +27,8 @@ + #include <string.h> + #include <sys/time.h> + #include "dvdnav/dvdnav.h" +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "vm/decoder.h" + #include "vm/vm.h" + #include "dvdnav_internal.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/vm/decoder.c k9copy/src/libdvdnav-NOW/vm/decoder.c +--- k9copy.orig/src/libdvdnav-NOW/vm/decoder.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/vm/decoder.c 2020-12-24 10:48:11.140907732 -0500 +@@ -32,8 +32,8 @@ + #include <sys/time.h> + #include <assert.h> + +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> /* vm_cmd_t */ ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" /* vm_cmd_t */ + + #include "dvdnav/dvdnav.h" + #include "decoder.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/vm/getset.c k9copy/src/libdvdnav-NOW/vm/getset.c +--- k9copy.orig/src/libdvdnav-NOW/vm/getset.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/vm/getset.c 2020-12-24 10:48:11.141907741 -0500 +@@ -30,9 +30,9 @@ + #include <stdio.h> + #include <inttypes.h> + +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> +-#include <dvdread/ifo_read.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/vm/play.c k9copy/src/libdvdnav-NOW/vm/play.c +--- k9copy.orig/src/libdvdnav-NOW/vm/play.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/vm/play.c 2020-12-24 10:48:11.141907741 -0500 +@@ -29,9 +29,9 @@ + #include <stdlib.h> + #include <stdio.h> + +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> +-#include <dvdread/ifo_read.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/vm/vm.c k9copy/src/libdvdnav-NOW/vm/vm.c +--- k9copy.orig/src/libdvdnav-NOW/vm/vm.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/vm/vm.c 2020-12-24 10:48:11.141907741 -0500 +@@ -37,9 +37,9 @@ + #include <sys/time.h> + #include <fcntl.h> + +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> +-#include <dvdread/ifo_read.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/vm/vmcmd.c k9copy/src/libdvdnav-NOW/vm/vmcmd.c +--- k9copy.orig/src/libdvdnav-NOW/vm/vmcmd.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/vm/vmcmd.c 2020-12-24 10:48:11.141907741 -0500 +@@ -31,8 +31,8 @@ + #include <sys/time.h> + + #include "dvdnav/dvdnav.h" +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" + #include "decoder.h" + #include "vm.h" + #include "vmcmd.h" +diff -Naur k9copy.orig/src/libdvdnav-NOW/vm/vmget.c k9copy/src/libdvdnav-NOW/vm/vmget.c +--- k9copy.orig/src/libdvdnav-NOW/vm/vmget.c 2014-09-29 11:50:54.000000000 -0400 ++++ k9copy/src/libdvdnav-NOW/vm/vmget.c 2020-12-24 10:48:11.141907741 -0500 +@@ -31,9 +31,9 @@ + #include <string.h> + #include <stdlib.h> + +-#include <dvdread/nav_types.h> +-#include <dvdread/ifo_types.h> +-#include <dvdread/ifo_read.h> ++#include "dvdread/nav_types.h" ++#include "dvdread/ifo_types.h" ++#include "dvdread/ifo_read.h" + #include "dvdnav/dvdnav.h" + + #include "decoder.h" |