Loading pkgs/os-specific/linux/minimal-bootstrap/default.nix +2 −1 Original line number Diff line number Diff line Loading @@ -17,5 +17,6 @@ lib.makeScope newScope (self: with self; { ln-boot = callPackage ./ln-boot { }; tinycc-mes = callPackage ./tinycc/default.nix { }; tinycc-bootstrappable = callPackage ./tinycc/bootstrappable.nix { }; tinycc-mes = callPackage ./tinycc/mes.nix { }; }) pkgs/os-specific/linux/minimal-bootstrap/tinycc/bootstrappable.nix +22 −22 Original line number Diff line number Diff line Loading @@ -9,12 +9,14 @@ { lib , runCommand , callPackage , fetchurl , mes , mes-libc , buildTinyccN }: let inherit (callPackage ./common.nix { }) buildTinyccMes; version = "unstable-2023-04-20"; rev = "80114c4da6b17fbaabb399cc29f427e368309bc8"; Loading Loading @@ -85,7 +87,7 @@ let # Bootstrap stage build flags obtained from # https://gitlab.com/janneke/tinycc/-/blob/80114c4da6b17fbaabb399cc29f427e368309bc8/boot.sh tinycc-boot0 = buildTinyccN { tinycc-boot0 = buildTinyccMes { pname = "tinycc-boot0"; inherit src version meta; prev = tinycc-boot-mes; Loading @@ -98,7 +100,7 @@ let ]; }; tinycc-boot1 = buildTinyccN { tinycc-boot1 = buildTinyccMes { pname = "tinycc-boot1"; inherit src version meta; prev = tinycc-boot0; Loading @@ -112,7 +114,7 @@ let ]; }; tinycc-boot2 = buildTinyccN { tinycc-boot2 = buildTinyccMes { pname = "tinycc-boot2"; inherit src version meta; prev = tinycc-boot1; Loading @@ -128,7 +130,7 @@ let ]; }; tinycc-boot3 = buildTinyccN { tinycc-boot3 = buildTinyccMes { pname = "tinycc-boot3"; inherit src version meta; prev = tinycc-boot2; Loading @@ -143,8 +145,8 @@ let "-D HAVE_LONG_LONG=1" ]; }; tinycc-bootstrappable = buildTinyccN { in buildTinyccMes { pname = "tinycc-bootstrappable"; inherit src version meta; prev = tinycc-boot3; Loading @@ -158,6 +160,4 @@ let "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" ]; }; in tinycc-bootstrappable } pkgs/os-specific/linux/minimal-bootstrap/tinycc/default.nix→pkgs/os-specific/linux/minimal-bootstrap/tinycc/common.nix +69 −0 Original line number Diff line number Diff line # Build steps adapted from https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/tcc-0.9.27/tcc-0.9.27.kaem # # SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space> # # SPDX-License-Identifier: GPL-3.0-or-later { lib , runCommand , fetchurl , callPackage , mes , mes-libc , ln-boot }: let version = "unstable-2023-04-20"; rev = "86f3d8e33105435946383aee52487b5ddf918140"; tarball = fetchurl { url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz"; sha256 = "11idrvbwfgj1d03crv994mpbbbyg63j1k64lw1gjy7mkiifw2xap"; }; src = (runCommand "tinycc-${version}-source" {} '' ungz --file ${tarball} --output tinycc.tar mkdir -p ''${out} cd ''${out} untar --file ''${NIX_BUILD_TOP}/tinycc.tar '') + "/tinycc-${builtins.substring 0 7 rev}"; meta = with lib; { description = "Small, fast, and embeddable C compiler and interpreter"; homepage = "https://repo.or.cz/w/tinycc.git"; license = licenses.lgpl21Only; maintainers = with maintainers; [ emilytrau ]; platforms = [ "i686-linux" ]; }; buildTinyccN = { { buildTinyccMes = { pname, version, src, Loading Loading @@ -97,58 +66,4 @@ let # Install headers ln -s ${mes-libc}/include ''${out}/include ''; tinycc-bootstrappable = callPackage ./bootstrappable.nix { inherit buildTinyccN; }; tccdefs = runCommand "tccdefs-${version}" {} '' mkdir ''${out} ${tinycc-bootstrappable}/bin/tcc -static -DC2STR -o c2str ${src}/conftest.c ./c2str ${src}/include/tccdefs.h ''${out}/tccdefs_.h ''; tinycc-mes-boot = buildTinyccN { pname = "tinycc-mes-boot"; inherit src version meta; prev = tinycc-bootstrappable; buildOptions = [ "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }; tinycc-mes = buildTinyccN { pname = "tinycc-mes"; inherit src version meta; prev = tinycc-mes-boot; buildOptions = [ "-std=c99" "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }; in tinycc-mes } pkgs/os-specific/linux/minimal-bootstrap/tinycc/mes.nix 0 → 100644 +87 −0 Original line number Diff line number Diff line # Build steps adapted from https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/tcc-0.9.27/tcc-0.9.27.kaem # # SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space> # # SPDX-License-Identifier: GPL-3.0-or-later { lib , runCommand , fetchurl , callPackage , tinycc-bootstrappable }: let inherit (callPackage ./common.nix { }) buildTinyccMes; version = "unstable-2023-04-20"; rev = "86f3d8e33105435946383aee52487b5ddf918140"; tarball = fetchurl { url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz"; sha256 = "11idrvbwfgj1d03crv994mpbbbyg63j1k64lw1gjy7mkiifw2xap"; }; src = (runCommand "tinycc-${version}-source" {} '' ungz --file ${tarball} --output tinycc.tar mkdir -p ''${out} cd ''${out} untar --file ''${NIX_BUILD_TOP}/tinycc.tar '') + "/tinycc-${builtins.substring 0 7 rev}"; meta = with lib; { description = "Small, fast, and embeddable C compiler and interpreter"; homepage = "https://repo.or.cz/w/tinycc.git"; license = licenses.lgpl21Only; maintainers = with maintainers; [ emilytrau ]; platforms = [ "i686-linux" ]; }; tccdefs = runCommand "tccdefs-${version}" {} '' mkdir ''${out} ${tinycc-bootstrappable}/bin/tcc -static -DC2STR -o c2str ${src}/conftest.c ./c2str ${src}/include/tccdefs.h ''${out}/tccdefs_.h ''; tinycc-mes-boot = buildTinyccMes { pname = "tinycc-mes-boot"; inherit src version meta; prev = tinycc-bootstrappable; buildOptions = [ "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }; in buildTinyccMes { pname = "tinycc-mes"; inherit src version meta; prev = tinycc-mes-boot; buildOptions = [ "-std=c99" "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; } Loading
pkgs/os-specific/linux/minimal-bootstrap/default.nix +2 −1 Original line number Diff line number Diff line Loading @@ -17,5 +17,6 @@ lib.makeScope newScope (self: with self; { ln-boot = callPackage ./ln-boot { }; tinycc-mes = callPackage ./tinycc/default.nix { }; tinycc-bootstrappable = callPackage ./tinycc/bootstrappable.nix { }; tinycc-mes = callPackage ./tinycc/mes.nix { }; })
pkgs/os-specific/linux/minimal-bootstrap/tinycc/bootstrappable.nix +22 −22 Original line number Diff line number Diff line Loading @@ -9,12 +9,14 @@ { lib , runCommand , callPackage , fetchurl , mes , mes-libc , buildTinyccN }: let inherit (callPackage ./common.nix { }) buildTinyccMes; version = "unstable-2023-04-20"; rev = "80114c4da6b17fbaabb399cc29f427e368309bc8"; Loading Loading @@ -85,7 +87,7 @@ let # Bootstrap stage build flags obtained from # https://gitlab.com/janneke/tinycc/-/blob/80114c4da6b17fbaabb399cc29f427e368309bc8/boot.sh tinycc-boot0 = buildTinyccN { tinycc-boot0 = buildTinyccMes { pname = "tinycc-boot0"; inherit src version meta; prev = tinycc-boot-mes; Loading @@ -98,7 +100,7 @@ let ]; }; tinycc-boot1 = buildTinyccN { tinycc-boot1 = buildTinyccMes { pname = "tinycc-boot1"; inherit src version meta; prev = tinycc-boot0; Loading @@ -112,7 +114,7 @@ let ]; }; tinycc-boot2 = buildTinyccN { tinycc-boot2 = buildTinyccMes { pname = "tinycc-boot2"; inherit src version meta; prev = tinycc-boot1; Loading @@ -128,7 +130,7 @@ let ]; }; tinycc-boot3 = buildTinyccN { tinycc-boot3 = buildTinyccMes { pname = "tinycc-boot3"; inherit src version meta; prev = tinycc-boot2; Loading @@ -143,8 +145,8 @@ let "-D HAVE_LONG_LONG=1" ]; }; tinycc-bootstrappable = buildTinyccN { in buildTinyccMes { pname = "tinycc-bootstrappable"; inherit src version meta; prev = tinycc-boot3; Loading @@ -158,6 +160,4 @@ let "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" ]; }; in tinycc-bootstrappable }
pkgs/os-specific/linux/minimal-bootstrap/tinycc/default.nix→pkgs/os-specific/linux/minimal-bootstrap/tinycc/common.nix +69 −0 Original line number Diff line number Diff line # Build steps adapted from https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/tcc-0.9.27/tcc-0.9.27.kaem # # SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space> # # SPDX-License-Identifier: GPL-3.0-or-later { lib , runCommand , fetchurl , callPackage , mes , mes-libc , ln-boot }: let version = "unstable-2023-04-20"; rev = "86f3d8e33105435946383aee52487b5ddf918140"; tarball = fetchurl { url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz"; sha256 = "11idrvbwfgj1d03crv994mpbbbyg63j1k64lw1gjy7mkiifw2xap"; }; src = (runCommand "tinycc-${version}-source" {} '' ungz --file ${tarball} --output tinycc.tar mkdir -p ''${out} cd ''${out} untar --file ''${NIX_BUILD_TOP}/tinycc.tar '') + "/tinycc-${builtins.substring 0 7 rev}"; meta = with lib; { description = "Small, fast, and embeddable C compiler and interpreter"; homepage = "https://repo.or.cz/w/tinycc.git"; license = licenses.lgpl21Only; maintainers = with maintainers; [ emilytrau ]; platforms = [ "i686-linux" ]; }; buildTinyccN = { { buildTinyccMes = { pname, version, src, Loading Loading @@ -97,58 +66,4 @@ let # Install headers ln -s ${mes-libc}/include ''${out}/include ''; tinycc-bootstrappable = callPackage ./bootstrappable.nix { inherit buildTinyccN; }; tccdefs = runCommand "tccdefs-${version}" {} '' mkdir ''${out} ${tinycc-bootstrappable}/bin/tcc -static -DC2STR -o c2str ${src}/conftest.c ./c2str ${src}/include/tccdefs.h ''${out}/tccdefs_.h ''; tinycc-mes-boot = buildTinyccN { pname = "tinycc-mes-boot"; inherit src version meta; prev = tinycc-bootstrappable; buildOptions = [ "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }; tinycc-mes = buildTinyccN { pname = "tinycc-mes"; inherit src version meta; prev = tinycc-mes-boot; buildOptions = [ "-std=c99" "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }; in tinycc-mes }
pkgs/os-specific/linux/minimal-bootstrap/tinycc/mes.nix 0 → 100644 +87 −0 Original line number Diff line number Diff line # Build steps adapted from https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/tcc-0.9.27/tcc-0.9.27.kaem # # SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space> # # SPDX-License-Identifier: GPL-3.0-or-later { lib , runCommand , fetchurl , callPackage , tinycc-bootstrappable }: let inherit (callPackage ./common.nix { }) buildTinyccMes; version = "unstable-2023-04-20"; rev = "86f3d8e33105435946383aee52487b5ddf918140"; tarball = fetchurl { url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz"; sha256 = "11idrvbwfgj1d03crv994mpbbbyg63j1k64lw1gjy7mkiifw2xap"; }; src = (runCommand "tinycc-${version}-source" {} '' ungz --file ${tarball} --output tinycc.tar mkdir -p ''${out} cd ''${out} untar --file ''${NIX_BUILD_TOP}/tinycc.tar '') + "/tinycc-${builtins.substring 0 7 rev}"; meta = with lib; { description = "Small, fast, and embeddable C compiler and interpreter"; homepage = "https://repo.or.cz/w/tinycc.git"; license = licenses.lgpl21Only; maintainers = with maintainers; [ emilytrau ]; platforms = [ "i686-linux" ]; }; tccdefs = runCommand "tccdefs-${version}" {} '' mkdir ''${out} ${tinycc-bootstrappable}/bin/tcc -static -DC2STR -o c2str ${src}/conftest.c ./c2str ${src}/include/tccdefs.h ''${out}/tccdefs_.h ''; tinycc-mes-boot = buildTinyccMes { pname = "tinycc-mes-boot"; inherit src version meta; prev = tinycc-bootstrappable; buildOptions = [ "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }; in buildTinyccMes { pname = "tinycc-mes"; inherit src version meta; prev = tinycc-mes-boot; buildOptions = [ "-std=c99" "-D HAVE_BITFIELD=1" "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D HAVE_SETJMP=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; libtccBuildOptions = [ "-D HAVE_FLOAT=1" "-D HAVE_LONG_LONG=1" "-D CONFIG_TCC_PREDEFS=1" "-I ${tccdefs}" "-D CONFIG_TCC_SEMLOCK=0" ]; }