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)
libffi/perl5/python3 to new nyan bf95e3edba98e9b33e63e7c7e11f54f1a7919a0a Sylvain BERTRAND 2021-06-24 16:13:25
openssh fixed 64 truncation and new nyan 8dc61ff35842cab7a6b835dc2ec46201e0d533d2 Sylvain BERTRAND 2021-06-24 12:21:19
sync linux config with current ncurses 018c21a2c1b298a7afde1e69aeece48e00d5291e Sylvain BERTRAND 2021-06-24 00:25:19
vim: new nyan 1d8ebb3757d0b421b9433c68b3e099020d39aba9 Sylvain BERTRAND 2021-06-23 19:35:27
towards the new nyan 34554e0757e39f9b8363b30148fc5ee6b4b429a2 Sylvain BERTRAND 2021-06-23 18:37:41
gfx stack update afaaadfdad869098a1a4eba62bca68afb9536b79 Sylvain BERTRAND 2021-06-23 01:04:53
drm: move to new nyan 1a416b7c38ea65998df66c171a2202e981bc1444 Sylvain BERTRAND 2021-06-22 15:47:05
quality of life for dealing with AMD devel linux 8ffca64c4d652517553a0495da1219dac5af4274 Sylvain BERTRAND 2021-06-21 19:02:41
nyangpt:fix install path bc3f973810e90a262b4031e3e68907debb6a8f5e Sylvain BERTRAND 2021-06-19 15:17:12
meh 49c47476a2dc7adb305ac1476435025da2a85231 Sylvain BERTRAND 2021-06-19 14:56:21
binutils/tinycc toolchain 33a1aacaa3f4a4408522a4f0d20ef4d1cca6f1a3 Sylvain BERTRAND 2021-06-19 14:55:45
muinit: fix slot 44da131be771b150b241871860bfdb1cdd57274f Sylvain BERTRAND 2021-06-19 12:38:18
mudev: fix slot c00f05864ad26357a37f5fa0b25eb193412dfdc7 Sylvain BERTRAND 2021-06-19 12:36:44
re-boostrape: in the end, create the symbolic link b17f1e845f2b99014990b2b3a1bf9c1c1b15797e Sylvain BERTRAND 2021-06-19 12:28:22
noglib pkgconf, nyanmp update, ffmpeg to new nyan 824e0580ae1ad17b78b8cbfcfa08e790c4175eee Sylvain BERTRAND 2021-06-18 15:08:11
boostrap zlib, fix slot 95ed795361575c9117a2b8fe98a6c8ecb838bb74 Sylvain BERTRAND 2021-06-18 13:30:28
sync with busybox full modprobe support (old nyan) 7687c6b41a612bf8e9184844383e8b915e12fa88 Sylvain BERTRAND 2021-06-16 16:50:09
fully re-bootstrap-able new nyan (tested), started refurbishment of all packages a5960b2ca3d704285c561f48c7f5dfc71f9f1402 Sylvain BERTRAND 2021-06-16 16:39:34
gfx stack updates (vulkan glitch is being dealed by the vuklan WG itself...) 49e502b9cd9f13315d327d820884aeb589ccfb86 Sylvain BERTRAND 2021-06-16 16:20:43
gfx stack updates (vulkan still glitched, upstream told) c8ee508c966784975f41f248cc4fe9a3429a7b09 Sylvain BERTRAND 2021-06-06 15:51:37
Commit bf95e3edba98e9b33e63e7c7e11f54f1a7919a0a - libffi/perl5/python3 to new nyan
Author: Sylvain BERTRAND
Author date (UTC): 2021-06-24 16:13
Committer name: Sylvain BERTRAND
Committer date (UTC): 2021-06-24 16:13
Parent(s): 8dc61ff35842cab7a6b835dc2ec46201e0d533d2
Signer:
Signing key:
Signing status: N
Tree: baa73f559aa586306006f35a72335b0b40149b97
File Lines added Lines deleted
builders/libffi-3.3/builder.sh 7 6
builders/libressl-3.3.3/builder.sh 0 1
builders/perl-5.34.0/builder.sh 68 0
builders/python-3.9.5/builder.sh 91 0
File builders/libffi-3.3/builder.sh copied from file builders/m4-1.4.19/builder.sh (similarity 82%) (mode: 100644) (index f649f63..55172ed)
1 src_name=m4
1 src_name=libffi
2 2 version=${pkg_name##*-} version=${pkg_name##*-}
3 3 slot=$version slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=http://ftp.gnu.org/gnu/m4/$archive_name
4 archive_name=$src_name-$version.tar.gz
5 url0=ftp://sourceware.org/pub/$src_name/$archive_name
6 6
7 7 pkg_dir=$pkgs_dir_root/$src_name-$version pkg_dir=$pkgs_dir_root/$src_name-$version
8 8 rm -Rf $pkg_dir rm -Rf $pkg_dir
 
... ... export "CC=$target_gnu_triple-gcc \
37 37 export AR=$target_gnu_triple-ar export AR=$target_gnu_triple-ar
38 38 $pkg_dir/configure \ $pkg_dir/configure \
39 39 --prefix=/nyan/$src_name/$slot \ --prefix=/nyan/$src_name/$slot \
40 --disable-nls
40 --disable-shared
41 41 unset CFLAGS unset CFLAGS
42 42 unset CC unset CC
43 43 unset AR unset AR
44 44
45 45 make -j $threads_n make -j $threads_n
46 make install
46 make install
47 47
48 rm -Rf /nyan/$src_name/$slot/share
48 rm -Rf $target_sysroot/nyan/$src_name/$slot/share
49 rm -f $target_sysroot/nyan/$src_name/$slot/lib64/*.la
49 50
50 51 export PATH=$PATH_SAVED export PATH=$PATH_SAVED
51 52 unset PATH_SAVED unset PATH_SAVED
File builders/libressl-3.3.3/builder.sh changed (mode: 100644) (index d7f28a1..207dc9c)
... ... unset NM
48 48 make -j $threads_n make -j $threads_n
49 49 make install make install
50 50
51 # cleanup and tidying
52 51 rm -Rf /nyan/$src_name/$slot/share rm -Rf /nyan/$src_name/$slot/share
53 52 rm -f /nyan/$src_name/$slot/lib/*.la rm -f /nyan/$src_name/$slot/lib/*.la
54 53
File builders/perl-5.34.0/builder.sh added (mode: 100644) (index 0000000..c014cb6)
1 src_name=perl
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.gz
5 url0=http://www.cpan.org/src/5.0/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14
15 cd $pkg_dir
16
17 PATH_SAVED=$PATH
18 # expect sh to be in sh path
19 export PATH="\
20 /bin:\
21 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
22 /nyan/make/current/bin:\
23 $PATH\
24 "
25 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
26 target_gnu_triple=${target_gnu_triple%-gcc}
27 OLD_PATH=$PATH
28 export PATH=/bin:$PATH
29
30 # Without adding manually our system include directory, Configure script will badly configure the build
31 # Configure thinks dlopen is in libc, add -ldl
32 # miniperl linking thinks some math functions are in libc, add -lm
33
34 # ** WARNING ** miniperl and full perl want hardcoded /bin/pwd or /usr/bin/pwd
35 # for the Cwd.pm "cwd" perl function to work. Must use getcwd perl function to
36 # call libc one.
37 ln -Tfs /nyan/busybox/current/bin/pwd /bin/pwd
38
39 ./Configure \
40 "-Dcc=$target_gnu_triple-gcc \
41 -isystem /nyan/glibc/current/include \
42 -isystem /nyan/linux-headers/current/include \
43 -B/nyan/glibc/current/lib \
44 -L/nyan/glibc/current/lib \
45 -Wl,-rpath-link,/nyan/glibc/current/lib \
46 -Wl,-s \
47 -static-libgcc" \
48 -des \
49 -Dprefix=/nyan/$src_name/$slot \
50 -Doptimize=-O2 \
51 '-Accflags=-fPIC -pipe -w' \
52 -Dar=$target_gnu_triple-ar \
53 "-Alocincpth=\
54 /nyan/glibc/current/include \
55 /nyan/linux-headers/current/include" \
56 '-Alibs=-lm -ldl'
57
58 sed -i -e 's/-fstack-protector-strong//' ./cflags
59 sed -i -e 's/-fstack-protector//' ./cflags
60
61 make -j $threads_n
62 make install
63
64 export PATH=$PATH_SAVED
65 unset PATH_SAVED
66 unset target_gnu_triple
67 rm -f $pkgs_dir_root/$archive_name
68 rm -Rf $pkg_dir
File builders/python-3.9.5/builder.sh added (mode: 100644) (index 0000000..11ce468)
1 src_name=Python
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=https://www.python.org/ftp/python/$version/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 cd $pkg_dir
15
16 # setup.py is just raw crap at detecting "modules"
17 sed -i -e "/system_include_dirs =/ c\ system_include_dirs = \
18 ['/nyan/zlib/current/include']" ./setup.py
19 sed -i -e "/system_lib_dirs =/ c\ system_lib_dirs = \
20 ['/nyan/glibc/current/lib', \
21 '/nyan/zlib/current/lib']" ./setup.py
22
23 # fix the hash thingy presuming libressl has no HMAC_CTX_new function
24 sed -i ./Modules/_hashopenssl.c -e '41 c\
25 #if (OPENSSL_VERSION_NUMBER < 0x10100000L)'
26
27 # fix ctypes module compilation
28 sed -i ./Modules/_ctypes/cfield.c -e "2 c\\
29 #include \"$pkg_dir/Include/internal/pycore_byteswap.h\""
30
31 build_dir=$builds_dir_root/$src_name-$version
32 rm -Rf $build_dir
33 mkdir -p $build_dir
34 cd $build_dir
35
36 PATH_SAVED=$PATH
37 export PATH="\
38 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
39 /nyan/make/current/bin:\
40 /nyan/pkgconf/current/bin:\
41 $PATH\
42 "
43 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
44 target_gnu_triple=${target_gnu_triple%-gcc}
45
46 # we will use python for more than a SDK usage: youtube-dl (zlib and libressl)
47 export "PKG_CONFIG_LIBDIR=\
48 /nyan/zlib/current/lib/pkgconfig:\
49 /nyan/expat/current/lib/pkgconfig:\
50 /nyan/libffi/current/lib/pkgconfig"
51 export PKG_CONFIG=pkgconf
52 export OPT=-O2
53 export 'CFLAGS=-pipe -fPIC'
54 export LDFLAGS=$(pkgconf --libs --static zlib expat libffi)
55 export "CC=$target_gnu_triple-gcc \
56 -isystem /nyan/glibc/current/include \
57 -isystem /nyan/linux-headers/current/include \
58 -B/nyan/glibc/current/lib \
59 -L/nyan/glibc/current/lib \
60 -Wl,-rpath-link,/nyan/glibc/current/lib \
61 -Wl,-s \
62 -std=c99 \
63 -static-libgcc \
64 $(pkgconf --cflags zlib expat libffi)"
65 export AR=$target_gnu_triple-ar
66 $pkg_dir/configure \
67 --prefix=/nyan/python/$slot \
68 --disable-shared \
69 --disable-ipv6 \
70 --with-system-expat \
71 --with-system-ffi \
72 --without-system-libmpdec \
73 --with-openssl=/nyan/libressl/current
74 unset PKG_CONFIG_LIBDIR
75 unset PKG_CONFIG
76 unset OPT
77 unset CFLAGS
78 unset LDFLAGS
79 unset CC
80 unset AR
81
82 make -j $threads_n
83 make install
84
85 rm -Rf /nyan/python/$slot/share
86
87 export PATH=$PATH_SAVED
88 unset PATH_SAVED
89 unset target_gnu_triple
90 rm -f $pkgs_dir_root/$archive_name
91 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