diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e7d2d5..11597c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # Revision history for nvfetcher +## 0.5.0.0 + +There have been many significant changes since the last release. +**Starting from this version, nvfetcher no longer requires shake database for each project, +in other words, there is no need to commit the database in git or share it between machines.** +Also, a machine-readable `generated.json` will be generated for convenience. + +### Migration + +The option in TOML configuration `cargo_lock` (string) was changed to `cargo_locks` (list of strings), since now nvfetcher supports handling multi-cargo locks. + +* Use `fetchFromGitHub` as the GitHub fetcher (introduces [`nix-prefetch`](https://github.com/msteen/nix-prefetch)) +* Add [cmd](https://nvchecker.readthedocs.io/en/latest/usage.html#find-with-a-command) version source +* Support pinning a package +* Tweak src name to extract .vsx file properly +* Add option --filter to specify packages to update +* Fix missing `argActionAfterBuild` +* Add one shot nvchecker rule independent of package definition +* Don't cache generated nix exprs in shake database +* Add `fetchTarball` +* Produce parser readable `generated.json` +* Internalize shake database +* Validate config before decoding +* Extract `Config` from `Arg` and save it to shake extra +* Breakdown `Args` to provide a more concise API +* Support multi-cargo lock files +* Pretty print rules in command line + ## 0.4.0.0 * Rename `_build` to `_sources` diff --git a/README.md b/README.md index b61739b..2d285f0 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,6 @@ We always check versions of packages during each run, but only do prefetch and f How to use the generated sources file? Here are several examples: -- [DevOS](https://github.com/divnix/devos/tree/main/pkgs) - - My [flakes repo](https://github.com/berberman/flakes) - Nick Cao's [flakes repo](https://gitlab.com/NickCao/flakes/-/tree/master/pkgs) diff --git a/nix/default.nix b/nix/default.nix index bf77c0d..95d492a 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -7,7 +7,7 @@ }: mkDerivation { pname = "nvfetcher"; - version = "0.4.0.0"; + version = "0.5.0.0"; src = ../.; isLibrary = true; isExecutable = true; diff --git a/nvfetcher.cabal b/nvfetcher.cabal index bc39521..852eb7a 100644 --- a/nvfetcher.cabal +++ b/nvfetcher.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: nvfetcher -version: 0.4.0.0 +version: 0.5.0.0 synopsis: Generate nix sources expr for the latest version of packages @@ -13,7 +13,7 @@ license: MIT license-file: LICENSE author: berberman maintainer: berberman -copyright: 2021 berberman +copyright: 2021-2022 berberman category: Nix build-type: Simple extra-doc-files: diff --git a/src/NvFetcher.hs b/src/NvFetcher.hs index 48b7287..04e4315 100644 --- a/src/NvFetcher.hs +++ b/src/NvFetcher.hs @@ -6,7 +6,7 @@ {-# LANGUAGE TypeApplications #-} {-# LANGUAGE ViewPatterns #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Config.hs b/src/NvFetcher/Config.hs index caadcd7..d2c0d9d 100644 --- a/src/NvFetcher/Config.hs +++ b/src/NvFetcher/Config.hs @@ -1,3 +1,8 @@ +-- | Copyright: (c) 2021-2022 berberman +-- SPDX-License-Identifier: MIT +-- Maintainer: berberman +-- Stability: experimental +-- Portability: portable module NvFetcher.Config where import Data.Default diff --git a/src/NvFetcher/Core.hs b/src/NvFetcher/Core.hs index efd7896..0b36ef8 100644 --- a/src/NvFetcher/Core.hs +++ b/src/NvFetcher/Core.hs @@ -3,7 +3,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/ExtractSrc.hs b/src/NvFetcher/ExtractSrc.hs index 32f5e77..eb58ea1 100644 --- a/src/NvFetcher/ExtractSrc.hs +++ b/src/NvFetcher/ExtractSrc.hs @@ -4,7 +4,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/FetchRustGitDeps.hs b/src/NvFetcher/FetchRustGitDeps.hs index e06e4e6..33d9bb6 100644 --- a/src/NvFetcher/FetchRustGitDeps.hs +++ b/src/NvFetcher/FetchRustGitDeps.hs @@ -3,7 +3,7 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ViewPatterns #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/NixExpr.hs b/src/NvFetcher/NixExpr.hs index ecf9629..7003f12 100644 --- a/src/NvFetcher/NixExpr.hs +++ b/src/NvFetcher/NixExpr.hs @@ -7,7 +7,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/NixFetcher.hs b/src/NvFetcher/NixFetcher.hs index 8fc051a..ddf6b18 100644 --- a/src/NvFetcher/NixFetcher.hs +++ b/src/NvFetcher/NixFetcher.hs @@ -8,7 +8,7 @@ {-# LANGUAGE TypeApplications #-} {-# LANGUAGE ViewPatterns #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Nvchecker.hs b/src/NvFetcher/Nvchecker.hs index de2c931..d33e80b 100644 --- a/src/NvFetcher/Nvchecker.hs +++ b/src/NvFetcher/Nvchecker.hs @@ -2,7 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Options.hs b/src/NvFetcher/Options.hs index 4747078..fc9ac19 100644 --- a/src/NvFetcher/Options.hs +++ b/src/NvFetcher/Options.hs @@ -1,7 +1,7 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE TemplateHaskell #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/PackageSet.hs b/src/NvFetcher/PackageSet.hs index c99f723..e7d0a40 100644 --- a/src/NvFetcher/PackageSet.hs +++ b/src/NvFetcher/PackageSet.hs @@ -13,7 +13,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ViewPatterns #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Types.hs b/src/NvFetcher/Types.hs index 7213c2d..33bf53b 100644 --- a/src/NvFetcher/Types.hs +++ b/src/NvFetcher/Types.hs @@ -12,7 +12,7 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Types/Lens.hs b/src/NvFetcher/Types/Lens.hs index 73df724..54430e0 100644 --- a/src/NvFetcher/Types/Lens.hs +++ b/src/NvFetcher/Types/Lens.hs @@ -1,7 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Types/ShakeExtras.hs b/src/NvFetcher/Types/ShakeExtras.hs index be347d6..07fa359 100644 --- a/src/NvFetcher/Types/ShakeExtras.hs +++ b/src/NvFetcher/Types/ShakeExtras.hs @@ -2,7 +2,7 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeApplications #-} --- | Copyright: (c) 2021 berberman +-- | Copyright: (c) 2021-2022 berberman -- SPDX-License-Identifier: MIT -- Maintainer: berberman -- Stability: experimental diff --git a/src/NvFetcher/Utils.hs b/src/NvFetcher/Utils.hs index fb59913..78f4a28 100644 --- a/src/NvFetcher/Utils.hs +++ b/src/NvFetcher/Utils.hs @@ -1,5 +1,10 @@ {-# LANGUAGE CPP #-} +-- | Copyright: (c) 2021-2022 berberman +-- SPDX-License-Identifier: MIT +-- Maintainer: berberman +-- Stability: experimental +-- Portability: portable module NvFetcher.Utils where import Data.Binary