Commit Graph

738 Commits

Author SHA1 Message Date
Yusuf Bera Ertan
05167f7e6f
feat: indexers (#184)
* feat: add translate and shell commands

* feat: add indexer modules

* feat(nodejs): add a basic npm indexer

* feat: add an index app for indexing using an indexer

* feat(rust): add crates-io indexer

* refactor: use configFile in more places

* feat: implement translate-index app

* refactor: move indexers out of subsystems since they aren't subsystem specific

* fix: discard string context for config text

* docs: add a preliminary document for indexers

* docs: add examples for crates-io and npm indexer inputs

* feat: add support for setting sourceRoot in dream-lock, fix translate source patching

* fix: don't discard context from config passed as text

* fix: remove duplicate resolves

* fix: shell command

* refactor: remove useless nix calls, improve the apps

* feat: improve cli apps UX, implement runNixCmdInSrc, remove shell

* docs: more comments

* feat: add generatePackagesFromLocksTree util

* fix: pass args to generatePackagesFromDreamLocks correctly

* Update indexers.md

* chore: remove license from crates-io indexer

* fix: pass config loaded from env vars to loadConfig

* refactor: don't expose dream2nix internally

* feat: add makeOutputsForIndexes utility

* refactor: make make(Flake)OutputsForIndexes interface consistent with make(Flake)Outputs

* fix: allow passing pkgs to makeFlakeOutputsForIndexes

* fix: remove unused code

* fix: rename var to expected name

* refactor(utils/index): improve and fix overrideOutputs arg

* fix(utils/index): actually pass prev outputs to overrideOutputs

* refactor: patch all sources instead of using a seperate field in dream lock

* fix(utils/index): use .program to access the program

* fix: correct jq command in translate app

* refactor: improve translate app performance

* feat: add crates-io-simple indexer

* fix(apps/translate): only set dir if relPath is set

* fix(apps/callNixWithD2N): pin nixpkgs

* fix: unloaded config passed to dlib

* refactor: rewrite root source patching in nix

* tests: add a unit test for replace root sources

Co-authored-by: DavHau <hsngrmpf+github@gmail.com>
2022-07-12 12:33:04 +02:00
DavHau
6eb67f2775
Merge pull request #188 from nix-community/dev-roundups
Add development roundup April - June
2022-07-12 11:07:34 +02:00
DavHau
46ee892b40
Merge pull request #193 from happysalada/puppeteer
puppeteer: initial override
2022-07-12 11:06:13 +02:00
happysalada
51295e04af puppeteer: initial override 2022-07-11 20:14:00 -04:00
DavHau
c246205a90
Merge pull request #187 from blaggacao/main
fix: yarn lock translator & builder
2022-07-07 21:50:29 +02:00
DavHau
8d4b848ac9
Merge pull request #189 from nix-community/feat/rust-devshell
feat(rust): add devshells to rust builder outputs
2022-07-07 21:25:05 +02:00
Yusuf Bera Ertan
0f6dcb0c53
feat(rust): add devshells to rust builder outputs 2022-07-07 21:27:30 +03:00
Yusuf Bera Ertan
757501574f
docs: add more examples for overriding rust-toolchain 2022-07-06 20:30:29 +03:00
Yusuf Bera Ertan
cb09518ff9
docs: mention more stuff in dev roundup 2022-07-06 19:10:51 +03:00
Yusuf Bera Ertan
5e0de19443
docs: move development round ups to separate files 2022-07-06 19:03:04 +03:00
DavHau
4e5e4e4a14 Add development roundup April - June 2022-07-06 16:00:02 +02:00
DavHau
89bfa7c971 docs: rename Concepts and Benefits -> Architectural Considerations 2022-07-06 15:43:21 +02:00
David Arnold
a22566421f
fix: yarn fix-package
- the implicit or explicit specification of `bin:` does not effect
  wether the target needs to exist or not
- in fact, it need not exist
2022-07-04 16:51:17 -05:00
David Arnold
ac8a6ba77c
fix: yarn translator
- the package name is always the first fragment, the second fragment
  is an override

```diff
diff --git a/locks/cardano-sdk/dream-lock.json b/locks/cardano-sdk/dream-lock.json
index d7a4306a5..987ac3c75 100644
--- a/locks/cardano-sdk/dream-lock.json
+++ b/locks/cardano-sdk/dream-lock.json
@@ -851,6 +851,17 @@
         [ "to-fast-properties", "2.0.0" ]
       ]
     },
+    "@blockfrost/blockfrost-js": {
+      "2.0.4": [
+        [ "@blockfrost/openapi", "0.1.27" ],
+        [ "@emurgo/cardano-serialization-lib-nodejs", "8.1.0" ],
+        [ "@emurgo/cip14-js", "2.0.0" ],
+        [ "axios", "0.21.4" ],
+        [ "form-data", "4.0.0" ],
+        [ "retry-axios", "2.6.0" ],
+        [ "url-join", "4.0.1" ]
+      ]
+    },
     "@cardano-foundation/ledgerjs-hw-app-cardano": {
       "5.0.0": [
         [ "@ledgerhq/hw-transport", "5.51.1" ],
@@ -887,7 +898,7 @@
     },
     "@cardano-sdk/blockfrost": {
       "0.3.0": [
-        [ "blockfrost-js-ratelimited", "2.0.4" ],
+        [ "@blockfrost/blockfrost-js", "2.0.4" ],
         [ "@cardano-sdk/core", "0.3.0" ],
         [ "@cardano-sdk/util", "0.3.0" ],
         [ "shx", "0.3.4" ]
@@ -2661,17 +2672,6 @@
         [ "nanoassert", "1.1.0" ]
       ]
     },
-    "blockfrost-js-ratelimited": {
-      "2.0.4": [
-        [ "@blockfrost/openapi", "0.1.27" ],
-        [ "@emurgo/cardano-serialization-lib-nodejs", "8.1.0" ],
-        [ "@emurgo/cip14-js", "2.0.0" ],
-        [ "axios", "0.21.4" ],
-        [ "form-data", "4.0.0" ],
-        [ "retry-axios", "2.6.0" ],
-        [ "url-join", "4.0.1" ]
-      ]
-    },
     "body-parser": {
       "1.19.2": [
         [ "bytes", "3.1.2" ],
@@ -7603,6 +7603,13 @@
         "url": "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz"
       }
     },
+    "@blockfrost/blockfrost-js": {
+      "2.0.4": {
+        "hash": "sha512-kl0K5V98t/Ov9+/7xKevHKu5BKhW08FvqJX/iqHzEvh6js8LHcpre6J0MeOvyaypi3dIYqFkkid1b26Y+fgBig==",
+        "type": "http",
+        "url": "https://registry.yarnpkg.com/blockfrost-js-ratelimited/-/blockfrost-js-ratelimited-2.0.4.tgz"
+      }
+    },
     "@blockfrost/openapi": {
       "0.1.27": {
         "hash": "sha512-lCGFPZ5D87lwhwP6nowJsVsJEaSFSAi87ORIF3RSakohilZRCgxOA5j5xFDA4mccUnfy1vbTc+CaQ8TKOQPaDA==",
@@ -10216,13 +10223,6 @@
         "url": "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz"
       }
     },
-    "blockfrost-js-ratelimited": {
-      "2.0.4": {
-        "hash": "sha512-kl0K5V98t/Ov9+/7xKevHKu5BKhW08FvqJX/iqHzEvh6js8LHcpre6J0MeOvyaypi3dIYqFkkid1b26Y+fgBig==",
-        "type": "http",
-        "url": "https://registry.yarnpkg.com/blockfrost-js-ratelimited/-/blockfrost-js-ratelimited-2.0.4.tgz"
-      }
-    },
     "bn.js": {
       "4.12.0": {
         "hash": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",

```
2022-07-04 16:51:12 -05:00
DavHau
47ed5ee21b
Merge pull request #185 from nix-community/python
Improve python subsystem
2022-07-03 13:25:55 +02:00
DavHau
872bfa0648 minor fixes 2022-07-03 13:00:15 +02:00
DavHau
3bc8801c6f fix bug in cargo-toml translator 2022-07-03 12:41:08 +02:00
DavHau
768e63b832 python: remove WIP status of pip translator 2022-07-03 12:35:33 +02:00
DavHau
bea483c936 add overrides for python 2022-07-03 12:17:40 +02:00
DavHau
6f7199e060 python: implement extraSetupDeps, remove extraRequirements 2022-07-03 12:16:12 +02:00
DavHau
da52cf49f4 python: install with --no-build-isolation 2022-07-03 12:15:15 +02:00
DavHau
1477c6d9d8 fix: pass extraArgs defaults to impure translators 2022-07-03 12:14:33 +02:00
DavHau
1a30e4062a rname: builtins.path -> l.path 2022-07-02 15:55:14 +02:00
DavHau
4e75e665ec haskell: add notes on haskell.nix 2022-06-23 11:17:13 +02:00
Yusuf Bera Ertan
52f7dd7b51
refactor: move docs cli nix expression 2022-06-22 21:13:27 +03:00
DavHau
788ff08638
Merge pull request #183 from nix-community/python
fixup/improve python translator and builder
2022-06-22 13:43:18 +02:00
DavHau
30722d2fe0 makeOutputs: remove impure projects warning
- instead generate fake derivations which fail with hint on evalation
2022-06-22 13:16:09 +02:00
DavHau
3aa7a1365d python: apply overrides and fix override system 2022-06-22 13:16:09 +02:00
DavHau
bc029af0ae pip translator: fix bug when parsing .whl filename 2022-06-22 13:16:09 +02:00
DavHau
162e29d280 python discoverer: top level package name main 2022-06-22 13:16:09 +02:00
DavHau
33b53e87df improve pip translator
- keep pname from discovery phase
- allow passing argument extraRequirements
2022-06-22 13:16:09 +02:00
DavHau
0277813f56 resolveImpure: make this a package instead of an app
- the reason for this change is that the flake app structure can only be used inside `apps`. Nix run will not execute it if it is inside any other attribute
2022-06-22 13:16:09 +02:00
DavHau
cd0009e3c8 python: depend on setuptools by default 2022-06-22 13:16:09 +02:00
DavHau
78b14674cd fixup/improve python translator and builder
- translator: ensure setup requirements from pyproject.toml are respected
- builder: ensure setup requirements are installed first before the package is built
- simplify the python translator
- dont depend on mach-nix for dependency extraction
- use only pip download to extract dependencies
- allow impure pip translator to cache downloads
- fix dream-lock.json. location was missing
2022-06-22 13:16:09 +02:00
Yusuf Bera Ertan
1ba9555ecf
docs: add the haskell subsystem to subsystems doc 2022-06-21 19:16:05 +03:00
Yusuf Bera Ertan
2dcf2ab21e
docs: fix formatting in rest of the documentation 2022-06-21 19:15:29 +03:00
Yusuf Bera Ertan
d05c074a97
docs(readme): update docs cli app instructions, fix formatting 2022-06-21 19:11:02 +03:00
Yusuf Bera Ertan
f23add2b9c
fix(rust): apply overrideAttrs function properly to the final derivations 2022-06-21 18:44:45 +03:00
Yusuf Bera Ertan
16f11d2469
feat(rust/crane): passthru dependency derivation 2022-06-18 20:52:19 +03:00
Yusuf Bera Ertan
5f20f98aa2
feat: implement overrideRustToolchain for crane and build-rust-package (#175) 2022-06-18 18:24:05 +03:00
DavHau
ddf087ae91
Merge pull request #164 from nix-community/haskell
stack-lock translator & haskell builder
2022-06-18 15:05:59 +02:00
DavHau
2ce89fd481 haskell: clean up and add more comments 2022-06-16 18:49:37 +02:00
DavHau
7bbfd8e940 add documentation strings to stack-lock/utils.nix 2022-06-16 18:37:59 +02:00
DavHau
b45c224383 simpleTranslate2: improve unit tests. Be more lazy 2022-06-16 18:10:04 +02:00
Yusuf Bera Ertan
caa9c4b5ef
docs(cli): implement preview instead of just listing with fzf and bat 2022-06-16 00:01:55 +03:00
Yusuf Bera Ertan
709e4aa139
refactor: move docs script to seperate file 2022-06-15 23:44:18 +03:00
Andrea Ciceri
a65730e23d
Using cabal2json from nixpkgs instead that from a flake (#176)
* Nixpkgs input updated

Starting from now `cabal2json` is available in nixpkgs

* Using `cabal2json` from Nixpkgs

* Using more idiomatic `haskellLib` utils

* Formatting
2022-06-15 15:52:13 +02:00
DavHau
c2a8067aad delete flake.lock of haskell example 2022-06-15 13:26:21 +02:00
Yusuf Bera Ertan
7005441ceb
docs: setup mdbook book for documentation, add CLI app for docs (#173)
* docs: setup mdbook book for documentation

* ci: add github action for docs

* docs: add a cli command for showing docs in terminal

* Update docs/src/subsystems/rust.md

Co-authored-by: Ilan Joselevich <personal@ilanjoselevich.com>

* docs(rust): add example for crane overriding

* docs: add a further reading section to intro

* docs: fix a few links

* docs(readme): move documentation section up and fit some sections into 80 columns

Co-authored-by: Ilan Joselevich <personal@ilanjoselevich.com>
2022-06-13 22:27:05 +03:00
Yusuf Bera Ertan
4c3df83175
Revert "crane builder: apply overrides to -deps derivations"
This reverts commit f13621b7d3.
2022-06-11 17:56:54 +03:00