Name: fpc Version: 2.0.0 Release: alt1 Summary: Free Pascal Compiler License: GPL Group: Development/Other URL: http://www.freepascal.org Source0: %name-%version.tar.bz2 Source1: fpc2.req Source2: fpc2.prov Patch0: %name-2.0.0-alt-fpcdir.patch Patch1: %name-2.0.0-alt-smartlink-ld.patch ExclusiveOS: Linux ExclusiveArch: %ix86 # Added by buildreq2 on Sat Oct 15 2005 BuildRequires: fpc ghostscript-module-X latex2html libgpm-devel libncurses-devel netpbm %description The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library. Some extensions are added to the language, like function overloading. Basic Delphi support is already implemented (classes, exceptions, ansistrings). %prep %setup -q -n %name %patch0 -p1 %patch1 -p1 %build # bootstrap %make_build -C compiler cycle RELEASE=1 %__cp -pvf compiler/ppc386 ppc386 %define fpc_build %make_build clean all FPC=$PWD/ppc386 RELEASE=1 %fpc_build -C rtl CREATESMART=1 %fpc_build -C compiler LINKSMART=1 msg2inc %fpc_build -C packages/base CREATESMART=1 %fpc_build -C fcl CREATESMART=1 %fpc_build -C utils LINKSMART=1 DATA2INC=$PWD/utils/data2inc %fpc_build -C packages/extra CREATESMART=1 %fpc_build -C fv CREATESMART=1 %fpc_build -C ide LINKSMART=1 %define fpc_build_win32 %make_build all FPC=$PWD/ppc386 RELEASE=1 OS_TARGET=win32 BINUTILSPREFIX=i386-mingw32msvc- %fpc_build_win32 -C rtl CREATESMART=1 %fpc_build_win32 -C packages/base CREATESMART=1 %fpc_build_win32 -C fcl CREATESMART=1 (cd docs; sh tex2htex; touch refex.chk progex.chk) %__subst -p 's/2\\$/2 \\/;s/--warn-no-node//g' docs/Makefile* %make_build -C docs html USEL2H=1 FPDOC=$PWD/utils/fpdoc/fpdoc %install %define installdirs INSTALL_BINDIR=%buildroot%_bindir INSTALL_BASEDIR=%buildroot%_libdir/fpc2 INSTALL_DOCDIR=%buildroot%_docdir/fpc2 %define fpc_install %make_install distinstall FPC=$PWD/ppc386 FPCMAKE=$PWD/utils/fpcm/fpcmake %installdirs %fpc_install -C rtl %fpc_install -C compiler %fpc_install -C packages/base %fpc_install -C fcl %fpc_install -C utils CODPATH=%buildroot%_libdir/fpc2/lexyacc %fpc_install -C packages/extra %fpc_install -C fv %fpc_install -C ide %define fpc_install_win32 %make_install install FPC=$PWD/ppc386 FPCMAKE=$PWD/utils/fpcm/fpcmake OS_TARGET=win32 INSTALL_BASEDIR=%buildroot%_libdir/fpc2 %fpc_install_win32 -C rtl %fpc_install_win32 -C packages/base %fpc_install_win32 -C fcl # this symbolic link must be absolute %__ln_s %_libdir/fpc2/ppc386 %buildroot%_bindir/ppc386 %__mkdir_p %buildroot%_man1dir %buildroot%_man5dir %__install -p -m755 install/man/man1/*.1 %buildroot%_man1dir %__install -p -m755 install/man/man5/*.5 %buildroot%_man5dir %define pkgdocdir %_docdir/%name-%version %__mkdir_p %buildroot%pkgdocdir %__cp -a docs/{ref,rtl,user,prog} %buildroot%pkgdocdir %__install -pD -m755 %SOURCE1 %buildroot%_prefix/lib/rpm/fpc2.req %__install -pD -m755 %SOURCE2 %buildroot%_prefix/lib/rpm/fpc2.prov %define __find_requires PPUDUMP=%buildroot%_bindir/ppudump %buildroot%_prefix/lib/rpm/fpc2.req %define __find_provides PPUDUMP=%buildroot%_bindir/ppudump %buildroot%_prefix/lib/rpm/fpc2.prov %files %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/rtl %_bindir/fpc %_bindir/ppc386 %_bindir/fpcmake %_bindir/ppudump %_libdir/fpc2/msg %_libdir/fpc2/ppc386 %_libdir/fpc2/samplecfg %_prefix/lib/rpm/fpc2.req %_prefix/lib/rpm/fpc2.prov %_man1dir/fpc.* %_man1dir/ppc386.* %_man1dir/fpcmake.* %_man1dir/ppudump.* %_man5dir/fpc.* %_man5dir/fpcmake.* # utils %package utils Summary: utils Group: Development/Other Requires: %name = %version-%release %description utils utils %files utils %_bindir/* %exclude %_bindir/fpc %exclude %_bindir/ppc386 %exclude %_bindir/fpcmake %exclude %_bindir/ppudump %_man1dir/*.* %exclude %_man1dir/fpc.* %exclude %_man1dir/ppc386.* %exclude %_man1dir/fpcmake.* %exclude %_man1dir/ppudump.* %_man5dir/*.* %exclude %_man5dir/fpc.* %exclude %_man5dir/fpcmake.* %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/lexyacc %_libdir/fpc2/units/i386-linux/lexyacc # packages/base %package packages Summary: packages Group: Development/Other Requires: %name = %version-%release %description packages packages %files packages %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/gdbint %_libdir/fpc2/units/i386-linux/ibase %_libdir/fpc2/units/i386-linux/libasync %_libdir/fpc2/units/i386-linux/libc %_libdir/fpc2/units/i386-linux/md5 %_libdir/fpc2/units/i386-linux/mysql %_libdir/fpc2/units/i386-linux/netdb %_libdir/fpc2/units/i386-linux/odbc %_libdir/fpc2/units/i386-linux/oracle %_libdir/fpc2/units/i386-linux/pasjpeg %_libdir/fpc2/units/i386-linux/paszlib %_libdir/fpc2/units/i386-linux/postgres %_libdir/fpc2/units/i386-linux/pthreads %_libdir/fpc2/units/i386-linux/regexpr %_libdir/fpc2/units/i386-linux/sqlite # fcl %package fcl Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description fcl The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library. This package contains the Free Component Library for the Free Pascal Compiler. %files fcl %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/fcl # packages/extra/x11 %package x11 Summary: x11 Group: Development/Other Requires: %name = %version-%release %description x11 %files x11 %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/x11 # packages/extra/opengl %package opengl Summary: opengl Group: Development/Other Requires: %name = %version-%release %description opengl %files opengl %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/opengl # packages/extra/fpgtk %package fpgtk Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description fpgtk fpgtk %files fpgtk %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/fpgtk # packages/extra/gnome %package gnome Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description gnome gnome %files gnome %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/gnome # packages/extra/gtk %package gtk Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description gtk gtk %files gtk %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/gtk # packages/extra/gtk2 %package gtk2 Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description gtk2 gtk2 %files gtk2 %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/gtk2 # packages/extra %package extra Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description extra extra %files extra %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/bfd %_libdir/fpc2/units/i386-linux/cdrom %_libdir/fpc2/units/i386-linux/forms %_libdir/fpc2/units/i386-linux/gconf %_libdir/fpc2/units/i386-linux/gdbm %_libdir/fpc2/units/i386-linux/ggi %_libdir/fpc2/units/i386-linux/imlib %_libdir/fpc2/units/i386-linux/libgd %_libdir/fpc2/units/i386-linux/libpng %_libdir/fpc2/units/i386-linux/ncurses %_libdir/fpc2/units/i386-linux/newt %_libdir/fpc2/units/i386-linux/svgalib %_libdir/fpc2/units/i386-linux/syslog %_libdir/fpc2/units/i386-linux/tcl %_libdir/fpc2/units/i386-linux/unixutil %_libdir/fpc2/units/i386-linux/unzip %_libdir/fpc2/units/i386-linux/utmp %_libdir/fpc2/units/i386-linux/zlib %_libdir/fpc2/units/i386-linux/zvt # fv %package fv Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description fv The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library. Some extensions are added to the language, like function overloading. This package contains the Integrated Development Environment (IDE). %files fv %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-linux %_libdir/fpc2/units/i386-linux/fv # ide %package ide Summary: Free Component Library for Free Pascal Group: Development/Other Requires: %name = %version-%release %description ide The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library. Some extensions are added to the language, like function overloading. This package contains the Integrated Development Environment (IDE). %files ide %_bindir/fp %_libdir/fpc2/ide # docs %package docs Summary: docs Group: Development/Other Requires: %name = %version-%release %description docs The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library. Some extensions are added to the language, like function overloading. This package contains the Integrated Development Environment (docs). %files docs %dir %pkgdocdir %pkgdocdir/ref %pkgdocdir/rtl %pkgdocdir/user %pkgdocdir/prog # win32 %package win32 Summary: win32 Group: Development/Other AutoReqProv: no Requires: i386-mingw32msvc-binutils Requires: %name = %version-%release %description win32 The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library. Some extensions are added to the language, like function overloading. This package contains the Integrated Development Environment (win32). %files win32 %dir %_libdir/fpc2 %dir %_libdir/fpc2/units %dir %_libdir/fpc2/units/i386-win32 # rtl %_libdir/fpc2/units/i386-win32/rtl # packages/base %_libdir/fpc2/units/i386-win32/gdbint %_libdir/fpc2/units/i386-win32/ibase %_libdir/fpc2/units/i386-win32/md5 %_libdir/fpc2/units/i386-win32/mysql %_libdir/fpc2/units/i386-win32/netdb %_libdir/fpc2/units/i386-win32/odbc %_libdir/fpc2/units/i386-win32/pasjpeg %_libdir/fpc2/units/i386-win32/paszlib %_libdir/fpc2/units/i386-win32/postgres %_libdir/fpc2/units/i386-win32/regexpr %_libdir/fpc2/units/i386-win32/sqlite # fcl %_libdir/fpc2/units/i386-win32/fcl %changelog * Sat Oct 15 2005 Alexey Tourbin 2.0.0-alt1 - 1.0.10 -> 2.0.0 - fpcdir:='%_libdir/fpc2'; fpcdocdir:='%_docdir/fpc2' * Tue Feb 11 2004 Sergey P. Kondratyev 1.0.10-alt1 - new version + docs and examples * Mon Oct 07 2002 Michael Shigorin 1.0.6-alt1.1 - spec cleanup * Sat Sep 19 2002 Sergey - adopted for Master