fpc.spec 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. Name: fpc
  2. Version: 1.0.2
  3. Release: 1
  4. ExclusiveArch: i386 i586 i686
  5. Copyright: GPL
  6. Group: Development/Languages
  7. Source: fpc-1.0.2-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.2
  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. %install
  36. NEWPP=`pwd`/compiler/ppc386
  37. NEWPPUFILES=`pwd`/utils/ppufiles
  38. INSTALLOPTS="PP=${NEWPP} PPUFILES=${NEWPPUFILES} PREFIXINSTALLDIR=%{buildroot}/usr"
  39. make compiler_install ${INSTALLOPTS}
  40. make rtl_install ${INSTALLOPTS}
  41. make fcl_install ${INSTALLOPTS}
  42. make api_install ${INSTALLOPTS}
  43. make packages_install ${INSTALLOPTS}
  44. make utils_install ${INSTALLOPTS}
  45. make fcl_exampleinstall ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  46. make api_exampleinstall ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  47. make packages_exampleinstall ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  48. make demo_install ${INSTALLOPTS} SOURCEINSTALLDIR=%{builddocdir}
  49. make doc_install ${INSTALLOPTS} DOCINSTALLDIR=%{builddocdir}
  50. make man_install ${INSTALLOPTS}
  51. %clean
  52. make compiler_clean
  53. make rtl_clean
  54. make fcl_clean
  55. make api_clean
  56. make packages_clean
  57. make utils_clean
  58. rm -rf %{buildroot}
  59. %post
  60. FPCDIR=%{fpcdir}
  61. # create link
  62. ln -sf $FPCDIR/ppc386 /usr/bin/ppc386
  63. # Create config
  64. $FPCDIR/samplecfg $FPCDIR
  65. # update ld.so cache
  66. #ldconfig
  67. %files
  68. /usr/bin/ppufiles
  69. /usr/bin/ppudump
  70. /usr/bin/ppumove
  71. /usr/bin/ppdep
  72. /usr/bin/ptop
  73. /usr/bin/rstconv
  74. /usr/bin/data2inc
  75. /usr/bin/bin2obj
  76. /usr/bin/delp
  77. /usr/bin/plex
  78. /usr/bin/pyacc
  79. /usr/bin/h2pas
  80. /usr/bin/postw32
  81. /usr/bin/fpcmake
  82. /usr/bin/fprcp
  83. %{fpcdir}
  84. /usr/lib/fpc/lexyacc/yylex.cod
  85. /usr/lib/fpc/lexyacc/yyparse.cod
  86. /usr/man/man1/delp.1
  87. /usr/man/man1/ppdep.1
  88. /usr/man/man1/ppumove.1
  89. /usr/man/man1/ppudump.1
  90. /usr/man/man1/ppufiles.1
  91. /usr/man/man1/fpcmake.1
  92. /usr/man/man1/ptop.1
  93. /usr/man/man1/h2pas.1
  94. /usr/man/man1/plex.1
  95. /usr/man/man1/pyacc.1
  96. /usr/man/man1/ppc386.1
  97. /usr/man/man5/ppc386.cfg.5
  98. /usr/man/man5/fpcmake.5
  99. /usr/man/man5/ptop.cfg.5
  100. %{docdir}/examples
  101. %{docdir}/README
  102. %{docdir}/NEWS
  103. %{docdir}/faq.html
  104. %{docdir}/faq.txt