diff --git a/ark-4.8.0-missing_defs.patch b/ark-4.8.0-missing_defs.patch new file mode 100644 index 0000000..9ce1c33 --- /dev/null +++ b/ark-4.8.0-missing_defs.patch @@ -0,0 +1,49 @@ +commit 5149649d5388b570871f8579aaea1703136c9460 +Author: Raphael Kubo da Costa +Date: Thu Jan 5 00:17:26 2012 -0200 + + Add missing add_definition() calls. + + For some unknown reason, while the svn to git conversion work was going + on in branches/work/kdeutils-build-standalone, the lines adding + ${QT_DEFINITIONS} and ${KDE4_DEFINITIONS} to the definitions passed to + the compiler end up not being included in each application's + CMakeLists.txt. + + This was not a problem during the 4.7 series, as Dirk still packaged + kdeutils as a single tarball, and the top-level CMakeLists.txt used did + include these lines. + + The issue came to attention during the 4.8 beta/RC phase, when 32-bit + Linux users had problems creating tarballs with Ark: libarchive is + usually built in those systems with -D_FILE_OFFSET_BITS=64. This is set + in KDE4_DEFINITIONS, which was not being used to build Ark. struct stat + then had different sizes for Ark and libarchive, which caused all sorts + of trouble. + + Packagers might want to look at this commit and the equivalent ones to + the other affected kdeutils applications (filelight, kcalc, kcharselect, + kdf, kfloppy, kgpg, kremotecontrol, ktimer, kwallet, superkaramba and + sweeper) and apply them to their 4.8-RC packages. + + Sorry for the mess! + + BUG: 289307 + FIXED-IN: 4.8.0 + CCMAIL: release-team@kde.org + CCMAIL: kde-packager@kde.org + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 422d60e..238fb3c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,9 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + include( KDE4Defaults ) + include_directories(${KDE4_INCLUDES}) + ++ add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) ++ add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) ++ + # If definitions like -D_GNU_SOURCE are needed for these checks they + # should be added to _KDE4_PLATFORM_DEFINITIONS when it is originally + # defined outside this file. Here we include these definitions in diff --git a/ark.spec b/ark.spec index 7289e3f..b09b77a 100644 --- a/ark.spec +++ b/ark.spec @@ -12,6 +12,10 @@ Source0: ftp://ftp.kde.org/pub/kde/unstable/%{version}/src/%{name}-%{version}.ta # libkerfuffle namelink_skip Patch50: ark-4.7.80-namelink_skip.patch +## upstream patches +# https://projects.kde.org/projects/kde/kdeutils/ark/repository/revisions/5149649d5388b570871f8579aaea1703136c9460 +Patch100: ark-4.8.0-missing_defs.patch + BuildRequires: desktop-file-utils BuildRequires: kdelibs4-devel >= %{version} BuildRequires: kdebase4-devel >= %{version} @@ -55,6 +59,7 @@ Provides: kdeutils-ark-libs = 6:%{version}-%{release} %setup -q -n %{name}-%{version} %patch50 -p1 -b .namelink_skip +%patch100 -p1 -b .missing_defs %build