Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37547757
en ru br
ALT Linux repositórios
S:2.41-alt1
5.0: 2.18.50.0.9-alt5
4.1: 2.17.50.0.6-alt4
4.0: 2.17.50.0.6-alt1
3.0: 2.15.94.0.2.2-alt3

Outros repositórios
Upstream:2.18

Group :: Desenvolvimento/Outros
RPM: binutils

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Name: binutils
Version: 2.18.50.0.9
Release: alt5
Serial: 1

Summary: GNU Binary Utility Development Utilities
License: GPLv3+
Group: Development/Other
Url: http://sources.redhat.com/%name/
Packager: Dmitry V. Levin <ldv at altlinux.org>

Source: ftp://ftp.kernel.org/pub/linux/devel/%name/%name-%version.tar
Source1: gcc.sh
Source2: gxx.sh

# RH

Patch1: binutils-2.18.50.0.6-rh-ltconfig-multilib.patch
Patch2: binutils-2.18.50.0.6-rh-ppc64-pie.patch
Patch3: binutils-2.18.50.0.8-rh-place-orphan.patch
Patch4: binutils-2.18.50.0.6-rh-ia64-lib64.patch
Patch5: binutils-2.18.50.0.8-rh-symbolic-envvar-revert.patch
Patch6: binutils-2.18.50.0.6-rh-alt-version.patch
Patch7: binutils-2.18.50.0.9-rh-largefile.patch
Patch8: binutils-2.18.50.0.9-rh-set-long-long.patch
Patch9: binutils-2.18.50.0.9-rh-upstream.patch
Patch10: binutils-2.18.50.0.9-rh-linkonce-r-discard.patch
Patch11: binutils-2.18.50.0.9-rh-gcc_except_table.patch

# ALT

Patch101: binutils-2.18.50.0.9-alt-texinfo.patch
Patch102: binutils-2.18.50.0.9-alt-no-warn-shared-textrel.patch
Patch103: binutils-2.18.50.0.9-alt-defaults.patch
Patch104: binutils-2.18.50.0.9-alt-bfd_elflink_relax_checking.patch
Patch105: binutils-2.18.50.0.9-cvs-20081010-alt-opcodes-configure.patch

Requires: libbfd = %serial:%version-%release
# due to c++filt
Conflicts: gcc-common < 0:1.2.1-alt4

BuildRequires: flex, glibc-devel-static, zlib-devel-static
%{?!_without_check:%{?!_disable_check:BuildRequires: dejagnu, gcc-c++, /proc, /dev/pts}}

%package -n libbfd
Summary: Binary File Descriptor library
Group: System/Libraries

%package -n libbfd-devel
Summary: Include files for development with BFD library
Group: Development/C
Requires: libbfd = %serial:%version-%release

%package -n libbfd-devel-static
Summary: Static libraries for development with BFD library
Group: Development/C
Requires: libbfd-devel = %serial:%version-%release

%package -n libiberty-devel
Summary: Development files for development with libiberty
Group: Development/C
Requires: libbfd-devel = %serial:%version-%release

%description
Binutils is a collection of binary utilities, including:
+ addr2line: converting addresses to file and line;
+ ar: creating modifying and extracting from archives;
+ nm: listing symbols from object files;
+ objcopy: copying and translating object files;
+ objdump: displaying information from object files;
+ ranlib: generating an index for the contents of an archive;
+ size: listing the section sizes of an object or archive file;
+ strings: listing printable strings from files;
+ strip: discarding symbols.

%description -n libbfd
This package contains shared libraries needed to run programs
dynamically linked with Binary File Descriptor library.

%description -n libbfd-devel
This package contains include files needed for development software
based on Binary File Descriptor library.

%description -n libbfd-devel-static
This package contains static libraries needed for development
statically linked software based on Binary File Descriptor library.

%description -n libiberty-devel
This package contains include files and static library
needed for development software using libiberty.

%prep
%setup -q

%patch1 -p0
%patch2 -p0
%patch3 -p0
#patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch8 -p0
%patch9 -p0
%patch10 -p0
%patch11 -p0

%patch101 -p2
%patch102 -p2
%patch103 -p2
#patch104 -p2
%patch105 -p1

find -type f -name \*.orig -delete

sed -i 's/%%{release}/%release/g' bfd/Makefile{.am,.in}

