]> git.pld-linux.org Git - packages/gcc.git/blobdiff - gcc.spec
- massive attack, adding Source-md5
[packages/gcc.git] / gcc.spec
index 74ff1eedafd225cd2ddc178a02cbfd7de6c3ddb1..5fe36b7d7c48bd2053115a2ef146dfeb1ca0daa9 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,14 +1,9 @@
 #
 # Conditional build:
-# _without_ada  - build without ADA support
-# _without_java - build without Java support
-# _without_objc - build without objc support
-#
-# TODO:
-#  - ksi
-#  - test with ada
-#  - fix %%files (separate package for libffi ?)
-#
+# _with_ada    - build with ADA support
+# _without_java        - build without Java support
+# _without_objc        - build without objc support
+
 %define                DASHED_SNAP     %{nil}
 %define                SNAP            %(echo %{DASHED_SNAP} | sed -e "s#-##g")
 %define                GCC_VERSION     3.3
@@ -19,47 +14,40 @@ Summary(pl):        Kompilator C GNU
 Summary(pt_BR):        C Compilador GNU (GCC)
 Name:          gcc
 Version:       %{GCC_VERSION}
-Release:       0.2
+Release:       1
 Epoch:         5
 License:       GPL
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
 Source1:       ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
+# Source1-md5: 66f07491b44f06928fd95b0e65bb8cd3
 Source2:       %{name}-non-english-man-pages.tar.bz2
+# Source2-md5: 4736f3422ddfb808423b745629acc321
 Patch0:                %{name}-info.patch
 Patch1:                %{name}-paths.patch
-Patch2:                %{name}-ada-no-addr2line.patch
-Patch3:                %{name}-ada-no-prefix.o.patch
-Patch4:                %{name}-nolocalefiles.patch
-Patch5:                %{name}-gcc-page.c.patch
-Patch6:                %{name}-ada-link-new-libgnat.patch
+Patch2:                %{name}-nolocalefiles.patch
+Patch3:                %{name}-ada-link-new-libgnat.patch
 # -- stolen patches from RH --
 Patch10:       gcc32-ada-link.patch
-Patch16:       gcc32-boehm-gc-libs.patch
-Patch17:       gcc32-bogus-inline.patch
-Patch18:       gcc32-c++-nrv-test.patch
-Patch20:       gcc32-c++-tsubst-asm.patch
-Patch21:       gcc32-cfg-eh.patch
-Patch22:       gcc32-debug-pr7241.patch
-
-Patch24:       gcc32-duplicate-decl.patch
-Patch25:       gcc32-dwarf2-pr6381.patch
-Patch26:       gcc32-dwarf2-pr6436-test.patch
-Patch27:       gcc32-fde-merge-compat.patch
-
-Patch31:       gcc32-i386-default-momit-leaf-frame-pointer.patch
-Patch32:       gcc32-i386-memtest-test.patch
-Patch33:       gcc32-i386-no-default-momit-leaf-frame-pointer.patch
-Patch34:       gcc32-i386-pic-label-thunk.patch
-Patch36:       gcc32-inline-label.patch
-Patch37:       gcc32-java-no-rpath.patch
-Patch40:       gcc32-test-rh65771.patch
-Patch41:       gcc32-test-rotate.patch
+Patch11:       gcc32-boehm-gc-libs.patch
+Patch12:       gcc32-bogus-inline.patch
+Patch13:       gcc32-c++-nrv-test.patch
+Patch14:       gcc32-c++-tsubst-asm.patch
+Patch15:       gcc32-debug-pr7241.patch
+Patch16:       gcc32-duplicate-decl.patch
+Patch17:       gcc32-dwarf2-pr6381.patch
+Patch18:       gcc32-dwarf2-pr6436-test.patch
+Patch19:       gcc32-fde-merge-compat.patch
+Patch20:       gcc32-i386-memtest-test.patch
+Patch21:       gcc32-inline-label.patch
+Patch22:       gcc32-java-no-rpath.patch
+Patch23:       gcc32-test-rh65771.patch
+Patch24:       gcc32-test-rotate.patch
 BuildRequires: autoconf
 BuildRequires: bison
 BuildRequires: fileutils >= 4.0.41
 BuildRequires: gcc
-%{!?_without_ada:BuildRequires:        gcc-ada}
+%{?_with_ada:BuildRequires:    gcc-ada}
 BuildRequires: glibc-devel >= 2.2.5-20
 BuildRequires: perl-devel
 BuildRequires: texinfo >= 4.1
@@ -427,6 +415,49 @@ Static C++ standard library.
 %description -n libstdc++-static -l pl
 Statycza biblioteka standardowa C++.
 
