Hello community, here is the log from the commit of package ldc for openSUSE:Factory checked in at 2019-01-24 14:12:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ldc (Old) and /work/SRC/openSUSE:Factory/.ldc.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ldc" Thu Jan 24 14:12:22 2019 rev:6 rq:667604 version:1.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ldc/ldc.changes 2019-01-15 09:16:02.514254121 +0100 +++ /work/SRC/openSUSE:Factory/.ldc.new.28833/ldc.changes 2019-01-24 14:12:24.427432252 +0100 @@ -1,0 +2,8 @@ +Mon Jan 21 09:31:49 UTC 2019 - Guillaume GARDET <[email protected]> + +- Enable bootstrap again for all flavours, otherwise ldc will require old + .so file instead of new one +- Use ldc 1.12.0 as intermediate build on 32-bit, due to upstream bug: + * https://github.com/ldc-developers/ldc/issues/2947 + +------------------------------------------------------------------- New: ---- ldc-1.12.0-src.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ldc.spec ++++++ --- /var/tmp/diff_new_pack.Ft6xuj/_old 2019-01-24 14:12:25.019431569 +0100 +++ /var/tmp/diff_new_pack.Ft6xuj/_new 2019-01-24 14:12:25.019431569 +0100 @@ -20,13 +20,20 @@ %define lname_runtime libdruntime-%{name} %define lname_phobos libphobos2-%{name} %define _bashcompletionsdir %{_datadir}/bash-completion/completions -# Do not bootstrap in Tumbleweed, and Leap 15+ as LDC is already available -%if 0%{suse_version} >= 1500 -%bcond_with ldc_bootstrap -%else + +# Do bootstrap (even in Tumbleweed, and Leap 15+), otherwise LDC will build +# against old installed .so instead of new built one %bcond_without ldc_bootstrap + +%ifarch %{ix86} %arm +# 32-bit needs 1.12.0 intermediate build due to: https://github.com/ldc-developers/ldc/issues/2947 +%bcond_without 1_12_0_intermediate +%else +%bcond_with 1_12_0_intermediate %endif + %bcond_with ldc_tests + Name: ldc Version: 1.13.0 Release: 0 @@ -55,6 +62,10 @@ %if %{with ldc_bootstrap} # v0.17.6 is the last version buildable with a C++ compiler, so use it for bootstrapping Source10: https://github.com/ldc-developers/ldc/releases/download/v0.17.6/ldc-0.17.6-src.tar.gz +%if %{with 1_12_0_intermediate} +# 1.12.0 is needed to build on 32-bit: https://github.com/ldc-developers/ldc/issues/2947 +Source11: https://github.com/ldc-developers/ldc/releases/download/v1.12.0/ldc-1.12.0-src.tar.gz +%endif %endif %if %{with ldc_tests} BuildRequires: gcc-c++ @@ -132,6 +143,12 @@ tar xf %{SOURCE10} pushd ldc-0.17.6-src popd +%if %{with 1_12_0_intermediate} +tar xf %{SOURCE11} +pushd ldc-1.12.0-src +%patch0 -p1 +popd +%endif %endif %build @@ -152,6 +169,25 @@ make %{?_smp_mflags} popd popd +%if %{with 1_12_0_intermediate} +pushd ldc-1.12.0-src +#Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule +touch ./no-suse-rules +mkdir build && pushd build +# FIXME: you should use %%cmake macros +cmake \ + -DCMAKE_USER_MAKE_RULES_OVERRIDE=./no-suse-rules \ + -DCMAKE_C_COMPILER="%{_bindir}/clang" \ + -DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \ + -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \ + -DD_COMPILER:PATH=`pwd`/../../ldc-0.17.6-src/build/bin/ldmd2 \ + -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DCMAKE_C_FLAGS="-fPIC" \ + .. +make %{?_smp_mflags} +popd +popd +%endif %endif #Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule touch no-suse-rules @@ -161,8 +197,12 @@ -DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \ %if %{with ldc_bootstrap} +%if %{with 1_12_0_intermediate} + -DD_COMPILER:PATH=`pwd`/../ldc-1.12.0-src/build/bin/ldmd2 \ +%else -DD_COMPILER:PATH=`pwd`/../ldc-0.17.6-src/build/bin/ldmd2 \ %endif +%endif -DCMAKE_CXX_FLAGS="-std=c++11" make %{?_smp_mflags}