%build
%define _configure_target --host=%_target_platform --build=%_target_platform
%undefine __libtoolize
ADDITIONAL_TARGETS=
%ifarch %ix86
ADDITIONAL_TARGETS="--enable-64-bit-bfd"
%endif
%ifarch ia64 x86_64
ADDITIONAL_TARGETS="--enable-targets=i386-alt-linux"
%endif
%ifarch ppc
ADDITIONAL_TARGETS="--enable-targets=powerpc64-alt-linux --enable-targets=spu --enable-64-bit-bfd"
%endif
%configure --enable-shared --disable-werror \
--with-bugurl=http://bugzilla.altlinux.org/ \
$ADDITIONAL_TARGETS

%make_build tooldir=%_prefix all
%make_build tooldir=%_prefix info

RUNTESTFLAGS=
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:if [ -w /dev/ptmx -a -f /proc/self/maps ]; then make -k check CC="%_sourcedir/gcc.sh" CXX="%_sourcedir/gxx.sh" RUNTESTFLAGS="$RUNTESTFLAGS"; fi}}}

%install
%makeinstall tooldir=%buildroot%_prefix install-info
# Install PIC version of the libiberty.a
install -pm644 libiberty/pic/libiberty.a %buildroot%_libdir/

# Remove unrelated manpages.

find %buildroot%_man1dir -type f |while read f; do
n="${f##*/}"
n="${n%%.1*}"
[ -f "%buildroot%_bindir/$n" ] || rm -v "$f"
done

# Prepare info file lists.

ls %buildroot%_infodir/*.info |
fgrep -v /bfd |
sed "s|^%buildroot\(.*\)|\1*|g" >files.lst
mkdir %buildroot%_datadir/%name
ls %buildroot%_infodir/*.info |
fgrep -v /bfd |
sed "s|^%buildroot%_infodir/||g" >%buildroot%_datadir/%name/info.files

# Sanity check --enable-64-bit-bfd really works.

grep -qs '^#define BFD_ARCH_SIZE 64$' %{buildroot}%{_prefix}/include/bfd.h
# Fix multilib conflicts of generated values by __WORDSIZE-based expressions.
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x sparc sparc64
sed -i -e '/^#include "ansidecl.h"/{p;s|^.*|#include <bits/wordsize.h>|}' \
   -e 's/^\(#define BFD_DEFAULT_TARGET_SIZE \)\(32\|64\) *$/\1__WORDSIZE/' \
   -e 's/^\(#define BFD_HOST_64BIT_LONG \)[01] *$/\1(__WORDSIZE == 64)/' \
   -e 's/^\(#define BFD_HOST_64_BIT \)\(long \)\?long *$/#if __WORDSIZE == 32\
\1long long\
#else\
\1long\
#endif/' \
   -e 's/^\(#define BFD_HOST_U_64_BIT unsigned \)\(long \)\?long *$/\1BFD_HOST_64_BIT/' \
   %buildroot%_includedir/bfd.h
%endif
touch -r bfd/bfd-in2.h %buildroot%_includedir/bfd.h

# Relocate include files.

pushd %buildroot%_includedir
mkdir bfd
for f in *.h; do
mv "$f" bfd/
ln -s bfd/"$f" .
done
popd

# Add more include files.

install -pm644 include/{demangle,libiberty}.h %buildroot%_includedir/
install -pm644 bfd/{elf-bfd,lib*}.h %buildroot%_includedir/bfd/
cp -a include/{coff,elf,nlm} %buildroot%_includedir/bfd/
rm -f %buildroot%_includedir/bfd/{*in.h,*/ChangeLog*}

# Install NEWS.

for n in binutils gas ld; do
install -pm644 $n/NEWS NEWS-$n
done

# No ugly translations please.

#%%find_lang %name bfd gas gprof ld opcodes --append --output files.lst

%set_verify_elf_method strict

%post
%install_info `cat %_datadir/%name/info.files`

%preun
%uninstall_info `cat %_datadir/%name/info.files`

%post -n libbfd-devel
%install_info bfd.info

%preun -n libbfd-devel
%uninstall_info bfd.info

%files -n libbfd
%_libdir/*-*.so

%files -n libbfd-devel
%_libdir/libbfd.so
%_libdir/libopcodes.so
%_includedir/bfd
%_includedir/[a-ce-km-z]*.h
%_includedir/dis-asm.h
%_infodir/bfd.info*

%files -n libbfd-devel-static
%_libdir/libbfd.a
%_libdir/libopcodes.a

%files -n libiberty-devel
%_libdir/libiberty.*
%_includedir/libiberty.h
%_includedir/demangle.h

%files -f files.lst
%_bindir/*
%_prefix/lib/ldscripts
%_mandir/man?/*
%_datadir/%name
%doc NEWS*

%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009