diff --git a/.github/workflows/artifacts-native.yaml b/.github/workflows/artifacts-native.yaml index e739164bb..737522a26 100644 --- a/.github/workflows/artifacts-native.yaml +++ b/.github/workflows/artifacts-native.yaml @@ -13,50 +13,51 @@ jobs: strategy: matrix: stack: - - "2.5.1" + - "2.9.1" ghc: - - "8.10.4" + - "8.10.7" os: - - macos-10.15 - - ubuntu-18.04 + - macos-11 + - macos-12 - ubuntu-20.04 + - ubuntu-22.04 steps: - - uses: actions/checkout@v2 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: haskell/actions/setup@v1 - name: 🧱 Set up Haskell Stack - with: - ghc-version: ${{ matrix.ghc }} - stack-version: ${{ matrix.stack }} - - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-native-4 - - - uses: ./.github/actions/secp256k1 - name: 📦 Build and install libsecp256k1 - - - name: 📦 Install dependencies - run: | - stack build --no-nix --only-dependencies - - - name: 🏗️ Build - run: | - stack build --no-nix - - - name: 🏺 Upload CLI Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-cli-${{ matrix.os }} - path: ./.stack-work/**/bin/fission - - - name: 🏺 Upload Server Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-server-${{ matrix.os }} - path: ./.stack-work/**/bin/fission-server + - uses: actions/checkout@v3 + name: 📤 Checkout + if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' + + - uses: haskell/actions/setup@v2 + name: 🧱 Set up Haskell Stack + with: + ghc-version: ${{ matrix.ghc }} + stack-version: ${{ matrix.stack }} + + - uses: actions/cache@v3 + name: 🗄️ Cache ~/.stack + with: + path: ~/.stack + key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-native-4 + + - uses: ./.github/actions/secp256k1 + name: 📦 Build and install libsecp256k1 + + - name: 📦 Install dependencies + run: | + stack build --no-nix --only-dependencies + + - name: 🏗️ Build + run: | + stack build --no-nix + + - name: 🏺 Upload CLI Artifact + uses: actions/upload-artifact@v2 + with: + name: fission-cli-${{ matrix.os }} + path: ./.stack-work/**/bin/fission + + - name: 🏺 Upload Server Artifact + uses: actions/upload-artifact@v2 + with: + name: fission-server-${{ matrix.os }} + path: ./.stack-work/**/bin/fission-server diff --git a/.github/workflows/artifacts-nix.yaml b/.github/workflows/artifacts-nix.yaml deleted file mode 100644 index 524b89701..000000000 --- a/.github/workflows/artifacts-nix.yaml +++ /dev/null @@ -1,49 +0,0 @@ -name: 🏺 Artifacts (Nix) - -# Trigger the workflow on push or pull request, but only for the main branch -on: - pull_request: - push: - branches: [main] - -jobs: - stack: - name: 🖥️ ${{ matrix.os }} ❄️ Nix - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - macos-latest - - ubuntu-latest - - steps: - - uses: actions/checkout@v2 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: cachix/install-nix-action@v16 - name: ❄️ Set up Nix - with: - nix_path: nixpkgs=channel:nixos-unstable - - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock') }} - - - name: 🏗️ Build - run: | - nix-shell --command build - - - name: 🏺 Upload CLI Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-cli-${{ matrix.os }}-nix - path: ./.stack-work/**/*-nix/**/bin/fission - - - name: 🏺 Upload Server Artifact - uses: actions/upload-artifact@v2 - with: - name: fission-server-${{ matrix.os }}-nix - path: ./.stack-work/**/*-nix/**/bin/fission-server diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml deleted file mode 100644 index c68e23ee0..000000000 --- a/.github/workflows/cachix.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: 🧰 Cachix -on: - pull_request: - push: - branches: [main] -jobs: - cachix: - if: false - name: 🖥️ ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - macos-10.15 - - ubuntu-20.04 - - steps: - - uses: actions/checkout@v2.3.4 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: cachix/install-nix-action@v16 - name: ❄️ Set up Nix - with: - nix_path: nixpkgs=channel:nixos-unstable - extra_nix_config: | - substituters = https://cache.nixos.org https://hydra.iohk.io - trusted-substituters = https://hydra.iohk.io - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= - - - uses: cachix/cachix-action@v9 - name: 🧰 Cachix - with: - name: fission-2 - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: 🏗️ Build - run: nix-build -A fission-cli.components.exes.fission | cachix push fission-2 diff --git a/.github/workflows/ci-native.yaml b/.github/workflows/ci-native.yaml index 4b5ca70f6..1fcfc1941 100644 --- a/.github/workflows/ci-native.yaml +++ b/.github/workflows/ci-native.yaml @@ -13,34 +13,35 @@ jobs: strategy: matrix: stack: - - "2.5.1" + - "2.9.1" ghc: - - "8.10.4" + - "8.10.7" os: - - macos-10.15 - - ubuntu-18.04 + - macos-11 + - macos-12 - ubuntu-20.04 + - ubuntu-22.04 steps: - - uses: actions/checkout@v2 - name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' + - uses: actions/checkout@v3 + name: 📤 Checkout + if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - uses: ./.github/actions/secp256k1 - name: 📦 Build and install libsecp256k1 + - uses: ./.github/actions/secp256k1 + name: 📦 Build and install libsecp256k1 - - uses: haskell/actions/setup@v1 - name: 🧱 Set up Haskell Stack - with: - ghc-version: ${{ matrix.ghc }} - stack-version: ${{ matrix.stack }} + - uses: haskell/actions/setup@v2 + name: 🧱 Set up Haskell Stack + with: + ghc-version: ${{ matrix.ghc }} + stack-version: ${{ matrix.stack }} - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-ci-2 + - uses: actions/cache@v3 + name: 🗄️ Cache ~/.stack + with: + path: ~/.stack + key: ${{ matrix.os }}-${{ matrix.ghc }}-stack-ci-2 - - name: 🧪 Test - run: | - stack test --no-nix + - name: 🧪 Test + run: | + stack test --no-nix diff --git a/.github/workflows/ci-nix.yaml b/.github/workflows/ci-nix.yaml index e776d99c5..174574b04 100644 --- a/.github/workflows/ci-nix.yaml +++ b/.github/workflows/ci-nix.yaml @@ -1,4 +1,4 @@ -name: 🧪 Tests (Nix) +name: ❄️ Nix Build # Trigger the workflow on push or pull request, but only for the main branch on: @@ -13,25 +13,18 @@ jobs: strategy: matrix: os: - - macos-latest - ubuntu-latest - steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 name: 📤 Checkout - if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/main' - - - uses: cachix/install-nix-action@v16 - name: ❄️ Set up Nix + - uses: DeterminateSystems/nix-installer-action@main + name: ❄️ Set up Nix + - uses: cachix/cachix-action@v12 + name: 🧰 Cachix with: - nix_path: nixpkgs=channel:nixos-unstable - - - uses: actions/cache@v2 - name: 🗄️ Cache ~/.stack - with: - path: ~/.stack - key: ${{ matrix.os }}-stack-nix-${{ hashFiles('stack.yaml.lock') }} - - - name: 🧪 Test + name: fission-codes + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + - name: 👷 Build run: | - nix-shell --command quality + nix build .#fission-cli --accept-flake-config + nix build .#fission-server --accept-flake-config diff --git a/.gitignore b/.gitignore index 71e7e0470..bf9ef25b9 100644 --- a/.gitignore +++ b/.gitignore @@ -591,3 +591,5 @@ MigrationBackup/ fission-web-server/data/ fission-web-server/.env .direnv/ + +!.stack-to-nix.cache diff --git a/flake.lock b/flake.lock index d584fe764..f3bfdc5fc 100644 --- a/flake.lock +++ b/flake.lock @@ -1,13 +1,96 @@ { "nodes": { + "HTTP": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "cabal-32": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34": { + "flake": false, + "locked": { + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cardano-shell": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -16,13 +99,33 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -31,27 +134,574 @@ "type": "github" } }, + "ghc-8.6.5-iohk": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc98X": { + "flake": false, + "locked": { + "lastModified": 1696643148, + "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", + "ref": "ghc-9.8", + "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", + "revCount": 61642, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.8", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc99": { + "flake": false, + "locked": { + "lastModified": 1701580282, + "narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=", + "ref": "refs/heads/master", + "rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459", + "revCount": 62197, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "hackage": { + "flake": false, + "locked": { + "lastModified": 1707870123, + "narHash": "sha256-pOvz6uuPYw3CiPgi63QhNYumoKeyzDh9JOkLDngGWsE=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "75345eba5d4159e6f54cbdc38785d1e0d0e655e0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "haskellNix": { + "inputs": { + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-compat": "flake-compat_2", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "ghc98X": "ghc98X", + "ghc99": "ghc99", + "hackage": "hackage", + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", + "hls-2.2": "hls-2.2", + "hls-2.3": "hls-2.3", + "hls-2.4": "hls-2.4", + "hls-2.5": "hls-2.5", + "hls-2.6": "hls-2.6", + "hpc-coveralls": "hpc-coveralls", + "hydra": "hydra", + "iserv-proxy": "iserv-proxy", + "nix-tools-static": "nix-tools-static", + "nixpkgs": [ + "haskellNix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", + "stackage": "stackage" + }, + "locked": { + "lastModified": 1707876653, + "narHash": "sha256-hsj9chw/cy9h8XuxQkxnfFR22Ek8xEm33aON2+TcUaI=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "d1a608f84c9ed00ceca8571b253e79f67a1ae2d6", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "hls-1.10": { + "flake": false, + "locked": { + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "1.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.0": { + "flake": false, + "locked": { + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "783905f211ac63edf982dd1889c671653327e441", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.0.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.2": { + "flake": false, + "locked": { + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.2.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.3": { + "flake": false, + "locked": { + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.4": { + "flake": false, + "locked": { + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.5": { + "flake": false, + "locked": { + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.6": { + "flake": false, + "locked": { + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hpc-coveralls": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hydra": { + "inputs": { + "nix": "nix", + "nixpkgs": [ + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "iserv-proxy": { + "flake": false, + "locked": { + "lastModified": 1691634696, + "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", + "ref": "hkm/remote-iserv", + "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", + "revCount": 14, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + }, + "original": { + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + } + }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix-tools-static": { + "flake": false, + "locked": { + "lastModified": 1706266250, + "narHash": "sha256-9t+GRk3eO9muCtKdNAwBtNBZ5dH1xHcnS17WaQyftwA=", + "owner": "input-output-hk", + "repo": "haskell-nix-example", + "rev": "580cb6db546a7777dad3b9c0fa487a366c045c4e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "nix", + "repo": "haskell-nix-example", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1657804768, - "narHash": "sha256-/Au/pLxAHpiExLOLnmqjVIWAywMn+py8w3HrHDwus3Y=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2003": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305": { + "locked": { + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af54b6145c6e872c53e1144b7c03107e9a3a6c68", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-22.05", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" + } + }, + "old-ghc-nix": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, "root": { "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "haskellNix": "haskellNix", + "nixpkgs": [ + "haskellNix", + "nixpkgs-2305" + ] + } + }, + "stackage": { + "flake": false, + "locked": { + "lastModified": 1707782972, + "narHash": "sha256-kJMGCvGbkYUM1XYubcYpeOTvsNSW2UAU+5xtR3mSV3A=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "e9080d9ae6b8f5bd5e1a3981cfa214fc3c36fe16", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 32941d4da..15cc5e19a 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,8 @@ description = "Fission tools"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-22.05"; + haskellNix.url = "github:input-output-hk/haskell.nix"; + nixpkgs.follows = "haskellNix/nixpkgs-2305"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { @@ -11,12 +12,37 @@ }; }; - outputs = { self, nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem + outputs = { self, nixpkgs, flake-utils, haskellNix, ... }: + flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: let + overlays = [ + haskellNix.overlay + (final: prev: { + # This overlay adds our project to pkgs + fission = + final.haskell-nix.project' { + src = pkgs.haskell-nix.haskellLib.cleanSourceWith { name = "fission"; src = ./.; }; + compiler-nix-name = "ghc8107"; + stack-sha256 = "0z7k4jdpwc67vpcydf3gy3rd6v1i4qp0b0im2h3da2j2zbz59gz8"; + materialized = ./nix/materialized; + # checkMaterialization = true; - pkgs = nixpkgs.legacyPackages.${system}; + # NOTE: Currently handling devShells separately from haskell.nix + # + # shell.tools = { + # cabal = { }; + # hlint = { }; + # haskell-language-server = { }; + # }; + # Non-Haskell shell tools go here + # shell.buildInputs = with pkgs; [ + # ]; + }; + }) + ]; + pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; + flake = pkgs.fission.flake { }; # Inspired by https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/ stack-wrapped = pkgs.symlinkJoin { @@ -27,6 +53,7 @@ wrapProgram $out/bin/stack \ --add-flags "\ --nix \ + --no-nix-pure \ --nix-shell-file=nix/stack-integration.nix \ " ''; @@ -42,13 +69,14 @@ }; # The default version of HLS (with binary cache) is built with GHC 9.0.1 - # We can get this version working with our current set up, but it builds + # We can get this version working with our current set up, but it builds # from source (and takes a long time). # # The prebuilt package is marked as broken on aarch64-darwin haskellPackages = pkgs.haskell.packages.ghc8107; in - { + flake // { + # Dev Shell devShells.default = pkgs.mkShell { name = "fission"; buildInputs = [ @@ -61,6 +89,22 @@ ]; NIX_PATH = "nixpkgs=" + pkgs.path; }; - } - ); + + # Built by `nix build .` + packages.default = flake.packages."fission-cli:exe:fission"; + packages.fission-cli = flake.packages."fission-cli:exe:fission"; + packages.fission-server = flake.packages."fission-web-server:exe:fission-server"; + }) // { + overlays.default = final: prev: { + inherit (self.packages.${prev.system}) fission-cli fission-server; + }; + }; + + nixConfig = { + extra-substituters = [ "https://fission-codes.cachix.org" "https://cache.iog.io" ]; + extra-trusted-public-keys = [ + "fission-codes.cachix.org-1:z9T3OvxxngfRrx/TelcOzdnceJaCaqKQ0fby3GV1VFw=" + "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" + ]; + }; } diff --git a/nix/commands.nix b/nix/commands.nix index 377f45e2e..530d5a4e3 100644 --- a/nix/commands.nix +++ b/nix/commands.nix @@ -121,7 +121,7 @@ commands { ''; quality = cmd "Run the complete test suite" "${stack} test --test-arguments='--color=always'"; - repl = cmd "Enter the project REPL" "${stack} repl --no-nix-pure"; + repl = cmd "Enter the project REPL" "${stack} repl"; watch = cmd "Autobuild with file watcher" "${stack} build --file-watch"; ssh-staging = cmd "SSH into the staging environment" diff --git a/nix/materialized/.stack-to-nix.cache b/nix/materialized/.stack-to-nix.cache new file mode 100644 index 000000000..e69de29bb diff --git a/nix/materialized/default.nix b/nix/materialized/default.nix new file mode 100644 index 000000000..b6acbbba6 --- /dev/null +++ b/nix/materialized/default.nix @@ -0,0 +1,38 @@ +{ + extras = hackage: + { + packages = { + "amazonka" = (((hackage.amazonka)."1.6.1").revisions).default; + "constraints-deriving" = (((hackage.constraints-deriving)."1.1.1.2").revisions).default; + "cryptostore" = (((hackage.cryptostore)."0.2.1.0").revisions).default; + "dimensions" = (((hackage.dimensions)."2.1.1.0").revisions).default; + "hfsevents" = (((hackage.hfsevents)."0.1.6").revisions).default; + "lzma-clib" = (((hackage.lzma-clib)."5.2.2").revisions).default; + "libsecp256k1" = (((hackage.libsecp256k1)."0.1.0").revisions).default; + "raven-haskell" = (((hackage.raven-haskell)."0.1.4.0").revisions).default; + "rescue" = (((hackage.rescue)."0.4.2.1").revisions).default; + "servant-ekg" = (((hackage.servant-ekg)."0.3.1").revisions).default; + "servant-multipart-client" = (((hackage.servant-multipart-client)."0.12.1").revisions).default; + "servant-swagger-ui-redoc" = (((hackage.servant-swagger-ui-redoc)."0.3.4.1.22.3").revisions).default; + "servant-websockets" = (((hackage.servant-websockets)."2.0.0").revisions).default; + "unliftio-core" = (((hackage.unliftio-core)."0.1.2.0").revisions).default; + "powerdns" = (((hackage.powerdns)."0.2.2").revisions).default; + "github" = (((hackage.github)."0.27").revisions).default; + fission-cli = ./fission-cli.nix; + fission-core = ./fission-core.nix; + fission-web-api = ./fission-web-api.nix; + fission-web-client = ./fission-web-client.nix; + fission-web-server = ./fission-web-server.nix; + hs-ucan = ./hs-ucan.nix; + ipfs = ./ipfs.nix; + }; + }; + resolver = "lts-18.28"; + modules = [ + ({ lib, ... }: + { packages = {}; }) + { packages = { "$everything" = { ghcOptions = [ "-haddock" ]; }; }; } + ({ lib, ... }: + { planned = lib.mkOverride 900 true; }) + ]; + } \ No newline at end of file diff --git a/nix/materialized/fission-cli.nix b/nix/materialized/fission-cli.nix new file mode 100644 index 000000000..721a58a14 --- /dev/null +++ b/nix/materialized/fission-cli.nix @@ -0,0 +1,281 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-cli"; version = "2.20.0.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2022 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "library" ]; + }; + exes = { + "fission" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-cli" or (errorHandler.buildDepError "fission-cli")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "cli" ]; + mainPath = [ "Main.hs" ]; + }; + }; + tests = { + "fission-cli-test" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + benchmarks = { + "fission-cli-benchmark" = { + depends = [ + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."ansi-terminal" or (errorHandler.buildDepError "ansi-terminal")) + (hsPkgs."async" or (errorHandler.buildDepError "async")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."criterion" or (errorHandler.buildDepError "criterion")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."dimensions" or (errorHandler.buildDepError "dimensions")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-cli" or (errorHandler.buildDepError "fission-cli")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-client" or (errorHandler.buildDepError "fission-web-client")) + (hsPkgs."fsnotify" or (errorHandler.buildDepError "fsnotify")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."github" or (errorHandler.buildDepError "github")) + (hsPkgs."haskeline" or (errorHandler.buildDepError "haskeline")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."open-browser" or (errorHandler.buildDepError "open-browser")) + (hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative")) + (hsPkgs."parallel" or (errorHandler.buildDepError "parallel")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."tar" or (errorHandler.buildDepError "tar")) + (hsPkgs."transformers-base" or (errorHandler.buildDepError "transformers-base")) + (hsPkgs."turtle" or (errorHandler.buildDepError "turtle")) + (hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string")) + (hsPkgs."versions" or (errorHandler.buildDepError "versions")) + (hsPkgs."wss-client" or (errorHandler.buildDepError "wss-client")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + (hsPkgs."zlib" or (errorHandler.buildDepError "zlib")) + ]; + buildable = true; + modules = [ "Paths_fission_cli" ]; + hsSourceDirs = [ "benchmark" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-cli; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-core.nix b/nix/materialized/fission-core.nix new file mode 100644 index 000000000..2932d5076 --- /dev/null +++ b/nix/materialized/fission-core.nix @@ -0,0 +1,233 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-core"; version = "3.4.1.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_core" ]; + hsSourceDirs = [ "library" ]; + }; + tests = { + "fission-core-test" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."hspec-wai" or (errorHandler.buildDepError "hspec-wai")) + (hsPkgs."hspec-wai-json" or (errorHandler.buildDepError "hspec-wai-json")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-rerun" or (errorHandler.buildDepError "tasty-rerun")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_core" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + benchmarks = { + "fission-core-benchmark" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_core" ]; + hsSourceDirs = [ "benchmark" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-core; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-web-api.nix b/nix/materialized/fission-web-api.nix new file mode 100644 index 000000000..a4b192ae3 --- /dev/null +++ b/nix/materialized/fission-web-api.nix @@ -0,0 +1,65 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-web-api"; version = "2.0.1.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth" or (errorHandler.buildDepError "servant-auth")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-core" or (errorHandler.buildDepError "servant-swagger-ui-core")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + ]; + buildable = true; + modules = [ "Paths_fission_web_api" ]; + hsSourceDirs = [ "library" ]; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-web-api; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-web-client.nix b/nix/materialized/fission-web-client.nix new file mode 100644 index 000000000..555fdb5a2 --- /dev/null +++ b/nix/materialized/fission-web-client.nix @@ -0,0 +1,67 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-web-client"; version = "2.0.0.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."blaze-html" or (errorHandler.buildDepError "blaze-html")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."free" or (errorHandler.buildDepError "free")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-blaze" or (errorHandler.buildDepError "servant-blaze")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger-ui-core" or (errorHandler.buildDepError "servant-swagger-ui-core")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."wuss" or (errorHandler.buildDepError "wuss")) + ]; + buildable = true; + modules = [ "Paths_fission_web_client" ]; + hsSourceDirs = [ "library" ]; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-web-client; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/fission-web-server.nix b/nix/materialized/fission-web-server.nix new file mode 100644 index 000000000..ee1ee5491 --- /dev/null +++ b/nix/materialized/fission-web-server.nix @@ -0,0 +1,373 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "fission-web-server"; version = "2.21.0.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "library" ]; + }; + exes = { + "fission-server" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-server" or (errorHandler.buildDepError "fission-web-server")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "server" ]; + mainPath = [ "Main.hs" ]; + }; + }; + tests = { + "fission-web-server-test" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-server" or (errorHandler.buildDepError "fission-web-server")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."hspec-wai" or (errorHandler.buildDepError "hspec-wai")) + (hsPkgs."hspec-wai-json" or (errorHandler.buildDepError "hspec-wai-json")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-rerun" or (errorHandler.buildDepError "tasty-rerun")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + benchmarks = { + "fission-web-server-benchmark" = { + depends = [ + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."amazonka" or (errorHandler.buildDepError "amazonka")) + (hsPkgs."amazonka-core" or (errorHandler.buildDepError "amazonka-core")) + (hsPkgs."amazonka-route53" or (errorHandler.buildDepError "amazonka-route53")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."bcrypt" or (errorHandler.buildDepError "bcrypt")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."case-insensitive" or (errorHandler.buildDepError "case-insensitive")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."ekg-core" or (errorHandler.buildDepError "ekg-core")) + (hsPkgs."ekg-statsd" or (errorHandler.buildDepError "ekg-statsd")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."fission-core" or (errorHandler.buildDepError "fission-core")) + (hsPkgs."fission-web-api" or (errorHandler.buildDepError "fission-web-api")) + (hsPkgs."fission-web-server" or (errorHandler.buildDepError "fission-web-server")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hostname" or (errorHandler.buildDepError "hostname")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."http-client" or (errorHandler.buildDepError "http-client")) + (hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."http-types" or (errorHandler.buildDepError "http-types")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."persistent-postgresql" or (errorHandler.buildDepError "persistent-postgresql")) + (hsPkgs."persistent-template" or (errorHandler.buildDepError "persistent-template")) + (hsPkgs."powerdns" or (errorHandler.buildDepError "powerdns")) + (hsPkgs."pretty-simple" or (errorHandler.buildDepError "pretty-simple")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random" or (errorHandler.buildDepError "random")) + (hsPkgs."raven-haskell" or (errorHandler.buildDepError "raven-haskell")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."resource-pool" or (errorHandler.buildDepError "resource-pool")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-auth-server" or (errorHandler.buildDepError "servant-auth-server")) + (hsPkgs."servant-auth-swagger" or (errorHandler.buildDepError "servant-auth-swagger")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-ekg" or (errorHandler.buildDepError "servant-ekg")) + (hsPkgs."servant-server" or (errorHandler.buildDepError "servant-server")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."servant-swagger-ui-redoc" or (errorHandler.buildDepError "servant-swagger-ui-redoc")) + (hsPkgs."servant-websockets" or (errorHandler.buildDepError "servant-websockets")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty-bench" or (errorHandler.buildDepError "tasty-bench")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."wai" or (errorHandler.buildDepError "wai")) + (hsPkgs."wai-cors" or (errorHandler.buildDepError "wai-cors")) + (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) + (hsPkgs."wai-logger" or (errorHandler.buildDepError "wai-logger")) + (hsPkgs."warp" or (errorHandler.buildDepError "warp")) + (hsPkgs."warp-tls" or (errorHandler.buildDepError "warp-tls")) + (hsPkgs."websockets" or (errorHandler.buildDepError "websockets")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_fission_web_server" ]; + hsSourceDirs = [ "benchmark" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./fission-web-server; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/hs-ucan.nix b/nix/materialized/hs-ucan.nix new file mode 100644 index 000000000..e3304e7c1 --- /dev/null +++ b/nix/materialized/hs-ucan.nix @@ -0,0 +1,171 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hs-ucan"; version = "0.0.2.0"; }; + license = "AGPL-3.0-or-later"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes,\nbrian@fission.codes,\nphilipp@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker,\nBrian Ginsburg,\nPhilipp Krüger"; + homepage = "https://github.com/fission-suite/fission#readme"; + url = ""; + synopsis = ""; + description = ""; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."libsecp256k1" or (errorHandler.buildDepError "libsecp256k1")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + libs = [ (pkgs."secp256k1" or (errorHandler.sysDepError "secp256k1")) ]; + buildable = true; + modules = [ "Paths_hs_ucan" ]; + hsSourceDirs = [ "library" ]; + }; + tests = { + "hs-ucan-test" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."HsOpenSSL" or (errorHandler.buildDepError "HsOpenSSL")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."RSA" or (errorHandler.buildDepError "RSA")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."aeson-casing" or (errorHandler.buildDepError "aeson-casing")) + (hsPkgs."asn1-encoding" or (errorHandler.buildDepError "asn1-encoding")) + (hsPkgs."asn1-types" or (errorHandler.buildDepError "asn1-types")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."base58string" or (errorHandler.buildDepError "base58string")) + (hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."cryptonite" or (errorHandler.buildDepError "cryptonite")) + (hsPkgs."cryptostore" or (errorHandler.buildDepError "cryptostore")) + (hsPkgs."data-has" or (errorHandler.buildDepError "data-has")) + (hsPkgs."dns" or (errorHandler.buildDepError "dns")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."esqueleto" or (errorHandler.buildDepError "esqueleto")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."file-embed" or (errorHandler.buildDepError "file-embed")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."generic-lens" or (errorHandler.buildDepError "generic-lens")) + (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) + (hsPkgs."hs-ucan" or (errorHandler.buildDepError "hs-ucan")) + (hsPkgs."hspec" or (errorHandler.buildDepError "hspec")) + (hsPkgs."hspec-core" or (errorHandler.buildDepError "hspec-core")) + (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) + (hsPkgs."ipfs" or (errorHandler.buildDepError "ipfs")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."libsecp256k1" or (errorHandler.buildDepError "libsecp256k1")) + (hsPkgs."memory" or (errorHandler.buildDepError "memory")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-control" or (errorHandler.buildDepError "monad-control")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."monad-time" or (errorHandler.buildDepError "monad-time")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + (hsPkgs."path-pieces" or (errorHandler.buildDepError "path-pieces")) + (hsPkgs."pem" or (errorHandler.buildDepError "pem")) + (hsPkgs."persistent" or (errorHandler.buildDepError "persistent")) + (hsPkgs."quickcheck-instances" or (errorHandler.buildDepError "quickcheck-instances")) + (hsPkgs."random-bytestring" or (errorHandler.buildDepError "random-bytestring")) + (hsPkgs."rescue" or (errorHandler.buildDepError "rescue")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."rio-orphans" or (errorHandler.buildDepError "rio-orphans")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-client-core" or (errorHandler.buildDepError "servant-client-core")) + (hsPkgs."servant-swagger" or (errorHandler.buildDepError "servant-swagger")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) + (hsPkgs."tasty-hspec" or (errorHandler.buildDepError "tasty-hspec")) + (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) + (hsPkgs."tasty-rerun" or (errorHandler.buildDepError "tasty-rerun")) + (hsPkgs."tasty-smallcheck" or (errorHandler.buildDepError "tasty-smallcheck")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."uuid" or (errorHandler.buildDepError "uuid")) + (hsPkgs."word8" or (errorHandler.buildDepError "word8")) + (hsPkgs."world-peace" or (errorHandler.buildDepError "world-peace")) + (hsPkgs."x509" or (errorHandler.buildDepError "x509")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + libs = [ + (pkgs."secp256k1" or (errorHandler.sysDepError "secp256k1")) + ]; + buildable = true; + modules = [ "Paths_hs_ucan" ]; + hsSourceDirs = [ "library" "test" ]; + mainPath = [ "Main.hs" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./hs-ucan; + }) // { cabal-generator = "hpack"; } \ No newline at end of file diff --git a/nix/materialized/ipfs.nix b/nix/materialized/ipfs.nix new file mode 100644 index 000000000..fc283b87c --- /dev/null +++ b/nix/materialized/ipfs.nix @@ -0,0 +1,104 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "ipfs"; version = "1.4.2"; }; + license = "Apache-2.0"; + copyright = "© 2021 Fission Internet Software Services for Open Networks Inc."; + maintainer = "brooklyn@fission.codes,\ndaniel@fission.codes,\nsteven@fission.codes,\njames@fission.codes"; + author = "Brooklyn Zelenka,\nDaniel Holmgren,\nSteven Vandevelde,\nJames Walker"; + homepage = "https://github.com/fission-suite/ipfs-haskell#readme"; + url = ""; + synopsis = "Access IPFS locally and remotely"; + description = "Interact with the IPFS network by shelling out to a local IPFS node or communicating via the HTTP interface of a remote IPFS node."; + buildType = "Simple"; + isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = [ "LICENSE" ]; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "README.md" ]; + extraTmpFiles = []; + extraDocFiles = []; + }; + components = { + "library" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."network-ip" or (errorHandler.buildDepError "network-ip")) + (hsPkgs."regex-compat" or (errorHandler.buildDepError "regex-compat")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-multipart" or (errorHandler.buildDepError "servant-multipart")) + (hsPkgs."servant-multipart-api" or (errorHandler.buildDepError "servant-multipart-api")) + (hsPkgs."servant-multipart-client" or (errorHandler.buildDepError "servant-multipart-client")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + ]; + buildable = true; + modules = [ "Paths_ipfs" ]; + hsSourceDirs = [ "library" ]; + }; + tests = { + "ipfs-doctest" = { + depends = [ + (hsPkgs."Glob" or (errorHandler.buildDepError "Glob")) + (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) + (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."directory-tree" or (errorHandler.buildDepError "directory-tree")) + (hsPkgs."doctest" or (errorHandler.buildDepError "doctest")) + (hsPkgs."envy" or (errorHandler.buildDepError "envy")) + (hsPkgs."flow" or (errorHandler.buildDepError "flow")) + (hsPkgs."http-media" or (errorHandler.buildDepError "http-media")) + (hsPkgs."lens" or (errorHandler.buildDepError "lens")) + (hsPkgs."lens-aeson" or (errorHandler.buildDepError "lens-aeson")) + (hsPkgs."mime-types" or (errorHandler.buildDepError "mime-types")) + (hsPkgs."monad-logger" or (errorHandler.buildDepError "monad-logger")) + (hsPkgs."network-ip" or (errorHandler.buildDepError "network-ip")) + (hsPkgs."regex-compat" or (errorHandler.buildDepError "regex-compat")) + (hsPkgs."rio" or (errorHandler.buildDepError "rio")) + (hsPkgs."scientific" or (errorHandler.buildDepError "scientific")) + (hsPkgs."servant" or (errorHandler.buildDepError "servant")) + (hsPkgs."servant-client" or (errorHandler.buildDepError "servant-client")) + (hsPkgs."servant-multipart" or (errorHandler.buildDepError "servant-multipart")) + (hsPkgs."servant-multipart-api" or (errorHandler.buildDepError "servant-multipart-api")) + (hsPkgs."servant-multipart-client" or (errorHandler.buildDepError "servant-multipart-client")) + (hsPkgs."swagger2" or (errorHandler.buildDepError "swagger2")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."vector" or (errorHandler.buildDepError "vector")) + (hsPkgs."yaml" or (errorHandler.buildDepError "yaml")) + ]; + buildable = true; + modules = [ "Paths_ipfs" ]; + hsSourceDirs = [ "test/doctest" ]; + mainPath = [ "Main.hs" ]; + }; + }; + }; + } // rec { + src = (pkgs.lib).mkDefault ./ipfs; + }) // { cabal-generator = "hpack"; } \ No newline at end of file