diff --git a/ldc.spec b/ldc.spec index aa70d4a..ce5ffe1 100644 --- a/ldc.spec +++ b/ldc.spec @@ -1,8 +1,9 @@ -#%global debug_package %{nil} -%global snapdate 20110915 -%global ldc_rev 423076d -%global phobos_rev a8106d9 -%global druntime_rev fba10fa +# debug info seem not works with D compiler +%global debug_package %{nil} +%global snapdate 20111206 +%global ldc_rev fa5fb92 +%global phobos_rev 2bebc8f +%global druntime_rev 24e79c6 %global alphatag %{snapdate}git%{ldc_rev} %global phobostag %{snapdate}git%{phobos_rev} %global druntimetag %{snapdate}git%{druntime_rev} @@ -13,19 +14,16 @@ # cd ldc/phobos; git rev-parse --short HEAD -> for phobos_rev # cd ldc/druntime/; git rev-parse --short HEAD -> for druntime_rev # git clone https://github.com/ldc-developers/ldc.git -# (cd ldc; git checkout 423076d; git submodule init; git submodule update; \ -# git archive --prefix=ldc-%%{alphatag}/ HEAD \ -# ) | xz > ldc-%%{alphatag}.xz -# (cd ldc/druntime; \ -# git archive --prefix=druntime/ HEAD \ -# ) | xz > ldc-druntime-%%{druntimetag}.xz -# (cd ldc/phobos; \ -# git archive --prefix=phobos/ HEAD \ -# ) | xz > ldc-phobos-%%{phobostag}.xz +# cd ldc; git submodule update -i; git checkout %%ldc_rev +# git archive --prefix=ldc-%%{alphatag}/ HEAD | xz > ../ldc-%%{alphatag}.xz +# cd runtime/druntime +# git archive --prefix=runtime/druntime/ HEAD | xz > ../../../ldc-druntime-%%{druntimetag}.xz +# cd ../phobos +# git archive --prefix=runtime/phobos/ HEAD | xz > ../../../ldc-phobos-%%{phobostag}.xz Name: ldc Version: 2 -Release: 4.%{alphatag}%{?dist} +Release: 9.%{alphatag}%{?dist} Summary: A compiler for the D programming language Group: Development/Languages @@ -33,15 +31,13 @@ Group: Development/Languages # The files gen/asmstmt.cpp and gen/asm-*.hG PL version 2+ or artistic license License: BSD URL: http://www.dsource.org/projects/ldc -Source0: %{name}-%{alphatag}.tar.xz -Source1: %{name}-phobos-%{phobostag}.tar.xz -Source2: %{name}-druntime-%{druntimetag}.tar.xz +Source0: %{name}-%{alphatag}.xz +Source1: %{name}-phobos-%{phobostag}.xz +Source2: %{name}-druntime-%{druntimetag}.xz Source3: macros.%{name} -# fix current build system report to upstream done -Patch0: %{name}_fix_build.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -#BuildRequires: llvm-devel >= 2.9 +BuildRequires: llvm-devel >= 3.0 BuildRequires: libconfig, libconfig-devel BuildRequires: cmake BuildRequires: gc, gcc-c++, gcc @@ -96,6 +92,7 @@ démarage/extinction, etc Summary: Support for developing D application Group: Development/Tools Requires: %{name} = %{version}-%{release} +Requires: %{name}-druntime %description druntime-devel @@ -131,6 +128,8 @@ situations, et les programmeurs doivent implémenter d'une certaines manière. Summary: Support for developing D application Group: Development/Tools Requires: %{name} = %{version}-%{release} +Requires: %{name}-phobos +Requires: %{name}-druntime-devel %description phobos-devel The phobos-devel package contains header files for developing D @@ -140,75 +139,111 @@ applications that use phobos. Le paquet phobos-devel contient les fichiers d'entêtes pour développer des applications en D utilisant phobos. +%package phobos-geany-tags +Summary: Support for enable autocompletion in geany +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +BuildRequires: geany +Requires: geany + +%description phobos-geany-tags +Enable autocompletion for phobos library in geany (IDE) + +%description -l fr phobos-geany-tags +Active l'autocompletion pour pour la bibliothèque phobos dans geany (IDE) + %prep %setup -q -n %{name}-%{alphatag} %setup -q -T -D -a 1 -n %{name}-%{alphatag} %setup -q -T -D -a 2 -n %{name}-%{alphatag} -%patch0 -p1 -b .fix find . -type f -exec sed -i 's/\r//g' {} \; +# temp geany config directory for allow geany to generate tags +mkdir geany_config +# fix install +# sed -i "81a \ \ \ \ file(COPY \${RUNTIME_DIR}/src/core/bitop.d DESTINATION \${PROJECT_BINARY_DIR}/import/core/ )" runtime/CMakeLists.txt %build -%cmake -DD_VERSION:STRING=2 \ - -DCONF_INST_DIR:PATH=%{_sysconfdir} \ - -DRUNTIME_DIR=./druntime \ - -DPHOBOS2_DIR=./phobos \ - -DD_FLAGS:STRING="-O2;-g;-w;-d;-release" \ - -DLLVM_CONFIG_HEADER=config-%{__isa_bits}.h \ - -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \ - . -make VERBOSE=2 phobos2 +%cmake -DMULTILIB:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d . +make %{?_smp_mflags} VERBOSE=2 phobos2 + +# generate geany tags +geany -c geany_config -g phobos.d.tags $(find runtime/phobos/std -name "*.d") %install rm -rf %{buildroot} make %{?_smp_mflags} install DESTDIR=%{buildroot} mkdir -p %{buildroot}/%{_sysconfdir}/rpm mkdir -p %{buildroot}/%{_includedir}/d/ldc +mkdir -p %{buildroot}/%{_datadir}/geany/tags/ +# macros for D package install --mode=0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.ldc - -sed -i \ - -e "10a \ \ \ \ \ \ \ \"-I%{_includedir}\/d\"," \ - -e "11a \ \ \ \ \ \ \ \"-I%{_includedir}\/d\/phobos\","\ - -e "12a \ \ \ \ \ \ \ \"-I%{_includedir}\/d\/ldc\"," \ - -e "/^.*-I.*%{name}-%{alphatag}.*$/d" \ - -e "s|-L-L.*lib|-L-L%{_libdir}/druntime.so|" %{buildroot}/%{_sysconfdir}/ldc2.conf - -sed -i "s|DFLAGS.*|DFLAGS=-I%{_includedir}/d -L-L%{_libdir} -d-version=Phobos -defaultlib=phobos2 -debuglib=phobos2|" bin/ldc2.rebuild.conf - -ln %{buildroot}%{_bindir}/ldc2 %{buildroot}%{_bindir}/ldc +# geany tags +install -m0755 phobos.d.tags %{buildroot}/%{_datadir}/geany/tags/ %clean rm -rf %{buildroot} +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig +%post druntime -p /sbin/ldconfig +%postun druntime -p /sbin/ldconfig +%post phobos -p /sbin/ldconfig +%postun phobos -p /sbin/ldconfig + %files %defattr(-,root,root,-) %doc LICENSE readme.txt %config(noreplace) %{_sysconfdir}/ldc2.rebuild.conf %config(noreplace) %{_sysconfdir}/ldc2.conf %config %{_sysconfdir}/rpm/macros.ldc -%{_bindir}/ldc +%{_sysconfdir}/bash_completion.d/ldc %{_bindir}/ldc2 %{_bindir}/ldmd2 -%{_includedir}/d/core %files druntime %defattr(-,root,root,-) -%doc druntime/LICENSE_1_0.txt druntime/README.txt +%doc runtime/druntime/LICENSE_1_0.txt runtime/druntime/README.txt %{_libdir}/libdruntime-ldc.so %files druntime-devel %defattr(-,root,root,-) %{_includedir}/d/ldc +%{_includedir}/d/core %files phobos %defattr(-,root,root,-) -%doc phobos/LICENSE_1_0.txt -%{_libdir}/liblphobos2.so +%doc runtime/phobos/LICENSE_1_0.txt +%{_libdir}/libphobos2-ldc.so %files phobos-devel %defattr(-,root,root,-) -%{_includedir}/d/phobos +%{_includedir}/d/crc32.d +%{_includedir}/d/std +%{_includedir}/d/etc + +%files phobos-geany-tags +%defattr(-,root,root,-) +%{_datadir}/geany/tags/phobos.d.tags %changelog +* Wed Dec 6 2011 Jonathan MERCIER - 2-8.20111206gitfa5fb92 +- Put %%{_d_includedir}/core into druntime-devel package + +* Wed Dec 6 2011 Jonathan MERCIER - 2-8.20111206git641cc85 +- Update compiler to latest revision +- Update runtime to latest revision +- Update phobos to latest revision + +* Thu Dec 1 2011 Jonathan MERCIER - 2-7.20111117git4add11b +- Update to latest revision +- fix dependencies + +* Sat Nov 9 2011 Jonathan MERCIER - 2-6.20111112gitd9da872 +- Update to latest revision + +* Thu Nov 9 2011 Jonathan MERCIER - 2-5.20110911git3cf958ad +- Update to latest revision + * Sat Sep 17 2011 Jonathan MERCIER - 2-4.20110915git423076d - Update to latest revision