+%package -n libffi
+Summary:       Foreign Function Interface library
+Summary(pl):   Biblioteka zewnêtrznych wywo³añ funkcji
+Group:         Libraries
+Version:       %{GCC_VERSION}
+
+%description -n libffi
+The libffi library provides a portable, high level programming
+interface to various calling conventions. This allows a programmer to
+call any function specified by a call interface description at run
+time.
+
+%description -n libffi -l pl
+Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
+do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
+dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
+
+%package -n libffi-devel
+Summary:       Development files for Foreign Function Interface library
+Summary(pl):   Pliki nag³ówkowe dla libffi
+Group:         Development/Libraries
+Version:       %{GCC_VERSION}
+Requires:      libffi = %{GCC_VERSION}
+
+%description -n libffi-devel
+Development files for Foreign Function Interface library.
+
+%description -n libffi-devel -l pl
+Pliki nag³ówkowe dla libffi.
+
+%package -n libffi-static
+Summary:       Static Foreign Function Interface library
+Summary(pl):   Statyczna biblioteka libffi
+Group:         Development/Libraries
+Version:       %{GCC_VERSION}
+Requires:      libffi-devel = %{GCC_VERSION}
+
+%description -n libffi-static
+Static Foreign Function Interface library.
+
+%description -n libffi-static -l pl
+Statyczna biblioteka libffi.
+
 %package ada
 Summary:       Ada support for gcc
 Summary(pl):   Obs³uga Ady do gcc
@@ -566,34 +597,29 @@ mv ksi-%{KSI_VERSION} gcc/ksi
 
 %patch0 -p1
 %patch1 -p1
-##%%patch2 -p1
-##%%patch3 -p1
-%patch4 -p1
-##%%patch5 -p1
-##%%patch6 -p1
-
-##%%patch10 -p1
-#%patch16
-##%%patch17
+%patch2 -p1
+%patch3 -p1
+
+%patch10 -p1
+#%patch11
+#%patch12
+%patch13
+%patch14
+%patch15
+
+%patch16
+%patch17
 %patch18
+%patch19
 %patch20
-##%%patch21
+%patch21
 %patch22
-
+%patch23
 %patch24
-%patch25
-%patch26
-%patch27
-##%%patch31
-%patch32
-##%%patch33
-##%%patch34
-%patch36
-%patch37
-%patch40
-%patch41
-
-perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
+
+# because we distribute modified version of gcc...
+perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
+perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld.org.pl/>";@' gcc/version.c
 
 %build
 # cd gcc && autoconf; cd ..
@@ -609,7 +635,7 @@ TEXCONFIG=false ../configure \
        --enable-shared \
        --enable-threads=posix \
        --enable-__cxa_atexit \
-       --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
+       --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{?_with_ada:,ada}%{!?_without_java:,java},ksi" \
        --enable-c99 \
        --enable-long-long \
        --enable-multilib \
@@ -624,7 +650,7 @@ TEXCONFIG=false ../configure \
 PATH=$PATH:/sbin:%{_sbindir}
 
 # this dirty hack is relict of setting, where objdir is subdir of srcdir
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
        gcc/ada/Makefile > makefile.tmp
 mv -f makefile.tmp gcc/ada/Makefile
@@ -636,14 +662,11 @@ cd ..
        mandir=%{_mandir} \
        infodir=%{_infodir}
 
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
        LDFLAGS_FOR_TARGET="%{rpmldflags}" \
        mandir=%{_mandir} \
        infodir=%{_infodir}
-
-# make Gnat Reference Manual
-%{__make} -C obj-%{_target_platform}/gcc/ada doc
 %endif
 
 %install
@@ -662,25 +685,22 @@ echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
 
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
 # move ada shared libraries to proper place...
-mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
-       $RPM_BUILD_ROOT%{_libdir}
-rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
-(cd $RPM_BUILD_ROOT%{_libdir} && \
-       ln -s libgnat-*so.1 libgnat.so.1   && ln -s libgnat-*so.1 libgnat.so && \
-       ln -s libgnarl-*so.1 libgnarl.so.1 && ln -s libgnarl-*so.1 libgnarl.so)
+mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
+       $RPM_BUILD_ROOT%{_libdir}/
+# check if symlink to be made is valid
+test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
+ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
+ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
+ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
+ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
 %endif
 
 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
 
 cd ..
 
-%if %{!?_without_ada:1}%{?_without_ada:0}
-install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
-install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
-%endif
-
 %if %{!?_without_java:1}%{?_without_java:0}
 install -d java-doc
 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
@@ -699,13 +719,26 @@ for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
 done
 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
 for f in libstdc++.la libsupc++.la libg2c.la \
-       %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
+       %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
+       %{!?_without_objc:libobjc.la}; do
        perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
 done
 
 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
 
+# include/ contains install-tools/include/* and headers that were fixed up
+# by fixincludes, we don't want former
+gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
+mkdir $gccdir/tmp
+# we have to save these however
+mv -f $gccdir/include/{%{?!_without_objc:objc,}g2c.h,syslimits.h%{?!_without_java:,gcj}} $gccdir/tmp
+rm -rf $gccdir/include
+mv -f $gccdir/tmp $gccdir/include
+cp $gccdir/install-tools/include/*.h $gccdir/include
+# but we don't want anything more from install-tools
+rm -rf $gccdir/install-tools/
+
 %find_lang %{name}
 %find_lang libstdc\+\+
 
@@ -754,6 +787,8 @@ rm -rf $RPM_BUILD_ROOT
 %postun -p /sbin/ldconfig -n libgcj
 %post   -p /sbin/ldconfig -n libgnat
 %postun -p /sbin/ldconfig -n libgnat
+%post   -p /sbin/ldconfig -n libffi
+%postun -p /sbin/ldconfig -n libffi
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
@@ -775,6 +810,7 @@ rm -rf $RPM_BUILD_ROOT
 %lang(ja) %{_mandir}/ja/man1/gcc.1*
 %{_infodir}/gcc*
 
+%attr(755,root,root) %{_slibdir}/lib*.so
 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
@@ -788,26 +824,12 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
 
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
-%ifarch %{ix86}
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
-%endif
-%ifarch ppc
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
-%endif
+%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
+%exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
 
 %files -n libgcc
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_slibdir}/lib*.so*
+%attr(755,root,root) %{_slibdir}/lib*.so.*
 
 %files c++
 %defattr(644,root,root,755)
@@ -815,7 +837,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
 %attr(755,root,root) %{_bindir}/c++
 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
-#%%attr(755,root,root) %{_bindir}/c++filt
 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
 %{_libdir}/libsupc++.la
 %ifarch ppc
@@ -824,7 +845,6 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %{_libdir}/libsupc++.a
 %{_mandir}/man1/g++.1*
-%lang(es) %{_mandir}/es/man1/c++filt.1*
 %lang(ja) %{_mandir}/ja/man1/g++.1*
 
 %files -n libstdc++ -f libstdc++.lang
@@ -932,17 +952,21 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/jv-*
 %{_mandir}/man1/gij*
 %{_mandir}/man1/gcj*
+%{_mandir}/man1/grepjar*
 
 %files java-tools
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/rmi*
 %attr(755,root,root) %{_bindir}/jar
 %{_mandir}/man1/rmi*
+%{_mandir}/man1/jar*
+%{_infodir}/fastjar*
 
 %files -n libgcj
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/addr2name.awk
-%attr(755,root,root) %{_libdir}/lib*cj*.so.*
+%attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
+%attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
 %ifarch ppc
 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
 %endif
@@ -963,6 +987,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/lib*cj.spec
 %{_libdir}/lib*cj*.la
 %attr(755,root,root) %{_libdir}/lib*cj*.so
+%attr(755,root,root) %{_libdir}/lib-org-*.so
+%{_libdir}/lib-org-*.la
 %ifarch ppc
 %{_libdir}/nof/lib*cj*.la
 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
@@ -971,12 +997,27 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgcj-static
 %defattr(644,root,root,755)
 %{_libdir}/lib*cj*.a
+%{_libdir}/lib-org-*.a
 %ifarch ppc
 %{_libdir}/nof/lib*cj*.a
 %endif
+
+%files -n libffi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libffi-*.so
+
+%files -n libffi-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libffi.so
+%{_libdir}/libffi.la
+%{_includedir}/ffi*
+
+%files -n libffi-static
+%defattr(644,root,root,755)
+%{_libdir}/libffi.a
 %endif
 
-%if %{!?_without_ada:1}%{?_without_ada:0}
+%if 0%{?_with_ada:1}
 %files ada
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
@@ -989,12 +1030,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
 %attr(755,root,root) %{_bindir}/gnat*
 %{_infodir}/gnat*
-%attr(755,root,root) %{_libdir}/libgnat.so*
-%attr(755,root,root) %{_libdir}/libgnarl.so*
+%attr(755,root,root) %{_libdir}/libgnat*.so
+%attr(755,root,root) %{_libdir}/libgnarl*.so
 
 %files -n libgnat
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgna*-*so.1
+%attr(755,root,root) %{_libdir}/libgna*.so.1
 
 %files -n libgnat-static
 %defattr(644,root,root,755)
@@ -1011,8 +1052,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir}/cpp
 %attr(755,root,root) %{_bindir}/cpp
-#%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
-#%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
 %{_mandir}/man1/cpp.1*
 %lang(ja) %{_mandir}/ja/man1/cpp.1*
 %{_infodir}/cpp*
This page took 0.042636 seconds and 4 git commands to generate.