kde-misc/kdiff3: Fix missing cli options
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 14 May 2017 10:00:55 +0000 (12:00 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 14 May 2017 10:13:38 +0000 (12:13 +0200)
Thanks-to: Peter Urbanec <bugs.gentoo.org@urbanec.net>
Gentoo-bug: 546494

Package-Manager: Portage-2.3.5, Repoman-2.3.1

kde-misc/kdiff3/files/kdiff3-0.9.98_p20170219-cli-args.patch [new file with mode: 0644]
kde-misc/kdiff3/kdiff3-0.9.98_p20170219-r1.ebuild [new file with mode: 0644]

diff --git a/kde-misc/kdiff3/files/kdiff3-0.9.98_p20170219-cli-args.patch b/kde-misc/kdiff3/files/kdiff3-0.9.98_p20170219-cli-args.patch
new file mode 100644 (file)
index 0000000..3312b50
--- /dev/null
@@ -0,0 +1,51 @@
+commit b849851d3317903a8ab7c040966921384d9e6508
+Author: Peter Urbanec <git.user@urbanec.net>
+Date:   Thu May 11 16:09:12 2017 +1000
+
+    Implement most of the missing command line options
+    
+    A number of command line options were missing, which caused kdiff3 from
+    failing to work properly when used as the mergetool in git. In particular,
+    git relies on the -L group of options and without those it would fail.
+    
+    Signed-off-by: Peter Urbanec <git.user@urbanec.net>
+
+diff --git a/src/main.cpp b/src/main.cpp
+index 3549c92..fed486d 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -67,24 +67,23 @@ int main(int argc, char *argv[])
+     parser.addOption(QCommandLineOption(QStringList()<<QStringLiteral("b")<<QStringLiteral("base"),i18n("Explicit base file. For compatibility with certain tools."),QStringLiteral("file")));
+     parser.addOption(QCommandLineOption(QStringList()<<QStringLiteral("o")<<QStringLiteral("out")<<QStringLiteral("output"),i18n("Output file. Implies -m."),QStringLiteral("file")));
+     parser.addOption(QCommandLineOption(QStringLiteral("auto"),i18n("No GUI if all conflicts are auto-solvable. Needs -o file.")));
++    parser.addOption(QCommandLineOption(QStringLiteral("qall"),i18n("Don't solve conflicts automatically.")));
++    parser.addOption(QCommandLineOption(QStringLiteral("L1"),i18n("Visible name replacement for input file 1 (base)."),QStringLiteral("alias1")));
++    parser.addOption(QCommandLineOption(QStringLiteral("L2"),i18n("Visible name replacement for input file 2."),QStringLiteral("alias2")));
++    parser.addOption(QCommandLineOption(QStringLiteral("L3"),i18n("Visible name replacement for input file 3."),QStringLiteral("alias3")));
++    parser.addOption(QCommandLineOption(QStringList()<<QStringLiteral("L")<<QStringLiteral("fname"),i18n("Alternative visible name replacement. Supply this once for every input."),QStringLiteral("alias")));
++    parser.addOption(QCommandLineOption(QStringLiteral("cs"),i18n("Override a config setting. Use once for every setting. E.g.: --cs \"AutoAdvance=1\""),QStringLiteral("string")));
++    parser.addOption(QCommandLineOption(QStringLiteral("confighelp"),i18n("Show list of config settings and current values.")));
+     parser.addPositionalArgument(QStringLiteral("file1"), i18n("File1 to open (base, if not specified via --base)."));
+     parser.addPositionalArgument(QStringLiteral("file2"), i18n("File2 to open."));
+     parser.addPositionalArgument(QStringLiteral("file3"), i18n("File3 to open (optional)."));
+ 
+-    aboutData.setupCommandLine(&parser);
+-    parser.process(app);
+-    aboutData.processCommandLine(&parser);
+-
+ // TODO KF5
+-//    options.add( "qall",        ki18n("Don't solve conflicts automatically.") );
+-//    options.add( "L1 alias1",   ki18n("Visible name replacement for input file 1 (base).") );
+-//    options.add( "L2 alias2",   ki18n("Visible name replacement for input file 2.") );
+-//    options.add( "L3 alias3",   ki18n("Visible name replacement for input file 3.") );
+-//    options.add( "L" ).add( "fname alias", ki18n("Alternative visible name replacement. Supply this once for every input.") );
+-//    options.add( "cs string",   ki18n("Override a config setting. Use once for every setting. E.g.: --cs \"AutoAdvance=1\"") );
+-//    options.add( "confighelp",  ki18n("Show list of config settings and current values.") );
+ //    options.add( "config file", ki18n("Use a different config file.") );
+ 
++    aboutData.setupCommandLine(&parser);
++    parser.process(app);
++    aboutData.processCommandLine(&parser);
+ 
+     KDiff3Shell *p = new KDiff3Shell(&parser);
+     p->show();
diff --git a/kde-misc/kdiff3/kdiff3-0.9.98_p20170219-r1.ebuild b/kde-misc/kdiff3/kdiff3-0.9.98_p20170219-r1.ebuild
new file mode 100644 (file)
index 0000000..04a916f
--- /dev/null
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit kde5
+
+DESCRIPTION="Frontend to diff3 based on Qt/KF5"
+HOMEPAGE="http://kdiff3.sourceforge.net/
+https://cgit.kde.org/scratch/thomasfischer/kdiff3.git/log/?h=kf5"
+SRC_URI="http://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kcrash)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep kparts)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kxmlgui)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtprintsupport)
+       $(add_qt_dep qtwidgets)
+"
+RDEPEND="${DEPEND}
+       !kde-misc/kdiff3:4
+       sys-apps/diffutils
+"
+
+PATCHES=( "${FILESDIR}/${P}-cli-args.patch" )