diff options
Diffstat (limited to 'extra/kdiff3')
-rw-r--r-- | extra/kdiff3/PKGBUILD | 11 | ||||
-rw-r--r-- | extra/kdiff3/kdiff3-relative-path.patch | 59 |
2 files changed, 66 insertions, 4 deletions
diff --git a/extra/kdiff3/PKGBUILD b/extra/kdiff3/PKGBUILD index ba375e623..1c5bd164e 100644 --- a/extra/kdiff3/PKGBUILD +++ b/extra/kdiff3/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 166597 2012-09-12 20:12:20Z eric $ +# $Id: PKGBUILD 168298 2012-10-08 05:04:03Z eric $ # Maintainer: Eric BĂ©langer <eric@archlinux.org> pkgname=kdiff3 pkgver=0.9.97 -pkgrel=1 +pkgrel=2 pkgdesc="A KDE file comparator/merge tool" arch=('i686' 'x86_64' 'mips64el') url="http://kdiff3.sourceforge.net/" @@ -12,11 +12,14 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4' 'kdebase-lib' 'docbook-xml') optdepends=('kdebase-lib: for the plugin') install=kdiff3.install -source=(http://downloads.sourceforge.net/sourceforge/kdiff3/${pkgname}-${pkgver}.tar.gz) -sha1sums=('1f2828c4b287b905bac64992b46a3e9231319547') +source=(http://downloads.sourceforge.net/sourceforge/kdiff3/${pkgname}-${pkgver}.tar.gz + kdiff3-relative-path.patch) +sha1sums=('1f2828c4b287b905bac64992b46a3e9231319547' + 'b5359dcec2ebb8221a232ecc2ea9982b290172e5') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -p2 -i "${srcdir}/kdiff3-relative-path.patch" mkdir release cd release cmake .. -DCMAKE_INSTALL_PREFIX=/usr diff --git a/extra/kdiff3/kdiff3-relative-path.patch b/extra/kdiff3/kdiff3-relative-path.patch new file mode 100644 index 000000000..7cfccd6f5 --- /dev/null +++ b/extra/kdiff3/kdiff3-relative-path.patch @@ -0,0 +1,59 @@ +--- a/kdiff3/src-QT4/fileaccess.cpp ++++ b/kdiff3/src-QT4/fileaccess.cpp +@@ -183,7 +183,8 @@ + + void FileAccess::setFile( const QFileInfo& fi, FileAccess* pParent ) + { +- m_filePath = nicePath( fi.filePath() ); // remove "./" at start ++ m_filePath = pParent == 0 ? fi.absoluteFilePath() : ++ nicePath( fi.filePath() ); // remove "./" at start + + m_bSymLink = fi.isSymLink(); + if ( m_bSymLink || (!m_bExists && m_filePath.contains("@@") ) ) +@@ -566,7 +567,16 @@ + if ( parent() != 0 ) + return parent()->absoluteFilePath() + "/" + m_filePath; + else +- return m_filePath; ++ { ++ if ( m_filePath.isEmpty() ) ++ return QString(); ++ ++ QFileInfo fi( m_filePath ); ++ if ( fi.isAbsolute() ) ++ return m_filePath; ++ else ++ return fi.absoluteFilePath(); // Probably never reached ++ } + } // Full abs path + + // Just the name-part of the path, without parent directories +@@ -1184,7 +1194,7 @@ + m_bSuccess = false; + KIO::FileCopyJob* pJob = KIO::file_move( m_pFileAccess->url(), kurl, permissions, KIO::HideProgressInfo ); + connect( pJob, SIGNAL(result(KJob*)), this, SLOT(slotSimpleJobResult(KJob*))); +- connect( pJob, SIGNAL(percent(KJob*,unsigned long)), this, SLOT(slotPercent(KJob*, unsigned long))); ++ connect( pJob, SIGNAL(percent(KJob*,unsigned long)), &pp, SLOT(slotPercent(KJob*, unsigned long))); + + ProgressProxy::enterEventLoop( pJob, + i18n("Renaming file: %1 -> %2",m_pFileAccess->prettyAbsPath(),dest) ); +@@ -1673,7 +1683,7 @@ + &pp, SLOT( slotListDirInfoMessage(KJob*, const QString&) )); + + // This line makes the transfer via fish unreliable.:-( +- //connect( pListJob, SIGNAL(percent(KJob*,unsigned long)), this, SLOT(slotPercent(KJob*, unsigned long))); ++ //connect( pListJob, SIGNAL(percent(KJob*,unsigned long)), &pp, SLOT(slotPercent(KJob*, unsigned long))); + + ProgressProxy::enterEventLoop( pListJob, + i18n("Listing directory: %1",m_pFileAccess->prettyAbsPath()) ); +--- a/kdiff3/src-QT4/kdiff3.cpp ++++ b/kdiff3/src-QT4/kdiff3.cpp +@@ -211,6 +211,8 @@ + m_outputFilename = args->getOption("output"); + if ( m_outputFilename.isEmpty() ) + m_outputFilename = args->getOption("out"); ++ if ( ! m_outputFilename.isEmpty() ) ++ m_outputFilename = FileAccess( m_outputFilename, true ).absoluteFilePath(); + } + + m_bAutoFlag = args!=0 && args->isSet("auto"); |