mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-04-18 22:23:07 +00:00
Fix BearSSL and NAT lib build reproducibility
* pass -mssse3 on x86_64 to BearSSL and NAT C lib builds * add BearSSL.mk and Nat.mk to nimbledeps cache key
This commit is contained in:
parent
ca7ec3de05
commit
a41e7e05f6
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@ -83,7 +83,7 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
nimbledeps/
|
nimbledeps/
|
||||||
nimble.paths
|
nimble.paths
|
||||||
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock') }}
|
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }}
|
||||||
|
|
||||||
- name: Install nimble deps
|
- name: Install nimble deps
|
||||||
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
||||||
@ -136,7 +136,7 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
nimbledeps/
|
nimbledeps/
|
||||||
nimble.paths
|
nimble.paths
|
||||||
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock') }}
|
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }}
|
||||||
|
|
||||||
- name: Install nimble deps
|
- name: Install nimble deps
|
||||||
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
||||||
@ -215,7 +215,7 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
nimbledeps/
|
nimbledeps/
|
||||||
nimble.paths
|
nimble.paths
|
||||||
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock') }}
|
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }}
|
||||||
|
|
||||||
- name: Install nimble deps
|
- name: Install nimble deps
|
||||||
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
||||||
|
|||||||
2
.github/workflows/container-image.yml
vendored
2
.github/workflows/container-image.yml
vendored
@ -69,7 +69,7 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
nimbledeps/
|
nimbledeps/
|
||||||
nimble.paths
|
nimble.paths
|
||||||
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock') }}
|
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }}
|
||||||
|
|
||||||
- name: Install nimble deps
|
- name: Install nimble deps
|
||||||
if: ${{ steps.secrets.outcome == 'success' && steps.cache-nimbledeps.outputs.cache-hit != 'true' }}
|
if: ${{ steps.secrets.outcome == 'success' && steps.cache-nimbledeps.outputs.cache-hit != 'true' }}
|
||||||
|
|||||||
2
.github/workflows/windows-build.yml
vendored
2
.github/workflows/windows-build.yml
vendored
@ -87,7 +87,7 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
nimbledeps/
|
nimbledeps/
|
||||||
nimble.paths
|
nimble.paths
|
||||||
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock') }}
|
key: ${{ runner.os }}-nimbledeps-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }}
|
||||||
|
|
||||||
- name: Install nimble deps
|
- name: Install nimble deps
|
||||||
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
if: steps.cache-nimbledeps.outputs.cache-hit != 'true'
|
||||||
|
|||||||
@ -22,6 +22,13 @@
|
|||||||
BEARSSL_NIMBLEDEPS_DIR := $(shell ls -dt $(CURDIR)/nimbledeps/pkgs2/bearssl-* 2>/dev/null | head -1)
|
BEARSSL_NIMBLEDEPS_DIR := $(shell ls -dt $(CURDIR)/nimbledeps/pkgs2/bearssl-* 2>/dev/null | head -1)
|
||||||
BEARSSL_CSOURCES_DIR := $(BEARSSL_NIMBLEDEPS_DIR)/bearssl/csources
|
BEARSSL_CSOURCES_DIR := $(BEARSSL_NIMBLEDEPS_DIR)/bearssl/csources
|
||||||
|
|
||||||
|
BEARSSL_UNAME_M := $(shell uname -m)
|
||||||
|
ifeq ($(BEARSSL_UNAME_M),x86_64)
|
||||||
|
PORTABLE_BEARSSL_CFLAGS := -W -Wall -Os -fPIC -mssse3
|
||||||
|
else
|
||||||
|
PORTABLE_BEARSSL_CFLAGS := -W -Wall -Os -fPIC
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: clean-bearssl-nimbledeps rebuild-bearssl-nimbledeps
|
.PHONY: clean-bearssl-nimbledeps rebuild-bearssl-nimbledeps
|
||||||
|
|
||||||
clean-bearssl-nimbledeps:
|
clean-bearssl-nimbledeps:
|
||||||
@ -36,4 +43,4 @@ ifeq ($(BEARSSL_NIMBLEDEPS_DIR),)
|
|||||||
$(error No bearssl package found under nimbledeps/pkgs2/ — run 'make update' first)
|
$(error No bearssl package found under nimbledeps/pkgs2/ — run 'make update' first)
|
||||||
endif
|
endif
|
||||||
@echo "Rebuilding bearssl from $(BEARSSL_CSOURCES_DIR)"
|
@echo "Rebuilding bearssl from $(BEARSSL_CSOURCES_DIR)"
|
||||||
+ "$(MAKE)" -C "$(BEARSSL_CSOURCES_DIR)" lib
|
+ "$(MAKE)" -C "$(BEARSSL_CSOURCES_DIR)" CFLAGS="$(PORTABLE_BEARSSL_CFLAGS)" lib
|
||||||
11
Nat.mk
11
Nat.mk
@ -21,6 +21,13 @@
|
|||||||
|
|
||||||
NAT_TRAVERSAL_NIMBLEDEPS_DIR := $(shell ls -dt $(CURDIR)/nimbledeps/pkgs2/nat_traversal-* 2>/dev/null | head -1)
|
NAT_TRAVERSAL_NIMBLEDEPS_DIR := $(shell ls -dt $(CURDIR)/nimbledeps/pkgs2/nat_traversal-* 2>/dev/null | head -1)
|
||||||
|
|
||||||
|
NAT_UNAME_M := $(shell uname -m)
|
||||||
|
ifeq ($(NAT_UNAME_M),x86_64)
|
||||||
|
PORTABLE_NAT_MARCH := -mssse3
|
||||||
|
else
|
||||||
|
PORTABLE_NAT_MARCH :=
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: clean-cross-nimbledeps rebuild-nat-libs-nimbledeps
|
.PHONY: clean-cross-nimbledeps rebuild-nat-libs-nimbledeps
|
||||||
|
|
||||||
clean-cross-nimbledeps:
|
clean-cross-nimbledeps:
|
||||||
@ -47,8 +54,8 @@ ifeq ($(OS), Windows_NT)
|
|||||||
libnatpmp.a $(HANDLE_OUTPUT)
|
libnatpmp.a $(HANDLE_OUTPUT)
|
||||||
else
|
else
|
||||||
+ "$(MAKE)" -C "$(NAT_TRAVERSAL_NIMBLEDEPS_DIR)/vendor/miniupnp/miniupnpc" \
|
+ "$(MAKE)" -C "$(NAT_TRAVERSAL_NIMBLEDEPS_DIR)/vendor/miniupnp/miniupnpc" \
|
||||||
CC=$(CC) CFLAGS="-Os -fPIC" build/libminiupnpc.a $(HANDLE_OUTPUT)
|
CC=$(CC) CFLAGS="-Os -fPIC $(PORTABLE_NAT_MARCH)" build/libminiupnpc.a $(HANDLE_OUTPUT)
|
||||||
+ "$(MAKE)" CFLAGS="-Wall -Wno-cpp -Os -fPIC -DENABLE_STRNATPMPERR -DNATPMP_MAX_RETRIES=4 $(CFLAGS)" \
|
+ "$(MAKE)" CFLAGS="-Wall -Wno-cpp -Os -fPIC $(PORTABLE_NAT_MARCH) -DENABLE_STRNATPMPERR -DNATPMP_MAX_RETRIES=4 $(CFLAGS)" \
|
||||||
-C "$(NAT_TRAVERSAL_NIMBLEDEPS_DIR)/vendor/libnatpmp-upstream" \
|
-C "$(NAT_TRAVERSAL_NIMBLEDEPS_DIR)/vendor/libnatpmp-upstream" \
|
||||||
CC=$(CC) libnatpmp.a $(HANDLE_OUTPUT)
|
CC=$(CC) libnatpmp.a $(HANDLE_OUTPUT)
|
||||||
endif
|
endif
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user