Update to latest revision

epel9
Jonathan MERCIER 13 years ago
parent 6f4f9c0d88
commit f44a5d52e2

5
.gitignore vendored

@ -8,3 +8,8 @@ ldc-20100804hg1655.tar.xz
/ldc-20100102hg1705.tar.xz /ldc-20100102hg1705.tar.xz
/ldc-20110115hg1832.tar.xz /ldc-20110115hg1832.tar.xz
/ldc-20110901git58d40d2.tar.xz /ldc-20110901git58d40d2.tar.xz
/ldc_fix_build.patch
/ldc-20110915git423076d.tar.xz
/ldc-druntime-20110915gitfba10fa.tar.xz
/ldc-phobos-20110915gita8106d9.tar.xz
/macros.ldc

@ -1,17 +1,30 @@
%global alphatag 20110901 %global snapdate 20110915
%global git_revision git58d40d2 %global ldc_rev 423076d
%global phobos_rev a8106d9
# The source for this package was pulled from upstream's subversion (svn). %global druntime_rev fba10fa
%global alphatag %{snapdate}git%{ldc_rev}
%global phobostag %{snapdate}git%{phobos_rev}
%global druntimetag %{snapdate}git%{druntime_rev}
# The source for this package was pulled from upstream's git.
# Use the following commands to generate the tarball: # Use the following commands to generate the tarball:
# git rev-parse --short HEAD -> for get hash # cd ldc; git rev-parse --short HEAD -> for ldc_rev
# git clone git://github.com/bioinfornatics/ldc2.git ldc-20110901git58d40d2 # cd ldc/phobos; git rev-parse --short HEAD -> for phobos_rev
# (cd ldc-20110901git58d40d2; git checkout 161823bef25fa366677d; git submodule init; git submodule update) # cd ldc/druntime/; git rev-parse --short HEAD -> for druntime_rev
# find ldc-20110901git58d40d2 -name ".git" -print0 | xargs -0 rm -fr # git clone https://github.com/ldc-developers/ldc.git
# tar cJvf ldc-20110901git58d40d2.tar.xz ldc-20110901git58d40d2 # (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
Name: ldc Name: ldc
Version: 2 Version: 2
Release: 2.%{alphatag}%{git_revision}%{?dist} Release: 4.%{alphatag}%{?dist}
Summary: A compiler for the D programming language Summary: A compiler for the D programming language
Group: Development/Languages Group: Development/Languages
@ -19,15 +32,19 @@ 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}%{git_revision}.tar.xz Source0: %{name}-%{alphatag}.tar.xz
Source1: macros.%{name} Source1: %{name}-phobos-%{phobostag}.tar.xz
Source2: %{name}-druntime-%{druntimetag}.tar.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) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: llvm-devel >= 2.9 #BuildRequires: llvm-devel >= 2.9
BuildRequires: libconfig, libconfig-devel BuildRequires: libconfig, libconfig-devel
BuildRequires: cmake BuildRequires: cmake
BuildRequires: gc, gcc-c++, gcc BuildRequires: gc, gcc-c++, gcc
Requires: libconfig BuildRequires: llvm-devel
%description %description
LDC is a compiler for the D programming Language. It is based on the latest DMD LDC is a compiler for the D programming Language. It is based on the latest DMD
@ -56,7 +73,7 @@ en qualité bêta. Regarder les tickets pour ressentir ce qui doit encore être
implémenter. implémenter.
%package druntime %package druntime
Summary: Runtime lirary for D Summary: Runtime library for D
Group: Development/Tools Group: Development/Tools
License: Boost License: Boost
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
@ -73,6 +90,21 @@ D. Est inclut le code système requis pour supporter le ramasse miette, tableau
associatif, gestion des exceptions, opertation sur des vecteurs, associatif, gestion des exceptions, opertation sur des vecteurs,
démarage/extinction, etc démarage/extinction, etc
%package druntime-devel
Summary: Support for developing D application
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
%description druntime-devel
The druntime-devel package contains header files for developing D
applications that use druntime.
%description druntime-devel -l fr
Le paquet druntime-devel contient les fichiers d'entêtes pour développer
des applications en D utilisant druntime.
%package phobos %package phobos
Summary: Standard Runtime Library Summary: Standard Runtime Library
Group: Development/Tools Group: Development/Tools
@ -94,81 +126,116 @@ pas une religion, c'est un langage de programmation, et il reconnaît que,
parfois, les objectifs sont contradictoire et contre-productive dans certaines parfois, les objectifs sont contradictoire et contre-productive dans certaines
situations, et les programmeurs doivent implémenter d'une certaines manière. situations, et les programmeurs doivent implémenter d'une certaines manière.
%package phobos-devel
Summary: Support for developing D application
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
%description phobos-devel
The phobos-devel package contains header files for developing D
applications that use phobos.
%description phobos-devel -l fr
Le paquet phobos-devel contient les fichiers d'entêtes pour développer
des applications en D utilisant phobos.
%prep %prep
%setup -q -n %{name}-%{alphatag}%{git_revision} %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' {} \; find . -type f -exec sed -i 's/\r//g' {} \;
#%patch0 -p1
%build %build
%cmake -DD_VERSION:STRING=2 -DCONF_INST_DIR:PATH=%{_sysconfdir} -DRUNTIME_DIR=./druntime -DPHOBOS2_DIR=./phobos . %cmake -DD_VERSION:STRING=2 \
-DCONF_INST_DIR:PATH=%{_sysconfdir} \
make %{?_smp_mflags} VERBOSE=2 phobos2 -DRUNTIME_DIR=./druntime \
-DPHOBOS2_DIR=./phobos \
-DD_FLAGS:STRING="-O2;-g;-w;-d;-release" \
-DLLVM_CONFIG_HEADER=config-%{__isa_bits}.h \
.
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}%{_bindir}/
mkdir -p %{buildroot}/%{_sysconfdir}/rpm mkdir -p %{buildroot}/%{_sysconfdir}/rpm
mkdir -p %{buildroot}/%{_includedir}/d mkdir -p %{buildroot}/%{_includedir}/d/ldc
mkdir -p %{buildroot}/%{_libdir}/ install --mode=0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.ldc
mkdir -p %{buildroot}/%{_includedir}/d/std
# This empty file is removed because it's never used. "lib" is explicitely used
# instead of %%_libdir because it's always used (not arch dependant)
#rm %{buildroot}%{_prefix}/lib/.empty
install --mode=0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.ldc
sed -i \ sed -i \
-e "10a \ \ \ \ \ \ \ \"-I%{_includedir}\/d\"," \ -e "10a \ \ \ \ \ \ \ \"-I%{_includedir}\/d\"," \
-e "11a \ \ \ \ \ \ \ \"-I%{_includedir}\/d\/phobos\","\
-e "/^.*-I.*%{name}-%{alphatag}%{git_revision}.*$/d" \ -e "/^.*-I.*%{name}-%{alphatag}%{git_revision}.*$/d" \
-e "s/-L-L.*lib/-L-L$(%{_libdir})\/druntime.so/" bin/ldc2.conf -e "s/-L-L.*lib/-L-L$(%{_libdir})\/druntime.so/" bin/ldc2.conf
sed -i "s|DFLAGS.*|DFLAGS=-I%{_includedir}/d -L-L%{_libdir} -d-version=Phobos -defaultlib=phobos2 -debuglib=phobos2|" bin/ldc2.rebuild.conf sed -i "s|DFLAGS.*|DFLAGS=-I%{_includedir}/d -L-L%{_libdir} -d-version=Phobos -defaultlib=phobos2 -debuglib=phobos2|" bin/ldc2.rebuild.conf
# ldc ln %{buildroot}%{_bindir}/ldc2 %{buildroot}%{_bindir}/ldc
cp -rp import/* %{buildroot}/%{_includedir}/d
install bin/ldc2.conf %{buildroot}%{_sysconfdir}/ldc2.conf # fix install
install bin/ldc2.rebuild.conf %{buildroot}%{_sysconfdir}/ldc2.rebuild.conf # lib for 64bits
install -m0755 bin/ldmd2 %{buildroot}%{_bindir}/ldmd2 %ifarch x86_64 sparc64
install -m0755 bin/ldc2 %{buildroot}%{_bindir}/ldc2 mv %{buildroot}/%{_prefix}/lib %{buildroot}/%{_libdir}/
%endif
# druntime
install lib/libdruntime-ldc.so %{buildroot}/%{_libdir}/libdruntime-ldc.so # devel file
cp -rp druntime/import/* %{buildroot}/%{_includedir}/d/ ls %{buildroot}/%{_prefix}
mv %{buildroot}/%{_prefix}/src/debug/%{name}-%{alphatag} %{buildroot}/%{_includedir}/d/
# phobos rm -fr %{buildroot}/%{_includedir}/d/runtime
cp -rp phobos/std %{buildroot}/%{_includedir}/d/ # druntime
install lib/liblphobos2.so %{buildroot}/%{_libdir}/liblphobos2.so mv %{buildroot}/%{_includedir}/d/druntime/src/* %{buildroot}/%{_includedir}/d/druntime:
rm -fr %{buildroot}/%{_includedir}/d/druntime/src
# phobos
# ldc
mv %{buildroot}/%{_includedir}/d/dmd2 %{buildroot}/%{_includedir}/d/ldc/dmd2
mv %{buildroot}/%{_includedir}/d/gen %{buildroot}/%{_includedir}/d/ldc/gen
mv %{buildroot}/%{_includedir}/d/ir %{buildroot}/%{_includedir}/d/ldc/ir
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc LICENSE readme.txt %doc LICENSE readme.txt
%{_bindir}/ldc2
%{_bindir}/ldmd2
%{_includedir}/d/core
%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
%{_bindir}/ldc2
%{_bindir}/ldmd2
%{_includedir}/d/ldc
%files druntime %files druntime
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc druntime/LICENSE_1_0.txt druntime/README.txt %doc druntime/LICENSE_1_0.txt druntime/README.txt
%{_includedir}/d/ldc
%{_includedir}/d/object.di
%{_includedir}/d/std/intrinsic.di
%{_libdir}/libdruntime-ldc.so %{_libdir}/libdruntime-ldc.so
%files druntime-devel
%defattr(-,root,root,-)
%{_includedir}/d/druntime
%{_includedir}/d/object.di
%files phobos %files phobos
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc phobos/LICENSE_1_0.txt %doc phobos/LICENSE_1_0.txt
%{_libdir}/liblphobos2.so %{_libdir}/liblphobos2.so
%files phobos-devel
%defattr(-,root,root,-)
%{_includedir}/d/std %{_includedir}/d/std
%{_includedir}/d/etc
%changelog %changelog
* Sat Sep 17 2011 Jonathan MERCIER <bioinfornatics@fedoraproject.org> - 2-4.20110915git423076d
- Update to latest revision
* Wed Aug 3 2011 Michel Salim <salimma@fedoraproject.org> - 2-3.20110801git58d40d2
- Rebuild against final LLVM 2.9 release
* Mon Aug 1 2011 Jonathan MERCIER <bioinfornatics at gmail.com> 2-2.20110801git58d40d2
- update LDC2 from upstream
* Tue Jul 26 2011 Jonathan MERCIER <bioinfornatics at gmail.com> 2-2.20110826hg1991 * Tue Jul 26 2011 Jonathan MERCIER <bioinfornatics at gmail.com> 2-2.20110826hg1991
- update LDC2 from upstream - update LDC2 from upstream

@ -1 +1,5 @@
8fed5536592380a90e3e6f3748bcc364 ldc-20110901git58d40d2.tar.xz 39989ff6e8b79ab66cc63965f15872cc ldc_fix_build.patch
6f58232c2a7553dd25ee10cc5290bd19 ldc-20110915git423076d.tar.xz
bddc6dc464f0be3cfd887400052de9d4 ldc-druntime-20110915gitfba10fa.tar.xz
651c18c92efe41b42ecbc1e44ddc0218 ldc-phobos-20110915gita8106d9.tar.xz
79c203a287c764bed1e612d7b77e1901 macros.ldc

Loading…
Cancel
Save