fpc.spec 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. Name: fpc
  2. Version: 1.0.4
  3. Release: 1
  4. ExclusiveArch: i386 i586 i686
  5. Copyright: GPL
  6. Group: Development/Languages
  7. Source: fpc-1.0.4-src.tar.gz
  8. Summary: Free Pascal Compiler
  9. Packager: Peter Vreman ([email protected])
  10. URL: http://www.freepascal.org/
  11. BuildRoot: /tmp/fpc-build
  12. BuildRequires: fpc
  13. %define fpcversion 1.0.4
  14. %define fpcdir /usr/lib/fpc/%{fpcversion}
  15. %define docdir /usr/doc/fpc-%{fpcversion}
  16. %define builddocdir %{buildroot}%{docdir}
  17. %description
  18. The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32bit
  19. Pascal Compiler. It comes with fully TP 7.0 compatible run-time library.
  20. Some extensions are added to the language, like function overloading. Shared
  21. libraries can be linked. Basic Delphi support is already implemented (classes,
  22. exceptions,ansistrings,RTTI). This package contains commandline compiler and
  23. utils. Provided units are the runtime library (RTL), free component library
  24. (FCL), gtk,ncurses,zlib, mysql,postgres,ibase bindings.
  25. %prep
  26. %setup -c
  27. %build
  28. NEWPP=`pwd`/compiler/ppc386
  29. make compiler_cycle
  30. make rtl_clean rtl_smart PP=${NEWPP}
  31. make fcl_smart PP=${NEWPP}
  32. make api_smart PP=${NEWPP}
  33. make packages_smart PP=${NEWPP}
  34. make utils_all PP=${NEWPP}
  35. make compiler_fpcexe PP={$NEWPP}
  36. %install
  37. rm -rf %{buildroot}
  38. NEWPP=`pwd`/compiler/ppc386
  39. NEWPPUFILES=`pwd`/utils/ppufiles
  40. INSTALLOPTS="PP=${NEWPP} PPUFILES=${NEWPPUFILES} PREFIXINSTALLDIR=%{buildroot}/usr"
  41. make compiler_install ${INSTALLOPTS}
  42. make rtl_install ${INSTALLOPTS}
  43. make fcl_install ${INSTALLOPTS}
  44. make api_install ${INSTALLOPTS}
  45. make packages_install ${INSTALLOPTS}
  46. make utils_install ${INSTALLOPTS}
  47. make fcl_exampleinstall ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  48. make api_exampleinstall ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  49. make packages_exampleinstall ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  50. make demo_install ${INSTALLOPTS} SOURCEINSTALLDIR=%{builddocdir}
  51. make doc_install ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  52. make man_install ${INSTALLOPTS}
  53. %clean
  54. make compiler_clean
  55. make rtl_clean
  56. make fcl_clean
  57. make api_clean
  58. make packages_clean
  59. make utils_clean
  60. rm -rf %{buildroot}
  61. %post
  62. FPCDIR=%{fpcdir}
  63. # create link
  64. ln -sf $FPCDIR/ppc386 /usr/bin/ppc386
  65. # Create config
  66. $FPCDIR/samplecfg $FPCDIR
  67. # update ld.so cache
  68. #ldconfig
  69. %files
  70. /usr