Commit Graph

242 Commits

Author SHA1 Message Date
Andrea Bedini
899a79cd53 Parsing the cabal file should go in preparePackageVersion 2023-03-03 08:51:33 +08:00
Andrea Bedini
5a3d546bdc Add more comments 2023-03-03 08:46:07 +08:00
Andrea Bedini
7ec1fb6ef2 Use NonEmpty to avoid partiality 2023-03-03 08:23:01 +08:00
Andrea Bedini
9a4d097cde Rework internals and add consistency check
The function preparePackageVersion is now responsible for doing
everything we need to do to be able to include the package in the index.

The function also returns a denormalised view of the package information
which can be taken as a proof that everything is consistent.
2023-03-03 08:15:19 +08:00
Andrea Bedini
4b6fed5d6a Drop PackageVersionMeta
It's not the right abstraction
2023-03-03 08:15:19 +08:00
Andrea Bedini
eaff46e671 Whitespace 2023-03-03 08:15:19 +08:00
Andrea Bedini
b35bbd26c9 More resiliant code 2023-03-03 08:15:19 +08:00
Andrea Bedini
945d48176b Fix CI 2023-03-02 15:26:44 +08:00
Andrea Bedini
49edf56a9e
Merge pull request #36 from bgamari/wip/T35
Don't use lazy IO when reading .cabal files
2023-03-02 05:41:22 +08:00
Ben Gamari
e3e34324ff Don't use lazy IO when reading .cabal files
Lazy IO tends to keep file handles open until the entire file is read,
which in this case may never happen. This leads to the process exceeding
the system's file descriptor limit, resulting in #35.
2023-03-01 13:42:52 -05:00
github-actions[bot]
e8fa66a8e9 flake.lock: Update
Flake lock file updates:

• Updated input 'haskell-nix':
    'github:input-output-hk/haskell.nix/f5da0a34b5dbbeb57e6d7595f46a930cd62bcd77' (2023-01-08)
  → 'github:input-output-hk/haskell.nix/986ebab4075d4c1ecac1270a9304e65e7ef715bc' (2023-02-26)
• Updated input 'haskell-nix/cabal-34':
    'github:haskell/cabal/942639c18c0cd8ec53e0a6f8d120091af35312cd' (2021-12-24)
  → 'github:haskell/cabal/5ff598c67f53f7c4f48e31d722ba37172230c462' (2022-02-26)
• Updated input 'haskell-nix/cabal-36':
    'github:haskell/cabal/f27667f8ec360c475027dcaee0138c937477b070' (2022-01-08)
  → 'github:haskell/cabal/8fd619e33d34924a94e691c5fea2c42f0fc7f144' (2022-11-22)
• Updated input 'haskell-nix/flake-compat':
    'github:input-output-hk/flake-compat/eca47d3377946315596da653862d341ee5341318' (2021-11-02)
  → 'github:input-output-hk/flake-compat/45f2638735f8cdc40fe302742b79f248d23eb368' (2023-01-04)
• Updated input 'haskell-nix/flake-utils':
    'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07)
  → 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
• Updated input 'haskell-nix/hackage':
    'github:input-output-hk/hackage.nix/5cc584651a4895c7abad166cf695a3ee8b873386' (2023-01-08)
  → 'github:input-output-hk/hackage.nix/6ee340fbe61f03ab2a440d83f29c802d7e494ba8' (2023-02-26)
• Updated input 'haskell-nix/hydra':
    'github:NixOS/hydra/28b682b85b7efc5cf7974065792a1f22203a5927' (2022-03-10)
  → 'github:NixOS/hydra/f48f00ee6d5727ae3e488cbf9ce157460853fea8' (2022-12-23)
• Updated input 'haskell-nix/hydra/nix':
    'github:NixOS/nix/a1cd7e58606a41fcf62bf8637804cf8306f17f62' (2022-01-24)
  → 'github:NixOS/nix/11e45768b34fdafdcf019ddbd337afa16127ff0f' (2022-08-27)
• Updated input 'haskell-nix/hydra/nix/nixpkgs':
    'github:NixOS/nixpkgs/82891b5e2c2359d7e58d08849e4c89511ab94234' (2021-09-28)
  → 'github:NixOS/nixpkgs/365e1b3a859281cf11b94f87231adeabbdd878a2' (2022-07-13)
