Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37536983
en ru br
ALT Linux repositórios
S:1.4.27-alt1
5.0: 1.4.14-alt1
4.1: 1.4.11-alt1
4.0: 1.4.10-alt2
3.0: 1.4.6-alt1

Group :: Desenvolvimento/C
RPM: gcc-common

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Name: gcc-common
Version: 1.4.10
Release: alt2

Summary: Common directories, symlinks and selection utility for the GNU Compiler Collection
License: GPL
Group: Development/C
Packager: Dmitry V. Levin <ldv at altlinux.org>

Source0: select-gcc.in
Source1: gccbug.in
Source2: gcc_wrapper.c
Source3: classpath.security
Source4: libgcj.security
Source5: logging.properties

Patch: gccbug-alt.patch

PreReq: alternatives >= 0:0.2.0-alt0.12, coreutils
Requires: rpm >= 0:4.0.4-alt1

Conflicts: cpp2.95 < 1:2.95.3-alt2
Conflicts: cpp2.96 < 0:2.96-alt3, libgcj2.96 < 0:2.96-alt4
Conflicts: cpp3.2 < 0:3.2.1-alt1
Conflicts: cpp < 0:2.96-alt3, cpp = 0:2.96-ipl15mdk, cpp = 0:2.96-ipl16mdk
Conflicts: color-gcc < 0.3-alt2, colorgcc
Conflicts: kaffe < 1.0.6-alt2

%define _libexecdir /usr/libexec

%package -n gcc-c++-common
Summary: Common symlinks for the GNU C++ Compiler
License: GPL
Group: Development/C++
PreReq: %name = %version-%release

%package -n gcc-fortran-common
Summary: Common symlinks for the GNU Fortran Compiler
License: GPL
Group: Development/Other
PreReq: %name = %version-%release
Provides: gcc-g77-common = %version-%release
Obsoletes: gcc-g77-common
Conflicts: gcc2.95-g77 < 1:2.95.3-alt8
Conflicts: gcc2.96-g77 < 0:2.96-alt8
Conflicts: gcc3.3-g77 < 0:3.3.4-alt5
Conflicts: gcc3.4-g77 < 0:3.4.5-alt3

%package -n gcc-treelang-common
Summary: Common symlinks for the GNU Treelang Compiler
License: GPL
Group: Development/Other
PreReq: %name = %version-%release
Conflicts: gcc3.3-treelang < 0:3.3.4-alt5
Conflicts: gcc3.4-treelang < 0:3.4.5-alt3

%package -n gcc-java-common
Summary: Common symlinks for the GNU Java Compiler
License: GPL
Group: Development/Java
PreReq: %name = %version-%release
Conflicts: gcc3.4-java < 0:3.4.5-alt3

%package -n libgcj-common
Summary: Common files for the GNU Java runtime libraries
License: GPL
Group: Development/Java
PreReq: %name = %version-%release
Conflicts: libgcj < 0:3.3.3-alt6

%description
This package contains common symlinks, directories and selection
utility for the GNU Compiler Collection.

%description -n gcc-c++-common
This package contains common symlinks for the GNU C++ Compiler.

%description -n gcc-fortran-common
This package contains common symlinks for the GNU Fortran 77 Compiler.

%description -n gcc-treelang-common
This package contains common symlinks for the GNU Treelang Compiler.

%description -n gcc-java-common
This package contains common symlinks for the GNU Java Compiler.

%description -n libgcj-common
This package contains common files for the GNU Java runtime libraries.

%prep
%setup -cT
install -p -m755 %SOURCE0 select-gcc
install -p -m755 %SOURCE1 gccbug
install -p -m755 %SOURCE2 %SOURCE3 %SOURCE4 %SOURCE5 .

%patch -p1

%build
gcc %optflags -Werror -D_GNU_SOURCE '-DBINDIR="%_bindir"' \
'-DTARGET="%_target_platform"' gcc_wrapper.c -o gcc_wrapper
sed -i 's| at TARGET at |%_target_platform|g' select-gcc gccbug

%install
mkdir -p %buildroot{/lib,%_libdir/gcc{,-lib}/%_target_platform,%_libexecdir/gcc/%_target_platform,%_libdir/security,%_bindir,%_sbindir,%_includedir/c++}
install -p -m755 select-gcc %buildroot%_sbindir/
install -p -m755 gcc_wrapper %buildroot%_bindir/
install -p -m755 gccbug %buildroot%_bindir/%_target_platform-gccbug
install -p -m644 logging.properties %buildroot%_libdir/
install -p -m644 {classpath,libgcj}.security %buildroot%_libdir/security/

for n in cpp fastjar g++ gappletviewer gcj gcj-dbtool gcjh gcov gfortran gij gjarsigner gjnih gkeytool grepjar grmic grmiregistry gtreelang jcf-dump jv-convert jv-scan protoize unprotoize; do
ln -s gcc "%buildroot%_bindir/$n"
done

