1+ # syntax=docker/dockerfile:1
2+ # ------------------------------------------------------------------------------------#
3+ # https://hub.docker.com/r/pkgforge/alpine-builder
4+ # FROM alpine:edge
5+ ARG ARCH
6+ FROM "ghcr.io/pkgforge/devscripts/alpine:${ARCH}"
7+ # ------------------------------------------------------------------------------------#
8+ # #Base Deps :: https://pkgs.alpinelinux.org/packages
9+ RUN <<EOS
10+ set +e
11+ apk update && apk upgrade --no-interactive 2>/dev/null
12+ apk add alpine-sdk --latest --upgrade --no-interactive 2>/dev/null
13+ apk add autoconf --latest --upgrade --no-interactive 2>/dev/null
14+ apk add autoconf-archive --latest --upgrade --no-interactive 2>/dev/null
15+ apk add automake --latest --upgrade --no-interactive 2>/dev/null
16+ apk add b3sum --latest --upgrade --no-interactive 2>/dev/null
17+ apk add bash --latest --upgrade --no-interactive 2>/dev/null
18+ apk add bc --latest --upgrade --no-interactive 2>/dev/null
19+ apk add binutils --latest --upgrade --no-interactive 2>/dev/null
20+ apk add brotli-static --latest --upgrade --no-interactive 2>/dev/null
21+ apk add build-base --latest --upgrade --no-interactive 2>/dev/null
22+ apk add bzip2-static --latest --upgrade --no-interactive 2>/dev/null
23+ apk add bzip3-static --latest --upgrade --no-interactive 2>/dev/null
24+ apk add c-ares-dev --latest --upgrade --no-interactive 2>/dev/null
25+ apk add ca-certificates --latest --upgrade --no-interactive 2>/dev/null
26+ apk add cairo-static --latest --upgrade --no-interactive 2>/dev/null
27+ apk add clang --latest --upgrade --no-interactive 2>/dev/null
28+ apk add clang-static --latest --upgrade --no-interactive 2>/dev/null
29+ apk add cmake --latest --upgrade --no-interactive 2>/dev/null
30+ apk add coreutils --latest --upgrade --no-interactive 2>/dev/null
31+ apk add croc --latest --upgrade --no-interactive 2>/dev/null
32+ apk add curl --latest --upgrade --no-interactive 2>/dev/null
33+ apk add curl-static --latest --upgrade --no-interactive 2>/dev/null
34+ apk add diffutils --latest --upgrade --no-interactive 2>/dev/null
35+ apk add dos2unix --latest --upgrade --no-interactive 2>/dev/null
36+ apk add file --latest --upgrade --no-interactive 2>/dev/null
37+ apk add findutils --latest --upgrade --no-interactive 2>/dev/null
38+ apk add fuse --latest --upgrade --no-interactive 2>/dev/null
39+ apk add fuse-static --latest --upgrade --no-interactive 2>/dev/null
40+ apk add fuse3 --latest --upgrade --no-interactive 2>/dev/null
41+ apk add fuse3-static --latest --upgrade --no-interactive 2>/dev/null
42+ apk add g++ --latest --upgrade --no-interactive 2>/dev/null
43+ apk add gawk --latest --upgrade --no-interactive 2>/dev/null
44+ apk add gcc --latest --upgrade --no-interactive 2>/dev/null
45+ apk add gettext-static --latest --upgrade --no-interactive 2>/dev/null
46+ apk add git --latest --upgrade --no-interactive 2>/dev/null
47+ apk add gnupg --latest --upgrade --no-interactive 2>/dev/null
48+ apk add grep --latest --upgrade --no-interactive 2>/dev/null
49+ apk add iputils --latest --upgrade --no-interactive 2>/dev/null
50+ apk add jq --latest --upgrade --no-interactive 2>/dev/null
51+ apk add libarchive-static --latest --upgrade --no-interactive 2>/dev/null
52+ apk add libc-dev --latest --upgrade --no-interactive 2>/dev/null
53+ apk add libcap-static --latest --upgrade --no-interactive 2>/dev/null
54+ apk add libcap-ng-static --latest --upgrade --no-interactive 2>/dev/null
55+ apk add libcurl --latest --upgrade --no-interactive 2>/dev/null
56+ apk add libssh2-static --latest --upgrade --no-interactive 2>/dev/null
57+ apk add libx11-static --latest --upgrade --no-interactive 2>/dev/null
58+ apk add libxcb-static --latest --upgrade --no-interactive 2>/dev/null
59+ apk add libxi-static --latest --upgrade --no-interactive 2>/dev/null
60+ apk add libxkbcommon-static --latest --upgrade --no-interactive 2>/dev/null
61+ apk add libxmlb --latest --upgrade --no-interactive 2>/dev/null
62+ apk add libxml2-static --latest --upgrade --no-interactive 2>/dev/null
63+ apk add libzmq-static --latest --upgrade --no-interactive 2>/dev/null
64+ apk add lld --latest --upgrade --no-interactive 2>/dev/null
65+ apk add linux-headers --latest --upgrade --no-interactive 2>/dev/null
66+ apk add llvm --latest --upgrade --no-interactive 2>/dev/null
67+ apk add llvm-libs --latest --upgrade --no-interactive 2>/dev/null
68+ apk add llvm-linker-tools --latest --upgrade --no-interactive 2>/dev/null
69+ apk add llvm-static --latest --upgrade --no-interactive 2>/dev/null
70+ apk add lz4-static --latest --upgrade --no-interactive 2>/dev/null
71+ apk add make --latest --upgrade --no-interactive 2>/dev/null
72+ apk add mold --latest --upgrade --no-interactive 2>/dev/null
73+ apk add moreutils --latest --upgrade --no-interactive 2>/dev/null
74+ apk add musl --latest --upgrade --no-interactive 2>/dev/null
75+ apk add musl-dev --latest --upgrade --no-interactive 2>/dev/null
76+ apk add musl-fts --latest --upgrade --no-interactive 2>/dev/null
77+ apk add musl-fts-dev --latest --upgrade --no-interactive 2>/dev/null
78+ apk add musl-utils --latest --upgrade --no-interactive 2>/dev/null
79+ apk add nano --latest --upgrade --no-interactive 2>/dev/null
80+ apk add nasm --latest --upgrade --no-interactive 2>/dev/null
81+ apk add ncdu --latest --upgrade --no-interactive 2>/dev/null
82+ apk add ncurses-static --latest --upgrade --no-interactive 2>/dev/null
83+ apk add net-tools --latest --upgrade --no-interactive 2>/dev/null
84+ apk add openssl --latest --upgrade --no-interactive 2>/dev/null
85+ apk add openssl-dev --latest --upgrade --no-interactive 2>/dev/null
86+ apk add openssl-libs-static --latest --upgrade --no-interactive 2>/dev/null
87+ apk add patchelf --latest --upgrade --no-interactive 2>/dev/null
88+ apk add pcre-dev --latest --upgrade --no-interactive 2>/dev/null
89+ apk add pcre2-dev --latest --upgrade --no-interactive 2>/dev/null
90+ apk add pkgconfig --latest --upgrade --no-interactive 2>/dev/null
91+ apk add python3 --latest --upgrade --no-interactive 2>/dev/null
92+ apk add python3-dev --latest --upgrade --no-interactive 2>/dev/null
93+ apk add readline-static --latest --upgrade --no-interactive 2>/dev/null
94+ apk add rsync --latest --upgrade --no-interactive 2>/dev/null
95+ apk add rustup --latest --upgrade --no-interactive 2>/dev/null ; rustup-init -y
96+ # https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/rustup/APKBUILD#L8
97+ hash -r &>/dev/null
98+ command -v cargo || apk add cargo --latest --upgrade --no-interactive 2>/dev/null
99+ apk add samurai --latest --upgrade --no-interactive 2>/dev/null
100+ apk add sed --latest --upgrade --no-interactive 2>/dev/null
101+ apk add sqlite-static --latest --upgrade --no-interactive 2>/dev/null
102+ apk add sudo --latest --upgrade --no-interactive 2>/dev/null
103+ apk add tar --latest --upgrade --no-interactive 2>/dev/null
104+ apk add tree --latest --upgrade --no-interactive 2>/dev/null
105+ apk add tzdata --latest --upgrade --no-interactive 2>/dev/null
106+ apk add upx --latest --upgrade --no-interactive 2>/dev/null
107+ apk add util-linux-static --latest --upgrade --no-interactive 2>/dev/null
108+ apk add wayland-static --latest --upgrade --no-interactive 2>/dev/null
109+ apk add wget --latest --upgrade --no-interactive 2>/dev/null
110+ apk add xxd --latest --upgrade --no-interactive 2>/dev/null
111+ apk add xxhash --latest --upgrade --no-interactive 2>/dev/null
112+ apk add xz --latest --upgrade --no-interactive 2>/dev/null
113+ apk add xz-static --latest --upgrade --no-interactive 2>/dev/null
114+ apk add yaml-static --latest --upgrade --no-interactive 2>/dev/null
115+ apk add zlib-static --latest --upgrade --no-interactive 2>/dev/null
116+ apk add zstd --latest --upgrade --no-interactive 2>/dev/null
117+ apk add zstd-static --latest --upgrade --no-interactive 2>/dev/null
118+ apk add 7zip --latest --upgrade --no-interactive 2>/dev/null
119+ # Stats
120+ apk stats
121+ EOS
122+ # ------------------------------------------------------------------------------------#
123+ # #Addons
124+ RUN <<EOS
125+ set +e
126+ # musl-gcc wrapper
127+ ln --symbolic "/usr/bin/$(uname -m)-alpine-linux-musl-gcc" "/usr/local/bin/musl-gcc" 2>/dev/null
128+ # cleanup
129+ apk info -L
130+ rm -rfv "/var/cache/apk/" * 2>/dev/null
131+ # Exit
132+ true
133+ EOS
134+ # ------------------------------------------------------------------------------------#
135+ # #Config
136+ RUN <<EOS
137+ # Configure ENV
138+ curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/refs/heads/main/Linux/.bashrc" -o "/etc/bash.bashrc"
139+ ln --symbolic --force "/etc/bash.bashrc" "/root/.bashrc" 2>/dev/null
140+ ln --symbolic --force "/etc/bash.bashrc" "/home/alpine/.bashrc" 2>/dev/null
141+ ln --symbolic --force "/etc/bash.bashrc" "/etc/bash/bashrc" 2>/dev/null
142+ EOS
143+ ENV GIT_ASKPASS="/bin/echo"
144+ ENV GIT_TERMINAL_PROMPT="0"
145+ # ------------------------------------------------------------------------------------#
146+ # END
0 commit comments