sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro
List of commits:
Subject Hash Author Date (UTC)
move and update rv64 binutils 7de67beb1a4e04617d44763eb46d1063c2749a7e Sylvain BERTRAND 2024-01-08 16:46:02
Gfx stack update 5f43a585e77e5a22f9477519a14978b8adfcaf9d Sylvain BERTRAND 2024-01-06 16:21:49
wip backup update adb0a431e690083f6fc481358599167e4508a452 Sylvain BERTRAND 2024-01-05 16:15:18
wip backup update 1f50305df9c474dbd88c546412588517c934f01e Sylvain BERTRAND 2024-01-04 16:25:27
wip backup update ce91a9ade1c07bce6c13d504504a4bd25696133d Sylvain BERTRAND 2024-01-03 14:22:21
wip backup update 06f55745d198758aec2712695769173da2efee67 Sylvain BERTRAND 2024-01-02 15:04:02
wip backup update 4b9d323f847e9d149f18f5190b0d26e3a21affe8 Sylvain BERTRAND 2023-12-31 14:19:09
wip backup update f4f620665d17914ebc0f602d3a44940d4a71c9cd Sylvain BERTRAND 2023-12-30 13:59:59
wip backup update 0356a6026813d447033b849c8f0ad93df52e4f52 Sylvain BERTRAND 2023-12-29 16:13:59
update backup of wip 1dbb8ebb375338518d32653dbd17f6b09205b66f Sylvain BERTRAND 2023-12-28 16:23:32
Gfx stack update ae1bd02611d747528fb6fe6bfc15004124317c2b Sylvain BERTRAND 2023-12-24 12:53:10
Gfx stack update cb00e2a2449e77b3af56cc45acabf01ea7dc0c73 Sylvain BERTRAND 2023-12-17 11:55:47
xorgproto:cleanup aa8b3e3e1a3ffd5560346e0382568bc61c3ce55c Sylvain BERTRAND 2023-12-10 15:57:11
drm:cleanup f6ef2fafe353cd7786f9b8d42207d9ab52c7d338 Sylvain BERTRAND 2023-12-10 15:55:55
dav1d:cleanup ba322d6901c5359ef839167715047f3ae0241479 Sylvain BERTRAND 2023-12-10 15:52:54
ffmpeg:cleanup 547c2b911be7b1da90ed1aed424f25de420aab6a Sylvain BERTRAND 2023-12-10 15:48:24
mesa-vulkan:cleanup syncing with mesa-gl d4bda6a965b230fe2d8177c918c8bbbf35927786 Sylvain BERTRAND 2023-12-10 15:40:35
mesa-gl:cleanup due to core changes b55a8fc59a54f7b565f4837cce23de12b8a1169d Sylvain BERTRAND 2023-12-10 15:37:40
xserver:cleanup due to core changes bd49c92661e7f38acda77b73d7bf338441c20262 Sylvain BERTRAND 2023-12-10 15:33:12
Gfx stack update 99176df77dab6802fa436c458edfad72a8b5f1bd Sylvain BERTRAND 2023-12-10 15:22:42
Commit 7de67beb1a4e04617d44763eb46d1063c2749a7e - move and update rv64 binutils
Author: Sylvain BERTRAND
Author date (UTC): 2024-01-08 16:46
Committer name: Sylvain BERTRAND
Committer date (UTC): 2024-01-08 16:46
Parent(s): 5f43a585e77e5a22f9477519a14978b8adfcaf9d
Signer:
Signing key:
Signing status: N
Tree: 345f44caa5c326c1e11dbe012f6e54b0c7c67705
File Lines added Lines deleted
builders/riscv64-binutils-0/builder.sh 0 46
builders/rv64/binutils-2.41/builder.sh 82 0
File builders/riscv64-binutils-0/builder.sh deleted (index 1bd083e..0000000)
1 src_name=binutils
2 version=2.36.1
3 archive_name=$src_name-$version.tar.xz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 slot=0
7 target_arch=riscv64
8 # linux-gnu counts as 1, gnu as gnu libc, or glibc, could become musl
9 target_triple=$target_arch-unknown-linux-gnu
10
11 pkg_dir=$pkgs_dir_root/$src_name-$version
12 rm -Rf $pkg_dir
13 mkdir -p $pkgs_dir_root
14 cp -f $src_dir_root/$archive_name $pkgs_dir_root
15 cd $pkgs_dir_root
16 tar xf $archive_name
17
18 build_dir=$builds_dir_root/$pkg_name
19 rm -Rf $build_dir
20 mkdir -p $build_dir
21 cd $build_dir
22
23 export "CC=gcc -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib -static-libgcc"
24 export 'CFLAGS=-O2 -pipe -fPIC'
25 $pkg_dir/configure \
26 --target=$target_triple \
27 --prefix=/nyan/$target_arch-$src_name/$slot \
28 --disable-shared \
29 --disable-nls \
30 --disable-gold \
31 --disable-checks \
32 --with-mmap
33 unset CFLAGS
34 unset CC
35
36 make -j $threads_n
37 make install
38
39 # cleanup and tidying
40 rm -Rf /nyan/$target_arch-$src_name/$slot/share/info
41 rm -Rf /nyan/$target_arch-$src_name/$slot/share/man
42 rmdir -p /nyan/$target_arch-$src_name/$slot/share || true
43 find /nyan/$target_arch-$src_name/$slot -type f -name '*.la' | xargs rm -f
44 find /nyan/$target_arch-$src_name/$slot -type f | while IFS= read -r f; do if file $f | egrep 'ELF.+(shared|executable)' >/dev/null; then strip -s $f; fi; done
45
46 rm -Rf $build_dir $pkg_dir
File builders/rv64/binutils-2.41/builder.sh added (mode: 100644) (index 0000000..78ed59b)
1 src_name=binutils
2 version=2.41
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
6
7 target_arch=riscv64
8 # linux-gnu counts as 1, gnu as gnu libc, or glibc, could become musl
9 target_triple=$target_arch-unknown-linux-gnu
10
11 pkg_dir=$pkgs_dir_root/rv64/$src_name-$version
12 rm -Rf $pkg_dir
13 mkdir -p $pkgs_dir_root/rv64
14 cp -f $src_dir_root/$archive_name $pkgs_dir_root/rv64
15 cd $pkgs_dir_root/rv64
16 tar xf $archive_name
17
18 build_dir=$builds_dir_root/rv64/$pkg_name
19 rm -Rf $build_dir
20 mkdir -p $build_dir
21 cd $build_dir
22
23 # Usual autotools/meson/cmake crap.
24 mkdir $build_dir/bin
25 cat >$build_dir/bin/makeinfo <<EOF
26 #!/bin/sh
27 printf "Makeinfo crap detected!\n"
28 EOF
29 chmod +x $build_dir/bin/makeinfo
30
31 PATH_SAVED=$PATH
32 export PATH="\
33 $build_dir/bin:\
34 /nyan/make/current/bin:\
35 $PATH\
36 "
37
38 # We should create a compiler driver wrapper to please libtool/cmake/meson crap.
39 # --static is a libtool special keyword to force building static binaries, because libtool is whole
40 # compiler driver by itself.
41 export "CC=\
42 /opt/toolchains/x64/elf/binutils-gcc/current/bin/x86_64-pc-linux-gnu-gcc \
43 -isystem /nyan/glibc/current/include \
44 -isystem /nyan/linux-headers/current/include \
45 -I/nyan/zlib/current/include \
46 -B/nyan/glibc/current/lib \
47 -L/nyan/glibc/current/lib \
48 -L/nyan/zlib/current/lib \
49 -Wl,-s -static-libgcc \
50 --static"
51 export 'CFLAGS=-O2 -pipe -fPIC -ftls-model=global-dynamic'
52 export AR=/opt/toolchains/x64/elf/binutils-gcc/current/bin/x86_64-pc-linux-gnu-gcc-ar
53 $pkg_dir/configure \
54 --target=$target_triple \
55 --prefix=/nyan/toolchains/rv64/$src_name/$slot \
56 --program-prefix=$target_triple- \
57 --enable-gold=no \
58 --enable-gprofng=no \
59 --with-system-zlib \
60 --with-static-standard-libraries \
61 --disable-multilib \
62 --disable-plugins \
63 --enable-serial-host-configure \
64 --enable-serial-build-configure \
65 --enable-serial-target-configure \
66 --enable-year2038 \
67 --with-mmap \
68 --disable-libctf \
69 --disable-rpath \
70 --disable-nls \
71 --disable-checks
72 unset CC
73 unset CFLAGS
74 unset AR
75
76 make -j $threads_n
77 make install
78
79 # cleanup and tidying
80 export PATH=$PATH_SAVED
81 unset PATH_SAVED
82 rm -Rf $build_dir $pkg_dir
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main