From e8213fac46bfcb8068a883cb88b2bb1587f190f9 Mon Sep 17 00:00:00 2001 From: davidovski Date: Tue, 1 Mar 2022 21:25:54 +0000 Subject: made packages work with musl --- repo/devel/asciidoc.xibuild | 6 +- repo/devel/autoconf-archive.xibuild | 21 ++++ repo/devel/autoconf.xibuild | 4 - repo/devel/dejagnu.xibuild | 7 +- repo/devel/docbook-dtd.xibuild | 6 +- repo/devel/docbook-xml.xibuild | 6 +- repo/devel/docbook-xsl.xibuild | 10 +- repo/devel/docbook4-xml.xibuild | 6 +- repo/devel/gcc.xibuild | 192 +++++++++++++++++++++++++++--------- repo/devel/meson.xibuild | 4 +- repo/devel/ninja.xibuild | 10 +- repo/devel/sgml-common.xibuild | 4 +- 12 files changed, 196 insertions(+), 80 deletions(-) create mode 100644 repo/devel/autoconf-archive.xibuild (limited to 'repo/devel') diff --git a/repo/devel/asciidoc.xibuild b/repo/devel/asciidoc.xibuild index b5eb3bd..5ffb83c 100644 --- a/repo/devel/asciidoc.xibuild +++ b/repo/devel/asciidoc.xibuild @@ -9,7 +9,7 @@ DESC="Text document format for short documents, articles, books and UNIX man pag package () { pip install -t $PKG_DEST/usr/lib/python3.10/site-packages/ asciidoc - mkdir -pv $PKG_DEST/usr/bin - ln -s /usr/lib/python3.10/site-packages/bin/asciidoc $PKG_DEST/usr/bin/asciidoc - ln -s /usr/lib/python3.10/site-packages/bin/a2x $PKG_DEST/usr/bin/a2x + mkdir -p $PKG_DEST/usr/bin + #ln -s /usr/lib/python3.10/site-packages/bin/asciidoc $PKG_DEST/usr/bin/asciidoc + #ln -s /usr/lib/python3.10/site-packages/bin/a2x $PKG_DEST/usr/bin/a2x } diff --git a/repo/devel/autoconf-archive.xibuild b/repo/devel/autoconf-archive.xibuild new file mode 100644 index 0000000..ff50482 --- /dev/null +++ b/repo/devel/autoconf-archive.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="gawk grep m4 diffutils perl sh gettext" + +PKG_VER=2022.02.11 +SOURCE=https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-$PKG_VER.tar.xz +DESC="A collection of freely re-usable autoconf macros" + + +build () { + ./configure --prefix=/usr + make +} + +package () { + make DESTDIR=$PKG_DEST install + + # force these macros to use gnu grep rather than built in grep + sed -i "s/grep/ggrep/g" $PKG_DEST/usr/share/aclocal/*.m4 +} diff --git a/repo/devel/autoconf.xibuild b/repo/devel/autoconf.xibuild index bb8c784..8068345 100644 --- a/repo/devel/autoconf.xibuild +++ b/repo/devel/autoconf.xibuild @@ -12,10 +12,6 @@ build () { make } -check () { - make check -} - package () { make DESTDIR=$PKG_DEST install } diff --git a/repo/devel/dejagnu.xibuild b/repo/devel/dejagnu.xibuild index fcbe022..82e443d 100644 --- a/repo/devel/dejagnu.xibuild +++ b/repo/devel/dejagnu.xibuild @@ -8,7 +8,7 @@ SOURCE=https://ftp.gnu.org/gnu/dejagnu/dejagnu-$PKG_VER.tar.gz DESC="a framework for running test suites on GNU tools" build () { - mkdir -v build + mkdir build cd build ../configure --prefix=/usr @@ -20,8 +20,9 @@ build () { package () { make DESTDIR=$PKG_DEST install - install -v -dm755 $PKG_DEST/usr/share/doc/dejagnu-$PKG_VER - install -v -m644 doc/dejagnu.{html,txt} $PKG_DEST/usr/share/doc/dejagnu-$PKG_VER + install -dm755 $PKG_DEST/usr/share/doc/dejagnu-$PKG_VER + install -m644 doc/dejagnu.txt $PKG_DEST/usr/share/doc/dejagnu-$PKG_VER + install -m644 doc/dejagnu.html $PKG_DEST/usr/share/doc/dejagnu-$PKG_VER } diff --git a/repo/devel/docbook-dtd.xibuild b/repo/devel/docbook-dtd.xibuild index 23c0af7..f6d4394 100644 --- a/repo/devel/docbook-dtd.xibuild +++ b/repo/devel/docbook-dtd.xibuild @@ -14,11 +14,11 @@ prepare() { } package () { - install -v -d $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER && + install -d $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER && chown -R root:root . && - install -v docbook.cat $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER/catalog && - cp -v -af *.dtd *.mod *.dcl $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER && + install docbook.cat $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER/catalog && + cp -af *.dtd *.mod *.dcl $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER && cat >> $PKG_DEST/usr/share/sgml/docbook/sgml-dtd-$PKG_VER/catalog << "EOF" diff --git a/repo/devel/docbook-xml.xibuild b/repo/devel/docbook-xml.xibuild index 1cf7145..2f54184 100644 --- a/repo/devel/docbook-xml.xibuild +++ b/repo/devel/docbook-xml.xibuild @@ -8,15 +8,15 @@ SOURCE=https://docbook.org/xml/$PKG_VER/docbook-v$PKG_VER-os.zip DESC="A widely used XML scheme for writing documentation and help" package () { - install -vdm755 $PKG_DEST/usr/share/xml/docbook/schema/{rng,sch}/$PKG_VER && + install -dm755 $PKG_DEST/usr/share/xml/docbook/schema/{rng,sch}/$PKG_VER && install -m644 schemas/rng/* $PKG_DEST/usr/share/xml/docbook/schema/rng/$PKG_VER && install -m644 schemas/sch/* $PKG_DEST/usr/share/xml/docbook/schema/sch/$PKG_VER && install -m755 tools/db4-entities.pl $PKG_DEST/usr/bin && - install -vdm755 $PKG_DEST/usr/share/xml/docbook/stylesheet/docbook5 && + install -dm755 $PKG_DEST/usr/share/xml/docbook/stylesheet/docbook5 && install -m644 tools/db4-upgrade.xsl \ $PKG_DEST/usr/share/xml/docbook/stylesheet/docbook5 - mkdir -pv $PKG_DEST/etc/xml + mkdir -p $PKG_DEST/etc/xml xmlcatalog --noout --create $PKG_DEST/etc/xml/docbook-$PKG_VER && xmlcatalog --noout --add "uri" \ diff --git a/repo/devel/docbook-xsl.xibuild b/repo/devel/docbook-xsl.xibuild index e3dcccc..18af313 100644 --- a/repo/devel/docbook-xsl.xibuild +++ b/repo/devel/docbook-xsl.xibuild @@ -17,9 +17,9 @@ prepare() { } package () { - install -v -m755 -d $PKG_DEST/usr/share/xml/docbook/xsl-stylesheets-nons-$PKG_VER && + install -m755 -d $PKG_DEST/usr/share/xml/docbook/xsl-stylesheets-nons-$PKG_VER && - cp -v -R VERSION assembly common eclipse epub epub3 extensions fo \ + cp -R VERSION assembly common eclipse epub epub3 extensions fo \ highlighting html htmlhelp images javahelp lib manpages params \ profiling roundtrip slides template tests tools webhelp website \ xhtml xhtml-1_1 xhtml5 \ @@ -27,13 +27,13 @@ package () { ln -s VERSION $PKG_DEST/usr/share/xml/docbook/xsl-stylesheets-nons-$PKG_VER/VERSION.xsl && - install -v -m644 -D README \ + install -m644 -D README \ $PKG_DEST/usr/share/doc/docbook-xsl-nons-$PKG_VER/README.txt && - install -v -m644 RELEASE-NOTES* NEWS* \ + install -m644 RELEASE-NOTES* NEWS* \ $PKG_DEST/usr/share/doc/docbook-xsl-nons-$PKG_VER - if [ ! -d $PKG_DEST/etc/xml ]; then install -v -m755 -d $PKG_DEST/etc/xml; fi && + if [ ! -d $PKG_DEST/etc/xml ]; then install -m755 -d $PKG_DEST/etc/xml; fi && if [ ! -f $PKG_DEST/etc/xml/catalog ]; then xmlcatalog --noout --create $PKG_DEST/etc/xml/catalog fi && diff --git a/repo/devel/docbook4-xml.xibuild b/repo/devel/docbook4-xml.xibuild index d70934c..34313f0 100644 --- a/repo/devel/docbook4-xml.xibuild +++ b/repo/devel/docbook4-xml.xibuild @@ -8,10 +8,10 @@ SOURCE=https://www.docbook.org/xml/$PKG_VER/docbook-xml-$PKG_VER.zip DESC="A widely used XML scheme for writing documentation and help" package () { - install -v -d -m755 $PKG_DEST/usr/share/xml/docbook/xml-dtd-4.5 && - install -v -d -m755 $PKG_DEST/etc/xml && + install -m755 -d $PKG_DEST/usr/share/xml/docbook/xml-dtd-4.5 && + install -m755 -d $PKG_DEST/etc/xml && chown -R root:root . && - cp -v -af docbook.cat *.dtd ent/ *.mod \ + cp -af docbook.cat *.dtd ent/ *.mod \ $PKG_DEST/usr/share/xml/docbook/xml-dtd-4.5 diff --git a/repo/devel/gcc.xibuild b/repo/devel/gcc.xibuild index a8b1707..bceb9c2 100644 --- a/repo/devel/gcc.xibuild +++ b/repo/devel/gcc.xibuild @@ -1,83 +1,181 @@ #!/bin/sh -MAKEDEPS="grep make libxml2 dejagnu inetutils libiconv" -DEPS="musl binutils mpc" +MAKEDEPS="grep make dejagnu inetutils" +DEPS="musl binutils mpc mpfr gmp" PKG_VER=11.2.0 SOURCE=https://ftp.gnu.org/gnu/gcc/gcc-$PKG_VER/gcc-$PKG_VER.tar.xz +ISL_VER=0.24 +PATCH_SRC="https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/gcc-alpine" + +ADDITIONAL=" + https://libisl.sourceforge.io/isl-$ISL_VER.tar.xz + + $PATCH_SRC/0001-posix_memalign.patch + $PATCH_SRC/0003-Turn-on-Wl-z-relro-z-now-by-default.patch + $PATCH_SRC/0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch + $PATCH_SRC/0006-Enable-Wformat-and-Wformat-security-by-default.patch + $PATCH_SRC/0007-Enable-Wtrampolines-by-default.patch + $PATCH_SRC/0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch + $PATCH_SRC/0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch + $PATCH_SRC/0011-libiberty-copy-PIC-objects-during-build-process.patch + $PATCH_SRC/0012-libitm-disable-FORTIFY.patch + $PATCH_SRC/0013-libgcc_s.patch + $PATCH_SRC/0014-nopie.patch + $PATCH_SRC/0015-libffi-use-__linux__-instead-of-__gnu_linux__-for-mu.patch + $PATCH_SRC/0016-dlang-update-zlib-binding.patch + $PATCH_SRC/0017-dlang-fix-fcntl-on-mips-add-libucontext-dep.patch + $PATCH_SRC/0018-ada-fix-shared-linking.patch + $PATCH_SRC/0019-build-fix-CXXFLAGS_FOR_BUILD-passing.patch + $PATCH_SRC/0020-add-fortify-headers-paths.patch + $PATCH_SRC/0023-Pure-64-bit-MIPS.patch + $PATCH_SRC/0024-use-pure-64-bit-configuration-where-appropriate.patch + $PATCH_SRC/0025-always-build-libgcc_eh.a.patch + $PATCH_SRC/0027-ada-musl-support-fixes.patch + $PATCH_SRC/0028-gcc-go-Use-_off_t-type-instead-of-_loff_t.patch + $PATCH_SRC/0029-gcc-go-Don-t-include-sys-user.h.patch + $PATCH_SRC/0030-gcc-go-Fix-ucontext_t-on-PPC64.patch + $PATCH_SRC/0031-gcc-go-Fix-handling-of-signal-34-on-musl.patch + $PATCH_SRC/0032-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch + $PATCH_SRC/0035-gcc-go-Prefer-_off_t-over-_off64_t.patch + $PATCH_SRC/0036-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch + $PATCH_SRC/0037-gcc-go-link-to-libucontext.patch + $PATCH_SRC/0038-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch + $PATCH_SRC/0041-Use-generic-errstr.go-implementation-on-musl.patch + $PATCH_SRC/0042-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch + $PATCH_SRC/0043-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch + $PATCH_SRC/0021-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch + + + https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/files/musl/getconf.1 + https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/files/musl/getconf.c + https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/files/musl/getent.1 + https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/files/musl/getent.c + https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/files/musl/iconv.c +" + DESC="The GNU Compiler Collection - C and C++ frontends" prepare () { - #fix an issue breaking libasan.a - - sed -e '/static.*SIGSTKSZ/d' \ - -e 's/return kAltStackSize/return SIGSTKSZ * 4/' \ - -i libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp - case $(uname -m) in - x86_64) - sed -e '/m64=/s/lib64/lib/' \ - -i.orig gcc/config/i386/t-linux64 - ;; - esac + x86_64) export TRUPLE="x86_64-linux-musl" + export EXTRA_CONFIG=" --with-arch=x86-64" + ;; + i686) export TRUPLE="i686-linux-musl" + export EXTRA_CONFIG=" --with-arch=pentium3 --with-tune=pentium-m" + ;; + armv7l) export TRUPLE="armv7l-linux-musleabihf" + export EXTRA_CONFIG=" --with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb" + ;; + armv6l) export TRUPLE="armv6l-linux-musleabihf" + export EXTRA_CONFIG=" --with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux" + ;; + aarch64) export TRUPLE="aarch64-linux-musleabihf" + export EXTRA_CONFIG=" --with-arch=armv8-a --with-abi=lp64 --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419" + sed -i '/m64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux + ;; + esac + + tar xf isl-$ISL_VER.tar.xz + mv isl-$ISL_VER isl + + for p in *.patch; do + patch -Np1 -i $p || true + done + } build () { - mkdir -v build + mkdir build cd build + export NOFF="--disable-libstdcxx-pch " + export NOFF+="--disable-nls " + export NOFF+="--disable-multilib " + export NOFF+="--disable-bootstrap " + export NOFF+="--disable-symvers " + export NOFF+="--disable-libsanitizer " + export NOFF+="--disable-libssp " + export NOFF+="--disable-libmpx " + export NOFF+="--disable-libmudflap " + export NOFF+="--disable-fixed-point " + export NOFF+="--disable-sjlj-exceptions " + export NOFF+="--disable-werror " + + # Enable graphite + export XCONFIG="--with-ppl=yes --with-cloog=yes " + + # Enable features for x86_64 + export XTRA86="--with-arch=x86-64 " + + # Enable features + export FON="--enable-threads=posix " + export FON+="--enable-clocale=generic " + export FON+="--enable-tls " + export FON+="--enable-libstdcxx-time " + export FON+="--enable-fully-dynamic-string " + export FON+="--enable-default-pie " + export FON+="--enable-default-ssp " + export FON+="--enable-linker-build-id " + export FON+="--enable-checking=release " + export FON+="--enable-cloog-backend " + export FON+="--enable-__cxa_atexit " + export FON+="--enable-lto " + export FON+="--enable-plugins " + export FON+="--with-system-zlib " + export FON+="--with-linker-hash-style=gnu " + #export FON+="--with-isl " + + # Configure source + SED=sed libat_cv_have_ifunc=no \ ../configure --prefix=/usr \ - LD=ld \ - --enable-languages=c,c++ \ - --disable-multilib \ - --disable-bootstrap \ - --with-system-zlib + --target=${TRUPLE} \ + --enable-languages=c,c++,lto \ + $NOFF $XTRA86 $XCONFIG $FON && - make + make && + + cd .. && + cc -fpie getent.c -o getent && + cc -fpie getconf.c -o getconf && + cc -fpie iconv.c -o iconv } check () { - ulimit -s 32768 - + cd build if id -u tester; then - chown -Rv tester . + chown -R tester . su tester -c "PATH=$PATH make $MAKEFLAGS -k check" || true ../contrib/test_summary | grep -A7 Summ || true fi + cd .. } package () { - make DESTDIR=$PKG_DEST install + install -dm755 $PKG_DEST/usr/bin + install -dm755 $PKG_DEST/usr/share/man + install -dm755 $PKG_DEST/usr/lib/bfd-plugins - rm -rf $PKG_DEST/usr/lib/gcc/$(gcc -dumpmachine)/11.2.0/include-fixed/bits/ - - chown -v -R root:root \ - $PKG_DEST/usr/lib/gcc/*linux-gnu/11.2.0/include{,-fixed} - ln -sv cpp $PKG_DEST/usr/lib/cpp + cd build + make DESTDIR=$PKG_DEST install + cd .. - ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/11.2.0/liblto_plugin.so \ - $PKG_DEST/usr/lib/bfd-plugins/ + cp getent $PKG_DEST/usr/bin/ + cp getconf $PKG_DEST/usr/bin/ + cp iconv $PKG_DEST/usr/bin/ + cp getent.1 $PKG_DEST/usr/share/man/man1/ + cp getconf.1 $PKG_DEST/usr/share/man/man1/ + ln -s ../bin/cpp $PKG_DEST/usr/lib + ln -s gcc $PKG_DEST/usr/bin/cc - # sanity checks - echo 'int main(){}' > dummy.c - cc dummy.c -v -Wl,--verbose &> dummy.log - readelf -l a.out | grep ': /lib' + ln -sf ../../libexec/gcc/$(gcc -dumpmachine)/$PKG_VER/liblto_plugin.so \ + $PKG_VER/usr/lib/bfd-plugins/ - grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log - grep -B4 '^ /usr/include' dummy.log - grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' - grep "/lib.*/libc.so.6 " dummy.log - grep found dummy.log + mkdir -p $PKG_DEST/usr/share/gdb/auto-load/usr/lib + #mv $PKG_DEST/usr/lib/*gdb.py $PKG_DEST/usr/share/gdb/auto-load/usr/lib - # move a misplaced file - mkdir -pv $PKG_DEST/usr/share/gdb/auto-load/usr/lib - mv -v $PKG_DEST/usr/lib/*gdb.py $PKG_DEST/usr/share/gdb/auto-load/usr/lib - # set gcc as the default c compiler - ln -s gcc $PKG_DEST/usr/bin/cc } - - diff --git a/repo/devel/meson.xibuild b/repo/devel/meson.xibuild index b207077..f445bc4 100644 --- a/repo/devel/meson.xibuild +++ b/repo/devel/meson.xibuild @@ -16,6 +16,6 @@ build () { package () { python setup.py install --root=$PKG_DEST - install -vDm644 data/shell-completions/bash/meson $PKG_DEST/usr/share/bash-completion/completions/meson - install -vDm644 data/shell-completions/zsh/_meson $PKG_DEST/usr/share/zsh/site-functions/_meson + install -Dm644 data/shell-completions/bash/meson $PKG_DEST/usr/share/bash-completion/completions/meson + install -Dm644 data/shell-completions/zsh/_meson $PKG_DEST/usr/share/zsh/site-functions/_meson } diff --git a/repo/devel/ninja.xibuild b/repo/devel/ninja.xibuild index f32c3ea..8cb3011 100644 --- a/repo/devel/ninja.xibuild +++ b/repo/devel/ninja.xibuild @@ -16,9 +16,9 @@ check () { } package () { - mkdir -pv $PKG_DEST/usr/bin - mkdir -pv $PKG_DEST/usr/share/{bash-completion/completions,zsh/site-functions} - install -vm755 ninja $PKG_DEST/usr/bin/ - install -vDm644 misc/bash-completion $PKG_DEST/usr/share/bash-completion/completions/ninja - install -vDm644 misc/zsh-completion $PKG_DEST/usr/share/zsh/site-functions/_ninja + mkdir -p $PKG_DEST/usr/bin + mkdir -p $PKG_DEST/usr/share/{bash-completion/completions,zsh/site-functions} + install -m755 ninja $PKG_DEST/usr/bin/ + install -Dm644 misc/bash-completion $PKG_DEST/usr/share/bash-completion/completions/ninja + install -Dm644 misc/zsh-completion $PKG_DEST/usr/share/zsh/site-functions/_ninja } diff --git a/repo/devel/sgml-common.xibuild b/repo/devel/sgml-common.xibuild index 752a44d..70fe070 100644 --- a/repo/devel/sgml-common.xibuild +++ b/repo/devel/sgml-common.xibuild @@ -24,7 +24,7 @@ build() { package () { make DESTDIR=$PKG_DEST docdir=/usr/share/doc install && - mkdir -pv $PKG_DEST/etc/sgml - mkdir -pv /etc/sgml + mkdir -p $PKG_DEST/etc/sgml + mkdir -p /etc/sgml } -- cgit v1.2.1