diff --git a/README.md b/README.md index 7e7ba1e..7283de6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # fpc +Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target multiple processor architectures: Intel x86, AMD64/x86-64, PowerPC, PowerPC64, SPARC, and ARM. Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/Darwin, DOS, Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, and Nintendo Wii. Additionally, support for the JVM, MIPS (big and little endian variants), i8086, Motorola 68k and AArch64 architectures is available in the development versions. + diff --git a/fpc.spec b/fpc.spec new file mode 100644 index 0000000..a5d2a14 --- /dev/null +++ b/fpc.spec @@ -0,0 +1,97 @@ +Name: fpc +Version: 2.6.4 +Release: 1mamba +Summary: A Turbo Pascal 7.0 and Delphi compatible 32bit Pascal Compiler +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.freepascal.org/ +Source: http://downloads.sourceforge.net/project/freepascal/Source/%{version}/fpcbuild-%{version}.zip +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +## AUTOBUILDREQ-END +Requires(post): %{__install_info} +Requires(preun): %{__install_info} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target multiple processor architectures: Intel x86, AMD64/x86-64, PowerPC, PowerPC64, SPARC, and ARM. Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/Darwin, DOS, Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, and Nintendo Wii. Additionally, support for the JVM, MIPS (big and little endian variants), i8086, Motorola 68k and AArch64 architectures is available in the development versions. + +%debug_package + +%prep +%setup -q -n %{name}build-%{version} +if [ ! -e %{_bindir}/fpc ]; then + # bootstrap +%ifarch %{ix86} + BINARY_ARCH=i386 +%else + BINARY_ARCH=%{_target_cpu} +%endif + BINARY_SRC="ftp://gd.tuwien.ac.at/languages/pascal/fpc/dist/2.6.4/$BINARY_ARCH-linux/fpc-2.6.4.$BINARY_ARCH-linux.tar" + curl $BINARY_SRC -o fpc.tar + tar xf fpc.tar + mv fpc-2.6.4.$BINARY_ARCH-linux bootstrap + cd bootstrap + echo `pwd`/../bootstrap | ./install.sh +fi + +%build +%make build NOGDB=1 FPCPROG=`pwd`/bootstrap/bin/fpc + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall \ + INSTALL_PREFIX=%{buildroot}%{_prefix} \ + INSTALL_MANDIR=%{buildroot}%{_mandir} \ + NOGDB=1 FPCPROG=`pwd`/bootstrap/bin/fpc + +%ifarch x86_64 +ln -s %{_prefix}/lib/fpc/%{version}/ppcx64 %{buildroot}%{_bindir}/ppcx64 +%endif +%ifarch %{ix86} +ln -s %{_prefix}/lib/fpc/%{version}/ppc386 %{buildroot}%{_bindir}/ppc386 +%endif +%ifarch arm +ln -s %{_prefix}/lib/fpc/%{version}/ppcarm %{buildroot}%{_bindir}/ppcarm +%endif + +install -d %{buildroot}%{_sysconfdir} +%{buildroot}%{_prefix}/lib/fpc/%{version}/samplecfg \ + %{buildroot}%{_prefix}/lib/fpc/%{version} \ + %{buildroot}%{_sysconfdir} + +# use -fPIC by default +cat >> %{buildroot}%{_sysconfdir}/fpc.cfg << _EOF +#ifdef cpux86_64 +# for x86_64 use -fPIC by default +-Cg +#endif +_EOF + +%find_lang %{name} || touch %{name}.lang + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files -f %{name}.lang +%defattr(-,root,root) +%config %{_sysconfdir}/fpc.cfg +%config %{_sysconfdir}/fppkg.cfg +%dir %{_sysconfdir}/fppkg +%config %{_sysconfdir}/fppkg/default +%{_bindir}/* +%dir %{_prefix}/lib/fpc +%dir %{_prefix}/lib/fpc/%{version} +%{_prefix}/lib/fpc/%{version}/* +%dir %{_prefix}/lib/fpc/lexyacc +%{_prefix}/lib/fpc/lexyacc/* +%{_mandir}/man1/*.1* +%{_mandir}/man5/*.5* +%doc fpcsrc/rtl/COPYING.FPC + +%changelog +* Sun Oct 25 2015 Silvan Calarco 2.6.4-1mamba +- package created using the webbuild interface