Merge pull request #232925 from emilytrau/minimal-sed

minimal-bootstrap.gnused: init at 4.0.9

authored by John Ericson and committed by GitHub 4916216d b2502fe0

+72 -2
+8 -2
pkgs/os-specific/linux/minimal-bootstrap/default.nix
··· 15 15 16 16 coreutils = callPackage ./coreutils { tinycc = tinycc-mes; }; 17 17 18 + gnumake = callPackage ./gnumake { tinycc = tinycc-mes; }; 19 + 18 20 gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; }; 19 21 20 - gnumake = callPackage ./gnumake { tinycc = tinycc-mes; }; 22 + gnused = callPackage ./gnused { 23 + bash = bash_2_05; 24 + tinycc = tinycc-mes; 25 + }; 21 26 22 27 ln-boot = callPackage ./ln-boot { }; 23 28 ··· 34 39 inherit (callPackage ./utils.nix { }) fetchurl derivationWithMeta writeTextFile writeText; 35 40 36 41 test = kaem.runCommand "minimal-bootstrap-test" {} '' 42 + echo ${bash_2_05.tests.get-version} 43 + echo ${gnused.tests.get-version} 37 44 echo ${mes.compiler.tests.get-version} 38 45 echo ${tinycc-mes.compiler.tests.chain} 39 - echo ${bash_2_05.tests.get-version} 40 46 mkdir ''${out} 41 47 ''; 42 48 })
+64
pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix
··· 1 + { lib 2 + , fetchurl 3 + , bash 4 + , tinycc 5 + , gnumake 6 + }: 7 + let 8 + pname = "gnused"; 9 + # last version that can be compiled with mes-libc 10 + version = "4.0.9"; 11 + 12 + src = fetchurl { 13 + url = "mirror://gnu/sed/sed-${version}.tar.gz"; 14 + sha256 = "0006gk1dw2582xsvgx6y6rzs9zw8b36rhafjwm288zqqji3qfrf3"; 15 + }; 16 + 17 + # Thanks to the live-bootstrap project! 18 + # See https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/sed-4.0.9.kaem 19 + makefile = fetchurl { 20 + url = "https://github.com/fosslinux/live-bootstrap/raw/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/mk/main.mk"; 21 + sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya"; 22 + }; 23 + in 24 + bash.runCommand "${pname}-${version}" { 25 + inherit pname version; 26 + 27 + nativeBuildInputs = [ 28 + tinycc.compiler 29 + gnumake 30 + ]; 31 + 32 + passthru.tests.get-version = result: 33 + bash.runCommand "${pname}-get-version-${version}" {} '' 34 + ${result}/bin/sed --version 35 + mkdir ''${out} 36 + ''; 37 + 38 + meta = with lib; { 39 + description = "GNU sed, a batch stream editor"; 40 + homepage = "https://www.gnu.org/software/sed"; 41 + license = licenses.gpl3Plus; 42 + maintainers = teams.minimal-bootstrap.members; 43 + mainProgram = "sed"; 44 + platforms = platforms.unix; 45 + }; 46 + } '' 47 + # Unpack 48 + ungz --file ${src} --output sed.tar 49 + untar --file sed.tar 50 + rm sed.tar 51 + cd sed-${version} 52 + 53 + # Configure 54 + cp ${makefile} Makefile 55 + catm config.h 56 + 57 + # Build 58 + make \ 59 + CC="tcc -B ${tinycc.libs}/lib" \ 60 + LIBC=mes 61 + 62 + # Install 63 + make install PREFIX=$out 64 + ''