go/nix/nar: move narinfo to go/nix/nar/narinfo
This commit is contained in:
parent
50520f0230
commit
e44e0f128e
4 changed files with 30 additions and 13 deletions
|
@ -2,13 +2,7 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
{ depot, ... }:
|
args:
|
||||||
depot.third_party.buildGo.package {
|
{
|
||||||
name = "nar";
|
narinfo = import ./narinfo args;
|
||||||
srcs = [
|
|
||||||
./narinfo.go
|
|
||||||
];
|
|
||||||
deps = with depot; [
|
|
||||||
third_party.gopkgs."github.com".numtide.go-nix.nixbase32
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
14
go/nix/nar/narinfo/default.nix
Normal file
14
go/nix/nar/narinfo/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
{ depot, ... }:
|
||||||
|
depot.third_party.buildGo.package {
|
||||||
|
name = "narinfo";
|
||||||
|
srcs = [
|
||||||
|
./narinfo.go
|
||||||
|
];
|
||||||
|
deps = with depot; [
|
||||||
|
third_party.gopkgs."github.com".numtide.go-nix.nixbase32
|
||||||
|
];
|
||||||
|
}
|
|
@ -2,8 +2,8 @@
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Package nar implements a simple NAR read/writer.
|
// Package narinfo implements a simple narinfo read/writer.
|
||||||
package nar
|
package narinfo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
@ -207,6 +207,7 @@ type NarInfo struct {
|
||||||
Deriver string
|
Deriver string
|
||||||
System string
|
System string
|
||||||
Sig map[string][]byte
|
Sig map[string][]byte
|
||||||
|
CA string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ni NarInfo) WriteTo(w io.Writer) error {
|
func (ni NarInfo) WriteTo(w io.Writer) error {
|
||||||
|
@ -273,6 +274,11 @@ func (ni NarInfo) WriteTo(w io.Writer) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ni.CA != "" {
|
||||||
|
if _, err := fmt.Fprintf(w, "CA: %s\n", ni.CA); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,6 +341,9 @@ func ParseNarInfo(r io.Reader) (*NarInfo, error) {
|
||||||
}
|
}
|
||||||
case "References":
|
case "References":
|
||||||
ni.References = strings.Split(value, " ")
|
ni.References = strings.Split(value, " ")
|
||||||
|
if len(ni.References) == 1 && ni.References[0] == "" {
|
||||||
|
ni.References = nil
|
||||||
|
}
|
||||||
case "Deriver":
|
case "Deriver":
|
||||||
if value != "unknown-deriver" {
|
if value != "unknown-deriver" {
|
||||||
ni.Deriver = value
|
ni.Deriver = value
|
||||||
|
@ -355,7 +364,7 @@ func ParseNarInfo(r io.Reader) (*NarInfo, error) {
|
||||||
}
|
}
|
||||||
ni.Sig[bits[0]] = rawVal
|
ni.Sig[bits[0]] = rawVal
|
||||||
case "CA":
|
case "CA":
|
||||||
return nil, fmt.Errorf("content-addressed NARs not supported yet")
|
ni.CA = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err := s.Err(); err != nil {
|
if err := s.Err(); err != nil {
|
|
@ -1,4 +1,4 @@
|
||||||
package nar
|
package narinfo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
Loading…
Reference in a new issue