diff -r ce0d31e18b66 -r 49e9fb8edd05 binutils/binutils.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/binutils/binutils.spec Mon Jan 12 14:38:36 2009 +0100 @@ -0,0 +1,157 @@ +## +## binutils.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2008 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: binutils +Summary: GNU Binary Utilities +URL: http://sources.redhat.com/binutils/ +Vendor: Free Software Foundation +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: CORE +Group: Compiler +License: GPL +Version: 2.18 +Release: 20080101 + +# list of sources +Source0: ftp://sources.redhat.com/pub/binutils/releases/binutils-%{version}.tar.bz2 +Patch0: binutils.patch + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20060419, make +PreReq: OpenPKG, openpkg >= 20060419 +AutoReq: no +AutoReqProv: no + +%description + Binutils is a collection of binary utilities. It includes: ld + (the GNU linker), addr2line (converts addresses into filenames + and line numbers), as (the portable GNU assembler), ar (a utility + for creating, modifying and extracting from archives), nm (lists + symbols from object files), objcopy (copys and translates object + files), objdump (displays information from object files), ranlib + (generates an index to the contents of an archive), readelf + (displays information from any ELF format object file), size (lists + the section sizes of an object or archive file), strings (lists + printable strings from files), strip (discards symbols) and gprof + (displays profiling information). + +%track + prog binutils = { + version = %{version} + url = ftp://sources.redhat.com/pub/binutils/releases/ + regex = binutils-(__VER__)\.tar\.bz2 + } + +%prep + %setup -q + %patch -p0 + +%build + # configure package + CC="%{l_cc}"; export CC + CFLAGS="%{l_cflags}"; export CFLAGS + ARGS="" + case "%{l_platform -t}" in + *-freebsd* ) CFLAGS="$CFLAGS -DOPENPKG_OS_FREEBSD" ;; + *-linux* ) CFLAGS="$CFLAGS -DOPENPKG_OS_LINUX" ;; + *-sunos* ) CFLAGS="$CFLAGS -DOPENPKG_OS_SOLARIS" ;; + *-aix* ) ARGS="$ARGS --without-gnu-as --without-gnu-ld" ;; + *-darwin* ) ARGS="$ARGS --without-gnu-as --without-gnu-ld" ;; + esac + case "%{l_platform -t}" in + amd64-sunos* ) ARGS="$ARGS --enable-64-bit-bdf" ;; + esac + ( echo "#!/bin/sh" + echo "touch lex.yy.c" + echo "echo 'lex.sh:WARNING: local Lex wrapper unexpectedly called.' 1>&2" + ) >lex.sh && chmod a+x lex.sh + echo "ac_cv_prog_LEX=`pwd`/lex.sh" >ld/config.cache + INSTALL="%{l_shtool} install -c" \ + AR="%{l_ar}" \ + MAKE="%{l_make}" \ + CONFIG_SHELL="%{l_bash}" \ + ./configure \ + --prefix=%{l_prefix} \ + --includedir=%{l_prefix}/include/binutils \ + --libdir=%{l_prefix}/lib/binutils \ + --disable-werror \ + --disable-nls \ + $ARGS + + # build package + %{l_make} %{l_mflags} + +%install + rm -rf $RPM_BUILD_ROOT + + # build package + %{l_make} %{l_mflags} install \ + prefix=$RPM_BUILD_ROOT%{l_prefix} \ + exec_prefix=$RPM_BUILD_ROOT%{l_prefix} \ + includedir=$RPM_BUILD_ROOT%{l_prefix}/include/binutils \ + libdir=$RPM_BUILD_ROOT%{l_prefix}/lib/binutils + + # platform specific stripping down of installation: + # o GNU binutils strip(1) is broken on AIX, use of OS supplied + # /usr/bin/strip from bos.rte.bind_cmds is mandatory. + # o GNU binutils strip(1), ar(1) and ranlib(1) do not work under + # Mac OS X (aka Darwin), system versions have to be used. + case "%{l_platform -t}" in + *-aix* ) + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/strip \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/strip.1 + ;; + *-darwin* ) + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/strip \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/strip.1 + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/ar \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/ar.1 + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/ranlib \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/ranlib.1 + ;; + esac + + # strip down installation + rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir + rm -f $RPM_BUILD_ROOT%{l_prefix}/info/standards.info + rm -f $RPM_BUILD_ROOT%{l_prefix}/info/configure.info* + rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/c++filt.1 + rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/dlltool.1 + rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/nlmconv.1 + rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/windres.1 + rm -rf $RPM_BUILD_ROOT%{l_prefix}/*-*-* + rm -rf $RPM_BUILD_ROOT%{l_prefix}/bin/c++filt + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT +