mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 03:30:05 +02:00
Finish work on haiku/master versions of prequired packages
This commit is contained in:
169
sys-devel/binutils/binutils-2.17_130421.recipe
Normal file
169
sys-devel/binutils/binutils-2.17_130421.recipe
Normal file
@@ -0,0 +1,169 @@
|
||||
SUMMARY="The GNU assembler, linker and binary utilities"
|
||||
HOMEPAGE="http://www.gnu.org/software/binutils"
|
||||
SRC_URI="git+git://github.com/haiku/BuildtoolsPM.git#278de7bc9243876c2e08f8d6a243d510c5000462"
|
||||
REVISION="1"
|
||||
ARCHITECTURES="x86_gcc2 ?x86"
|
||||
LICENSE="
|
||||
GNU GPL v2
|
||||
GNU LGPL v2
|
||||
"
|
||||
COPYRIGHT="1988-2006 Free Software Foundation, Inc."
|
||||
|
||||
|
||||
PROVIDES="
|
||||
binutils = $portVersion compat >= 2.17
|
||||
cmd:addr2line = $portVersion compat >= 2.17
|
||||
cmd:ar = $portVersion compat >= 2.17
|
||||
cmd:as = $portVersion compat >= 2.17
|
||||
cmd:c++filt = $portVersion compat >= 2.17
|
||||
cmd:gprof = $portVersion compat >= 2.17
|
||||
cmd:ld = $portVersion compat >= 2.17
|
||||
cmd:nm = $portVersion compat >= 2.17
|
||||
cmd:objcopy = $portVersion compat >= 2.17
|
||||
cmd:objdump = $portVersion compat >= 2.17
|
||||
cmd:ranlib = $portVersion compat >= 2.17
|
||||
cmd:readelf = $portVersion compat >= 2.17
|
||||
cmd:size = $portVersion compat >= 2.17
|
||||
cmd:strings = $portVersion compat >= 2.17
|
||||
cmd:strip = $portVersion compat >= 2.17
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku >= $haikuVersion
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku_devel >= $haikuVersion
|
||||
cmd:autoconf
|
||||
binutils
|
||||
gcc
|
||||
cmd:flex
|
||||
cmd:make
|
||||
cmd:sed
|
||||
cmd:tar
|
||||
texinfo
|
||||
"
|
||||
|
||||
SOURCE_DIR="$portVersionedName"
|
||||
BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL
|
||||
|
||||
binutilsDir=$(pwd)/legacy/binutils
|
||||
relativeArchInstallDir="develop/tools/${portVersionedName}"
|
||||
archInstallDir="$prefix/$relativeArchInstallDir"
|
||||
objectsDir=$(pwd)/../${portVersionedName}-obj
|
||||
binutilsObjectsDir=$objectsDir/binutils
|
||||
|
||||
BUILD()
|
||||
{
|
||||
rm -rf $objectsDir
|
||||
|
||||
# Touch all *.info files, as newer texinfos don't like their format
|
||||
(cd $binutilsDir; find . -name \*.info | xargs touch)
|
||||
|
||||
# build binutils
|
||||
mkdir -p $binutilsObjectsDir
|
||||
cd $binutilsObjectsDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" "$binutilsDir/configure" \
|
||||
--prefix=$prefix --exec-prefix=$archInstallDir \
|
||||
--bindir=$prefix/bin --libdir=$prefix/lib \
|
||||
--includedir=$prefix/develop/headers/binutils \
|
||||
--mandir=$prefix/documentation/man \
|
||||
--with-htmldir=documentation/html/binutils \
|
||||
--disable-nls --enable-shared=yes
|
||||
make
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd $binutilsObjectsDir
|
||||
archName=$(grep '^target_alias' Makefile | cut -d= -f2)
|
||||
|
||||
make install
|
||||
make install-html
|
||||
|
||||
### HTML documentation ####################################
|
||||
|
||||
echo "Organizing HTML documentation..."
|
||||
html_base=$prefix/documentation/html/binutils
|
||||
cd $html_base
|
||||
|
||||
mv as.html as
|
||||
ln -sf as/index.html as.html
|
||||
mv bfd.html bfd
|
||||
ln -sf bfd/index.html bfd.html
|
||||
mv binutils.html binutils
|
||||
ln -sf binutils/index.html binutils.html
|
||||
mv gprof.html gprof
|
||||
ln -sf gprof/index.html gprof.html
|
||||
mv ld.html ld
|
||||
ln -sf ld/index.html ld.html
|
||||
rm standards.html
|
||||
|
||||
### Strip #################################################
|
||||
|
||||
echo "Strip debug info"
|
||||
|
||||
cd $prefix
|
||||
find bin -type f | xargs -r strip --strip-debug
|
||||
strip --strip-debug lib/*.a
|
||||
strip --strip-debug $archInstallDir/$archName/bin/*
|
||||
|
||||
### Symlinks ##############################################
|
||||
|
||||
echo "Creating required symlinks"
|
||||
|
||||
# remove duplicate architecture-dependent binaries from $prefix/bin
|
||||
cd $prefix/bin
|
||||
rm ar as ld nm objdump ranlib strip
|
||||
|
||||
# make all tools available via default paths if these are
|
||||
# the system binutils
|
||||
if [ $architecture = 'x86_gcc2' ]; then
|
||||
echo "Symlinking binaries into default path"
|
||||
mkdir -p $prefix/bin
|
||||
ln -sfn ../$relativeArchInstallDir/$archName/bin/* .
|
||||
fi
|
||||
|
||||
### Cleanup #################################################
|
||||
|
||||
echo "Cleanup"
|
||||
|
||||
cd $prefix
|
||||
rm -rf info
|
||||
}
|
||||
|
||||
DESCRIPTION="
|
||||
The GNU Binutils are a collection of binary tools. The main ones are:
|
||||
|
||||
ld - the GNU linker.
|
||||
as - the GNU assembler.
|
||||
|
||||
But they also include:
|
||||
|
||||
addr2line - Converts addresses into filenames and line numbers.
|
||||
ar - A utility for creating, modifying and extracting from archives.
|
||||
c++filt - Filter to demangle encoded C++ symbols.
|
||||
dlltool - Creates files for building and using DLLs.
|
||||
gold - A new, faster, ELF only linker, still in beta test.
|
||||
gprof - Displays profiling information.
|
||||
nlmconv - Converts object code into an NLM.
|
||||
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.
|
||||
windmc - A Windows compatible message compiler.
|
||||
windres - A compiler for Windows resource files.
|
||||
|
||||
Most of these programs use BFD, the Binary File Descriptor library, to do low-level
|
||||
manipulation. Many of them also use the opcodes library to assemble and disassemble machine
|
||||
instructions.
|
||||
|
||||
The binutils have been ported to most major Unix variants as well as Wintel systems, and their
|
||||
main reason for existence is to give the GNU system (and GNU/Linux) the facility to compile
|
||||
and link programs.
|
||||
"
|
||||
@@ -1,29 +1,43 @@
|
||||
SUMMARY="A yacc-compatible parser generator"
|
||||
DESCRIPTION="Bison is a general-purpose parser generator that converts an annotated
|
||||
context-free grammar into an LALR(1) or GLR parser for that grammar. Once you
|
||||
are proficient with Bison, you can use it to develop a wide range of language
|
||||
parsers, from those used in simple desk calculators to complex programming
|
||||
languages.
|
||||
DESCRIPTION="
|
||||
Bison is a general-purpose parser generator that converts an annotated
|
||||
context-free grammar into an LALR(1) or GLR parser for that grammar. Once
|
||||
you are proficient with Bison, you can use it to develop a wide range of
|
||||
language parsers, from those used in simple desk calculators to complex
|
||||
programming languages.
|
||||
|
||||
Bison is upward compatible with Yacc: all properly-written Yacc grammars ought
|
||||
to work with Bison with no change. Anyone familiar with Yacc should be able to
|
||||
use Bison with little trouble. You need to be fluent in C or C++ programming in
|
||||
order to use Bison."
|
||||
Bison is upward compatible with Yacc: all properly-written Yacc grammars
|
||||
ought to work with Bison with no change. Anyone familiar with Yacc should
|
||||
be able to use Bison with little trouble. You need to be fluent in C or
|
||||
C++ programming in order to use Bison.
|
||||
"
|
||||
HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
|
||||
COPYRIGHT="1992-2010 Free Software Foundation, Inc."
|
||||
LICENSE="GNU GPL v3"
|
||||
SRC_URI="http://ftp.gnu.org/gnu/bison/bison-2.4.3.tar.gz"
|
||||
CHECKSUM_MD5="ea45c778b36bdc7a720096819e292a73"
|
||||
REVISION="3"
|
||||
REVISION="4"
|
||||
ARCHITECTURES="x86_gcc2 ?x86"
|
||||
|
||||
PROVIDES="bison = $portVersion compat >= 2.4
|
||||
PROVIDES="
|
||||
bison = $portVersion compat >= 2.4
|
||||
cmd:bison = $portVersion compat >= 2.4
|
||||
cmd:yacc
|
||||
lib:liby.a = $portVersion compat >= 2.4"
|
||||
REQUIRES="haiku >= $haikuVersion"
|
||||
BUILD_PREREQUIRES="haiku_devel >= $haikuVersion
|
||||
lib:liby.a = $portVersion compat >= 2.4
|
||||
"
|
||||
REQUIRES="
|
||||
haiku >= $haikuVersion
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
cmd:gcc
|
||||
cmd:ld
|
||||
cmd:make"
|
||||
cmd:m4
|
||||
cmd:make
|
||||
cmd:sed
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku_devel >= $haikuVersion
|
||||
"
|
||||
|
||||
SOURCE_DIR="$portVersionedName"
|
||||
|
||||
@@ -46,5 +60,3 @@ TEST()
|
||||
make check
|
||||
}
|
||||
|
||||
LICENSE="GNU GPL v3"
|
||||
COPYRIGHT="1992-2010 Free Software Foundation, Inc."
|
||||
|
||||
149
sys-devel/gcc/gcc-2.95.3_130421.recipe
Normal file
149
sys-devel/gcc/gcc-2.95.3_130421.recipe
Normal file
@@ -0,0 +1,149 @@
|
||||
SUMMARY="C/C++ compiler"
|
||||
DESCRIPTION="Standard compiler for x86_gcc2 platform, ABI-compatible with BeOS R5."
|
||||
HOMEPAGE="http://gcc.gnu.org"
|
||||
LICENSE="
|
||||
GNU GPL v2
|
||||
GNU LGPL v2
|
||||
"
|
||||
COPYRIGHT="1988-2000 Free Software Foundation, Inc."
|
||||
SRC_URI="git+git://github.com/haiku/BuildtoolsPM.git#278de7bc9243876c2e08f8d6a243d510c5000462"
|
||||
REVISION="1"
|
||||
ARCHITECTURES="x86_gcc2 ?x86"
|
||||
|
||||
PROVIDES="
|
||||
gcc = $portVersion compat >= 2.95.3
|
||||
cmd:c++ = $portVersion compat >= 2.95.3
|
||||
cmd:cpp = $portVersion compat >= 2.95.3
|
||||
cmd:g++ = $portVersion compat >= 2.95.3
|
||||
cmd:gcc = $portVersion compat >= 2.95.3
|
||||
cmd:gcov = 1.5 compat >= 1.5
|
||||
cmd:protoize = $portVersion compat >= 2.95.3
|
||||
cmd:unprotoize = $portVersion compat >= 2.95.3
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku >= $haikuVersion
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
binutils
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku_devel >= $haikuVersion
|
||||
cmd:autoconf
|
||||
gcc
|
||||
cmd:flex
|
||||
cmd:make
|
||||
cmd:sed
|
||||
cmd:tar
|
||||
cmd:makeinfo
|
||||
"
|
||||
|
||||
SOURCE_DIR="$portVersionedName"
|
||||
BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL
|
||||
|
||||
gccDir=$(pwd)/legacy/gcc
|
||||
gccDate=110711
|
||||
relativeGccInstallDir="develop/tools/gcc-2.95.3-${gccDate}"
|
||||
gccInstallDir="$prefix/$relativeGccInstallDir"
|
||||
objectsDir=$(pwd)/../${portVersionedName}-obj
|
||||
gccObjectsDir=$objectsDir/gcc
|
||||
|
||||
BUILD()
|
||||
{
|
||||
rm -rf $objectsDir
|
||||
|
||||
# Touch some files generated by bison, so that bison won't run to update
|
||||
# them. Fixes issues with newer bison versions.
|
||||
# And while at it, touch gperf target, too (as gperf may not be installed).
|
||||
(cd $gccDir/gcc; touch c-parse.c c-parse.h cexp.c cp/parse.c \
|
||||
cp/parse.h c-gperf.h)
|
||||
|
||||
# build gcc
|
||||
mkdir -p $gccObjectsDir
|
||||
cd $gccObjectsDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" "$gccDir/configure" \
|
||||
--prefix=$gccInstallDir \
|
||||
--disable-nls --enable-shared=yes --enable-languages=c,c++
|
||||
make bootstrap || true
|
||||
# The above will fail when compiling builtinbuf.cc, but we can ignore
|
||||
# that since it's trying to build libstdc++.so, which haiku provides
|
||||
# anyway.
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd $gccObjectsDir
|
||||
make install
|
||||
|
||||
base=$gccInstallDir
|
||||
|
||||
### HTML documentation ####################################
|
||||
|
||||
html_base=$prefix/documentation/packages/$portVersionedName
|
||||
if [ ! -d "$html_base" ]; then
|
||||
echo "Building HTML documentation..."
|
||||
mkdir -p $html_base
|
||||
cd $html_base
|
||||
|
||||
makeinfo --html "$gccDir/gcc/cpp.texi"
|
||||
makeinfo --html "$gccDir/gcc/gcc.texi"
|
||||
makeinfo --force --html "$gccDir/libio/iostream.texi" \
|
||||
&& true
|
||||
# some errors
|
||||
|
||||
ln -sf cpp/index.html $html_base/cpp.html
|
||||
ln -sf gcc/index.html $html_base/gcc.html
|
||||
ln -sf iostream/index.html $html_base/iostream.html
|
||||
fi
|
||||
|
||||
### Symlinks ##############################################
|
||||
|
||||
echo "Creating required symlinks"
|
||||
|
||||
# convert to absolute links to relative ones
|
||||
cd $base/bin
|
||||
ln -sfn g++ c++
|
||||
ln -sfn gcc cc
|
||||
ln -sfn gcc i586-pc-haiku-gcc
|
||||
|
||||
# make all tools available via default paths if this is the system
|
||||
# compiler
|
||||
if [ $architecture = 'x86_gcc2' ]; then
|
||||
echo "Symlinking binaries into default path"
|
||||
mkdir -p $prefix/bin
|
||||
cd $prefix/bin
|
||||
ln -sfn ../$relativeGccInstallDir/bin/* .
|
||||
fi
|
||||
|
||||
### Strip #################################################
|
||||
|
||||
echo "Strip debug info"
|
||||
|
||||
cd $base
|
||||
strip --strip-debug bin/*
|
||||
strip --strip-debug i586-pc-haiku/bin/*
|
||||
strip --strip-debug lib/gcc-lib/i586-pc-haiku/2.95.3-${gccDate}/* \
|
||||
&>/dev/null || true
|
||||
|
||||
### Cleanup ###############################################
|
||||
|
||||
echo "Cleanup"
|
||||
|
||||
if [ -d $base/man -o -d $base/info -o -d $base/share ]; then
|
||||
rm -rf $base/man
|
||||
rm -rf $base/info
|
||||
rm -rf $base/share
|
||||
fi
|
||||
|
||||
rm -f $base/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-$gccDate/include/math.h
|
||||
|
||||
### C++ includes ##########################################
|
||||
|
||||
echo "Install C++ includes & library"
|
||||
|
||||
rm -rf $base/include/g++
|
||||
ln -snf /boot/system/develop/headers/c++/2.95.3 $base/include/g++
|
||||
|
||||
ln -snf /boot/system/lib/libstdc++.r4.so $base/lib/
|
||||
ln -snf /boot/system/lib/libstdc++.so $base/lib/
|
||||
}
|
||||
Reference in New Issue
Block a user