• Updated input 'haskell-nix/iserv-proxy':
    'git+https://gitlab.haskell.org/ghc/iserv-proxy.git?rev=6e95df7be6dd29680f983db07a057fc2f34f81f6' (2021-12-10)
  → 'git+https://gitlab.haskell.org/hamishmack/iserv-proxy.git?ref=hkm%2fremote-iserv&rev=50d0abb3317ac439a4e7495b185a64af9b7b9300' (2022-12-14)
• Updated input 'haskell-nix/nixpkgs-2205':
    'github:NixOS/nixpkgs/309faedb8338d3ae8ad8f1043b3ccf48c9cc2970' (2022-09-24)
  → 'github:NixOS/nixpkgs/0874168639713f547c05947c76124f78441ea46c' (2023-01-01)
• Updated input 'haskell-nix/nixpkgs-2211':
    'github:NixOS/nixpkgs/6f87491a54d8d64d30af6663cb3bf5d2ee7db958' (2022-12-02)
  → 'github:NixOS/nixpkgs/b7ce17b1ebf600a72178f6302c77b6382d09323f' (2023-02-07)
• Updated input 'haskell-nix/nixpkgs-unstable':
    'github:NixOS/nixpkgs/e14f9fb57315f0d4abde222364f19f88c77d2b79' (2022-09-23)
  → 'github:NixOS/nixpkgs/747927516efcb5e31ba03b7ff32f61f6d47e7d87' (2023-02-07)
• Updated input 'haskell-nix/stackage':
    'github:input-output-hk/stackage.nix/46c3d80f024585ddf22a54f3c505799dca778865' (2023-01-07)
  → 'github:input-output-hk/stackage.nix/f6e0966f3dad73156035963a7d16c48521d8e4f2' (2023-02-26)
• Updated input 'haskell-nix/tullia':
    'github:input-output-hk/tullia/ead1f515c251f0e060060ef0e2356a51d3dfe4b0' (2022-11-17)
  → 'github:input-output-hk/tullia/621365f2c725608f381b3ad5b57afef389fd4c31' (2023-02-06)
• Updated input 'haskell-nix/tullia/std':
    'github:divnix/std/94a90eedb9cfc115b12ae8f6622d9904788559e4' (2022-10-11)
  → 'github:divnix/std/516387e3d8d059b50e742a2ff1909ed3c8f82826' (2023-01-24)
• Added input 'haskell-nix/tullia/std/arion':
    follows 'haskell-nix/tullia/std/blank'
• Added input 'haskell-nix/tullia/std/incl':
    'github:divnix/incl/ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca' (2022-11-24)
• Added input 'haskell-nix/tullia/std/incl/nixlib':
    follows 'haskell-nix/tullia/std/nixpkgs'
• Removed input 'haskell-nix/tullia/std/mdbook-kroki-preprocessor'
• Updated input 'haskell-nix/tullia/std/n2c/flake-utils':
    'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
  → follows 'haskell-nix/tullia/std/flake-utils'
• Added input 'haskell-nix/tullia/std/nosys':
    'github:divnix/nosys/2d0d5207f6a230e9d0f660903f8db9807b54814f' (2022-11-08)
• Updated input 'haskell-nix/tullia/std/yants':
    'github:divnix/yants/0b895ca02a8fa72bad50b454cb3e7d8a66407c96' (2022-08-14)
  → 'github:divnix/yants/d18f356ec25cb94dc9c275870c3a7927a10f8c3c' (2022-10-30)
2023-02-26 01:56:15 +00:00
Andrea Bedini
dff438ee43
Merge pull request #33 from andreabedini/metadata-output
Implement metadata output
2023-02-21 11:12:25 +08:00
Andrea Bedini
b12a27a984 Use dir query parameter to include subdir into url 2023-02-20 13:42:28 +08:00
Andrea Bedini
1e45bfc0fa List package name and version separately in metadata 2023-02-20 12:15:08 +08:00
Andrea Bedini
2631bf6067 Implement metadata output.
Implement a new flag "--write-metadata" which will create, in the output
directory, a file "foliage/packages.json" with metadata about the
package provenance.

The file package.json file looks like this

```
{
  "Win32-network-0.1.0.0": {
    "source": {
      "url": "github:input-output-hk/Win32-network/3825d3abf75f83f406c1f7161883c438dac7277d"
    },
    "timestamp": "2022-10-17T00:00:00Z"
  },
  "Win32-network-0.1.1.0": {
    ...
```

