uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
25
pkgs/development/compilers/elm/packages/README.md
Normal file
25
pkgs/development/compilers/elm/packages/README.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Elm packages
|
||||
|
||||
Mixtures of useful Elm lang tooling containing both Haskell and Node.js based utilities.
|
||||
|
||||
## Upgrades
|
||||
|
||||
Haskell parts of the ecosystem are using [cabal2nix](https://github.com/NixOS/cabal2nix).
|
||||
Please refer to [nix documentation](https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages)
|
||||
and [cabal2nix readme](https://github.com/NixOS/cabal2nix#readme) for more information. Elm-format [update scripts](https://github.com/avh4/elm-format/tree/master/package/nix)
|
||||
is part of its repository.
|
||||
|
||||
Node dependencies are defined in [node-packages.json](node-packages.json).
|
||||
[Node2nix](https://github.com/svanderburg/node2nix) is used for generating nix expression
|
||||
from this file. Use [generate-node-packages.sh](generate-node-packages.sh) for updates of nix expressions.
|
||||
|
||||
## Binwrap Patch
|
||||
|
||||
Some node packages might use [binwrap](https://github.com/avh4/binwrap) typically for installing
|
||||
[elmi-to-json](https://github.com/stoeffel/elmi-to-json). Binwrap is not compatible with nix.
|
||||
To overcome issues with those packages apply [patch-binwrap.nix](patch-binwrap.nix) which essentially does 2 things.
|
||||
|
||||
1. It replaces binwrap scripts with noop shell scripts
|
||||
2. It uses nix for installing the binaries to expected location in `node_modules`
|
||||
|
||||
Example usage be found in `elm/default.nix`.
|
||||
29
pkgs/development/compilers/elm/packages/avh4-lib.nix
Normal file
29
pkgs/development/compilers/elm/packages/avh4-lib.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ mkDerivation, ansi-terminal, ansi-wl-pprint, array, base, bimap
|
||||
, binary, bytestring, containers, directory, fetchgit, filepath
|
||||
, lib, mtl, process, relude, tasty, tasty-discover, tasty-hspec
|
||||
, tasty-hunit, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "avh4-lib";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/avh4-lib; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array base bimap binary bytestring
|
||||
containers directory filepath mtl process relude text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array base bimap binary bytestring
|
||||
containers directory filepath mtl process relude tasty tasty-hspec
|
||||
tasty-hunit text
|
||||
];
|
||||
testToolDepends = [ tasty-discover ];
|
||||
doHaddock = false;
|
||||
description = "Common code for haskell projects";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
15
pkgs/development/compilers/elm/packages/bimap.nix
Normal file
15
pkgs/development/compilers/elm/packages/bimap.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ mkDerivation, base, containers, exceptions, lib, QuickCheck
|
||||
, template-haskell
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "bimap";
|
||||
version = "0.3.3";
|
||||
sha256 = "73829355c7bcbd3eedba22a382a04a3ab641702b00828790ec082ec2db3a8ad1";
|
||||
libraryHaskellDepends = [ base containers exceptions ];
|
||||
testHaskellDepends = [
|
||||
base containers exceptions QuickCheck template-haskell
|
||||
];
|
||||
homepage = "https://github.com/joelwilliamson/bimap";
|
||||
description = "Bidirectional mapping between two key types";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
33
pkgs/development/compilers/elm/packages/elm-format-lib.nix
Normal file
33
pkgs/development/compilers/elm/packages/elm-format-lib.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ mkDerivation, ansi-terminal, ansi-wl-pprint, array, avh4-lib
|
||||
, base, bimap, binary, bytestring, containers, directory
|
||||
, elm-format-markdown, elm-format-test-lib, fetchgit, filepath
|
||||
, indents, json, lib, mtl, optparse-applicative, parsec, process
|
||||
, relude, split, tasty, tasty-discover, tasty-hspec, tasty-hunit
|
||||
, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elm-format-lib";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/elm-format-lib; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array avh4-lib base bimap binary
|
||||
bytestring containers directory elm-format-markdown filepath
|
||||
indents json mtl optparse-applicative parsec process relude text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array avh4-lib base bimap binary
|
||||
bytestring containers directory elm-format-markdown
|
||||
elm-format-test-lib filepath indents json mtl optparse-applicative
|
||||
parsec process relude split tasty tasty-hspec tasty-hunit text
|
||||
];
|
||||
testToolDepends = [ tasty-discover ];
|
||||
doHaddock = false;
|
||||
description = "Common code used by elm-format and elm-refactor";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
{ mkDerivation, base, containers, fetchgit, lib, mtl, text }:
|
||||
mkDerivation {
|
||||
pname = "elm-format-markdown";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/elm-format-markdown; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [ base containers mtl text ];
|
||||
doHaddock = false;
|
||||
description = "Markdown parsing for Elm documentation comments";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{ mkDerivation, avh4-lib, base, containers, fetchgit, filepath
|
||||
, hspec-core, hspec-golden, lib, mtl, split, tasty, tasty-discover
|
||||
, tasty-hspec, tasty-hunit, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elm-format-test-lib";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/elm-format-test-lib; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
avh4-lib base containers filepath hspec-core hspec-golden mtl split
|
||||
tasty tasty-hspec tasty-hunit text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
avh4-lib base containers filepath hspec-core hspec-golden mtl split
|
||||
tasty tasty-hspec tasty-hunit text
|
||||
];
|
||||
testToolDepends = [ tasty-discover ];
|
||||
doHaddock = false;
|
||||
description = "Test helpers used by elm-format-tests and elm-refactor-tests";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
40
pkgs/development/compilers/elm/packages/elm-format.nix
Normal file
40
pkgs/development/compilers/elm/packages/elm-format.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ mkDerivation, ansi-wl-pprint, avh4-lib, base, bimap, cmark
|
||||
, containers, elm-format-lib, elm-format-test-lib, fetchgit, json
|
||||
, lib, mtl, optparse-applicative, parsec, QuickCheck, quickcheck-io
|
||||
, relude, tasty, tasty-hspec, tasty-hunit, tasty-quickcheck, text
|
||||
}:
|
||||
mkDerivation rec {
|
||||
pname = "elm-format";
|
||||
version = "0.8.5";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
ansi-wl-pprint avh4-lib base containers elm-format-lib json
|
||||
optparse-applicative relude text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-wl-pprint avh4-lib base bimap cmark containers elm-format-lib
|
||||
elm-format-test-lib json mtl optparse-applicative parsec QuickCheck
|
||||
quickcheck-io relude tasty tasty-hspec tasty-hunit tasty-quickcheck
|
||||
text
|
||||
];
|
||||
doHaddock = false;
|
||||
homepage = "https://elm-lang.org";
|
||||
description = "A source code formatter for Elm";
|
||||
license = lib.licenses.bsd3;
|
||||
postPatch = ''
|
||||
mkdir -p ./generated
|
||||
cat <<EOHS > ./generated/Build_elm_format.hs
|
||||
module Build_elm_format where
|
||||
|
||||
gitDescribe :: String
|
||||
gitDescribe = "${version}"
|
||||
EOHS
|
||||
'';
|
||||
}
|
||||
43
pkgs/development/compilers/elm/packages/elm-instrument.nix
Normal file
43
pkgs/development/compilers/elm/packages/elm-instrument.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ mkDerivation, fetchpatch, ansi-terminal, ansi-wl-pprint, base, binary
|
||||
, bytestring, Cabal, cmark, containers, directory, elm-format
|
||||
, fetchgit, filepath, free, HUnit, indents, json, mtl
|
||||
, optparse-applicative, parsec, process, QuickCheck, quickcheck-io
|
||||
, split, lib, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
|
||||
, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elm-instrument";
|
||||
version = "0.0.7";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/zwilias/elm-instrument";
|
||||
sha256 = "167d7l2547zxdj7i60r6vazznd9ichwc0bqckh3vrh46glkz06jv";
|
||||
rev = "63e15bb5ec5f812e248e61b6944189fa4a0aee4e";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
patches = [
|
||||
# Update code after breaking change in optparse-applicative
|
||||
# https://github.com/zwilias/elm-instrument/pull/5
|
||||
(fetchpatch {
|
||||
name = "update-optparse-applicative.patch";
|
||||
url = "https://github.com/mdevlamynck/elm-instrument/commit/c548709d4818aeef315528e842eaf4c5b34b59b4.patch";
|
||||
sha256 = "0ln7ik09n3r3hk7jmwwm46kz660mvxfa71120rkbbaib2falfhsc";
|
||||
})
|
||||
];
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
setupHaskellDepends = [ base Cabal directory filepath process ];
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint base binary bytestring containers
|
||||
directory filepath free indents json mtl optparse-applicative
|
||||
parsec process split text
|
||||
];
|
||||
executableHaskellDepends = [ base ];
|
||||
testHaskellDepends = [
|
||||
base cmark containers elm-format HUnit mtl parsec QuickCheck
|
||||
quickcheck-io split tasty tasty-golden tasty-hunit tasty-quickcheck
|
||||
text
|
||||
];
|
||||
homepage = "https://elm-lang.org";
|
||||
description = "Instrumentation library for Elm";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
39
pkgs/development/compilers/elm/packages/elm-json.nix
Normal file
39
pkgs/development/compilers/elm/packages/elm-json.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib
|
||||
, curl
|
||||
, rustPlatform
|
||||
, fetchurl
|
||||
, openssl
|
||||
, stdenv
|
||||
, pkg-config
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "elm-json";
|
||||
version = "0.2.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zwilias/elm-json/archive/v${version}.tar.gz";
|
||||
sha256 = "sha256:03azh7wvl60h6w7ffpvl49s7jr7bxpladcm4fzcasakg26i5a71x";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./elm-json.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
curl openssl
|
||||
] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
||||
|
||||
cargoSha256 = "sha256:01zasrqf1va58i52s3kwdkj1rnwy80gv00xi6npfshjirj3ix07f";
|
||||
|
||||
# Tests perform networking and therefore can't work in sandbox
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Install, upgrade and uninstall Elm dependencies";
|
||||
homepage = "https://github.com/zwilias/elm-json";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.turbomack ];
|
||||
};
|
||||
}
|
||||
43
pkgs/development/compilers/elm/packages/elm-json.patch
Normal file
43
pkgs/development/compilers/elm/packages/elm-json.patch
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 5440d72..6e173fa 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -774,15 +774,6 @@ version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
|
||||
|
||||
-[[package]]
|
||||
-name = "openssl-src"
|
||||
-version = "111.11.0+1.1.1h"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "380fe324132bea01f45239fadfec9343adb044615f29930d039bec1ae7b9fa5b"
|
||||
-dependencies = [
|
||||
- "cc",
|
||||
-]
|
||||
-
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.58"
|
||||
@@ -792,7 +783,6 @@ dependencies = [
|
||||
"autocfg",
|
||||
"cc",
|
||||
"libc",
|
||||
- "openssl-src",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index 4d319f2..6f4d0e5 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -21,8 +21,8 @@ colored = "2.0"
|
||||
dialoguer = "0.6"
|
||||
dirs = "3.0"
|
||||
fs2 = "0.4"
|
||||
-isahc = { version = "0.9", features = ["static-ssl"] }
|
||||
-curl = {version = "0.4", features = ["static-curl", "static-ssl", "force-system-lib-on-osx", "http2"]}
|
||||
+isahc = "0.9"
|
||||
+curl = {version = "0.4", features = ["force-system-lib-on-osx", "http2"]}
|
||||
ctrlc = "3.1"
|
||||
console = "0.12"
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
diff --git a/generator/src/codegen.js b/generator/src/codegen.js
|
||||
index a0ef8806e..fe00ac904 100644
|
||||
--- a/generator/src/codegen.js
|
||||
+++ b/generator/src/codegen.js
|
||||
@@ -20,33 +20,33 @@ async function generate(basePath) {
|
||||
|
||||
const uiFileContent = elmPagesUiFile();
|
||||
await Promise.all([
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./Page.elm`),
|
||||
- `./.elm-pages/Page.elm`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./.elm-pages/Page.elm`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./Page.elm`))
|
||||
),
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./elm-application.json`),
|
||||
- `./elm-stuff/elm-pages/elm-application.json`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./elm-stuff/elm-pages/elm-application.json`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./elm-application.json`))
|
||||
),
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./Page.elm`),
|
||||
- `./elm-stuff/elm-pages/.elm-pages/Page.elm`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./elm-stuff/elm-pages/.elm-pages/Page.elm`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./Page.elm`))
|
||||
),
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./SharedTemplate.elm`),
|
||||
- `./.elm-pages/SharedTemplate.elm`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./.elm-pages/SharedTemplate.elm`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./SharedTemplate.elm`))
|
||||
),
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./SharedTemplate.elm`),
|
||||
- `./elm-stuff/elm-pages/.elm-pages/SharedTemplate.elm`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./elm-stuff/elm-pages/.elm-pages/SharedTemplate.elm`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./SharedTemplate.elm`))
|
||||
),
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./SiteConfig.elm`),
|
||||
- `./.elm-pages/SiteConfig.elm`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./.elm-pages/SiteConfig.elm`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./SiteConfig.elm`))
|
||||
),
|
||||
- fs.promises.copyFile(
|
||||
- path.join(__dirname, `./SiteConfig.elm`),
|
||||
- `./elm-stuff/elm-pages/.elm-pages/SiteConfig.elm`
|
||||
+ fs.promises.writeFile(
|
||||
+ `./elm-stuff/elm-pages/.elm-pages/SiteConfig.elm`,
|
||||
+ fs.readFileSync(path.join(__dirname, `./SiteConfig.elm`))
|
||||
),
|
||||
fs.promises.writeFile("./.elm-pages/Pages.elm", uiFileContent),
|
||||
// write `Pages.elm` with cli interface
|
||||
72
pkgs/development/compilers/elm/packages/elm-srcs.nix
Normal file
72
pkgs/development/compilers/elm/packages/elm-srcs.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
|
||||
"elm-explorations/markdown" = {
|
||||
sha256 = "0k3110ixa4wwf3vkkdplagwah9ypr965qxr1y147rnsc1xsxmr6y";
|
||||
version = "1.0.0";
|
||||
};
|
||||
|
||||
"elm/json" = {
|
||||
sha256 = "1a107nmm905dih4w4mjjkkpdcjbgaf5qjvr7fl30kkpkckfjjnrw";
|
||||
version = "1.1.2";
|
||||
};
|
||||
|
||||
"elm/html" = {
|
||||
sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k";
|
||||
version = "1.0.0";
|
||||
};
|
||||
|
||||
"elm/svg" = {
|
||||
sha256 = "1cwcj73p61q45wqwgqvrvz3aypjyy3fw732xyxdyj6s256hwkn0k";
|
||||
version = "1.0.1";
|
||||
};
|
||||
|
||||
"elm/project-metadata-utils" = {
|
||||
sha256 = "1d4rd4grrnbdvj9gf00h7dr6hbkjzawgkzpizfrkp1z1pyr3mvq9";
|
||||
version = "1.0.0";
|
||||
};
|
||||
|
||||
"elm/browser" = {
|
||||
sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka";
|
||||
version = "1.0.1";
|
||||
};
|
||||
|
||||
"elm/core" = {
|
||||
sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as";
|
||||
version = "1.0.2";
|
||||
};
|
||||
|
||||
"elm/http" = {
|
||||
sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1";
|
||||
version = "2.0.0";
|
||||
};
|
||||
|
||||
"elm/bytes" = {
|
||||
sha256 = "040d7irrawcbnq9jxhzx8p9qacdlw5bncy6lgndd6inm53rvvwbp";
|
||||
version = "1.0.7";
|
||||
};
|
||||
|
||||
"elm/file" = {
|
||||
sha256 = "15vw1ilbg0msimq2k9magwigp8lwqrgvz3vk6qia6b3ldahvw8jr";
|
||||
version = "1.0.1";
|
||||
};
|
||||
|
||||
"elm/parser" = {
|
||||
sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512";
|
||||
version = "1.1.0";
|
||||
};
|
||||
|
||||
"elm/url" = {
|
||||
sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4";
|
||||
version = "1.0.0";
|
||||
};
|
||||
|
||||
"elm/time" = {
|
||||
sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1";
|
||||
version = "1.0.0";
|
||||
};
|
||||
|
||||
"elm/virtual-dom" = {
|
||||
sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg";
|
||||
version = "1.0.2";
|
||||
};
|
||||
}
|
||||
31
pkgs/development/compilers/elm/packages/elm-test-rs.nix
Normal file
31
pkgs/development/compilers/elm/packages/elm-test-rs.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, rustPlatform, fetchurl, openssl, stdenv, darwin }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "elm-test-rs";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mpizenberg/elm-test-rs/archive/v${version}.tar.gz";
|
||||
sha256 = "sha256:1manr42w613r9vyji7pxx5gb08jcgkdxv29qqylrqlwxa8d5dcid";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals (!stdenv.isDarwin) [
|
||||
openssl
|
||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
Security
|
||||
CoreServices
|
||||
]);
|
||||
|
||||
cargoSha256 = "sha256:1dpdlzv96kpc25yf5jgsz9qldghyw35x382qpxhkadkn5dryzjvd";
|
||||
verifyCargoDeps = true;
|
||||
|
||||
# Tests perform networking and therefore can't work in sandbox
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast and portable executable to run your Elm tests";
|
||||
homepage = "https://github.com/mpizenberg/elm-test-rs";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.jpagex ];
|
||||
};
|
||||
}
|
||||
32
pkgs/development/compilers/elm/packages/elm.nix
Normal file
32
pkgs/development/compilers/elm/packages/elm.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary
|
||||
, bytestring, containers, directory, edit-distance, fetchgit
|
||||
, file-embed, filelock, filepath, ghc-prim, haskeline, HTTP
|
||||
, http-client, http-client-tls, http-types, language-glsl, mtl
|
||||
, network, parsec, process, raw-strings-qq, scientific, SHA
|
||||
, snap-core, snap-server, lib, template-haskell, time
|
||||
, unordered-containers, utf8-string, vector, zip-archive
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
pname = "elm";
|
||||
version = "0.19.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm/compiler";
|
||||
sha256 = "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w";
|
||||
rev = "c9aefb6230f5e0bda03205ab0499f6e4af924495";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint base binary bytestring containers
|
||||
directory edit-distance file-embed filelock filepath ghc-prim
|
||||
haskeline HTTP http-client http-client-tls http-types language-glsl
|
||||
mtl network parsec process raw-strings-qq scientific SHA snap-core
|
||||
snap-server template-haskell time unordered-containers utf8-string
|
||||
vector zip-archive
|
||||
];
|
||||
homepage = "https://elm-lang.org";
|
||||
description = "The `elm` command line interface";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
27
pkgs/development/compilers/elm/packages/elmi-to-json.nix
Normal file
27
pkgs/development/compilers/elm/packages/elmi-to-json.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ mkDerivation, aeson, base, binary, bytestring, containers
|
||||
, directory, fetchgit, filepath, ghc-prim, hpack
|
||||
, optparse-applicative, lib, text, unliftio
|
||||
, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elmi-to-json";
|
||||
version = "1.3.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/stoeffel/elmi-to-json";
|
||||
sha256 = "11j56vcyhijkwi9hzggkwwmxlhzhgm67ab2m7kxkhcbbqgpasa8n";
|
||||
rev = "ae40d1aa1e3d6878f2af514e611d44890e7abc1e";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson base binary bytestring containers directory filepath ghc-prim
|
||||
optparse-applicative text unliftio unordered-containers
|
||||
];
|
||||
libraryToolDepends = [ hpack ];
|
||||
executableHaskellDepends = [ base ];
|
||||
testHaskellDepends = [ base ];
|
||||
prePatch = "hpack";
|
||||
homepage = "https://github.com/stoeffel/elmi-to-json#readme";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
11
pkgs/development/compilers/elm/packages/generate-node-packages.sh
Executable file
11
pkgs/development/compilers/elm/packages/generate-node-packages.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
ROOT="$(realpath "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"/../../../../..)"
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
$(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \
|
||||
-i node-packages.json \
|
||||
-o node-packages.nix \
|
||||
-c node-composition.nix \
|
||||
--no-copy-node-env -e ../../../node-packages/node-env.nix
|
||||
11
pkgs/development/compilers/elm/packages/indents.nix
Normal file
11
pkgs/development/compilers/elm/packages/indents.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ mkDerivation, base, concatenative, lib, mtl, parsec }:
|
||||
mkDerivation {
|
||||
pname = "indents";
|
||||
version = "0.3.3";
|
||||
sha256 = "b61f51ac894609cb5571cc3ded12db5de97185a8de236c69ec24c87457109f9a";
|
||||
libraryHaskellDepends = [ base concatenative mtl parsec ];
|
||||
doCheck = false;
|
||||
homepage = "http://patch-tag.com/r/salazar/indents";
|
||||
description = "indentation sensitive parser-combinators for parsec";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
43
pkgs/development/compilers/elm/packages/lib.nix
Normal file
43
pkgs/development/compilers/elm/packages/lib.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ writeScriptBin, stdenv, lib, elm }:
|
||||
let
|
||||
patchBinwrap =
|
||||
let
|
||||
# Patching binwrap by NoOp script
|
||||
binwrap = writeScriptBin "binwrap" ''
|
||||
#! ${stdenv.shell}
|
||||
echo "binwrap called: Returning 0"
|
||||
return 0
|
||||
'';
|
||||
binwrap-install = writeScriptBin "binwrap-install" ''
|
||||
#! ${stdenv.shell}
|
||||
echo "binwrap-install called: Doing nothing"
|
||||
'';
|
||||
in targets: pkg:
|
||||
pkg.override (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ binwrap binwrap-install ];
|
||||
|
||||
# Manually install targets
|
||||
# by symlinking binaries into `node_modules`
|
||||
postInstall = let
|
||||
binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name;
|
||||
in (old.postInstall or "") + ''
|
||||
${lib.concatStrings (map (module: ''
|
||||
echo "linking ${binFile module}"
|
||||
ln -sf ${module}/bin/${binFile module} \
|
||||
node_modules/${binFile module}/bin/${binFile module}
|
||||
'') targets)}
|
||||
'';
|
||||
});
|
||||
|
||||
patchNpmElm = pkg:
|
||||
pkg.override (old: {
|
||||
preRebuild = (old.preRebuild or "") + ''
|
||||
rm node_modules/elm/install.js
|
||||
echo "console.log('Nixpkgs\' version of Elm will be used');" > node_modules/elm/install.js
|
||||
'';
|
||||
postInstall = (old.postInstall or "") + ''
|
||||
ln -sf ${elm}/bin/elm node_modules/elm/bin/elm
|
||||
'';
|
||||
});
|
||||
in
|
||||
{ inherit patchBinwrap patchNpmElm; }
|
||||
17
pkgs/development/compilers/elm/packages/node-composition.nix
Normal file
17
pkgs/development/compilers/elm/packages/node-composition.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# This file has been generated by node2nix 1.11.1. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ../../../node-packages/node-env.nix {
|
||||
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
|
||||
inherit pkgs nodejs;
|
||||
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
|
||||
};
|
||||
in
|
||||
import ./node-packages.nix {
|
||||
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
|
||||
inherit nodeEnv;
|
||||
}
|
||||
16
pkgs/development/compilers/elm/packages/node-packages.json
Normal file
16
pkgs/development/compilers/elm/packages/node-packages.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[
|
||||
"elm-analyse",
|
||||
"elm-coverage",
|
||||
"elm-doc-preview",
|
||||
"@elm-tooling/elm-language-server",
|
||||
"elm-live",
|
||||
"elm-test",
|
||||
"elm-upgrade",
|
||||
"elm-verify-examples",
|
||||
"elm-xref",
|
||||
"create-elm-app",
|
||||
"elm-optimize-level-2",
|
||||
"elm-pages",
|
||||
"elm-review",
|
||||
"elm-git-install"
|
||||
]
|
||||
16644
pkgs/development/compilers/elm/packages/node-packages.nix
generated
Normal file
16644
pkgs/development/compilers/elm/packages/node-packages.nix
generated
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue