From 54650f2ff65241eedde95f9b225c1f712b678a45 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Mon, 29 Mar 2021 06:50:16 +0000 Subject: [PATCH] Add q project --- projects/certdehydrate-dane-rest-api/config | 10 +++-- projects/dnssec-hsts-native/config | 10 +++-- projects/plain-binaries/build | 1 + projects/plain-binaries/config | 2 + projects/q/build | 42 +++++++++++++++++++++ projects/{goqlib => q}/config | 14 ++++--- 6 files changed, 67 insertions(+), 12 deletions(-) create mode 100644 projects/q/build rename projects/{goqlib => q}/config (59%) diff --git a/projects/certdehydrate-dane-rest-api/config b/projects/certdehydrate-dane-rest-api/config index c2066b6..15b8949 100644 --- a/projects/certdehydrate-dane-rest-api/config +++ b/projects/certdehydrate-dane-rest-api/config @@ -9,9 +9,9 @@ var: go_lib_deps: - godns - gocrosssign - - goqlib - gosafetlsa - goeasyconfig + - q cgo: 0 build_go_lib_pre: | export CGO_ENABLED=[% c("var/cgo") %] @@ -26,7 +26,11 @@ input_files: project: godns - name: gocrosssign project: gocrosssign - - name: goqlib - project: goqlib - name: gosafetlsa project: gosafetlsa + - name: q + project: q + # Build q as a library, not an executable. + # TODO: refactor this once our build_go_lib executable patch is merged by upstream Tor + var: + go_lib_no_output: 0 diff --git a/projects/dnssec-hsts-native/config b/projects/dnssec-hsts-native/config index 4cbe836..d93cfa5 100644 --- a/projects/dnssec-hsts-native/config +++ b/projects/dnssec-hsts-native/config @@ -8,8 +8,8 @@ var: use_container: 1 go_lib_deps: - godns - - goqlib - goeasyconfig + - q cgo: 0 build_go_lib_pre: | export CGO_ENABLED=[% c("var/cgo") %] @@ -22,5 +22,9 @@ input_files: project: goeasyconfig - name: godns project: godns - - name: goqlib - project: goqlib + - name: q + project: q + # Build q as a library, not an executable. + # TODO: refactor this once our build_go_lib executable patch is merged by upstream Tor + var: + go_lib_no_output: 0 diff --git a/projects/plain-binaries/build b/projects/plain-binaries/build index 936d915..34b1408 100644 --- a/projects/plain-binaries/build +++ b/projects/plain-binaries/build @@ -7,6 +7,7 @@ mkdir -p $distdir tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncdns') %] tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncp11') %] tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncprop279') %] +tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/q') %] cd $distdir [% c('tar', { diff --git a/projects/plain-binaries/config b/projects/plain-binaries/config index 1d82b05..5bf9738 100644 --- a/projects/plain-binaries/config +++ b/projects/plain-binaries/config @@ -13,3 +13,5 @@ input_files: project: ncp11 - name: ncprop279 project: ncprop279 + - name: q + project: q diff --git a/projects/q/build b/projects/q/build new file mode 100644 index 0000000..1362795 --- /dev/null +++ b/projects/q/build @@ -0,0 +1,42 @@ +#!/bin/bash +[% c("var/set_default_env") -%] +[% pc('go', 'var/setup', { go_tarfile => c('input_files_by_name/go') }) %] +export CGO_ENABLED=[% c("var/cgo") %] +distdir=/var/tmp/dist/[% project %] +mkdir -p $distdir + +[% FOREACH dep = c("var/go_lib_deps") -%] + tar -C /var/tmp/dist -xf [% c('input_files_by_name/' _ dep) %] +[% END -%] + +mkdir -p $GOPATH/src/github.com/namecoin +tar -C $GOPATH/src/github.com/namecoin -xf [% project %]-[% c('version') %].tar.gz +mv $GOPATH/src/github.com/namecoin/q-[% c('version') %] $GOPATH/src/github.com/namecoin/qlib + +# TODO: Remove static build ID after migrating to Go 1.13.3+ +go install $TAGS -ldflags '-s -buildid=' github.com/namecoin/qlib/cmd/q + +[% IF c("var/linux-x86_64") -%] + GOPATHBIN="${GOPATH}/bin" +[% ELSE -%] + GOPATHBIN="${GOPATH}/bin/${GOOS}_${GOARCH}" +[% END -%] + +cd /var/tmp/dist +[% IF !c("var/go_lib_no_output") -%] + # Build as library + [% c('tar', { + tar_src => [ 'gopath' ], + tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), + }) %] +[% ELSE %] + # Build as executable + + cp -a $GOPATHBIN/q[% IF c("var/windows") %].exe[% END %] $distdir/ + + cd $distdir + [% c('tar', { + tar_src => [ '.' ], + tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), + }) %] +[% END %] diff --git a/projects/goqlib/config b/projects/q/config similarity index 59% rename from projects/goqlib/config rename to projects/q/config index c765f0a..f2a075c 100644 --- a/projects/goqlib/config +++ b/projects/q/config @@ -1,18 +1,20 @@ -version: 0.0.3 +version: 0.0.4 git_url: https://github.com/namecoin/qlib.git -git_hash: 'e32f7c7654197d3f3835128d23a19290493877e7' +git_hash: 'ad799a409e30d44d2bfe303b7898418195ccfc60' filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz' -build: '[% c("projects/go/var/build_go_lib") %]' - var: container: use_container: 1 - go_lib: github.com/namecoin/qlib go_lib_deps: - godns + go_lib_install: + - github.com/namecoin/qlib + - github.com/namecoin/qlib/cmd/q + go_lib_no_output: 1 + cgo: 0 build_go_lib_pre: | - export CGO_ENABLED=0 + export CGO_ENABLED=[% c("var/cgo") %] input_files: - project: container-image