]> git.pld-linux.org Git - packages/fpc.git/blame - fpc.spec
- updated to 2.6.2
[packages/fpc.git] / fpc.spec
CommitLineData
d59a3c01
BZ
1#
2# Conditional build:
938b52f5 3%bcond_without ide # build with ide
d59a3c01
BZ
4%bcond_without doc # build without doc
5
e8f622a3 6Summary: 32-bit compiler for the i386 and m68k processors
1d1a4bc8
ER
7Summary(pl.UTF-8): 32 bitowy kompilator dla procesorów i386 i m68k
8Summary(ru.UTF-8): Свободный компилятор Pascal
9Summary(uk.UTF-8): Вільний компілятор Pascal
e8f622a3 10Name: fpc
9e9ea3c1 11Version: 2.6.2
f5706e3a 12Release: 1
68db2ce9 13License: GPL
e8f622a3 14Group: Development/Languages
7ab23651 15Source0: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/source/%{name}build-%{version}.tar.gz
9e9ea3c1 16# Source0-md5: 89c7e60db6280f3d5cc006a4a9ff43a9
7ab23651 17Source1: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/i386-linux/%{name}-%{version}.i386-linux.tar
9e9ea3c1 18# Source1-md5: 3474affc41d6106c498fc5b79f883588
7ab23651 19Source2: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/x86_64-linux/%{name}-%{version}.x86_64-linux.tar
9e9ea3c1 20# Source2-md5: c32c4c8e94aed6f84b34407e7ea84ecd
e7da2251 21Source3: ftp://ftp.freepascal.org/pub/fpc/dist/%{version}/powerpc-linux/%{name}-%{version}.powerpc-linux.tar
9e9ea3c1 22# Source3-md5: 07f891e7552aeb21908940b05c3062a3
786da423 23Patch0: %{name}-skip-dev-dot.patch
938b52f5 24Patch1: %{name}-link.patch
04dae7e9 25Patch2: %{name}-gdb.patch
e8f622a3 26URL: http://www.freepascal.org/
2475030b 27BuildRequires: binutils-static >= 3:2.17.50
f5681e7a 28BuildRequires: gpm-devel
41cff313 29BuildRequires: ncurses-devel
3f331815 30BuildRequires: rpmbuild(macros) >= 1.213
938b52f5 31%if %{with ide}
7c170f2b 32BuildRequires: gdb-lib >= 7.2-7
938b52f5
JR
33BuildRequires: python-static
34BuildRequires: readline-static
2844e15a 35BuildRequires: libselinux-static
9e9ea3c1 36BuildRequires: libsepol-static
938b52f5 37BuildRequires: zlib-static
2844e15a 38BuildRequires: xz-static
938b52f5
JR
39%endif
40%if %{with doc}
41BuildRequires: tetex-fonts-jknappen
42BuildRequires: tetex-format-pdflatex
43BuildRequires: tetex-makeindex
44BuildRequires: tetex-metafont
45BuildRequires: texlive-xetex
46%endif
7da7a711 47Requires: binutils
41cff313 48Provides: fpc-bootstrap
0ba63043 49ExclusiveArch: %{ix86} %{x8664} ppc
e7e4f882 50BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
e8f622a3
AM
51
52%description
5da97089 53Free Pascal is a 32-bit compiler for the i386 and m68k processors.
54Free Pascal is designed to be, as much as possible, source compatible
55with Turbo Pascal 7.0 and Delphi 4 (although this goal is not yet
56attained), but it also enhances these languages with elements like
57function overloading. And, unlike these ancestors, it supports
58multiple platforms.
e8f622a3 59
6b989699
JR
60%description -l pl.UTF-8
61Free Pascal to 32 bitowy kompilator dla procesorów i386 oraz m86k.
62Free Pascal został zaprojektowany by być (jak tylko to możliwe)
63kompatybilnym z Turbo Pascal 7.0 oraz Delphi 4. Free Pascal również
64rozszerza te języki elementami takimi jak przeciążanie funkcji.
e8f622a3 65
6b989699
JR
66%description -l ru.UTF-8
67FPC -- 32-битный компилятор Pascal, совместимый с Turbo Pascal 7.0 и
68Delphi. Поставляется с RTL (библиотекой времени исполнения), FCL
69(библиотекой свободных компонент), интерфейсами к gtk, ncurses, zlib,
3c3a6271 70mysql, postgres, ibase.
def44520 71
6b989699
JR
72%description -l uk.UTF-8
73FPC -- 32-бітний компілятор Pascal, сумісний із Turbo Pascal 7.0 та
74Delphi. Постачається із RTL (бібліотекою часу виконання), FCL
75(бібліотекою вільних компонент), інтерфейсами до gtk, ncurses, zlib,
3c3a6271 76mysql, postgres, ibase.
def44520 77
412a5ed9
KK
78%package src
79Summary: Free Pascal Compiler source files
1d1a4bc8 80Summary(pl.UTF-8): Pliki źródłowe kompilatora Free Pascal
412a5ed9 81Group: Development
412a5ed9 82Requires: %{name} = %{version}-%{release}
41cff313 83Provides: fpcsrc
412a5ed9
KK
84
85%description src
86Free Pascal Compiler source files.
87
6b989699
JR
88%description src -l pl.UTF-8
89Pliki źródłowe kompilatora Free Pascal.
412a5ed9 90
1eee4a0c
JR
91%package examples
92Summary: Free Pascal Compiler exaple programs
1d1a4bc8 93Summary(pl.UTF-8): Przykładowe programy do kompilatora Free Pascal
1eee4a0c 94Group: Documentation
3f331815 95Requires: %{name} = %{version}-%{release}
1eee4a0c
JR
96
97%description examples
98Free Pascal Compiler exaple programs.
99
6b989699
JR
100%description examples -l pl.UTF-8
101Przykładowe programy do kompilatora Free Pascal.
1eee4a0c 102
786da423
JR
103%package doc
104Summary: Free Pascal Compiler documentation
1d1a4bc8 105Summary(pl.UTF-8): Dokumentacja do kompilatora Free Pascal
786da423 106Group: Documentation
7ab23651 107# doesn't require base
786da423
JR
108
109%description doc
110Documentation for fpc in PDF format.
111
6b989699 112%description doc -l pl.UTF-8
786da423
JR
113Dokumentacja do fpc w formacie PDF.
114
e8f622a3 115%prep
d59a3c01 116%setup -q -n %{name}build-%{version}
786da423 117%patch0 -p1
938b52f5 118%patch1 -p1
04dae7e9 119%patch2 -p1
d59a3c01 120
d3e9323d 121%ifarch %{ix86}
786da423 122tar xf %{SOURCE1}
4e71325a 123%define _bver %{version}
d3e9323d 124%define _bname 386
04dae7e9 125%define _barch i386
d3e9323d 126%endif
3f331815 127%ifarch %{x8664}
786da423 128tar xf %{SOURCE2}
4e71325a 129%define _bver %{version}
d3e9323d 130%define _bname x64
04dae7e9 131%define _barch x86_64
d3e9323d 132%endif
add5738b 133%ifarch ppc
786da423 134tar xf %{SOURCE3}
4e71325a 135%define _bver %{version}
add5738b 136%define _bname ppc
04dae7e9 137%define _barch powepc
add5738b 138%endif
d3e9323d 139
04dae7e9 140cd %{name}-%{version}.%{_barch}-linux
786da423 141tar xf binary.*-linux.tar
04dae7e9 142cd ..
786da423
JR
143
144mkdir bin
145cd bin
04dae7e9 146for i in ../%{name}-%{version}.%{_barch}-linux/*.tar.gz ; do
786da423
JR
147 tar xzf $i
148done
4e71325a 149ln -sf `pwd`/lib/%{name}/%{_bver}/ppc* bin
938b52f5 150cd ..
786da423 151
412a5ed9
KK
152# save for fpc-src
153install -d fpc-src
154cp -af fpcsrc/* fpc-src
155
938b52f5
JR
156%build
157# use ld.bfd
158[ -d our-ld ] || install -d our-ld
159ln -sf %{_bindir}/ld.bfd our-ld/ld
160export PATH=$(pwd)/our-ld:$PATH
161
4e71325a 162PP=`pwd`/bin/lib/%{name}/%{_bver}/ppc%{_bname}
80841e72 163NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
164NEWFPDOC=`pwd`/fpcsrc/utils/fpdoc/fpdoc
d3e9323d 165
ca161524 166# DO NOT PUT $RPM_OPT_FLAGS IN OPT, IT DOES NOT WORK - baggins
167case "%{_build_cpu}" in
d59a3c01
BZ
168 i386) OPTF="-OG2p1" ;;
169 i486) OPTF="-OG2p1" ;;
170 i586) OPTF="-OG2p2" ;;
171 i686) OPTF="-Og2p3" ;;
172 athlon) OPTF="-Og2p3" ;;
173 *) OPTF="-O2" ;;
ca161524 174esac
175
80841e72 176%{__make} -C fpcsrc compiler_cycle \
a5bf4f1a 177 OPT="$OPTF -Xs -n" \
d88793f7 178 RELEASE="1" \
e8f622a3
AM
179 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
180 BININSTALLDIR=%{_bindir} \
1eee4a0c 181 PP="$PP" \
94c54379 182 FPC="$PP" \
d59a3c01 183 LINKSMART=YES
94c54379 184
80841e72 185%{__make} -C fpcsrc OPT="$OPTF -Xs -n" \
d88793f7 186 RELEASE="1" \
5edb3786
SZ
187 BASEINSTALLDIR=%{_libdir}/%{name}/%{version} \
188 BININSTALLDIR=%{_bindir} \
fee73cf5 189 GDBLIBDIR=%{_libdir} \
5edb3786 190 PP="$NEWPP" \
94c54379 191 FPC="$NEWPP" \
d59a3c01 192 FPDOC=$NEWFPDOC \
d3e9323d 193 DATA2INC=`pwd`/utils/data2inc \
d59a3c01
BZ
194 LINKSMART=YES \
195 NODOCS=YES \
196 rtl_clean \
197 packages_clean \
198 utils_clean \
199 %{?with_ide: ide_clean installer_clean} \
200 rtl_all \
201 packages_all \
938b52f5 202 utils_all %{?with_ide:ide_all installer_all}
f5681e7a 203
d59a3c01 204%if %{with doc}
786da423 205export save_size=10000
cbfcda9f 206%{__make} -j1 -C fpcdocs \
786da423
JR
207 FPDOC=$NEWFPDOC \
208 FPC="$NEWPP" \
209 pdf
d59a3c01 210%endif
786da423 211
e8f622a3
AM
212%install
213rm -rf $RPM_BUILD_ROOT
412a5ed9
KK
214install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir},%{_datadir}/fpcsrc,%{_examplesdir}/fpc}
215
216cp -af fpc-src/* $RPM_BUILD_ROOT%{_datadir}/fpcsrc
9e9ea3c1 217rm -r $RPM_BUILD_ROOT%{_datadir}/fpcsrc/tests
e8f622a3 218
80841e72 219NEWPP=`pwd`/fpcsrc/compiler/ppc%{_bname}
220FPCMAKE=`pwd`/fpcsrc/utils/fpcm/fpcmake
7be7bd7e 221%{__make} -j1 -C fpcsrc \
f5681e7a 222 compiler_distinstall \
223 rtl_distinstall \
f5681e7a 224 packages_distinstall \
d59a3c01 225 %{?with_ide:ide_distinstall} \
f5681e7a 226 utils_distinstall \
d3e9323d 227 PP="$NEWPP" \
228 FPCMAKE="$FPCMAKE" \
f5681e7a 229 SMARTLINK=YES \
8bf0c9cb 230 INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
231 INSTALL_BINDIR=$RPM_BUILD_ROOT%{_bindir} \
232 INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
233 INSTALL_DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
234 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
d88793f7 235 INSTALL_BASEDIR=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} \
f5681e7a 236 INSTALL_EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name} \
7da7a711 237 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir} \
d88793f7 238 CODPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}/lexyacc
d3e9323d 239
7be7bd7e 240%{__make} -j1 -C install/man installman \
80841e72 241 INSTALL_MANDIR=$RPM_BUILD_ROOT%{_mandir}
9a679a53 242
fcc93709
JR
243ln -sf ../%{_lib}/%{name}/%{version}/ppc%{_bname} $RPM_BUILD_ROOT%{_bindir}
244
245ln -sf %{_bindir}/ld.bfd $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}/ld
e8f622a3 246
2844e15a
JR
247sh fpc-src/compiler/utils/samplecfg $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version} $RPM_BUILD_ROOT%{_sysconfdir}
248%{__sed} -i -e "s,$RPM_BUILD_ROOT,,g" $RPM_BUILD_ROOT%{_sysconfdir}/{*.cfg,fppkg/default}
e588518e 249
e8f622a3
AM
250%clean
251rm -rf $RPM_BUILD_ROOT
252
e8f622a3
AM
253%files
254%defattr(644,root,root,755)
255%attr(755,root,root) %{_bindir}/*
3c3a6271 256%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpc.cfg
2844e15a
JR
257%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fppkg.cfg
258%dir %{_sysconfdir}/fppkg
259%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fppkg/default
e8f622a3
AM
260%dir %{_libdir}/%{name}
261%dir %{_libdir}/%{name}/%{version}
d88793f7 262%dir %{_libdir}/%{name}/lexyacc
e8f622a3 263%{_libdir}/%{name}/%{version}/msg
1eee4a0c 264%{_libdir}/%{name}/%{version}/units
d59a3c01 265%if %{with ide}
f5681e7a 266%{_libdir}/%{name}/%{version}/ide
d59a3c01 267%endif
d88793f7 268%{_libdir}/%{name}/lexyacc/*
fcc93709 269%attr(755,root,root) %{_libdir}/%{name}/%{version}/ld
d3e9323d 270%attr(755,root,root) %{_libdir}/%{name}/%{version}/ppc%{_bname}
1eee4a0c 271%attr(755,root,root) %{_libdir}/%{name}/%{version}/samplecfg
7da7a711 272%{_mandir}/man*/*
1eee4a0c 273
412a5ed9
KK
274%files src
275%defattr(644,root,root,755)
276%{_datadir}/fpcsrc
277
1eee4a0c
JR
278%files examples
279%defattr(644,root,root,755)
f5681e7a 280%{_examplesdir}/fpc
786da423 281
d59a3c01 282%if %{with doc}
786da423
JR
283%files doc
284%defattr(644,root,root,755)
285%doc fpcdocs/*.pdf
d59a3c01 286%endif
This page took 0.080571 seconds and 4 git commands to generate.