File tree Expand file tree Collapse file tree 2 files changed +51
-25
lines changed Expand file tree Collapse file tree 2 files changed +51
-25
lines changed Original file line number Diff line number Diff line change @@ -47,6 +47,17 @@ ifeq ($(HAS_GO), yes)
4747 CGO_CFLAGS ?= $(shell $(GO) env CGO_CFLAGS) $(CGO_EXTRA_CFLAGS)
4848endif
4949
50+ CGO_ENABLED ?= 0
51+ ifneq (,$(findstring sqlite,$(TAGS ) )$(findstring pam,$(TAGS ) ) )
52+ CGO_ENABLED = 1
53+ endif
54+
55+ STATIC ?=
56+ EXTLDFLAGS ?=
57+ ifneq ($(STATIC ) ,)
58+ EXTLDFLAGS = -extldflags "-static"
59+ endif
60+
5061ifeq ($(GOOS ) ,windows)
5162 IS_WINDOWS := yes
5263else ifeq ($(patsubst Windows%,Windows,$(OS)),Windows)
@@ -740,7 +751,10 @@ security-check:
740751 go run $(GOVULNCHECK_PACKAGE ) -show color ./...
741752
742753$(EXECUTABLE ) : $(GO_SOURCES ) $(TAGS_PREREQ )
743- CGO_CFLAGS=" $( CGO_CFLAGS) " $(GO ) build $(GOFLAGS ) $(EXTRA_GOFLAGS ) -tags ' $(TAGS)' -ldflags ' -s -w $(LDFLAGS)' -o $@
754+ ifneq ($(and $(STATIC ) ,$(findstring pam,$(TAGS ) ) ) ,)
755+ $(error pam support set via TAGS doesn't support static builds)
756+ endif
757+ CGO_ENABLED="$(CGO_ENABLED)" CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(EXTLDFLAGS) $(LDFLAGS)' -o $@
744758
745759.PHONY : release
746760release : frontend generate release-windows release-linux release-darwin release-freebsd release-copy release-compress vendor release-sources release-check
Original file line number Diff line number Diff line change 1111 pkgs = nixpkgs . legacyPackages . ${ system } ;
1212 in
1313 {
14- devShells . default = pkgs . mkShell {
15- buildInputs = with pkgs ; [
16- # generic
17- git
18- git-lfs
19- gnumake
20- gnused
21- gnutar
22- gzip
14+ devShells . default =
15+ with pkgs ;
16+ let
17+ # only bump toolchain versions here
18+ go = go_1_24 ;
19+ nodejs = nodejs_24 ;
20+ python3 = python312 ;
21+ in
22+ pkgs . mkShell {
23+ buildInputs = [
24+ # generic
25+ git
26+ git-lfs
27+ gnumake
28+ gnused
29+ gnutar
30+ gzip
2331
24- # frontend
25- nodejs_22
32+ # frontend
33+ nodejs
2634
27- # linting
28- python312
29- poetry
35+ # linting
36+ python3
37+ poetry
3038
31- # backend
32- go_1_24
33- gofumpt
34- sqlite
35- ] ;
36- shellHook = ''
37- export GO="${ pkgs . go_1_24 } /bin/go"
38- export GOROOT="${ pkgs . go_1_24 } /share/go"
39- '' ;
40- } ;
39+ # backend
40+ go
41+ glibc . static
42+ gofumpt
43+ sqlite
44+ ] ;
45+ CFLAGS = "-I${ glibc . static . dev } /include" ;
46+ LDFLAGS = "-L ${ glibc . static } /lib" ;
47+ GO = "${ go } /bin/go" ;
48+ GOROOT = "${ go } /share/go" ;
49+
50+ TAGS = "sqlite sqlite_unlock_notify" ;
51+ STATIC = "true" ;
52+ } ;
4153 }
4254 ) ;
4355}
You can’t perform that action at this time.
0 commit comments