]>
Commit | Line | Data |
---|---|---|
39aab3ac JB |
1 | Summary: Digital Mars D compiler |
2 | Summary(pl.UTF-8): Digital Mars D - kompilator języka D | |
3 | Name: dmd | |
0753fbab | 4 | Version: 2.065.0 |
39aab3ac JB |
5 | Release: 1 |
6 | # Digital Mars is proprietary license (not redistributable) | |
0753fbab | 7 | License: Boost v1.0 (D runtime, Phobos), GPL v1+ or Artistic (compiler frontend), Digital Mars (the rest) |
39aab3ac | 8 | Group: Development/Languages |
0753fbab JB |
9 | Source0: http://downloads.dlang.org/releases/2014/%{name}.%{version}.zip |
10 | # NoSource0-md5: a17a699a7e4715658393819e9dc1814a | |
bcce314d JB |
11 | Patch0: %{name}-system-zlib.patch |
12 | Patch1: %{name}-shared.patch | |
39aab3ac JB |
13 | NoSource: 0 |
14 | URL: http://dlang.org/dmd-linux.html | |
bcce314d | 15 | BuildRequires: curl-devel |
39aab3ac | 16 | BuildRequires: libstdc++-devel |
bcce314d JB |
17 | BuildRequires: zlib-devel |
18 | Requires: %{name}-libs = %{version}-%{release} | |
39aab3ac JB |
19 | ExclusiveArch: %{ix86} %{x8664} |
20 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
21 | ||
22 | %ifarch %{ix86} | |
23 | %define model 32 | |
24 | %else | |
25 | %define model 64 | |
26 | %endif | |
27 | ||
28 | %description | |
29 | Digital Mars D compiler. | |
30 | ||
31 | %description -l pl.UTF-8 | |
32 | Digital Mars D - kompilator języka D. | |
33 | ||
bcce314d JB |
34 | %package libs |
35 | Summary: Phobos runtime library for D language | |
36 | Summary(pl.UTF-8): Biblioteka uruchomieniowa Phobos dla języka D | |
37 | Group: Libraries | |
38 | ||
39 | %description libs | |
40 | Phobos runtime library for D language. | |
41 | ||
42 | %description libs -l pl.UTF-8 | |
43 | Biblioteka uruchomieniowa Phobos dla języka D. | |
44 | ||
45 | %package static | |
46 | Summary: Phobos and D-runtime static libraries for D language | |
47 | Summary(pl.UTF-8): Biblioteki statyczne Phobos oraz D-runtime dla języka D | |
48 | Group: Development/Libraries | |
49 | Requires: %{name} = %{version}-%{release} | |
50 | ||
51 | %description static | |
52 | Phobos and D-runtime static libraries for D language. | |
53 | ||
54 | %description static -l pl.UTF-8 | |
55 | Biblioteki statyczne Phobos oraz D-runtime dla języka D. | |
56 | ||
39aab3ac JB |
57 | %prep |
58 | %setup -q -n dmd2 | |
bcce314d JB |
59 | %patch0 -p1 |
60 | %patch1 -p1 | |
39aab3ac | 61 | |
bcce314d | 62 | echo "%{version}" > src/dmd/VERSION |
39aab3ac JB |
63 | |
64 | cp -p src/dmd/backendlicense.txt dmd-backendlicense.txt | |
65 | cp -p src/dmd/readme.txt dmd-readme.txt | |
66 | cp -p src/druntime/LICENSE druntime-LICENSE | |
0753fbab | 67 | cp -p src/druntime/README.md druntime-README.md |
39aab3ac JB |
68 | |
69 | %build | |
70 | %{__make} -C src/dmd -f posix.mak \ | |
71 | OS=LINUX \ | |
72 | TARGET_CPU=X86 \ | |
73 | MODEL=%{model} \ | |
74 | HOST_CC="%{__cxx}" \ | |
75 | GFLAGS='%{rpmcxxflags} $(WARNINGS) -D__pascal= -fno-exceptions' | |
76 | ||
77 | DMD=$(pwd)/src/dmd/dmd | |
bcce314d JB |
78 | for t in target lib/libdruntime-linux%{model}.so ; do |
79 | %{__make} -C src/druntime -f posix.mak $t \ | |
39aab3ac JB |
80 | OS=linux \ |
81 | MODEL=%{model} \ | |
82 | CC="%{__cc}" \ | |
83 | CFLAGS="%{rpmcflags} -m%{model} -fPIC" \ | |
84 | DMD="$DMD" \ | |
85 | PIC="-fPIC" | |
bcce314d | 86 | done |
39aab3ac JB |
87 | |
88 | %{__make} -C src/phobos -f posix.mak \ | |
89 | OS=linux \ | |
90 | MODEL=%{model} \ | |
91 | CC="%{__cc}" \ | |
92 | CFLAGS="%{rpmcflags} -m%{model} -fPIC" \ | |
93 | DMD="$DMD" \ | |
bcce314d | 94 | LIBCURL_STUB= \ |
39aab3ac JB |
95 | PIC="-fPIC" |
96 | ||
97 | %install | |
98 | rm -rf $RPM_BUILD_ROOT | |
99 | install -d $RPM_BUILD_ROOT{%{_includedir}/d/dmd/phobos,%{_libdir},%{_sysconfdir},%{_docdir}/dmd} | |
100 | ||
101 | install -Dp src/dmd/dmd $RPM_BUILD_ROOT%{_bindir}/dmd | |
0753fbab | 102 | cp -p src/druntime/lib/libdruntime-linux%{model}* $RPM_BUILD_ROOT%{_libdir} |
bcce314d | 103 | cp -a src/phobos/generated/linux/release/%{model}/libphobos2.so* $RPM_BUILD_ROOT%{_libdir} |
39aab3ac JB |
104 | cp -p src/phobos/generated/linux/release/%{model}/libphobos2.a $RPM_BUILD_ROOT%{_libdir} |
105 | cp -pr src/druntime/import $RPM_BUILD_ROOT%{_includedir}/d/dmd/druntime | |
106 | cp -pr src/phobos/{std,*.d} $RPM_BUILD_ROOT%{_includedir}/d/dmd/phobos | |
107 | cp -pr src/druntime/doc $RPM_BUILD_ROOT%{_docdir}/dmd/druntime | |
108 | install -Dp man/man1/dmd.1 $RPM_BUILD_ROOT%{_mandir}/man1/dmd.1 | |
0753fbab | 109 | install -Dp man/man5/dmd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5/dmd.conf.5 |
39aab3ac JB |
110 | |
111 | cat >$RPM_BUILD_ROOT%{_sysconfdir}/dmd.conf <<EOF | |
112 | [Environment] | |
113 | DFLAGS=-I/usr/include/d/dmd/phobos -I/usr/include/d/dmd/druntime -L-L%{_libdir} -L--no-warn-search-mismatch -L--export-dynamic | |
114 | EOF | |
115 | ||
116 | %clean | |
117 | rm -rf $RPM_BUILD_ROOT | |
118 | ||
bcce314d JB |
119 | %post libs -p /sbin/ldconfig |
120 | %postun libs -p /sbin/ldconfig | |
121 | ||
39aab3ac JB |
122 | %files |
123 | %defattr(644,root,root,755) | |
124 | %doc README.TXT license.txt dmd-*.txt druntime-* | |
125 | %attr(755,root,root) %{_bindir}/dmd | |
bcce314d JB |
126 | %attr(755,root,root) %{_libdir}/libphobos2.so |
127 | %attr(755,root,root) %{_libdir}/libdruntime-linux%{model}.so | |
0753fbab JB |
128 | %{_libdir}/libdruntime-linux%{model}so.a |
129 | %{_libdir}/libdruntime-linux%{model}so.o | |
39aab3ac JB |
130 | %{_sysconfdir}/dmd.conf |
131 | %dir %{_includedir}/d | |
132 | %{_includedir}/d/dmd | |
133 | %{_mandir}/man1/dmd.1* | |
134 | %{_mandir}/man5/dmd.conf.5* | |
135 | %{_docdir}/dmd | |
bcce314d JB |
136 | |
137 | %files libs | |
138 | %defattr(644,root,root,755) | |
139 | %attr(755,root,root) %{_libdir}/libphobos2.so.*.*.* | |
140 | %attr(755,root,root) %ghost %{_libdir}/libphobos2.so.0.65 | |
141 | ||
142 | %files static | |
143 | %defattr(644,root,root,755) | |
144 | %{_libdir}/libdruntime-linux%{model}.a | |
145 | %{_libdir}/libdruntime-linux%{model}.o | |
146 | %{_libdir}/libphobos2.a |