fractalide / racket2nix

Take an info.rkt file, produce a info.nix file.
Mozilla Public License 2.0
39 stars 11 forks source link

Can not build package which contains external dependencies #321

Open corpix opened 1 year ago

corpix commented 1 year ago

Given following info.rkt:

#lang info                                                                                                                                                                                                                                                                       
(define collection "corpix")                                                                                                                                                                                                                                                     
(define deps '("racket" "net-ip"))                                                                                                                                                                                                                                               
(define build-deps '("scribble-lib" "racket-doc" "rackunit-lib"))                                                                                                                                                                                                                
(define scribblings '(("scribblings/firewalld.scrbl" ())))                                                                                                                                                                                                                       
(define pkg-desc "Rule based firewall daemon")                                                                                                                                                                                                                                   
(define version "0.0")                                                                                                                                                                                                                                                           
(define pkg-authors '(corpix))                                                                                                                                                                                                                                                   
(define license '(Unlicense))                                                                                                                                                                                                                                                    
(define racket-launcher-names '("firewalld"))                                                                                                                                                                                                                                    
(define racket-launcher-libraries '("firewalld.rkt"))

And default.nix:

{ pkgs       ? import <nixpkgs> {}                                                                                                                                                                                                                                               
, racket2nix ? pkgs.fetchFromGitHub {                                                                                                                                                                                                                                            
  owner = "fractalide"; repo = "racket2nix";                                                                                                                                                                                                                                     
  rev = "59c614406d4796f40620f6490b0b05ecb51ed976";                                                                                                                                                                                                                              
  sha256 = "0z5y1jm60vkwvi66q39p88ygkgyal81486h577gikmpqjxkg9d6i"; }                                                                                                                                                                                                             
}:                                                                                                                                                                                                                                                                               

with import racket2nix { };                                                                                                                                                                                                                                                      

buildRacketPackage ./.

Can not build package because of unsatisfied external dependency:

 ~/projects/src/git.backbone/corpix/racket/firewalld  λ  nix build -f .                                                     (3s 520ms)                                                                                                                                           
error: builder for '/nix/store/idyan8sw7spp22is2868jgazl2y5vdgr-racket-package.nix.drv' failed with exit code 1;                                                                                                                                                                 
       last 2 log lines:                                                                                                                                                                                                                                                         
       > Invalid catalog: Package firewalld has unresolved dependency net-ip.                                                                                                                                                                                                    
       >                                                                                                                                                                                                                                                                         
       For full logs, run 'nix log /nix/store/idyan8sw7spp22is2868jgazl2y5vdgr-racket-package.nix.drv'.                                                                                                                                                                          
(use '--show-trace' to show detailed location information)                                                                              

How to use racket2nix to build a package with external depndencies?

clacke commented 1 year ago

This is likely because the racket2nix package catalog hasn't been updated for 2–3 years. I'll have a look!

30 Jan 2023 23:45:48 corpix @.***>:

Given following info.rkt:

lang info

(define collection "corpix")

(define deps '("racket" "net-ip"))

(define build-deps '("scribble-lib" "racket-doc" "rackunit-lib"))

(define scribblings '(("scribblings/firewalld.scrbl" ())))

(define pkg-desc "Rule based firewall daemon")

(define version "0.0")

(define pkg-authors '(corpix))

(define license '(Unlicense))

(define racket-launcher-names '("firewalld"))

(define racket-launcher-libraries '("firewalld.rkt"))

And default.nix:

{ pkgs ? import {}

, racket2nix ? pkgs.fetchFromGitHub {

owner = "fractalide"; repo = "racket2nix";

rev = "59c614406d4796f40620f6490b0b05ecb51ed976";

sha256 = "0z5y1jm60vkwvi66q39p88ygkgyal81486h577gikmpqjxkg9d6i"; }

}:

with import racket2nix { };

buildRacketPackage ./.

Can not build package because of unsatisfied external dependency:

  • ~/projects/src/git.backbone/corpix/racket/firewalld λ nix build -f . (3s 520ms)

error: builder for '/nix/store/idyan8sw7spp22is2868jgazl2y5vdgr-racket-package.nix.drv' failed with exit code 1;

   last 2 log lines:                                                                                                                                                                                                                                                         

   > Invalid catalog: Package firewalld has unresolved dependency net-ip.                                                                                                                                                                                                    

   >                                                                                                                                                                                                                                                                         

   For full logs, run 'nix log /nix/store/idyan8sw7spp22is2868jgazl2y5vdgr-racket-package.nix.drv'.                                                                                                                                                                          

(use '--show-trace' to show detailed location information)

How to use racket2nix* to build a package with external depndencies?

— Reply to this email directly, view it on GitHub[https://github.com/fractalide/racket2nix/issues/321], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AABQUDHSB767E7DIGPOUEITWVBABRANCNFSM6AAAAAAULXAQG4]. You are receiving this because you are subscribed to this thread.[Tracking image][https://github.com/notifications/beacon/AABQUDEWBNOGJTQTTI5JOWDWVBABRA5CNFSM6AAAAAAULXAQG6WGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHF2LTXJI.gif]