diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2020-11-28 15:15:03 -0500 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2020-11-28 15:15:03 -0500 |
commit | 2e34620551b30c099cacc386ba9127f0bd04f77c (patch) | |
tree | 4a1ba8b6ec3f23b8b78412d0c6742cff399b25e0 /nixDevEnv | |
parent | nix derivation, dub & dub2nix using ldc2 1.24.0 ok (diff) |
directory nixEnv (renamed from nixDevEnv)
Diffstat (limited to 'nixDevEnv')
-rw-r--r-- | nixDevEnv/dub/mkDub-dmd.nix | 121 | ||||
-rw-r--r-- | nixDevEnv/dub/mkDub-ldc.nix | 121 | ||||
-rw-r--r-- | nixDevEnv/overlays/ldcVersion.nix | 15 | ||||
-rw-r--r-- | nixDevEnv/shells/packages-ldc.nix | 14 | ||||
-rw-r--r-- | nixDevEnv/shells/shell-dmd-verNix.nix | 12 | ||||
-rw-r--r-- | nixDevEnv/shells/shell-dmd-verUser.nix | 14 | ||||
-rw-r--r-- | nixDevEnv/shells/shell-ldc-verNix.nix | 5 | ||||
-rw-r--r-- | nixDevEnv/shells/shell-ldc-verUser.nix | 7 |
8 files changed, 0 insertions, 309 deletions
diff --git a/nixDevEnv/dub/mkDub-dmd.nix b/nixDevEnv/dub/mkDub-dmd.nix deleted file mode 100644 index a35f2d5..0000000 --- a/nixDevEnv/dub/mkDub-dmd.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ pkgs ? import <nixpkgs> {}, - stdenv ? pkgs.stdenv, - rdmd ? pkgs.rdmd, - dmd ? pkgs.dmd, - dub ? pkgs.dub }: - -with stdenv; -let - # Filter function to remove the .dub package folder from src - filterDub = name: type: let baseName = baseNameOf (toString name); in ! ( - type == "directory" && baseName == ".dub" - ); - - # Convert a GIT rev string (tag) to a simple semver version - rev-to-version = builtins.replaceStrings ["v" "refs/tags/v"] ["" ""]; - - dep2src = dubDep: pkgs.fetchgit { inherit (dubDep.fetch) url rev sha256 fetchSubmodules; }; - - # Fetch a dependency (source only for now) - fromDub = dubDep: mkDerivation rec { - name = "${src.name}-${version}"; - version = rev-to-version dubDep.fetch.rev; - nativeBuildInputs = [ rdmd dmd dub ]; - src = dep2src dubDep; - - buildPhase = '' - runHook preBuild - export HOME=$PWD - dub build -b=release - runHook postBuild - ''; - - # outputs = [ "lib" ]; - - # installPhase = '' - # runHook preInstall - # mkdir -p $out/bin - # runHook postInstall - # ''; - }; - - # Adds a local package directory (e.g. a git repository) to Dub - dub-add-local = dubDep: "dub add-local ${(fromDub dubDep).src.outPath} ${rev-to-version dubDep.fetch.rev}"; - - # The target output of the Dub package - targetOf = package: "${package.targetPath or "."}/${package.targetName or package.name}"; - - # Remove reference to build tools and library sources - disallowedReferences = deps: [ dmd rdmd dub ] ++ builtins.map dep2src deps; - - removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; - -in { - inherit fromDub; - - mkDubDerivation = lib.makeOverridable ({ - src, - nativeBuildInputs ? [], - dubJSON ? src + "/dub.json", - selections ? src + "/dub.selections.nix", - deps ? import selections, - passthru ? {}, - package ? lib.importJSON dubJSON, - ... - } @ attrs: stdenv.mkDerivation (attrs // { - - pname = package.name; - - nativeBuildInputs = [ rdmd dmd dub pkgs.removeReferencesTo ] ++ nativeBuildInputs; - disallowedReferences = disallowedReferences deps; - - passthru = passthru // { - inherit dub dmd rdmd pkgs; - }; - - src = lib.cleanSourceWith { - filter = filterDub; - src = lib.cleanSource src; - }; - - preFixup = '' - find $out/bin -type f -exec ${removeExpr (disallowedReferences deps)} '{}' + || true - ''; - - buildPhase = '' - runHook preBuild - - export HOME=$PWD - ${lib.concatMapStringsSep "\n" dub-add-local deps} - dub build --build=release --combined --skip-registry=all - - runHook postBuild - ''; - - checkPhase = '' - runHook preCheck - - export HOME=$PWD - ${lib.concatMapStringsSep "\n" dub-add-local deps} - dub test --combined --skip-registry=all - - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp -r "${targetOf package}" $out/bin - - runHook postInstall - ''; - - meta = lib.optionalAttrs (package ? description) { - description = package.description; - } // attrs.meta or {}; - } // lib.optionalAttrs (!(attrs ? version)) { - # Use name from dub.json, unless pname and version are specified - name = package.name; - })); -} diff --git a/nixDevEnv/dub/mkDub-ldc.nix b/nixDevEnv/dub/mkDub-ldc.nix deleted file mode 100644 index a9cbb82..0000000 --- a/nixDevEnv/dub/mkDub-ldc.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ pkgs ? import <nixpkgs> {}, - stdenv ? pkgs.stdenv, - ldc ? pkgs.ldc, - dub ? pkgs.dub -}: - -with stdenv; -let - # Filter function to remove the .dub package folder from src - filterDub = name: type: let baseName = baseNameOf (toString name); in ! ( - type == "directory" && baseName == ".dub" - ); - - # Convert a GIT rev string (tag) to a simple semver version - rev-to-version = builtins.replaceStrings ["v" "refs/tags/v"] ["" ""]; - - dep2src = dubDep: pkgs.fetchgit { inherit (dubDep.fetch) url rev sha256 fetchSubmodules; }; - - # Fetch a dependency (source only for now) - fromDub = dubDep: mkDerivation rec { - name = "${src.name}-${version}"; - version = rev-to-version dubDep.fetch.rev; - nativeBuildInputs = [ ldc dub ]; - src = dep2src dubDep; - - buildPhase = '' - runHook preBuild - export HOME=$PWD - dub build -b=release - runHook postBuild - ''; - - # outputs = [ "lib" ]; - - # installPhase = '' - # runHook preInstall - # mkdir -p $out/bin - # runHook postInstall - # ''; - }; - - # Adds a local package directory (e.g. a git repository) to Dub - dub-add-local = dubDep: "dub add-local ${(fromDub dubDep).src.outPath} ${rev-to-version dubDep.fetch.rev}"; - - # The target output of the Dub package - targetOf = package: "${package.targetPath or "."}/${package.targetName or package.name}"; - - # Remove reference to build tools and library sources - disallowedReferences = deps: [ ldc dub ] ++ builtins.map dep2src deps; - - removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; - -in { - inherit fromDub; - - mkDubDerivation = lib.makeOverridable ({ - src, - nativeBuildInputs ? [], - dubJSON ? src + "/dub.json", - selections ? src + "/dub.selections.nix", - deps ? import selections, - passthru ? {}, - package ? lib.importJSON dubJSON, - ... - } @ attrs: stdenv.mkDerivation (attrs // { - - pname = package.name; - - nativeBuildInputs = [ ldc dub pkgs.removeReferencesTo ] ++ nativeBuildInputs; - disallowedReferences = disallowedReferences deps; - - passthru = passthru // { - inherit dub ldc pkgs; - }; - - src = lib.cleanSourceWith { - filter = filterDub; - src = lib.cleanSource src; - }; - - preFixup = '' - find $out/bin -type f -exec ${removeExpr (disallowedReferences deps)} '{}' + || true - ''; - - buildPhase = '' - runHook preBuild - - export HOME=$PWD - ${lib.concatMapStringsSep "\n" dub-add-local deps} - dub build --compiler=ldc2 --build=release --combined --skip-registry=all - - runHook postBuild - ''; - - checkPhase = '' - runHook preCheck - - export HOME=$PWD - ${lib.concatMapStringsSep "\n" dub-add-local deps} - dub test --combined --skip-registry=all - - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp -r "${targetOf package}" $out/bin - - runHook postInstall - ''; - - meta = lib.optionalAttrs (package ? description) { - description = package.description; - } // attrs.meta or {}; - } // lib.optionalAttrs (!(attrs ? version)) { - # Use name from dub.json, unless pname and version are specified - name = package.name; - })); -} diff --git a/nixDevEnv/overlays/ldcVersion.nix b/nixDevEnv/overlays/ldcVersion.nix deleted file mode 100644 index 5bc7f7a..0000000 --- a/nixDevEnv/overlays/ldcVersion.nix +++ /dev/null @@ -1,15 +0,0 @@ -self: super: rec { - ldc = super.ldc.overrideAttrs(oldAttrs: rec { - pname = "ldc"; - version = "1.24.0"; - sha256 = "0g5svf55i0kq55q49awmwqj9qi1n907cyrn1vjdjgs8nx6nn35gx"; - name = "${pname}-${version}"; - src = super.fetchurl { - url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz"; - sha256 = sha256; - }; - postUnpack = '' - patchShebangs . - ''; - }); -} diff --git a/nixDevEnv/shells/packages-ldc.nix b/nixDevEnv/shells/packages-ldc.nix deleted file mode 100644 index bcef059..0000000 --- a/nixDevEnv/shells/packages-ldc.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs ? import <nixpkgs> {} }: -let - dub2nix-src = fetchTarball { - url = "https://github.com/lionello/dub2nix/archive/master.tar.gz"; - }; - dub2nix = (import dub2nix-src) { inherit pkgs; }; -in -with pkgs; [ - nix - ldc - sqlite - nix-prefetch-git - validatePkgConfig -] diff --git a/nixDevEnv/shells/shell-dmd-verNix.nix b/nixDevEnv/shells/shell-dmd-verNix.nix deleted file mode 100644 index 7f16efe..0000000 --- a/nixDevEnv/shells/shell-dmd-verNix.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs ? import <nixpkgs> {} }: -pkgs.mkShell { - buildInputs = with pkgs; [ - nix - dub - dmd - rdmd - sqlite - dub2nix - nix-prefetch-git - ]; -} diff --git a/nixDevEnv/shells/shell-dmd-verUser.nix b/nixDevEnv/shells/shell-dmd-verUser.nix deleted file mode 100644 index 334aece..0000000 --- a/nixDevEnv/shells/shell-dmd-verUser.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs ? import <nixpkgs> - { overlays = [ ]; } -}: -pkgs.mkShell { - buildInputs = with pkgs; [ - nix - dub - dmd - rdmd - sqlite - dub2nix - nix-prefetch-git - ]; -} diff --git a/nixDevEnv/shells/shell-ldc-verNix.nix b/nixDevEnv/shells/shell-ldc-verNix.nix deleted file mode 100644 index 0a6aa9a..0000000 --- a/nixDevEnv/shells/shell-ldc-verNix.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs ? import <nixpkgs> {} }: -pkgs.mkShell { - buildInputs = with pkgs; - [ (import ./packages-ldc.nix { inherit pkgs; }) ]; -} diff --git a/nixDevEnv/shells/shell-ldc-verUser.nix b/nixDevEnv/shells/shell-ldc-verUser.nix deleted file mode 100644 index 1c9c092..0000000 --- a/nixDevEnv/shells/shell-ldc-verUser.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs ? import <nixpkgs> { - overlays = [ (import ../overlays/ldcVersion.nix) ]; -} }: -pkgs.mkShell { - buildInputs = with pkgs; - [ (import ./packages-ldc.nix { inherit pkgs; }) ]; -} |