[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: New package: fpc-2.0.0



Hi,

Thanks for your submission.

Joost van der Sluis wrote:
Source:
http://www.cnoc.nl/fpc/fpc-2.0.0-0.1.src.rpm

It doesn't seem to build completely on x86_64, since the libs are installed in /usr/lib and not /usr/lib64.

  Processing files: fpc-2.0.0-0.1
  Error: File not found: /var/tmp/fpc-2.0.0-0.2-root-petersen/usr/lib64/fpc/2.0.0

This needs fixing.

Overall the spec file looks ok, I attach a patch with
some initial cleanup.  Further comments:

- usually %clean just removes the installed files,
  so I don't think you need to "make clean" everything there.
- "examples/" seems to be too big to include in the main package:
  I recommend either excluding it or at least moving it to a -doc
  subpackage
- If more html documentation available, it could also go into -doc.
  I see there is a -docs subpackage on the upstream download page.
- the software is GPL/LGPL :), but are there any legal issues with
  highlighting TP and Delphi compatibility?
- (It would be nice if upstream could simplify building and installing
   without the setup.sh script?:)
- can fpc be built with debugging info?  Would it be useful?  Currently
  no debuginfo is generated afaict.

Jens
diff -u fpc.spec~ fpc.spec
--- fpc.spec~	2005-05-24 13:21:23.000000000 +0900
+++ fpc.spec	2005-05-24 13:21:23.000000000 +0900
@@ -1,10 +1,10 @@
 Name:           fpc
 Version:        2.0.0
-Release:        0.1
-Summary:        A TP 7/Delphi compatible Pascal compiler
+Release:        0.2
+Summary:        Free Pascal Compiler
 
 Group:          Development/Languages
-License:        GPL2 (modified) LGPL2
+License:        GPL and modified LGPL
 URL:            http://www.freepascal.org/
 Source0:        ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}-%{version}.source.tar.gz
 Source1:        http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz
@@ -14,8 +14,9 @@
 #Requires:
 
 %description
-Freepascal is a Turbo Pascal 7.0 and Delphi compatible 32/64bit Pascal Compiler.
-It comes with fully TP 7.0 and almost fully Delphi compatible run-time library.
+
+Freepascal is a free 32/64bit Pascal Compiler. It comes with a run-time
+library fully compatible with Turbo Pascal 7.0 and nearly Delphi compatible.
 Some extensions are added to the language, like function overloading. Shared
 libraries can be linked. This package contains commandline compiler and
 utils. Provided units are the runtime library (RTL), free component library
@@ -33,21 +34,20 @@
 %endif
 
 %prep
-%setup -q -a 0 -n %{name}
-%setup -q -a 1 -D -n %{name}
+%setup -q -a1 -n %{name}
 
 %build
 STARTPP=`pwd`/startcompiler/%{ppcname}
 NEWPP=`pwd`/compiler/%{ppcname}
 DATA2INC=`pwd`/utils/data2inc
-	make compiler_cycle FPC=${STARTPP}
-	make rtl_clean rtl_smart FPC=${NEWPP}
-	make packages_base_smart FPC=${NEWPP}
-	make fcl_smart FPC=${NEWPP}
-	make fv_smart FPC=${NEWPP}
-	make packages_extra_smart FPC=${NEWPP}
-	make ide_all FPC=${NEWPP}
-	make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC}
+make compiler_cycle FPC=${STARTPP}
+make rtl_clean rtl_smart FPC=${NEWPP}
+make packages_base_smart FPC=${NEWPP}
+make fcl_smart FPC=${NEWPP}
+make fv_smart FPC=${NEWPP}
+make packages_extra_smart FPC=${NEWPP}
+make ide_all FPC=${NEWPP}
+make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC}
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -59,33 +59,36 @@
                 INSTALL_DOCDIR=%{buildroot}%{_defaultdocdir}/%{name}-%{version} \
                 INSTALL_BINDIR=%{buildroot}%{_bindir} \
 		INSTALL_EXAMPLEDIR=%{buildroot}%{_defaultdocdir}/%{name}-%{version}/examples"
-	make compiler_distinstall ${INSTALLOPTS}
-	make rtl_distinstall ${INSTALLOPTS}
-	make packages_distinstall ${INSTALLOPTS}
-	make fcl_distinstall ${INSTALLOPTS}
-	make fv_distinstall ${INSTALLOPTS}
-	make ide_distinstall ${INSTALLOPTS}
-	make utils_distinstall ${INSTALLOPTS}
-
-	make doc_install ${INSTALLOPTS}
-	make man_install ${INSTALLOPTS} INSTALL_MANDIR=%{buildroot}%{_mandir}
-
-	# create link
-	ln -sf ../lib/%{name}/%{version}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname}
-
-        # Workaround:
-        # newer rpm versions do not allow garbage
-        # delete lexyacc
-        rm -rf %{buildroot}%{_libdir}/%{name}/lexyacc
+make compiler_distinstall ${INSTALLOPTS}
+make rtl_distinstall ${INSTALLOPTS}
+make packages_distinstall ${INSTALLOPTS}
+make fcl_distinstall ${INSTALLOPTS}
+make fv_distinstall ${INSTALLOPTS}
+make ide_distinstall ${INSTALLOPTS}
+make utils_distinstall ${INSTALLOPTS}
+
+make doc_install ${INSTALLOPTS}
+make man_install ${INSTALLOPTS} INSTALL_MANDIR=%{buildroot}%{_mandir}
+
+# create link
+ln -sf ../lib/%{name}/%{version}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname}
+
+# Workaround:
+# newer rpm versions do not allow garbage
+# delete lexyacc
+rm -rf %{buildroot}%{_libdir}/%{name}/lexyacc
+
+# exclude examples for now
+rm -r %{buildroot}%{_defaultdocdir}/%{name}-%{version}/examples
 
 %clean
-	make compiler_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
-	make rtl_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
-	make packages_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
-	make fcl_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
-	make fv_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
-	make ide_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
-	make utils_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make compiler_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make rtl_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make packages_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make fcl_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make fv_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make ide_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
+#make utils_clean FPC=%{buildroot}%{_libdir}/%{name}/%{version}/%{ppcname}
 
 rm -rf $RPM_BUILD_ROOT
 
@@ -97,12 +100,12 @@
 %files
 %defattr(-,root,root,-)
 %{_bindir}/*
-%{_libdir}/%{name}/%{version}
+%{_libdir}/%{name}
 %doc %{_defaultdocdir}/%{name}-%{version}/NEWS
 %doc %{_defaultdocdir}/%{name}-%{version}/README
 %doc %{_defaultdocdir}/%{name}-%{version}/readme.ide
 %doc %{_defaultdocdir}/%{name}-%{version}/faq*
-%doc %{_defaultdocdir}/%{name}-%{version}/examples/*
+#%%doc %{_defaultdocdir}/%{name}-%{version}/examples/*
 %{_mandir}/*/*
 
 %changelog

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]