diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed89bfe --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +xxdiff-3.2-noscreenshots.tar.bz2 diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/sources b/sources new file mode 100644 index 0000000..a1f5b51 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +a61422a89f9ad5aab1c69d3995bbaded xxdiff-3.2-noscreenshots.tar.bz2 diff --git a/xxdiff-3.2-c-linkage.patch b/xxdiff-3.2-c-linkage.patch new file mode 100644 index 0000000..4839a42 --- /dev/null +++ b/xxdiff-3.2-c-linkage.patch @@ -0,0 +1,10 @@ +--- src/main.h ++++ src/main.h +@@ -35,6 +35,6 @@ + * PUBLIC DECLARATIONS + *============================================================================*/ + +-extern char** environ; ++extern "C" char** environ; + + #endif diff --git a/xxdiff-3.2-string-constants.patch b/xxdiff-3.2-string-constants.patch new file mode 100644 index 0000000..7e30504 --- /dev/null +++ b/xxdiff-3.2-string-constants.patch @@ -0,0 +1,258 @@ +--- xxdiff-3.2/src/pixmaps/xxdiff.xpm 2005-10-31 07:17:33.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/xxdiff.xpm 2009-06-17 11:11:54.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * xxdiff_xpm[] = { ++static const char * xxdiff_xpm[] = { + "190 75 2931 2", + " c None", + ". c #B8CFDD", +--- xxdiff-3.2/src/pixmaps/next_difference.xpm 2005-10-31 07:17:33.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/next_difference.xpm 2009-06-17 11:19:26.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * next_difference_xpm[] = { ++static const char * next_difference_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/next_unselected_difference.xpm 2005-10-31 07:17:33.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/next_unselected_difference.xpm 2009-06-17 11:20:20.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * next_unselected_difference_xpm[] = { ++static const char * next_unselected_difference_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/previous_difference.xpm 2009-06-17 11:21:58.000000000 +0100 ++++ xxdiff-3.2/src/pixmaps/previous_difference.xpm 2009-06-17 11:21:23.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * previous_difference_xpm[] = { ++static const char * previous_difference_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/previous_unselected_difference.xpm 2005-10-31 07:17:33.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/previous_unselected_difference.xpm 2009-06-17 11:22:49.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * previous_unselected_difference_xpm[] = { ++static const char * previous_unselected_difference_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/search.xpm 2005-10-31 07:17:33.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/search.xpm 2009-06-17 11:23:45.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * search_xpm[] = { ++static const char * search_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/search_backward.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/search_backward.xpm 2009-06-17 11:25:06.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * search_backward_xpm[] = { ++static const char * search_backward_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/search_forward.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/search_forward.xpm 2009-06-17 11:25:57.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * search_forward_xpm[] = { ++static const char * search_forward_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/select_region_left.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/select_region_left.xpm 2009-06-17 11:26:53.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * select_region_left_xpm[] = { ++static const char * select_region_left_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/select_region_middle.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/select_region_middle.xpm 2009-06-17 11:28:24.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * select_region_middle_xpm[] = { ++static const char * select_region_middle_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/select_region_neither.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/select_region_neither.xpm 2009-06-17 11:29:34.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * select_region_neither_xpm[] = { ++static const char * select_region_neither_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/select_region_right.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/select_region_right.xpm 2009-06-17 11:27:40.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * select_region_right_xpm[] = { ++static const char * select_region_right_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/select_region_unselect.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/select_region_unselect.xpm 2009-06-17 11:30:32.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * select_region_unselect_xpm[] = { ++static const char * select_region_unselect_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/split_swap_join.xpm 2005-10-31 07:17:37.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/split_swap_join.xpm 2009-06-17 11:31:36.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * split_swap_join_xpm[] = { ++static const char * split_swap_join_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/diff_files.xpm 2005-10-31 07:18:48.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/diff_files.xpm 2009-06-17 11:32:31.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * diff_files_xpm[] = { ++static const char * diff_files_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/diff_files_next.xpm 2005-10-31 07:18:48.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/diff_files_next.xpm 2009-06-17 11:33:30.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * diff_files_next_xpm[] = { ++static const char * diff_files_next_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/save_as_left.xpm 2005-10-31 07:18:01.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/save_as_left.xpm 2009-06-17 11:34:17.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * save_as_left_xpm[] = { ++static const char * save_as_left_xpm[] = { + "32 32 52 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/save_as_middle.xpm 2005-10-31 07:18:01.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/save_as_middle.xpm 2009-06-17 11:35:06.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * save_as_middle_xpm[] = { ++static const char * save_as_middle_xpm[] = { + "32 32 52 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/save_as_right.xpm 2005-10-31 07:18:01.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/save_as_right.xpm 2009-06-17 11:35:48.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * save_as_right_xpm[] = { ++static const char * save_as_right_xpm[] = { + "32 32 52 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/save_as_merged.xpm 2005-10-31 07:18:01.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/save_as_merged.xpm 2009-06-17 11:37:14.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * save_as_merged_xpm[] = { ++static const char * save_as_merged_xpm[] = { + "32 32 52 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/save_as.xpm 2005-10-31 07:18:01.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/save_as.xpm 2009-06-17 11:38:08.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * save_as_xpm[] = { ++static const char * save_as_xpm[] = { + "32 32 52 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/return_accept.xpm 2005-10-31 07:18:48.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/return_accept.xpm 2009-06-17 11:39:08.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * return_accept_xpm[] = { ++static const char * return_accept_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/return_reject.xpm 2005-10-31 07:18:48.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/return_reject.xpm 2009-06-17 11:39:53.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * return_reject_xpm[] = { ++static const char * return_reject_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/pixmaps/return_merged.xpm 2005-10-31 07:18:48.000000000 +0000 ++++ xxdiff-3.2/src/pixmaps/return_merged.xpm 2009-06-17 11:40:37.000000000 +0100 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * return_merged_xpm[] = { ++static const char * return_merged_xpm[] = { + "32 32 2 1", + " c None", + ". c #000000", +--- xxdiff-3.2/src/resParser.cpp 2006-06-11 22:12:33.000000000 +0100 ++++ xxdiff-3.2/src/resParser.cpp 2009-06-17 11:51:51.000000000 +0100 +@@ -1074,7 +1074,7 @@ + XxCommandSwitch bo = XxCommandSwitch(commandSwitchList[ii]._token); + int b1 = res1.getInitSwitch( bo ); + XX_CHECK( -1 <= b1 && b1 <= 1 ); +- char* bmap[3] = { "Nop", "False", "True" }; ++ const char* bmap[3] = { "Nop", "False", "True" }; + if ( b1 != res2.getInitSwitch( bo ) ) { + os << initSwitchStr << "." << commandSwitchList[ii]._name << ": " + << bmap[b1+1] << endl; +@@ -1250,7 +1250,7 @@ + XxCommandSwitch bo = XxCommandSwitch(commandSwitchList[ii]._token); + int b1 = res.getInitSwitch( bo ); + XX_CHECK( -1 <= b1 && b1 <= 1 ); +- char* bmap[3] = { "Nop", "False", "True" }; ++ const char* bmap[3] = { "Nop", "False", "True" }; + os << initSwitchStr << "." << commandSwitchList[ii]._name << ": " + << bmap[b1+1] << endl; + } +@@ -1558,7 +1558,7 @@ + XxCommandSwitch bo = XxCommandSwitch(commandSwitchList[ii]._token); + int b1 = res.getInitSwitch( bo ); + XX_CHECK( -1 <= b1 && b1 <= 1 ); +- char* bmap[3] = { "Nop", "False", "True" }; ++ const char* bmap[3] = { "Nop", "False", "True" }; + os << tok->_name << "." << commandSwitchList[ii]._name << ": " + << bmap[b1+1] << "" << endl; + } +--- xxdiff-3.2/src/util.cpp 2006-06-11 22:12:33.000000000 +0100 ++++ xxdiff-3.2/src/util.cpp 2009-06-17 12:15:48.000000000 +0100 +@@ -789,8 +789,8 @@ + } + if ( pid == 0 ) { + char* argv[4]; +- argv[0] = "sh"; +- argv[1] = "-c"; ++ argv[0] = strdup("sh"); ++ argv[1] = strdup("-c"); + argv[2] = const_cast( command.latin1() ); + argv[3] = 0; + execve( "/bin/sh", argv, environ ); diff --git a/xxdiff-fix-cstdlib_h.patch b/xxdiff-fix-cstdlib_h.patch new file mode 100644 index 0000000..006640c --- /dev/null +++ b/xxdiff-fix-cstdlib_h.patch @@ -0,0 +1,13 @@ +Index: xxdiff/xxdiff-3.2/src/resources.inline.h +=================================================================== +--- xxdiff.orig/xxdiff-3.2/src/resources.inline.h 2005-10-31 01:18:48.000000000 -0600 ++++ xxdiff/xxdiff-3.2/src/resources.inline.h 2008-03-08 22:31:12.000000000 -0600 +@@ -20,6 +20,8 @@ + * + ******************************************************************************/ + ++#include ++ + /*============================================================================== + * EXTERNAL DECLARATIONS + *============================================================================*/ diff --git a/xxdiff.spec b/xxdiff.spec new file mode 100644 index 0000000..b6376e3 --- /dev/null +++ b/xxdiff.spec @@ -0,0 +1,160 @@ +Summary: Graphical file and directories comparator and merge tool +Name: xxdiff +Version: 3.2 +Release: 20%{?dist} +License: GPLv2+ +Group: Development/Tools +URL: http://furius.ca/xxdiff/ +# The orginal tar can be found at http://furius.ca/downloads/xxdiff/releases/xxdiff-%{version}.tar.bz2 +# We remove the screenshots directory since the images in there can not be redistributed without permission. +Source0: xxdiff-%{version}-noscreenshots.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: qt3-devel < 1:4.0, bison, flex + +Patch0: %{name}-fix-cstdlib_h.patch +Patch1: xxdiff-3.2-c-linkage.patch +Patch2: xxdiff-3.2-string-constants.patch + +%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} + +%description +xxdiff is a graphical browser for viewing the differences between two or three +files, or between two directories, and can be used to produce a merged version. + +%package tools +Summary: Tools for xxdiff +Group: Development/Tools +URL: http://furius.ca/xxdiff/doc/xxdiff-scripts.html +Requires: xxdiff +BuildRequires: python-devel + +%description tools +Tools for xxdiff + +%prep +%setup -q +%patch0 -p2 + +# Fix FTBFS with gcc 4.7 +%patch1 + +# Fix the multitude of warnings about string constants converted to 'char*' +%patch2 -p1 + +%build +if [ -z "$QTDIR" ]; then + . /etc/profile.d/qt.sh +fi + +CFLAGS="${CFLAGS:-$RPM_OPT_FLAGS}" +CXXFLAGS="${CFLAGS:-$RPM_OPT_FLAGS}" +export CFLAGS +export CXXFLAGS + +%{__make} -C src -f Makefile.bootstrap makefile +%{__sed} -i -e "s/^CFLAGS\s*=/CFLAGS +=/g" src/Makefile +%{__sed} -i -e "s/^CXXFLAGS\s*=/CXXFLAGS +=/g" src/Makefile +%{__make} -C src %{?_smp_mflags} +%{__python} setup.py build + +find ./build -name \*.py -print -exec %{__sed} -i "1{/^#\!/d}" {} \; + +%install +%{__rm} -rf %{buildroot} +%{__mkdir_p} %{buildroot}%{_bindir} +%{__install} -m 755 bin/xxdiff %{buildroot}%{_bindir} +%{__python} setup.py install -O1 --skip-build --root=%{buildroot} --install-lib=%{python_sitelib} + +%clean +%{__rm} -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%doc doc index.html +%doc CHANGES COPYING README TODO VERSION +%{_bindir}/xxdiff + +%files tools +%defattr(-,root,root,-) +%doc doc index.html +%{python_sitelib}/* +%{_bindir}/svn-foreign +%{_bindir}/xx-cond-replace +%{_bindir}/xx-cvs-diff +%{_bindir}/xx-cvs-revcmp +%{_bindir}/xx-diff-proxy +%{_bindir}/xx-encrypted +%{_bindir}/xx-filter +%{_bindir}/xx-find-grep-sed +%{_bindir}/xx-match +%{_bindir}/xx-pyline +%{_bindir}/xx-rename +%{_bindir}/xx-sql-schemas +%{_bindir}/xx-svn-diff +%{_bindir}/xx-svn-resolve + +%changelog +* Sun Aug 04 2013 Fedora Release Engineering - 3.2-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 3.2-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 3.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Apr 22 2012 Paul Howarth - 3.2-17 +- Fix FTBFS with gcc 4.7 + +* Tue Feb 28 2012 Fedora Release Engineering - 3.2-16 +- Rebuilt for c++ ABI breakage + +* Sat Jan 14 2012 Fedora Release Engineering - 3.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 3.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Nov 15 2010 Russell Cattelan - 3.2-13 +- Change BuildRequires from qt-devel to qt3-devel + +* Thu Jul 22 2010 David Malcolm - 3.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Mon Jul 27 2009 Fedora Release Engineering - 3.2-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 3.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 3.2-9 +- Rebuild for Python 2.6 + +* Mon Jun 9 2008 Russell Cattelan - 3.2-8 +- Create a new tar ball without the restricted copyrighted screen shots + +* Thu May 29 2008 Russell Cattelan - 3.2-7 +- Remove desktop file, since xxdiff need files at least 2 files specified on +- the cmd line. +- It is confusing to have a menu option that does not work without +- dragging and dropping at least two files. + +* Tue May 27 2008 Russell Cattelan - 3.2-6 +- Add desktop file + +* Tue May 6 2008 Russell Cattelan - 3.2-5 +- Remove python from the main package Requires. +- Make sure the build picks rpm defined CFLAGS + +* Mon Apr 28 2008 Russell Cattelan 3.2-4 +- Split out script into tools package +- Minor changes to build process and python lib handling + +* Sun Mar 30 2008 Russell Cattelan 3.2-3 +- Minor fixups based on review comments + +* Sat Mar 29 2008 Russell Cattelan 3.2-2 +- Added helper utilites + +* Sat Mar 8 2008 Russell Cattelan 3.2-1 +- Initial Revision