autonix: tweak manifest format
This commit is contained in:
parent
7bf2021349
commit
fdcfefee2c
@ -36,9 +36,10 @@ let
|
|||||||
writeManifestXML = filename:
|
writeManifestXML = filename:
|
||||||
let
|
let
|
||||||
generateStores = mapAttrs (n: pkg: pkg.store);
|
generateStores = mapAttrs (n: pkg: pkg.store);
|
||||||
manifest = generateStores (importManifest filename { mirror = ""; });
|
manifest = importManifest filename { mirror = ""; };
|
||||||
|
stores = generateStores manifest;
|
||||||
in
|
in
|
||||||
writeText "manifest.xml" (builtins.toXML manifest);
|
writeText "manifest.xml" (builtins.toXML stores);
|
||||||
|
|
||||||
/* Generate a set of Nix expressions for the collection, given a
|
/* Generate a set of Nix expressions for the collection, given a
|
||||||
* manifest.nix, dependencies.nix, and renames.nix in the same directory.
|
* manifest.nix, dependencies.nix, and renames.nix in the same directory.
|
||||||
@ -69,9 +70,8 @@ let
|
|||||||
|
|
||||||
in derive (postResolve (resolve (preResolve packages)));
|
in derive (postResolve (resolve (preResolve packages)));
|
||||||
|
|
||||||
pkgNameVersion = pkg: nameFromURL pkg.name ".tar";
|
pkgAttrName = pkg: (builtins.parseDrvName pkg.name).name;
|
||||||
pkgAttrName = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).name;
|
pkgVersion = pkg: (builtins.parseDrvName pkg.name).version;
|
||||||
pkgVersion = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).version;
|
|
||||||
|
|
||||||
depAttrNames = [
|
depAttrNames = [
|
||||||
"buildInputs" "nativeBuildInputs"
|
"buildInputs" "nativeBuildInputs"
|
||||||
@ -112,7 +112,7 @@ let
|
|||||||
builtins.listToAttrs
|
builtins.listToAttrs
|
||||||
(map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest);
|
(map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest);
|
||||||
|
|
||||||
orig = import path { inherit mirror; };
|
orig = import path { inherit stdenv fetchurl mirror; };
|
||||||
in
|
in
|
||||||
fold (f: x: f x) orig [ withNames bestVersions ];
|
fold (f: x: f x) orig [ withNames bestVersions ];
|
||||||
|
|
||||||
@ -134,11 +134,10 @@ let
|
|||||||
|
|
||||||
deps = import (path + "/dependencies.nix") {};
|
deps = import (path + "/dependencies.nix") {};
|
||||||
|
|
||||||
mkPkg = pkg: pkgManifest:
|
mkPkg = name: manifest:
|
||||||
{
|
{
|
||||||
name = nameFromURL pkgManifest.name ".tar";
|
inherit (manifest) name src;
|
||||||
src = { inherit (pkgManifest) sha256 name url; };
|
inherit (deps."${name}")
|
||||||
inherit (deps."${pkg}")
|
|
||||||
buildInputs nativeBuildInputs propagatedBuildInputs
|
buildInputs nativeBuildInputs propagatedBuildInputs
|
||||||
propagatedNativeBuildInputs propagatedUserEnvPkgs;
|
propagatedNativeBuildInputs propagatedUserEnvPkgs;
|
||||||
};
|
};
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
cat >../manifest.nix <<EOF
|
cat >../manifest.nix <<EOF
|
||||||
# This file is generated automatically. DO NOT EDIT!
|
# This file is generated automatically. DO NOT EDIT!
|
||||||
{ mirror }:
|
{ stdenv, fetchurl, mirror }:
|
||||||
[
|
[
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@ -24,10 +24,13 @@ workdir=$(pwd)
|
|||||||
store=$(@nix@/bin/nix-store --print-fixed-path sha256 "$sha256" "$name")
|
store=$(@nix@/bin/nix-store --print-fixed-path sha256 "$sha256" "$name")
|
||||||
cat >>../manifest.nix <<EOF
|
cat >>../manifest.nix <<EOF
|
||||||
{
|
{
|
||||||
url = "\${mirror}/${url}";
|
name = stdenv.lib.nameFromURL "${name}" ".tar";
|
||||||
sha256 = "${sha256}";
|
|
||||||
name = "${name}";
|
|
||||||
store = "${store}";
|
store = "${store}";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "\${mirror}/${url}";
|
||||||
|
sha256 = "${sha256}";
|
||||||
|
name = "${name}";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user