The idea is that tools fetching the repo can also fetch this file to
obtain information about the package provenance.
2023-02-14 10:29:16 +08:00
Andrea Bedini
25b2afaa7a Drop nix flake check
It evaluates check jobs for all systems, which require to be run on that
system given haskell.nix use of IFD.
2023-02-14 10:28:04 +08:00
Andrea Bedini
9995734db5 Write json metedata to output dir 2023-02-13 16:54:39 +08:00
Andrea Bedini
f76eb91845 Update workflows 2023-02-10 11:21:28 +08:00
Andrea Bedini
9288fdf587 Update nix workflow 2023-02-10 11:20:05 +08:00
Andrea Bedini
b374dfde9f Add update-flake-lock.yml 2023-02-10 11:16:04 +08:00
Andrea Bedini
0993761f7f Clean up 2023-01-29 12:27:04 +08:00
Andrea Bedini
57796e38b0 Prefer cabalProject' to cabalProject
cabalProject is too strict and accidentally evaulates IFD meant for
other systems.
2023-01-20 11:56:17 +08:00
Andrea Bedini
fd7829e72f Update flake.lock 2023-01-09 15:47:08 +08:00
Andrea Bedini
a0c7067fb4 back to 8.10.7 for the flake 2023-01-09 14:11:17 +08:00
Andrea Bedini
9ba14bdb78 Bump some actions 2023-01-09 11:17:06 +08:00
Andrea Bedini
e3f5c7b45e Document how to access private repositories
Closes #31
2023-01-09 11:01:05 +08:00
Andrea Bedini
1c861b3b6c Update flake 2023-01-09 11:01:02 +08:00
Andrea Bedini
4bb1b290a9 Bump compiler 2022-12-21 16:39:11 +08:00
Andrea Bedini
587b8bef8c
Merge pull request #29 from andreabedini/mpj/parallel
Build in parallel
2022-12-19 09:06:42 +08:00
Michael Peyton Jones
33a645bc3b
Build in parallel
This cuts the time to build `cardano-haskell-packages` down to 30s from
>2mins.
2022-12-16 15:15:42 +00:00
Andrea Bedini
e7c9480994
Merge pull request #27 from andreabedini/andreabedini-patch-1
Add a hydra job and zw3rk cache
2022-12-13 17:20:16 +08:00
Andrea Bedini
3e12822144 aarch64-linux needs something different 2022-12-13 10:50:11 +08:00
Andrea Bedini
05bd69f5c3 Build statically only on linux 2022-12-13 10:26:26 +08:00
Andrea Bedini
1ef0e3ad3b
Update flake.nix 2022-12-13 09:52:23 +08:00
Andrea Bedini
ae66e36f04
Update flake.nix 2022-12-13 09:37:01 +08:00
Andrea Bedini
31f81d3e45 Static executable 2022-11-30 11:50:38 +08:00
Andrea Bedini
d6419b2fbd Remove devShell 2022-11-30 11:32:17 +08:00
Andrea Bedini
83405a1467 Formatting 2022-11-30 11:22:32 +08:00
Andrea Bedini
04cb2aca07 Bump flake inputs 2022-11-04 13:41:55 +08:00
Andrea Bedini
72f2efc615 Improve web pages 2022-10-27 12:19:37 +08:00
Andrea Bedini
37022542cc Rename summary to contents 2022-10-26 17:18:36 +08:00
Andrea Bedini
4dcd18ac38
Merge pull request #15 from andreabedini/pages
Pages
2022-10-26 15:39:35 +08:00
Andrea Bedini
c0714b1b3d Finish off pages
- Summary page has the list of all packages available (with details of the latest version)
- Timeline page has the list of all entries as they appear in the index

Also:
- Rebuild sdists is they are missing
2022-10-26 14:12:40 +08:00
Andrea Bedini
db3fe215de Restore index/ paths creation 2022-10-24 16:55:58 +08:00
Andrea Bedini
aa443eec1e Minor adjustments 2022-10-24 16:16:07 +08:00
Andrea Bedini
d65f05b45b Put extra-source-files in the right spot 2022-10-24 15:38:46 +08:00
Andrea Bedini
e57d6ba5a6 Index page 2022-10-21 16:46:50 +08:00
Andrea Bedini
f697629717 WIP fix botched rebase 2022-10-21 12:30:55 +08:00
Andrea Bedini
9f22d7295d First go at generating html pages 2022-10-21 11:37:20 +08:00
Andrea Bedini
572e37cb8e WIP 2022-10-21 11:36:47 +08:00