summaryrefslogtreecommitdiff
path: root/portsToCome/gcc-ada
diff options
context:
space:
mode:
Diffstat (limited to 'portsToCome/gcc-ada')
-rw-r--r--portsToCome/gcc-ada/Pkgfile73
-rw-r--r--portsToCome/gcc-ada/gcc-4.7.3-multilib-dirs.patch23
-rw-r--r--portsToCome/gcc-ada/gcc-nocheck-fixincludes.patch14
3 files changed, 110 insertions, 0 deletions
diff --git a/portsToCome/gcc-ada/Pkgfile b/portsToCome/gcc-ada/Pkgfile
new file mode 100644
index 0000000..04d73bf
--- /dev/null
+++ b/portsToCome/gcc-ada/Pkgfile
@@ -0,0 +1,73 @@
+# URL: http://gcc.gnu.org/
+# Description: Ada add-on for GNU GCC compiler.
+# Maintainer: Erich Eckner, crux at eckner dot net
+
+name=gcc-ada
+version=10.2.0
+release=1
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-$version/gcc-$version.tar.xz
+ gcc-nocheck-fixincludes.patch gcc-4.7.3-multilib-dirs.patch)
+
+build() {
+ patch -d gcc-$version -p 1 -i $SRC/gcc-nocheck-fixincludes.patch
+ patch -d gcc-$version -p 1 -i $SRC/gcc-4.7.3-multilib-dirs.patch
+
+ mkdir build
+ cd build
+
+ ../gcc-$version/configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --enable-languages=ada \
+ --enable-threads=posix \
+ --enable-__cxa_atexit \
+ --enable-clocale=gnu \
+ --enable-shared \
+ --disable-nls \
+ --with-x=no \
+ --with-system-zlib \
+ --enable-multilib \
+ --enable-default-pie \
+ --enable-default-ssp \
+ --with-pkgversion="CRUX-x86_64-multilib"
+
+ if [ -n "$(pkginfo -i | grep '^ccache ')" ]; then
+ make STAGE_CC_WRAPPER='/usr/bin/ccache' BOOT_CFLAGS="$CFLAGS" bootstrap
+ else
+ make BOOT_CFLAGS="$CFLAGS" bootstrap
+ fi
+
+ make -j 1 DESTDIR=$PKG install
+
+ for D in lib{,32}; do
+ install -d -m 0755 $PKG/usr/share/gdb/auto-load/usr/${D}
+ mv $PKG/usr/${D}/libstdc++.so.*-gdb.py $PKG/usr/share/gdb/auto-load/usr/${D}
+ done
+
+ # remove files already on the system out of the port
+ {
+# pkginfo -l gcc
+# pkginfo -l binutils
+ cut -f3 < /usr/ports/core/gcc/.footprint
+ cut -f3 < /usr/ports/core/binutils/.footprint
+ } \
+ | sed -e '
+ s|^|/|
+ p
+ s|\.gz$||
+ t
+ d
+ ' \
+ | while read -r i; do
+ if [ -e "$i" ] && [ ! -d "$i" ] && [ -e "$PKG$i" ]; then
+ rm "$PKG$i"
+ fi
+ done
+
+ rm $PKG/usr/bin/*-linux-gnu-*
+ rm -r $PKG/usr/share/{info,gcc-$version}
+ rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
+
+ # Remove empty directories
+ find $PKG -depth -empty -exec rm -r {} \;
+}
diff --git a/portsToCome/gcc-ada/gcc-4.7.3-multilib-dirs.patch b/portsToCome/gcc-ada/gcc-4.7.3-multilib-dirs.patch
new file mode 100644
index 0000000..014919f
--- /dev/null
+++ b/portsToCome/gcc-ada/gcc-4.7.3-multilib-dirs.patch
@@ -0,0 +1,23 @@
+diff -Nru gcc-4.7.3.orig/gcc/config/i386/linux64.h gcc-4.7.3/gcc/config/i386/linux64.h
+--- gcc-4.7.3.orig/gcc/config/i386/linux64.h 2013-04-13 18:33:41.015109554 +0200
++++ gcc-4.7.3/gcc/config/i386/linux64.h 2013-04-13 18:34:01.147713013 +0200
+@@ -28,6 +28,6 @@
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+diff -Nru gcc-4.7.3.orig/gcc/config/i386/t-linux64 gcc-4.7.3/gcc/config/i386/t-linux64
+--- gcc-4.7.3.orig/gcc/config/i386/t-linux64 2013-04-13 18:33:41.015109554 +0200
++++ gcc-4.7.3/gcc/config/i386/t-linux64 2013-04-13 18:39:13.269752565 +0200
+@@ -34,6 +34,6 @@
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
+ MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
diff --git a/portsToCome/gcc-ada/gcc-nocheck-fixincludes.patch b/portsToCome/gcc-ada/gcc-nocheck-fixincludes.patch
new file mode 100644
index 0000000..7e01d03
--- /dev/null
+++ b/portsToCome/gcc-ada/gcc-nocheck-fixincludes.patch
@@ -0,0 +1,14 @@
+diff -Nru gcc-4.7.3.orig/fixincludes/Makefile.in gcc-4.7.3/fixincludes/Makefile.in
+--- gcc-4.7.3.orig/fixincludes/Makefile.in 2013-04-13 18:33:41.098439867 +0200
++++ gcc-4.7.3/fixincludes/Makefile.in 2013-04-13 18:41:29.354868695 +0200
+@@ -173,9 +173,7 @@
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+ check : all
+- autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
+- $(SHELL) ./check.sh $(srcdir)/tests/base
+- @rm -f ./check.sh
++ echo "No check here.."
+
+ install : all
+ -rm -rf $(DESTDIR)$(itoolsdir)