elvish: refactor

- move installCheck to passthru.tests
- migrate to by-name

+39 -23
+8
pkgs/by-name/el/elvish/tests/expect-version.elv
···
··· 1 + fn expect {|key expected| 2 + var actual = $buildinfo[$key] 3 + if (not-eq $actual $expected) { 4 + fail '$buildinfo['$key']: expected '(to-string $expected)', got '(to-string $actual) 5 + } 6 + } 7 + 8 + expect version @version@
+25
pkgs/by-name/el/elvish/tests/expect-version.nix
···
··· 1 + { lib 2 + , stdenv 3 + , elvish 4 + , substituteAll 5 + }: 6 + 7 + stdenv.mkDerivation { 8 + pname = "elvish-simple-test"; 9 + inherit (elvish) version; 10 + 11 + nativeBuildInputs = [ elvish ]; 12 + 13 + dontInstall = true; 14 + 15 + buildCommand = '' 16 + elvish ${substituteAll { 17 + src = ./expect-version.elv; 18 + inherit (elvish) version; 19 + }} 20 + 21 + touch $out 22 + ''; 23 + 24 + meta.timeout = 10; 25 + }
+6 -21
pkgs/shells/elvish/default.nix pkgs/by-name/el/elvish/package.nix
··· 1 { lib 2 , buildGoModule 3 , fetchFromGitHub 4 - , runCommand 5 }: 6 7 let 8 pname = "elvish"; 9 version = "0.19.2"; 10 - shellPath = "/bin/elvish"; 11 in 12 buildGoModule { 13 inherit pname version; ··· 32 strictDeps = true; 33 34 doCheck = false; 35 - doInstallCheck = true; 36 - installCheckPhase = '' 37 - runHook preInstallCheck 38 - 39 - $out${shellPath} -c " 40 - fn expect {|key expected| 41 - var actual = \$buildinfo[\$key] 42 - if (not-eq \$actual \$expected) { 43 - fail '\$buildinfo['\$key']: expected '(to-string \$expected)', got '(to-string \$actual) 44 - } 45 - } 46 - 47 - expect version ${version} 48 - " 49 - 50 - runHook postInstallCheck 51 - ''; 52 53 passthru = { 54 - inherit shellPath; 55 }; 56 57 meta = { ··· 63 status, it is already suitable for most daily interactive use. 64 ''; 65 license = lib.licenses.bsd2; 66 - maintainers = with lib.maintainers; [ vrthra AndersonTorres ]; 67 }; 68 }
··· 1 { lib 2 , buildGoModule 3 , fetchFromGitHub 4 + , callPackage 5 }: 6 7 let 8 pname = "elvish"; 9 version = "0.19.2"; 10 in 11 buildGoModule { 12 inherit pname version; ··· 31 strictDeps = true; 32 33 doCheck = false; 34 35 passthru = { 36 + shellPath = "/bin/elvish"; 37 + tests = { 38 + expectVersion = callPackage ./tests/expect-version.nix { }; 39 + }; 40 }; 41 42 meta = { ··· 48 status, it is already suitable for most daily interactive use. 49 ''; 50 license = lib.licenses.bsd2; 51 + maintainers = with lib.maintainers; [ AndersonTorres ]; 52 }; 53 }
-2
pkgs/top-level/all-packages.nix
··· 3749 3750 sedutil = callPackage ../tools/security/sedutil { }; 3751 3752 - elvish = callPackage ../shells/elvish { }; 3753 - 3754 emplace = callPackage ../tools/package-management/emplace { }; 3755 3756 enchive = callPackage ../tools/security/enchive { };
··· 3749 3750 sedutil = callPackage ../tools/security/sedutil { }; 3751 3752 emplace = callPackage ../tools/package-management/emplace { }; 3753 3754 enchive = callPackage ../tools/security/enchive { };