summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-misc/kdiff3/ChangeLog9
-rw-r--r--kde-misc/kdiff3/files/kdiff3-0.9.97-relativepath.patch66
-rw-r--r--kde-misc/kdiff3/kdiff3-0.9.97-r1.ebuild93
3 files changed, 167 insertions, 1 deletions
diff --git a/kde-misc/kdiff3/ChangeLog b/kde-misc/kdiff3/ChangeLog
index ac4300a17cfb..849735f02f20 100644
--- a/kde-misc/kdiff3/ChangeLog
+++ b/kde-misc/kdiff3/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-misc/kdiff3
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-misc/kdiff3/ChangeLog,v 1.62 2012/11/18 19:03:20 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-misc/kdiff3/ChangeLog,v 1.63 2012/11/30 05:52:02 creffett Exp $
+
+*kdiff3-0.9.97-r1 (30 Nov 2012)
+
+ 30 Nov 2012; Chris Reffett <creffett@gentoo.org>
+ +files/kdiff3-0.9.97-relativepath.patch, +kdiff3-0.9.97-r1.ebuild:
+ Revision bump. Do not append 'Categories' to .desktop file, bug 443562. Add
+ patch to fix using file paths with -o, bug 443938.
18 Nov 2012; Maciej Mrozowski <reavertm@gentoo.org> kdiff3-0.9.97.ebuild:
No need to append 'Categories' to .desktop file anymore, bug 443562.
diff --git a/kde-misc/kdiff3/files/kdiff3-0.9.97-relativepath.patch b/kde-misc/kdiff3/files/kdiff3-0.9.97-relativepath.patch
new file mode 100644
index 000000000000..f0f43e8a8f1a
--- /dev/null
+++ b/kde-misc/kdiff3/files/kdiff3-0.9.97-relativepath.patch
@@ -0,0 +1,66 @@
+
+
+--- 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()) );
+
+kdiff3/src-QT4/kdiff3.cpp Diff
+
+--- 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");
+
+
diff --git a/kde-misc/kdiff3/kdiff3-0.9.97-r1.ebuild b/kde-misc/kdiff3/kdiff3-0.9.97-r1.ebuild
new file mode 100644
index 000000000000..65e820bc5d5c
--- /dev/null
+++ b/kde-misc/kdiff3/kdiff3-0.9.97-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-misc/kdiff3/kdiff3-0.9.97-r1.ebuild,v 1.1 2012/11/30 05:52:02 creffett Exp $
+
+EAPI=4
+
+if [[ ${PV} != *9999* ]]; then
+ KDE_LINGUAS="ar bg br bs ca ca@valencia cs cy da de el en_GB eo es et fr ga
+ gl hi hne hr hu is it ja ka lt mai ml nb nds nl nn pl pt pt_BR ro ru rw sk
+ sv ta tg tr ug uk zh_CN zh_TW"
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+ KDE_HANDBOOK="optional"
+else
+ ESVN_REPO_URI="https://kdiff3.svn.sourceforge.net/svnroot/kdiff3/trunk/kdiff3"
+ KEYWORDS=""
+fi
+
+KDE_REQUIRED="optional"
+inherit kde4-base qt4-r2
+
+DESCRIPTION="Qt/KDE based frontend to diff3"
+HOMEPAGE="http://kdiff3.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="4"
+IUSE="debug kde"
+
+DEPEND="
+ x11-libs/qt-core:4
+ x11-libs/qt-gui:4
+ kde? ( $(add_kdebase_dep kdelibs) )
+"
+RDEPEND="${DEPEND}
+ sys-apps/diffutils
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.97-relativepath.patch"
+)
+
+RESTRICT="!kde? ( test )"
+
+src_unpack(){
+ if [[ ${PV} == *9999* ]]; then
+ subversion_src_unpack
+ elif use kde; then
+ kde4-base_src_unpack
+ else
+ qt4-r2_src_unpack
+ fi
+}
+
+src_prepare() {
+ if ! use kde; then
+ # adapt to Gentoo paths
+ sed -e s,documentation.path.*$,documentation.path\ =\ "${EPREFIX}"/usr/share/doc/"${PF}", \
+ -e s,target.path.*$,target.path\ =\ "${EPREFIX}"/usr/bin, \
+ "${S}"/src-QT4/kdiff3.pro > "${S}"/src-QT4/kdiff3_fixed.pro
+ else
+ kde4-base_src_prepare
+ fi
+}
+
+src_configure() {
+ if use kde; then
+ kde4-base_src_configure
+ else
+ eqmake4 "${S}"/src-QT4/kdiff3_fixed.pro
+ fi
+}
+
+src_compile() {
+ if use kde; then
+ kde4-base_src_compile
+ else
+ qt4-r2_src_compile
+ fi
+}
+
+src_install() {
+ if use kde; then
+ kde4-base_src_install
+ else
+ qt4-r2_src_install
+ fi
+}
+
+src_test() {
+ if use kde; then
+ kde4-base_src_test
+ fi
+}