ln -s ..%_bindir/cpp %buildroot/lib/cpp
ln -s gcc %buildroot%_bindir/cc
ln -s g++ %buildroot%_bindir/c++
ln -s gfortran %buildroot%_bindir/f77
ln -s gfortran %buildroot%_bindir/f95
ln -s gfortran %buildroot%_bindir/g77
ln -s gtreelang %buildroot%_bindir/tree1
ln -s fastjar %buildroot%_bindir/gcj-jar
ln -s grmic %buildroot%_bindir/gcj-rmic
ln -s grmiregistry %buildroot%_bindir/rmiregistry
ln -s %_target_platform-fastjar %buildroot%_bindir/%_target_platform-jar
ln -s %_target_platform-g++ %buildroot%_bindir/%_target_platform-c++
ln -s %_target_platform-gcc %buildroot%_bindir/%_target_platform-cc
ln -s %_target_platform-gccbug %buildroot%_bindir/gccbug
ln -s %_target_platform-gfortran %buildroot%_bindir/%_target_platform-f77
ln -s %_target_platform-gfortran %buildroot%_bindir/%_target_platform-f95
ln -s %_target_platform-gfortran %buildroot%_bindir/%_target_platform-g77
ln -s %_target_platform-gtreelang %buildroot%_bindir/%_target_platform-tree1

mkdir -p %buildroot%_altdir
cat >%buildroot%_altdir/%name<<EOF
%_bindir/gcc %_bindir/gcc_wrapper 40
EOF

%post
rm -f /var/lib/rpm/alternatives/{g++,g77,gcj}

if [ -x /usr/sbin/update-alternatives ]; then
for n in so a; do
for f in %_libdir/gcc-lib/%_target_platform/*/libstdc++.$n; do
[ -f "$f" ] || continue
/usr/sbin/update-alternatives --remove libstdc++.$n "$f" ||:
done
done
fi

%register_alternatives %name -- gcc g++ g77 gcj

%triggerpostun -- cpp, cpp2.95 < 1:2.95.3-alt2, cpp2.96 < 0:2.96-alt3, cpp3.2 < 0:3.2.1-alt1, gcc, gcc2.95 < 1:2.95.3-alt2, gcc2.96 < 0:2.96-alt3, gcc3.2 < 0:3.2.1-alt1, gcc-c++, gcc2.95-c++ < 1:2.95.3-alt2, gcc2.96-c++ < 0:2.96-alt3, gcc3.2-c++ < 0:3.2.1-alt1, gcc-g77, gcc2.95-g77 < 1:2.95.3-alt2, gcc2.96-g77 < 0:2.96-alt3, gcc3.2-g77 < 0:3.2.1-alt1, gcc-java, libgcj, gcc2.96-java < 0:2.96-alt3, libgcc2.96 < 0:2.96-alt4, gcc3.2-java < 0:3.2.1-alt1, color-gcc < 0.3-alt2, colorgcc
%register_alternatives %name -- gcc g++ g77 gcj
for n in gccbug; do
[ -f "%_bindir/$n" -o ! -f "%_bindir/%_target_platform-$n" ] ||
ln -sf "%_target_platform-$n" "%_bindir/$n"
done
for n in cpp g++ g77 fastjar gcj gcjh gcov gij grepjar grmic grmiregistry gtreelang jcf-dump jv-convert jv-scan protoize tree1 unprotoize; do
[ -f "%_bindir/$n" -o ! -f "%_bindir/gcc" ] ||
ln -sf gcc "%_bindir/$n"
done

%preun
%unregister_alternatives %name

%files
%config %_altdir/%name
/lib/*
%_libdir/*
%_libexecdir/*
%_bindir/gcc_wrapper
%_bindir/cc
%_bindir/cpp
%_bindir/gccbug
%_bindir/gcov
%_bindir/protoize
%_bindir/unprotoize
%_bindir/%_target_platform-cc
%_bindir/%_target_platform-gccbug
%_sbindir/*

%files -n gcc-c++-common
%_bindir/c++
%_bindir/g++
%_bindir/%_target_platform-c++
%_includedir/c++

%files -n gcc-fortran-common
%_bindir/f77
%_bindir/f95
%_bindir/g77
%_bindir/gfortran
%_bindir/%_target_platform-f77
%_bindir/%_target_platform-f95
%_bindir/%_target_platform-g77

%files -n gcc-treelang-common
%_bindir/gtreelang
%_bindir/tree1
%_bindir/%_target_platform-tree1

%files -n gcc-java-common
%_bindir/fastjar
%_bindir/gappletviewer
%_bindir/gcj
%_bindir/gcj-*
%_bindir/gcjh
%_bindir/gij
%_bindir/gjarsigner
%_bindir/gjnih
%_bindir/gkeytool
%_bindir/grepjar
%_bindir/grmic
%_bindir/grmiregistry
%_bindir/jcf-dump
%_bindir/jv-convert
%_bindir/jv-scan
%_bindir/rmiregistry
%_bindir/%_target_platform-jar

%files -n libgcj-common
%_libdir/logging.properties
%_libdir/security

%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