!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

234 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.48 Servers

Load older messages


SenderMessageTime
6 Oct 2024
@galaxyyy:matrix.orgSaturnAwesome yep it built. So this package also needs to generate some UI stuff via NodeJS it seems. What would be the best way to go about that? Just adding node into the build inputs and running the commands in a hook or is there a better way?15:55:08
@diamondburned:matrix.orgDiamond (it/she)i'd at least split the nodejs stuff out into a separate derivation then link/copy them in16:03:17
@diamondburned:matrix.orgDiamond (it/she) unless you want to use all 16:03:22
@diamondburned:matrix.orgDiamond (it/she) unless you want to use make all 16:03:25
@galaxyyy:matrix.orgSaturn
In reply to @diamondburned:matrix.org
i'd at least split the nodejs stuff out into a separate derivation then link/copy them in
Yeah thought about that as well
16:05:10
8 Oct 2024
@kaya:catnip.ee@kaya:catnip.ee changed their profile picture.19:36:05
9 Oct 2024
@glepage:matrix.orgGaétan Lepage

Hi,
I'm packaging a simple go package and it fails with:

src/main.go:14:12: pattern manifest.json: no matching files found

This file indeed uses a go:embed instruction
https://github.com/mikew/nvrh/blob/main/src/main.go#L14

13:04:28
@glepage:matrix.orgGaétan Lepage I checked and the manifest.json is present in the root of the archive. Why can't it be found then ?
Is the nix go helper doing something weird here ?
13:05:07
@katexochen:matrix.orgPaul Meyer (katexochen) Gaétan Lepage: Has nothing to do with nix, check https://github.com/mikew/nvrh/blob/main/script/build 13:08:39
@katexochen:matrix.orgPaul Meyer (katexochen) * Gaétan Lepage: Has nothing to do with nix, check https://github.com/mikew/nvrh/blob/main/script/build#L14. You just need to copy the file from . to ./src 13:09:19
@glepage:matrix.orgGaétan LepageIndeed thanks a lot !13:10:31
10 Oct 2024
@p4cmanus3r:matrix.orgp4cmanus3r joined the room.13:24:34
11 Oct 2024
@netbrain:matrix.orgnetbrain joined the room.05:34:29
16 Oct 2024
@odysee:catgirl.cloud@odysee:catgirl.cloud joined the room.14:02:41
17 Oct 2024
@joerg:thalheim.ioMic92 changed their display name from Mic92 to Mic3000.06:51:17
@joerg:thalheim.ioMic92 changed their display name from Mic3000 to Mic3000 🌋.06:51:46
@joerg:thalheim.ioMic92 changed their display name from Mic3000 🌋 to Mic92.12:22:31
20 Oct 2024
@daveseddon:matrix.orgdave seddon joined the room.22:56:48
@daveseddon:matrix.orgdave seddonanyone had any success with gomod2nix please? I tried posting here: https://discourse.nixos.org/t/gomod2nix-cannot-find-module-providing-package/5455822:57:38
21 Oct 2024
@daveseddon:matrix.orgdave seddon
In reply to @galaxyyy:matrix.org

Hello, I am trying to package a Go application however I ran into an error I've never seen before and can't seem to find anything online

        github.com/hrfee/jfa-go/docs: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
        github.com/hrfee/jfa-go/common: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
        github.com/hrfee/jfa-go/ombi: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
        github.com/hrfee/jfa-go/logger: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
        github.com/hrfee/jfa-go/linecache: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
        github.com/hrfee/jfa-go/api: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
        github.com/hrfee/jfa-go/easyproxy: is replaced in go.mod, but not marked as replaced in vendor/modules.txt

        To ignore the vendor directory, use -mod=readonly or -mod=mod.
        To sync the vendor directory, run:
                go mod vendor

That is the error I am getting and here is my current derivation

{
  lib,
  buildGoModule,
  fetchFromGitHub,
  pkg-config,
  libayatana-appindicator,
  go-swag,
}:
buildGoModule rec {
  pname = "jfa-go";
  version = "0.5.1";

  src = fetchFromGitHub {
    owner = "hrfee";
    repo = "jfa-go";
    rev = "v${version}";
    hash = "sha256-7F0cPTG3LuZQk5AT5V5UwW9+dX25aGS8RDYi62CGDR8=";
  };
  vendorHash = "sha256-JC9d/FDG6hadkX1ywJ120BAsVkg/xMt9sUkh/DHModI=";

  nativeBuildInputs = [
    pkg-config
    go-swag
  ];

  buildInputs = [
    libayatana-appindicator
  ];

  preBuild = ''
    swag init -g main.go -d ${src}/
  '';

  ldflags = [
    "-X=main.version=v${version}"
    "-X=main.commit=${src.rev}"
    "-X=main.updater=binary"
    "-X=main.cssVersion=v3"
    "-X=main.builtBy=Nix"
  ];

  meta = {
    description = "A bit-of-everything user managament app for Jellyfin";
    homepage = "https://github.com/hrfee/jfa-go/tree/main";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [saturn745];
    mainProgram = "jfa-go";
  };
}

Does anybody have any ideas?

Saturn: I believe this means that you DO have a vendor/modules.txt file. e.g. The go.mod and modules.txt are out of sync with each other. Maybe "rm -rf vendor" will fix it? Or "go mod vendor"
17:33:36
@galaxyyy:matrix.orgSaturn
In reply to @daveseddon:matrix.org
Saturn: I believe this means that you DO have a vendor/modules.txt file. e.g. The go.mod and modules.txt are out of sync with each other. Maybe "rm -rf vendor" will fix it? Or "go mod vendor"
Actually seems I needed to just set subPackages = ["."] iirc
17:34:36
@galaxyyy:matrix.orgSaturn That error ended up not being the one that caused the build to fail and those were more so just warnings 17:35:03
@daveseddon:matrix.orgdave seddonok. great! Is https://github.com/hrfee/jfa-go/blob/main/Makefile#L35-L42 now up to date with a complete working solution?17:36:08
@galaxyyy:matrix.orgSaturn Yeah for the most part the package works aside from a few small bugs but I'm not sure if those are something to do with my packaging or upstream 17:37:11
@galaxyyy:matrix.orgSaturn I would share the derivation file but it looks like I haven't pushed it yet and I'm currently not home 17:38:14
@daveseddon:matrix.orgdave seddonThanks again. - I'm just trying to understand the "best" way to build go packages with nix. I guess once this is pushed I will try to copy it and make it work for my little project.... Really hoping to use DockerTools to build the docker container with the golangs binary inside it17:41:04
@galaxyyy:matrix.orgSaturnThis project in particular seems to do things a bit different especially when it comes to the UI part17:41:57
@daveseddon:matrix.orgdave seddonI'll be curious to see how it compares to the wiki: https://nixos.wiki/wiki/Go17:42:10
@galaxyyy:matrix.orgSaturn However I can share a basic Telegram bot I have which is built with Nix and I also build a Docker image with Nix containing the package if your interested in looking at that 17:42:44
@daveseddon:matrix.orgdave seddonoh that would be awesome!17:45:25

Show newer messages


Back to Room ListRoom Version: 9