diff --git a/rosegarden.changes b/rosegarden.changes index fe6844a..b290e69 100644 --- a/rosegarden.changes +++ b/rosegarden.changes @@ -1,8 +1,9 @@ ------------------------------------------------------------------- Sat Aug 26 15:31:47 UTC 2017 - davejplater@gmail.com -- Work around a possible cmake-3.9.0 bug by building a dependency - prior to the main build. +- Work around cmake-3.9.0 bug with upstream patch svnheader.patch +- See https://sourceforge.net/p/rosegarden/bugs/1552/ and + https://gitlab.kitware.com/cmake/cmake/issues/17222. ------------------------------------------------------------------- Fri Apr 21 16:32:14 UTC 2017 - davejplater@gmail.com diff --git a/rosegarden.spec b/rosegarden.spec index 3106c18..b1ef5e4 100644 --- a/rosegarden.spec +++ b/rosegarden.spec @@ -29,6 +29,8 @@ Source2: %{name}.1 Patch1: rosegarden-10.10-filepaths.patch # PATCH-FIX-OPENSUSE ledest@gmail.com fix bashisms in scripts Patch2: rosegarden-14.02-fix-bashisms.patch +# PATCH-FIX-UPSTREAM see header - Fix cmake-3.9.0 build failure +Patch3: svnheader.patch BuildRequires: alsa-devel BuildRequires: cmake >= 2.8.12 BuildRequires: dssi-devel @@ -84,6 +86,7 @@ See the changelog for details. %setup -q %patch1 %patch2 +%patch3 -p1 # When we build svn we need to execute bootstrap.sh #sh bootstrap.sh @@ -99,7 +102,7 @@ export CXXFLAGS="$CFLAGS" -DUSE_QT5:BOOL=ON \ -DCMAKE_INSTALL_LOCALEDIR:PATH=%{_datadir}/locale/ -make svnheader +#make svnheader make %{?_smp_mflags} %install diff --git a/svnheader.patch b/svnheader.patch new file mode 100644 index 0000000..c45bef2 --- /dev/null +++ b/svnheader.patch @@ -0,0 +1,18 @@ +Description: fix svnversion.h dependency to permit parallel building + With CMake 3.9.1 and parallel building enabled, the incorrect specification + of the output filename when creating svnversion.h can lead to a race condition + such that the package fails to build. +Author: Stuart Prescott +Bug: https://sourceforge.net/p/rosegarden/bugs/1552/ +Bug-Debian: https://bugs.debian.org/871213 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -810,7 +810,7 @@ + add_custom_target(svnheader ALL DEPENDS svn_header) # svn_header never gets created, it's just a unique string + + # creates svnheader.h using cmake script +-add_custom_command(OUTPUT svn_header ${CMAKE_CURRENT_BINARY_DIR}/svnheader.h ++add_custom_command(OUTPUT svn_header ${CMAKE_CURRENT_BINARY_DIR}/svnversion.h + COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} + -P ${CMAKE_CURRENT_SOURCE_DIR}/buildkey.cmake) +