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)
libXi:update and moving toward mono block runtime 0a692f60e994a1763468d2c8db138c034f0987a4 Sylvain BERTRAND 2023-11-21 17:15:25
Gfx stack update 751aa2ce07092504d3bd18676f44ead151210a7c Sylvain BERTRAND 2023-11-11 17:40:30
If the workstation burns. 08ce09ee0689cfedec5c4ac995e1fcd56daad4bc Sylvain BERTRAND 2023-11-06 16:24:17
Gfx stack update e2824e33b8507278a7eaae9d0140b16309ca71ac Sylvain BERTRAND 2023-11-04 12:29:52
Gfx stack update c663c8a00f5cf9ce6d1cc965f1844ae99f666bba Sylvain BERTRAND 2023-10-28 12:41:32
binutils-tcc:fix last builder 2b14eba033d77d64dd98e8e0f5ffdd9617a63b9a Sylvain BERTRAND 2023-10-26 08:20:40
update:lynx noscript/basic (x)html browser de162261b06539a03bf92175aca85fc94b439348 Sylvain BERTRAND 2023-10-25 11:08:48
toolchains:binutils-tcc:update e5fe0bc72732ac9a3339bf69a29c3fe1aca3d147 Sylvain BERTRAND 2023-10-25 10:42:35
xserver: update for the new toolchain layout 352cdd1f1dc393246a0601ee1df0c9c479d14221 Sylvain BERTRAND 2023-10-24 14:14:55
pkg-build: add a pkg_path comfort variable 1c7c2b98cf926b32c4a24cebb9ee992fce91c284 Sylvain BERTRAND 2023-10-24 14:14:02
Gfx stack update 199172d7fb37412f5c10bcaf2681140c9efbf791 Sylvain BERTRAND 2023-10-22 16:24:01
Gfx stack update 4a5f133df808a08df824cc2ea6d491460585b6ed Sylvain BERTRAND 2023-10-15 13:16:16
toolchains:binutils-tcc:cleanup with update c8a4848b40b7ba29fc38c6858e5d92378e55c3a2 Sylvain BERTRAND 2023-10-14 11:15:25
toolchains:binutils-tcc:remove old builders 2809d01f09af3cdecf6d2722f7f6feadcb32fa4a Sylvain BERTRAND 2023-10-14 11:14:25
Gfx stack update d444a573afb5bc68d2834df4cf9e33c5d9631fa6 Sylvain BERTRAND 2023-10-07 16:30:11
busybox:1.36.1 update ea16f25b30bf4205e0e5b99e169ef9431d5d557c Sylvain BERTRAND 2023-10-04 13:04:21
EDLF64:preliminary bootstrap work 24cc54e74c72c242e4113aadadda396da86fb56a Sylvain BERTRAND 2023-10-01 13:16:55
Gfx stack update 5f12d0b10418e3116bdf3ee0152b7e30f24f36c7 Sylvain BERTRAND 2023-09-30 14:03:41
Gfx stack udate 25da82b769c08ef07394a360d1d4c035c15e2d3e Sylvain BERTRAND 2023-09-23 13:53:13
Gfx stack update a35951b14766105c30f239aa0af037357d69d576 Sylvain BERTRAND 2023-09-16 13:06:46
Commit 0a692f60e994a1763468d2c8db138c034f0987a4 - libXi:update and moving toward mono block runtime
Some crap software from collabora ordered by valve
is expecting a very strict distro configuration in
order to work, all that to work around glibc/c++ gcc
devs manic behavior on ABI stability. Only clean way
out, ELF must go and be replaced by an excruciatingly
executable file format.
Author: Sylvain BERTRAND
Author date (UTC): 2023-11-21 17:15
Committer name: Sylvain BERTRAND
Committer date (UTC): 2023-11-21 17:15
Parent(s): 751aa2ce07092504d3bd18676f44ead151210a7c
Signer:
Signing key:
Signing status: N
Tree: 19063e31f8b6c94f9ab75ade7192663db99b55fc
File Lines added Lines deleted
builders/libXi-1.8.1/builder.sh 160 0
File builders/libXi-1.8.1/builder.sh added (mode: 100644) (index 0000000..7b71a08)
1 src_name=libXi
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=http://xorg.freedesktop.org/releases/individual/lib/$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 build_dir=$builds_dir_root/$pkg_name
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 # XXX: for all X11 based header we do not define MALLOC_0_RETURNS_NULL for glibc allocator
20
21 mkdir -p $build_dir/bin
22 cat >$build_dir/bin/cc <<EOF
23 #!/bin/sh
24 eval \
25 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/x86_64-nyan2-linux-gnu-gcc \
26 \
27 -isystem /nyan/glibc/current/include \
28 -isystem /nyan/linux-headers/current/include \
29 \
30 -I/nyan/libXau/current/include \
31 -I/nyan/libxcb/current/include \
32 -I/nyan/libX11/current/include \
33 -I/nyan/libXext/current/include \
34 -I/nyan/libXfixes/current/include \
35 -I/nyan/xorgproto/current/include \
36 \
37 -O2 -pipe -fPIC -static-libgcc -ftls-model=global-dynamic -fpic \
38 \
39 -B/nyan/glibc/current/lib \
40 \
41 -L/nyan/libXau/current/lib \
42 -L/nyan/libxcb/current/lib \
43 -L/nyan/libX11/current/lib \
44 -L/nyan/libXext/current/lib \
45 -L/nyan/libXfixes/current/lib \
46 -L/nyan/glibc/current/lib \
47 \
48 \
49 "\$@"
50 EOF
51 chmod +x $build_dir/bin/cc
52 export PATH_SAVED=$PATH
53 export PATH="\
54 $build_dir/bin:\
55 $PATH\
56 "
57
58 XI2_src_files="\
59 XIAllowEvents.c \
60 XIGrabDevice.c \
61 XIQueryVersion.c \
62 XIQueryDevice.c \
63 XISetDevFocus.c \
64 XIGetDevFocus.c \
65 XIPassiveGrab.c \
66 XIProperties.c \
67 XISelEv.c \
68 XISetCPtr.c \
69 XIWarpPointer.c \
70 XIHierarchy.c \
71 XIDefineCursor.c \
72 XIQueryPointer.c \
73 XIBarrier.c \
74 "
75
76 libXi_src_files="\
77 XAllowDv.c \
78 XChDProp.c \
79 XChgDCtl.c \
80 XChgFCtl.c \
81 XChgKbd.c \
82 XChgKMap.c \
83 XChgPnt.c \
84 XChgProp.c \
85 XCloseDev.c \
86 XDelDProp.c \
87 XDevBell.c \
88 XExtToWire.c \
89 XGetBMap.c \
90 XGetCPtr.c \
91 XGetDCtl.c \
92 XGetDProp.c \
93 XGetFCtl.c \
94 XGetKMap.c \
95 XGetMMap.c \
96 XGetProp.c \
97 XGetVers.c \
98 XGMotion.c \
99 XGrabDev.c \
100 XGrDvBut.c \
101 XGrDvKey.c \
102 XGtFocus.c \
103 XGtSelect.c \
104 XListDev.c \
105 XListDProp.c \
106 XOpenDev.c \
107 XQueryDv.c \
108 XSelect.c \
109 XSetBMap.c \
110 XSetDVal.c \
111 XSetMMap.c \
112 XSetMode.c \
113 XSndExEv.c \
114 XStFocus.c \
115 XUngrDev.c \
116 XUngrDvB.c \
117 XUngrDvK.c \
118 XExtInt.c \
119 $XI2_src_files \
120 "
121 #---------------------------------------------------------------------------------------------------
122 # TODO: we are still using the compiler driver, bad
123 for f in $libXi_src_files
124 do
125 o=$(basename $f .c).o
126 os="$os $o"
127
128 printf "CC $f->$o\n"
129 cc -c $pkg_dir/src/$f -o $build_dir/$o \
130 -I$pkg_dir/include &
131 done
132 #---------------------------------------------------------------------------------------------------
133 wait
134 #---------------------------------------------------------------------------------------------------
135 # TODO: we are still using the compiler driver, bad
136 # no version file and it expects all symbols to end up in dynamic table, aka must not use default
137 # hidden visibility
138 printf "CCLD libXi.so.6.1.0\n"
139 cc -o $build_dir/libXi.so.6.1.0 \
140 -shared -Wl,--soname=libXi.so.6 -Wl,-s -Wl,-no-undefined \
141 $os \
142 -lX11 \
143 -lXext
144 #---------------------------------------------------------------------------------------------------
145 mkdir -p /nyan/$src_name/$slot/lib
146 rm -Rf /nyan/$src_name/$slot/include/X11/extensions
147 mkdir -p /nyan/$src_name/$slot/include/X11
148
149 cp -r $pkg_dir/include/X11/extensions /nyan/$src_name/$slot/include/X11
150 cp -f $build_dir/libXi.so.6.1.0 /nyan/$src_name/$slot/lib
151
152 ln -sTf libXi.so.6.1.0 /nyan/$src_name/$slot/lib/libXi.so
153 #---------------------------------------------------------------------------------------------------
154 mkdir -p /usr/lib
155 ln -sTf /nyan/$src_name/current/lib/libXi.so.6.1.0 /usr/lib/libXi.so.6
156 #---------------------------------------------------------------------------------------------------
157 export PATH=$PATH_SAVED
158 unset PATH_SAVED
159 rm -f $pkgs_dir_root/$archive_name
160 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