diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2023-01-24 19:11:17 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2023-01-26 08:29:58 -0500 | 
| commit | 5010380c619015fcd04e891ae49548bb6e8842dc (patch) | |
| tree | 7935ac0ab8caadf24e5bbea24acbdd0acfc827ea /flake.nix | |
| parent | nix & build housekeeping, alternative D compilers (diff) | |
nix & build housekeeping
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 205 | 
1 files changed, 62 insertions, 143 deletions
| @@ -4,22 +4,59 @@    inputs.flake-utils.url       = "github:numtide/flake-utils";    outputs = { self, nixpkgs, flake-utils }:      let +      pname                    = "spine";        version                  = "0.12.0"; -      supportedSystems         = [ "x86_64-linux" ]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"  ]; +      shell                    = ./shell.nix; # ./default.nix; +      devEnv                   = ./shell.nix; # ./default.nix; +      supportedSystems         = [ "x86_64-linux" ]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];        forAllSystems            = nixpkgs.lib.genAttrs supportedSystems;        nixpkgsFor               = forAllSystems (system: import nixpkgs { inherit system;  }); # nixpkgs instantiated for supported system types. +      checkPhase = '' +        runHook preCheck +        dub test --combined --skip-registry=all +        runHook postCheck +      ''; +      installPhase = '' +        runHook preInstall +        mkdir -p $out/bin +        install -m755 ./bin/spine $out/bin/spine +        runHook postInstall +      ''; +      postInstall = '' +        echo `ls -la $out/bin/spine` +        echo " +        nix build or nix develop? (suggestions): +        - nix build +          nix build .#default --print-build-logs +          nix flake update; nix build .#default --print-build-logs +            nix build --print-build-logs +        - nix run +          nix run .#default --print-build-logs +          nix run default.nix --print-build-logs +        - nix shell +          nix shell .#default --print-build-logs --command spine -v +        - nix develop +          nix develop --profile .#default --print-build-logs --command spine -v +          nix develop ; eval \"$buildPhase\" +          nix develop --build -f derivation.nix -I .envrc --print-build-logs +        - nix profile install . --print-build-logs +        spine -v +        nix-instantiate | nix show-derivation | jq +        " +        $out/bin/spine -v +      '';      in {        packages = forAllSystems (system:          let pkgs               = nixpkgsFor.${system};          in with pkgs; {            default = stdenv.mkDerivation { -            pname              = "spine"; +            inherit pname;              inherit version;              meta.mainProgram   = "spine";              executable         = true;              src                = self; -            #shell              = ./shell.nix; # ./default.nix; -            #devEnv             = ./shell.nix; # ./default.nix; +            inherit shell; +            inherit devEnv;              buildInputs        = [ sqlite ];              nativeBuildInputs  = [ dub dmd ldc gdc gnumake ]; # [ dub dmd ]; [ dub ldc ]; [ dub gdc ];              buildPhase = '' @@ -34,47 +71,18 @@                dub build --compiler=$DC --build=$DC_ --combined --skip-registry=all                runHook postBuild              ''; -            checkPhase = '' -              runHook preCheck -              dub test --combined --skip-registry=all -              runHook postCheck -            ''; -            installPhase = '' -              runHook preInstall -              mkdir -p $out/bin -              install -m755 ./bin/spine $out/bin/spine -              runHook postInstall -            ''; -            postInstall = '' -              echo `ls -la $out/bin/spine` -              echo " -              nix build or nix develop? (suggestions): -              - nix build -                nix build .#default --print-build-logs -                nix flake update; nix build .#default --print-build-logs -                  nix build --print-build-logs -              - nix run -                nix run .#default --print-build-logs -                nix run default.nix --print-build-logs -              - nix shell -                nix shell .#default --print-build-logs --command spine -v -              - nix develop -                nix develop --profile .#default --print-build-logs --command spine -v -                nix develop ; eval \"$buildPhase\" -                nix develop --build -f derivation.nix -I .envrc --print-build-logs -              - nix profile install . --print-build-logs -              spine -v -              nix-instantiate | nix show-derivation | jq -              " -              $out/bin/spine -v -            ''; +            inherit checkPhase; +            inherit installPhase; +            inherit postInstall;            };            spine-dmd = stdenv.mkDerivation { -            pname              = "spine"; +            inherit pname;              inherit version;              meta.mainProgram   = "spine-dmd";              executable         = true;              src                = self; +            inherit shell; +            inherit devEnv;              buildInputs        = [ sqlite ];              nativeBuildInputs  = [ dub dmd gnumake ];              buildPhase = '' @@ -82,47 +90,18 @@                dub build --compiler=$(type -P dmd) --build=dmd --combined --skip-registry=all                runHook postBuild              ''; -            checkPhase = '' -              runHook preCheck -              dub test --combined --skip-registry=all -              runHook postCheck -            ''; -            installPhase = '' -              runHook preInstall -              mkdir -p $out/bin -              install -m755 ./bin/spine $out/bin/spine -              runHook postInstall -            ''; -            postInstall = '' -              echo `ls -la $out/bin/spine` -              echo " -              nix build or nix develop? (suggestions): -              - nix build -                nix build .#default --print-build-logs -                nix flake update; nix build .#default --print-build-logs -                  nix build --print-build-logs -              - nix run -                nix run .#default --print-build-logs -                nix run default.nix --print-build-logs -              - nix shell -                nix shell .#default --print-build-logs --command spine -v -              - nix develop -                nix develop --profile .#default --print-build-logs --command spine -v -                nix develop ; eval \"$buildPhase\" -                nix develop --build -f derivation.nix -I .envrc --print-build-logs -              - nix profile install . --print-build-logs -              spine -v -              nix-instantiate | nix show-derivation | jq -              " -              $out/bin/spine -v -            ''; +            inherit checkPhase; +            inherit installPhase; +            inherit postInstall;            };            spine-ldc = stdenv.mkDerivation { -            pname              = "spine"; +            inherit pname;              inherit version;              meta.mainProgram   = "spine-ldc";              executable         = true;              src                = self; +            inherit shell; +            inherit devEnv;              buildInputs        = [ sqlite ];              nativeBuildInputs  = [ dub ldc gnumake ];              buildPhase = '' @@ -130,47 +109,18 @@                dub build --compiler=$(type -P ldc2) --build=ldc2 --combined --skip-registry=all                runHook postBuild              ''; -            checkPhase = '' -              runHook preCheck -              dub test --combined --skip-registry=all -              runHook postCheck -            ''; -            installPhase = '' -              runHook preInstall -              mkdir -p $out/bin -              install -m755 ./bin/spine $out/bin/spine -              runHook postInstall -            ''; -            postInstall = '' -              echo `ls -la $out/bin/spine` -              echo " -              nix build or nix develop? (suggestions): -              - nix build -                nix build .#default --print-build-logs -                nix flake update; nix build .#default --print-build-logs -                  nix build --print-build-logs -              - nix run -                nix run .#default --print-build-logs -                nix run default.nix --print-build-logs -              - nix shell -                nix shell .#default --print-build-logs --command spine -v -              - nix develop -                nix develop --profile .#default --print-build-logs --command spine -v -                nix develop ; eval \"$buildPhase\" -                nix develop --build -f derivation.nix -I .envrc --print-build-logs -              - nix profile install . --print-build-logs -              spine -v -              nix-instantiate | nix show-derivation | jq -              " -              $out/bin/spine -v -            ''; +            inherit checkPhase; +            inherit installPhase; +            inherit postInstall;            };            spine-gdc = stdenv.mkDerivation { -            pname              = "spine"; +            inherit pname;              inherit version;              meta.mainProgram   = "spine-gdc";              executable         = true;              src                = self; +            inherit shell; +            inherit devEnv;              buildInputs        = [ sqlite ];              nativeBuildInputs  = [ dub gdc gnumake ];              buildPhase = '' @@ -178,40 +128,9 @@                dub build --compiler=$(type -P gdc) --build=gdc --combined --skip-registry=all                runHook postBuild              ''; -            checkPhase = '' -              runHook preCheck -              dub test --combined --skip-registry=all -              runHook postCheck -            ''; -            installPhase = '' -              runHook preInstall -              mkdir -p $out/bin -              install -m755 ./bin/spine $out/bin/spine -              runHook postInstall -            ''; -            postInstall = '' -              echo `ls -la $out/bin/spine` -              echo " -              nix build or nix develop? (suggestions): -              - nix build -                nix build .#default --print-build-logs -                nix flake update; nix build .#default --print-build-logs -                  nix build --print-build-logs -              - nix run -                nix run .#default --print-build-logs -                nix run default.nix --print-build-logs -              - nix shell -                nix shell .#default --print-build-logs --command spine -v -              - nix develop -                nix develop --profile .#default --print-build-logs --command spine -v -                nix develop ; eval \"$buildPhase\" -                nix develop --build -f derivation.nix -I .envrc --print-build-logs -              - nix profile install . --print-build-logs -              spine -v -              nix-instantiate | nix show-derivation | jq -              " -              $out/bin/spine -v -            ''; +            inherit checkPhase; +            inherit installPhase; +            inherit postInstall;            };            #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";          }); | 
