| 10 Jan 2024 |
@qbit:tapenet.org | i think you need --attr signASLbot | 01:05:30 |
@qbit:tapenet.org | not sure what lib argument you mean | 01:05:46 |
symys | In reply to @qbit:tapenet.org i think you need --attr signASLbot thanks, I'll give it a shot once I get a chance | 01:46:28 |
symys | In reply to @qbit:tapenet.org not sure what lib argument you mean Like from here:
meta = with lib; {
description = "Neutron node";
longDescription = ''
Neutron node to interact with neutron blockchain
'';
homepage = "https://github.com/neutron-org/neutron";
license = licenses.asl20; # Apache license
maintainers = with maintainers; [
pr0n00gler
foxpy
];
platforms = platforms.all;
};
| 01:47:34 |
symys | And
1 {·lib↵
2 ,·buildGoModule↵
3 ,·fetchFromGitHub↵
4 }:↵
| 01:48:16 |
symys | It's a function argument right? | 01:48:38 |
@qbit:tapenet.org | oh, lib is the "nixpkgs" library | 02:12:15 |
@qbit:tapenet.org | https://teu5us.github.io/nix-lib.html | 02:12:36 |
@qbit:tapenet.org | the "with lib" is effectively exposing the stuff in lib to the attrs that follow - so you don't have to type lib.maintainers.foxpy or lib.licenses.... | 02:13:53 |
symys | Ohhhhh okay thank you!! | 02:15:37 |
@qbit:tapenet.org | np | 02:16:25 |
| 11 Jan 2024 |
symys | Okay so I updated my shell.nix to:
1 let↵
2 ··lib·=·import·<nixpkgs>·{};↵
3 in↵
4 ↵
5 lib.buildGoModule·rec·{↵
6 ··pname·=·"signASLbot";↵
7 ··version·=·"";↵
8 ↵
9 ··src·=·lib.fetchFromGitHub·{↵
10 ····url·=·"https://github.com/mplsbugbounty/signASLBot/archive/refs/heads/main.zip";↵
11 ····owner·=·"mplsbugbounty";↵
12 ····repo·=·pname;↵
13 ····rev·=·"794245ee556b3ce80991872b5a59e9a810250c7d";↵
14 ····sha256·=·"0s5qqmzp793012ynxyrlibi6g4xacvgs59z56dfh4ll4z2gv41md";↵
15 ··};↵
16 ↵
17 ··vendorHash·=·"sha256-9OY34TlxbvqNfGbDqQyovk+HWCCIUZOorbrH/5rhO3M";↵
18 ↵
19 ··meta·=·with·lib;·{↵
20 ····description·=·"";↵
21 ····longDescription·=·''↵
22 → It's·a·pretty·basic·little·bot·really!↵
23 ····'';↵
24 ····homepage·=·"https://github.com/mplsbugbounty/signASLBot";↵
25 ····license·=·"";↵
26 ····maintainers·=·with·maintainers;·[·symys·];↵
27 ··};↵
28 }↵
I get:
error: builder for '/nix/store/45ql7689gpqdqj2ylwhzhgi9khi5l7ly-signASLbot-.drv' failed with exit code 1;
...
> Running phase: buildPhase
> Building subPackage .
> main.go:26:5: package signaslbot/errUtils is not in std (/nix/store/6qd8p8gilzgplpk2ni3109m0k71r21s7-go-1.21.5/share/go/src/signaslbot/errUtils)
For full logs, run 'nix-store -l /nix/store/45ql7689gpqdqj2ylwhzhgi9khi5l7ly-signASLbot-.drv'.
| 05:42:06 |
symys | signaslbot/errUtils is a custom package in the same repo | 05:43:08 |
symys | * signaslbot/errUtils is a custom package in the same repo. How can I make it available to the nix store before it gets to this build step? | 05:45:16 |
@qbit:tapenet.org | if you want it to be a shell you need to use mkShell, no? | 13:31:30 |
@qbit:tapenet.org | https://github.com/mplsbugbounty/signASLBot/blob/main/go.mod#L1 ah, i see you have a second go.mod in the errUtils dir | 13:32:54 |
@qbit:tapenet.org | that can't be ref'd as "signaslbot/errUtils" | 13:33:17 |
@qbit:tapenet.org | in go | 13:33:19 |
@qbit:tapenet.org | because your "sub" module is literally called "errUtils" | 13:33:43 |
@qbit:tapenet.org | remote the errUtils/go.* files and things might work | 13:34:18 |
@qbit:tapenet.org | https://go.dev/ref/mod#modules-overview | 13:35:14 |
@qbit:tapenet.org | your errUtils is a package in the signaslbot module | 13:35:50 |
@qbit:tapenet.org |
Each package within a module is a collection of source files in the same directory that are compiled together. A package path is the module path joined with the subdirectory containing the package (relative to the module root). For example, the module "golang.org/x/net" contains a package in the directory "html". That package’s path is "golang.org/x/net/html".
| 13:35:51 |
@qbit:tapenet.org | doing sub-modules is .. tricky and probably not what you want for a project of this size | 13:43:21 |
symys | In reply to @qbit:tapenet.org doing sub-modules is .. tricky and probably not what you want for a project of this size Yeah I really just did that because I wanted to get more experience structuring projects this way | 16:03:46 |
@qbit:tapenet.org | i think to do sub-modules you need to use the "full" path of the module | 16:05:34 |
@qbit:tapenet.org | so github.com/mplsbugbounty/signaslbot | 16:06:25 |
@qbit:tapenet.org | instead of signaslbot | 16:06:36 |
symys | I've been thinking a lot lately that a good way to structure programs is to write a library and then implement the app using that library. And errUtils contains some code that I've just been copying around between my go programs so it seemed a good first candidate. | 16:07:23 |
symys | In reply to @qbit:tapenet.org so github.com/mplsbugbounty/signaslbot Okay thanks, I'll give that a shot! | 16:07:45 |