diff --git a/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.36.1_btrev43189.recipe b/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.40.recipe similarity index 72% rename from sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.36.1_btrev43189.recipe rename to sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.40.recipe index d89939dce..5654cbb73 100644 --- a/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.36.1_btrev43189.recipe +++ b/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.40.recipe @@ -1,4 +1,4 @@ -SUMMARY="Assembler, linker and binary tools for ARM microcontrollers" +SUMMARY="Assembler, linker and binary tools for ARM microcontrollers and processors" DESCRIPTION="The GNU Binutils are a collection of binary tools. The main ones are: @@ -9,7 +9,6 @@ But they also include: - addr2line - converts addresses into filenames and line numbers. - ar - a utility for creating, modifying and extracting of archives. - c++filt - filter to demangle encoded C++ symbols. -- gold - a linker for ELF files. - nm - lists symbols from object files. - objcopy - copys and translates object files. - objdump - displays information from object files. @@ -19,21 +18,17 @@ But they also include: - strings - lists printable strings from files. - strip - discards symbols. -The tools of this package can be used for cross-builds to \ -$effectiveTargetMachineTriple." -HOMEPAGE="https://www.gnu.org/software/binutils/" -COPYRIGHT="1988-2022 Free Software Foundation, Inc." +The tools of this package can be used for cross-builds to $effectiveTargetMachineTriple." +HOMEPAGE="https://www.gnu.org/software/binutils" +COPYRIGHT="1988-2023 Free Software Foundation, Inc." LICENSE="GNU GPL v3 GNU LGPL v3" REVISION="1" -binutilsVersion="2.36.1" -srcGitRev="795d2053a07fdd2ce3c4ef6f649b0a27e2b085d1" -SOURCE_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" -SOURCE_DIR="buildtools-$srcGitRev/binutils" -CHECKSUM_SHA256="73244785a2496119548d1b47c4f899a641a910941df678d6bc6bae41c2ab6be1" -SOURCE_FILENAME="binutils-$portVersion.tar.gz" +SOURCE_URI="https://ftp.gnu.org/gnu/binutils/binutils-$portVersion.tar.xz" +SOURCE_DIR="binutils-$portVersion" +CHECKSUM_SHA256="0f8a4c272d7f17f369ded10a4aca28b8e304828e95526da482b0ccc4dfc9d8e1" -ARCHITECTURES="?all !x86_gcc2" +ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" targetArch="arm-none-eabi" @@ -61,14 +56,16 @@ PROVIDES=" lib:${targetU}_libopcodes_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.36 lib:libctf_nobfd$secondaryArchSuffix = 0.0.0 compat >= 0 lib:libctf$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libsframe$secondaryArchSuffix = 0.0.0 compat >= 0 + devel:libctf_nobfd$secondaryArchSuffix = 0.0.0 compat >= 0 + devel:libctf$secondaryArchSuffix = 0.0.0 compat >= 0 + devel:libsframe$secondaryArchSuffix = 0.0.0 compat >= 0 " REQUIRES=" + binutils$secondaryArchSuffix haiku$secondaryArchSuffix - lib:libbfd_$binutilsVersion$secondaryArchSuffix - lib:libopcodes_$binutilsVersion$secondaryArchSuffix " - BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel cmd:find @@ -101,25 +98,16 @@ BUILD() { rm -rf $objectsDir - # Touch all *.info files, as newer texinfos don't like their format - (cd $sourceDir; find . -name \*.info | xargs touch) - - # Touch all *.y files, ensure they get generated; without this, the - # PE targets would fail to link - (cd $sourceDir; find . -name \*.y | xargs touch) - mkdir -p $objectsDir cd $objectsDir - CFLAGS=-O2 CXXFLAGS=-O2 runConfigure "$sourceDir/configure" \ + CFLAGS=-O2 CXXFLAGS=-O2 runConfigure --omit-dirs binDir \ + "$sourceDir/configure" \ --exec-prefix=$installDir \ --includedir=$includeDir/binutils \ - --docdir=$docDir --enable-host-shared --enable-largefile=yes \ - --disable-libtool-lock --disable-nls --enable-plugins --enable-64-bit-bfd \ - --enable-ld=default \ - --with-sysroot=$installDir \ + --docdir=$docDir --with-sysroot=$installDir \ --enable-deterministic-archives --enable-shared=yes \ - --target=${targetArch} + --disable-nls --bindir=$prefix/bin --target=${targetArch} make $jobArgs LEXLIB= } @@ -130,10 +118,6 @@ INSTALL() make install - # Remove the development libraries and headers. Nobody uses those anyway. - rm $libDir/*.a $libDir/*.la - rm -r $developDir/headers - # no info documentation rm -r $infoDir @@ -141,7 +125,7 @@ INSTALL() echo "Strip debug info" - strip --strip-debug $binDir/* + strip --strip-debug $prefix/bin/* ### Symlinks ############################################## @@ -150,7 +134,7 @@ INSTALL() # There are copies of a subset of the commands below installDir. We # overwrite those with symlinks to the ones in binDir. for file in $installDir/${targetArch}/bin/*; do - symlinkRelative -sfn $binDir/${targetArch}-$(basename $file) $file + symlinkRelative -sfn $prefix/bin/${targetArch}-$(basename $file) $file done ### Cleanup ################################################# @@ -162,4 +146,7 @@ INSTALL() for cmd in dlltool nlmconv windmc windres; do rm -f man1/$cmd.1 done + + rm $libDir/*.la $libDir/*.a + prepareInstalledDevelLibs libctf libsframe } diff --git a/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-6.4.0.recipe b/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-13.1.0.recipe similarity index 68% rename from sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-6.4.0.recipe rename to sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-13.1.0.recipe index da2ec44a4..cc1e7ab8b 100644 --- a/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-6.4.0.recipe +++ b/sys-devel/arm_none_eabi_gcc/arm_none_eabi_gcc-13.1.0.recipe @@ -1,14 +1,16 @@ SUMMARY="C/C++ cross-compiler for ARM" DESCRIPTION="Compiler for ARM processors." HOMEPAGE="http://gcc.gnu.org" -COPYRIGHT="1988-2017 Free Software Foundation, Inc." -LICENSE="GNU GPL v2 - GNU LGPL v2" -REVISION="3" -SOURCE_URI="http://ftpmirror.gnu.org/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz" -CHECKSUM_SHA256="850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4" -SOURCE_DIR="gcc-$portVersion" +SOURCE_URI="http://ftpmirror.gnu.org/gcc/gcc-$portVersion/gcc-$portVersion.tar.xz" +SOURCE_DIR="gcc-$portVersion" +CHECKSUM_SHA256="61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86" +REVISION="1" +LICENSE=" + GNU GPL v2 + GNU LGPL v2 +" +COPYRIGHT="1988-2023 Free Software Foundation, Inc." ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" @@ -17,24 +19,27 @@ targetArch="arm-none-eabi" targetU="arm_none_eabi" PROVIDES=" - ${targetU}_gcc$secondaryArchSuffix = $portVersion compat >= 6 - cmd:${targetU}_c++ = $portVersion compat >= 6 - cmd:${targetU}_cc = $portVersion compat >= 6 - cmd:${targetU}_cpp = $portVersion compat >= 6 - cmd:${targetU}_g++ = $portVersion compat >= 6 - cmd:${targetU}_gcc = $portVersion compat >= 6 - cmd:${targetU}_gcc_6.4.0 = $portVersion compat >= 6 - cmd:${targetU}_gcov = $portVersion compat >= 6 - lib:${targetU}_libstdc++$secondaryArchSuffix = $portVersion compat >= 6 + ${targetU}_gcc$secondaryArchSuffix = $portVersion compat >= 4 + cmd:${targetU}_c++ = $portVersion compat >= 4 + cmd:${targetU}_cc = $portVersion compat >= 4 + cmd:${targetU}_cpp = $portVersion compat >= 4 + cmd:${targetU}_g++ = $portVersion compat >= 4 + cmd:${targetU}_gcc = $portVersion compat >= 4 + cmd:${targetU}_gcc_$portVersion = $portVersion compat >= 4 + cmd:${targetU}_gcov = $portVersion compat >= 4 + lib:${targetU}_libstdc++$secondaryArchSuffix = $portVersion compat >= 4 " REQUIRES=" haiku$secondaryArchSuffix - cmd:${targetU}_as$secondaryArchSuffix + cmd:${targetU}_as + lib:libgmp$secondaryArchSuffix + lib:libmpfr$secondaryArchSuffix + lib:libmpc$secondaryArchSuffix " BUILD_REQUIRES=" - cmd:${targetU}_as$secondaryArchSuffix - ${targetU}_newlib$secondaryArchSuffix + cmd:${targetU}_as$secondaryArchSuffix >= 2.40 + ${targetU}_newlib$secondaryArchSuffix >= 4.3.0 devel:libgmp$secondaryArchSuffix devel:libmpfr$secondaryArchSuffix devel:libmpc$secondaryArchSuffix @@ -79,17 +84,18 @@ BUILD() # let's use a file and --include instead. echo '#define LIBRARY_PATH_ENV "ARM_LIBRARY_PATH"' > haiku_host.h - CXXFLAGS="-O2 -include $objectsDir/haiku_host.h" \ - CFLAGS="-O2 -U_FORTIFY_SOURCE" "$sourceDir/configure" \ + CXXFLAGS="-O2 -include $objectsDir/haiku_host.h -fPIC" \ + CFLAGS="-O2 -U_FORTIFY_SOURCE -fPIC" "$sourceDir/configure" \ --build=$effectiveTargetMachineTriple \ --prefix=$installDir --libexecdir=$installDir/lib --mandir=$manDir \ - --docdir=$docDir --disable-nls --disable-libssp --with-gnu-ld \ + --docdir=$docDir --disable-nls --with-gnu-ld \ --enable-languages=c,c++ --enable-lto --enable-frame-pointer \ --enable-multilib --disable-shared \ --with-newlib --with-sysroot=$installDir \ --with-native-system-header-dir=/include \ --with-pkgversion=$(echo $portVersion | cut -c 7-) --target=$targetArch + echo "configure done, start build" make $jobArgs all-gcc all-target-libgcc } diff --git a/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-6.4.0.recipe b/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-13.1.0.recipe similarity index 69% rename from sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-6.4.0.recipe rename to sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-13.1.0.recipe index fc9d09715..367fbe061 100644 --- a/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-6.4.0.recipe +++ b/sys-devel/arm_none_eabi_gcc_nolibc/arm_none_eabi_gcc_nolibc-13.1.0.recipe @@ -1,15 +1,18 @@ SUMMARY="C/C++ cross-compiler for ARM" DESCRIPTION="Compiler for ARM processors." HOMEPAGE="http://gcc.gnu.org" -COPYRIGHT="1988-2017 Free Software Foundation, Inc." -LICENSE="GNU GPL v2 - GNU LGPL v2" -REVISION="2" -SOURCE_URI="http://ftpmirror.gnu.org/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz" -CHECKSUM_SHA256="850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4" -SOURCE_DIR="gcc-$portVersion" -ARCHITECTURES="?all !x86_gcc2" +SOURCE_URI="http://ftpmirror.gnu.org/gcc/gcc-$portVersion/gcc-$portVersion.tar.xz" +SOURCE_DIR="gcc-$portVersion" +CHECKSUM_SHA256="61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86" +REVISION="1" +LICENSE=" + GNU GPL v2 + GNU LGPL v2 +" +COPYRIGHT="1988-2023 Free Software Foundation, Inc." + +ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" targetArch="arm-none-eabi" @@ -17,25 +20,25 @@ targetU="arm_none_eabi" PROVIDES=" ${targetU}_gcc_nolibc$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_c++$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_cc$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_cpp$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_g++$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_gcc$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_gcc_4.8.2$secondaryArchSuffix = $portVersion compat >= 4 - cmd:${targetU}_gcov$secondaryArchSuffix = $portVersion compat >= 4 + cmd:${targetU}_c++ = $portVersion compat >= 4 + cmd:${targetU}_cc = $portVersion compat >= 4 + cmd:${targetU}_cpp = $portVersion compat >= 4 + cmd:${targetU}_g++ = $portVersion compat >= 4 + cmd:${targetU}_gcc = $portVersion compat >= 4 + cmd:${targetU}_gcc_$portVersion = $portVersion compat >= 4 + cmd:${targetU}_gcov = $portVersion compat >= 4 lib:${targetU}_libstdc++$secondaryArchSuffix = $portVersion compat >= 4 " REQUIRES=" haiku$secondaryArchSuffix - cmd:${targetU}_as$secondaryArchSuffix + cmd:${targetU}_as lib:libgmp$secondaryArchSuffix lib:libmpfr$secondaryArchSuffix lib:libmpc$secondaryArchSuffix " BUILD_REQUIRES=" - cmd:${targetU}_as$secondaryArchSuffix + cmd:${targetU}_as >= 2.40 devel:libgmp$secondaryArchSuffix devel:libmpfr$secondaryArchSuffix devel:libmpc$secondaryArchSuffix @@ -80,11 +83,11 @@ BUILD() # let's use a file and --include instead. echo '#define LIBRARY_PATH_ENV "ARM_LIBRARY_PATH"' > haiku_host.h - CXXFLAGS="-O2 -include $objectsDir/haiku_host.h" \ - CFLAGS="-O2 -U_FORTIFY_SOURCE" "$sourceDir/configure" \ + CXXFLAGS="-O2 -include $objectsDir/haiku_host.h -fPIC" \ + CFLAGS="-O2 -U_FORTIFY_SOURCE -fPIC" "$sourceDir/configure" \ --build=$effectiveTargetMachineTriple \ --prefix=$installDir --libexecdir=$installDir/lib --mandir=$manDir \ - --docdir=$docDir --disable-nls --disable-libssp --with-gnu-ld \ + --docdir=$docDir --disable-nls --with-gnu-ld \ --enable-languages=c,c++ --enable-lto --enable-frame-pointer \ --enable-multilib --disable-shared \ --without-headers --with-newlib \ @@ -92,6 +95,7 @@ BUILD() --with-native-system-header-dir=/include \ --with-pkgversion=$(echo $portVersion | cut -c 7-) --target=$targetArch + echo "configure done, start build" make $jobArgs all-gcc all-target-libgcc } @@ -106,9 +110,9 @@ INSTALL() echo "Creating required symlinks" # make all tools available via default paths - mkdir -p $binDir + mkdir -p $prefix/bin for f in c++ cc cpp g++ gcc gcov; do - symlinkRelative -sfn $installDir/bin/$targetArch-$f $binDir + symlinkRelative -sfn $installDir/bin/$targetArch-$f $prefix/bin done ### Cleanup ############################################### diff --git a/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe b/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-4.3.0.recipe similarity index 82% rename from sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe rename to sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-4.3.0.recipe index 92ae123bd..7a468fd78 100644 --- a/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-2.1.0.recipe +++ b/sys-libs/arm_none_eabi_newlib/arm_none_eabi_newlib-4.3.0.recipe @@ -6,7 +6,7 @@ HOMEPAGE="http://www.sourceware.org/newlib/" # This lists copyrights only for the parts used in this ARM compilation, other # targets may need more or less. Please update this if making a recipe for # another arch. -COPYRIGHT="1994-2009 Red Hat, Inc +COPYRIGHT="1994-2023 Red Hat, Inc 1981-2000 The Regents of the University of California 1991 by AT&T 1998-2001 by Lucent Technologies @@ -30,12 +30,12 @@ COPYRIGHT="1994-2009 Red Hat, Inc 2008 Ed Schouten" LICENSE="BSD (3-clause) GNU LGPL v2.1" -REVISION="3" -SOURCE_URI="ftp://sourceware.org/pub/newlib/newlib-2.1.0.tar.gz" -CHECKSUM_SHA256="3e4d5ab9f0508942b6231b8ade4f8e5048cf92c96ed574c2bd6bd3320a599a48" -SOURCE_DIR="newlib-$portVersion" +REVISION="1" +SOURCE_URI="ftp://sourceware.org/pub/newlib/newlib-$portVersion.20230120.tar.gz" +SOURCE_DIR="newlib-$portVersion.20230120" +CHECKSUM_SHA256="83a62a99af59e38eb9b0c58ed092ee24d700fff43a22c03e433955113ef35150" -ARCHITECTURES="!x86_gcc2" +ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" targetArch="arm-none-eabi" @@ -56,8 +56,8 @@ BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:make cmd:makeinfo - cmd:${targetU}_ld$secondaryArchSuffix - ${targetU}_gcc_nolibc$secondaryArchSuffix + cmd:${targetU}_ld$secondaryArchSuffix >= 2.40 + ${targetU}_gcc_nolibc$secondaryArchSuffix >= 13.1.0 " sourceDir=$(pwd)