Newest version for special F17 feature

epel9
Jonathan MERCIER 13 years ago
parent 5a287b48b3
commit 7450d879a3

@ -1,8 +1,9 @@
#%global debug_package %{nil} # debug info seem not works with D compiler
%global snapdate 20110915 %global debug_package %{nil}
%global ldc_rev 423076d %global snapdate 20111206
%global phobos_rev a8106d9 %global ldc_rev fa5fb92
%global druntime_rev fba10fa %global phobos_rev 2bebc8f
%global druntime_rev 24e79c6
%global alphatag %{snapdate}git%{ldc_rev} %global alphatag %{snapdate}git%{ldc_rev}
%global phobostag %{snapdate}git%{phobos_rev} %global phobostag %{snapdate}git%{phobos_rev}
%global druntimetag %{snapdate}git%{druntime_rev} %global druntimetag %{snapdate}git%{druntime_rev}
@ -13,19 +14,16 @@
# cd ldc/phobos; git rev-parse --short HEAD -> for phobos_rev # cd ldc/phobos; git rev-parse --short HEAD -> for phobos_rev
# cd ldc/druntime/; git rev-parse --short HEAD -> for druntime_rev # cd ldc/druntime/; git rev-parse --short HEAD -> for druntime_rev
# git clone https://github.com/ldc-developers/ldc.git # git clone https://github.com/ldc-developers/ldc.git
# (cd ldc; git checkout 423076d; git submodule init; git submodule update; \ # cd ldc; git submodule update -i; git checkout %%ldc_rev
# git archive --prefix=ldc-%%{alphatag}/ HEAD \ # git archive --prefix=ldc-%%{alphatag}/ HEAD | xz > ../ldc-%%{alphatag}.xz
# ) | xz > ldc-%%{alphatag}.xz # cd runtime/druntime
# (cd ldc/druntime; \ # git archive --prefix=runtime/druntime/ HEAD | xz > ../../../ldc-druntime-%%{druntimetag}.xz
# git archive --prefix=druntime/ HEAD \ # cd ../phobos
# ) | xz > ldc-druntime-%%{druntimetag}.xz # git archive --prefix=runtime/phobos/ HEAD | xz > ../../../ldc-phobos-%%{phobostag}.xz
# (cd ldc/phobos; \
# git archive --prefix=phobos/ HEAD \
# ) | xz > ldc-phobos-%%{phobostag}.xz
Name: ldc Name: ldc
Version: 2 Version: 2
Release: 4.%{alphatag}%{?dist} Release: 9.%{alphatag}%{?dist}
Summary: A compiler for the D programming language Summary: A compiler for the D programming language
Group: Development/Languages 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 # The files gen/asmstmt.cpp and gen/asm-*.hG PL version 2+ or artistic license
License: BSD License: BSD
URL: http://www.dsource.org/projects/ldc URL: http://www.dsource.org/projects/ldc
Source0: %{name}-%{alphatag}.tar.xz Source0: %{name}-%{alphatag}.xz
Source1: %{name}-phobos-%{phobostag}.tar.xz Source1: %{name}-phobos-%{phobostag}.xz
Source2: %{name}-druntime-%{druntimetag}.tar.xz Source2: %{name}-druntime-%{druntimetag}.xz
Source3: macros.%{name} 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) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires: llvm-devel >= 2.9 BuildRequires: llvm-devel >= 3.0
BuildRequires: libconfig, libconfig-devel BuildRequires: libconfig, libconfig-devel
BuildRequires: cmake BuildRequires: cmake
BuildRequires: gc, gcc-c++, gcc BuildRequires: gc, gcc-c++, gcc
@ -96,6 +92,7 @@ démarage/extinction, etc
Summary: Support for developing D application Summary: Support for developing D application
Group: Development/Tools Group: Development/Tools
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: %{name}-druntime
%description druntime-devel %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 Summary: Support for developing D application
Group: Development/Tools Group: Development/Tools
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: %{name}-phobos
Requires: %{name}-druntime-devel
%description phobos-devel %description phobos-devel
The phobos-devel package contains header files for developing D 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 Le paquet phobos-devel contient les fichiers d'entêtes pour développer
des applications en D utilisant phobos. 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 %prep
%setup -q -n %{name}-%{alphatag} %setup -q -n %{name}-%{alphatag}
%setup -q -T -D -a 1 -n %{name}-%{alphatag} %setup -q -T -D -a 1 -n %{name}-%{alphatag}
%setup -q -T -D -a 2 -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' {} \; 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 %build
%cmake -DD_VERSION:STRING=2 \ %cmake -DMULTILIB:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d .
-DCONF_INST_DIR:PATH=%{_sysconfdir} \ make %{?_smp_mflags} VERBOSE=2 phobos2
-DRUNTIME_DIR=./druntime \
-DPHOBOS2_DIR=./phobos \ # generate geany tags
-DD_FLAGS:STRING="-O2;-g;-w;-d;-release" \ geany -c geany_config -g phobos.d.tags $(find runtime/phobos/std -name "*.d")
-DLLVM_CONFIG_HEADER=config-%{__isa_bits}.h \
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \
.
make VERBOSE=2 phobos2
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
make %{?_smp_mflags} install DESTDIR=%{buildroot} make %{?_smp_mflags} install DESTDIR=%{buildroot}
mkdir -p %{buildroot}/%{_sysconfdir}/rpm mkdir -p %{buildroot}/%{_sysconfdir}/rpm
mkdir -p %{buildroot}/%{_includedir}/d/ldc 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 install --mode=0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.ldc
# geany tags
sed -i \ install -m0755 phobos.d.tags %{buildroot}/%{_datadir}/geany/tags/
-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
%clean %clean
rm -rf %{buildroot} 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 %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc LICENSE readme.txt %doc LICENSE readme.txt
%config(noreplace) %{_sysconfdir}/ldc2.rebuild.conf %config(noreplace) %{_sysconfdir}/ldc2.rebuild.conf
%config(noreplace) %{_sysconfdir}/ldc2.conf %config(noreplace) %{_sysconfdir}/ldc2.conf
%config %{_sysconfdir}/rpm/macros.ldc %config %{_sysconfdir}/rpm/macros.ldc
%{_bindir}/ldc %{_sysconfdir}/bash_completion.d/ldc
%{_bindir}/ldc2 %{_bindir}/ldc2
%{_bindir}/ldmd2 %{_bindir}/ldmd2
%{_includedir}/d/core
%files druntime %files druntime
%defattr(-,root,root,-) %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 %{_libdir}/libdruntime-ldc.so
%files druntime-devel %files druntime-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_includedir}/d/ldc %{_includedir}/d/ldc
%{_includedir}/d/core
%files phobos %files phobos
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc phobos/LICENSE_1_0.txt %doc runtime/phobos/LICENSE_1_0.txt
%{_libdir}/liblphobos2.so %{_libdir}/libphobos2-ldc.so
%files phobos-devel %files phobos-devel
%defattr(-,root,root,-) %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 %changelog
* Wed Dec 6 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-8.20111206gitfa5fb92
- Put %%{_d_includedir}/core into druntime-devel package
* Wed Dec 6 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-8.20111206git641cc85
- Update compiler to latest revision
- Update runtime to latest revision
- Update phobos to latest revision
* Thu Dec 1 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-7.20111117git4add11b
- Update to latest revision
- fix dependencies
* Sat Nov 9 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-6.20111112gitd9da872
- Update to latest revision
* Thu Nov 9 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-5.20110911git3cf958ad
- Update to latest revision
* Sat Sep 17 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-4.20110915git423076d * Sat Sep 17 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-4.20110915git423076d
- Update to latest revision - Update to latest revision

Loading…
Cancel
Save