Loading pkgs/tools/system/vboot_reference/default.nix +19 −16 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitiles, pkg-config, libuuid, openssl, libyaml, xz }: stdenv.mkDerivation rec { version = "20180311"; checkout = "4c84e077858c809ee80a9a6f9b38185cf7dcded7"; version = "111.15329"; pname = "vboot_reference"; src = fetchFromGitiles { url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference"; rev = checkout; sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj"; rev = "1a1cb5c9a38030a5868e2aaad295c68432c680fd"; # refs/heads/release-R111-15329.B sha256 = "sha256-56/hqqFiKHw0/ah0D20U1ueIU2iq8I4Wn5DiEWxB9qA="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl libuuid libyaml xz ]; buildInputs = [ libuuid libyaml openssl xz ]; enableParallelBuilding = true; patches = [ ./dont_static_link.patch ]; env.NIX_CFLAGS_COMPILE = toString [ # fix build with gcc9 "-Wno-error" # workaround build failure on -fno-common toolchains: # ld: /build/source/build/futility/vb2_helper.o:(.bss+0x0): multiple definition of # `vboot_version'; /build/source/build/futility/futility.o:(.bss+0x0): first defined here # TODO: remove it when next release contains: # https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/df4d2000a22db673a788b8e57e8e7c0cc3cee777 "-fcommon" # This apparently doesn't work as expected: # - https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/refs/heads/release-R111-15329.B/Makefile#439 # Let's apply the same flag manually. "-Wno-error=deprecated-declarations" ]; postPatch = '' substituteInPlace Makefile \ --replace "ar qc" '${stdenv.cc.bintools.targetPrefix}ar qc' # Drop flag unrecognized by GCC 9 (for e.g. aarch64-linux) substituteInPlace Makefile \ --replace "-Wno-unknown-warning" "" ''; preBuild = '' Loading @@ -42,6 +38,13 @@ stdenv.mkDerivation rec { makeFlags = [ "DESTDIR=$(out)" "HOST_ARCH=${stdenv.hostPlatform.parsed.cpu.name}" "USE_FLASHROM=0" # Upstream has weird opinions about DESTDIR # https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/refs/heads/release-R111-15329.B/Makefile#51 "UB_DIR=${placeholder "out"}/bin" "UL_DIR=${placeholder "out"}/lib" "UI_DIR=${placeholder "out"}/include/vboot" "US_DIR=${placeholder "out"}/share/vboot" ]; postInstall = '' Loading @@ -53,6 +56,6 @@ stdenv.mkDerivation rec { description = "Chrome OS partitioning and kernel signing tools"; license = licenses.bsd3; platforms = platforms.linux; maintainers = with maintainers; [ lheckemann ]; maintainers = with maintainers; [ lheckemann samueldr ]; }; } pkgs/tools/system/vboot_reference/dont_static_link.patchdeleted 100644 → 0 +0 −30 Original line number Diff line number Diff line --- --- a/Makefile +++ b/Makefile @@ -964,7 +964,7 @@ ${UTILLIB21}: ${UTILLIB21_OBJS} ${FWLIB2 # Link tests for external repos ${BUILD}/host/linktest/extern: ${HOSTLIB} ${BUILD}/host/linktest/extern: LIBS = ${HOSTLIB} -${BUILD}/host/linktest/extern: LDLIBS += -static +#${BUILD}/host/linktest/extern: LDLIBS += -static TEST_OBJS += ${BUILD}/host/linktest/extern.o .PHONY: hostlib @@ -1056,7 +1056,7 @@ ${UTIL_BINS} ${UTIL_BINS_STATIC}: ${UTIL ${UTIL_BINS} ${UTIL_BINS_STATIC}: LIBS = ${UTILLIB} # Utilities for auto-update toolkits must be statically linked. -${UTIL_BINS_STATIC}: LDFLAGS += -static +${UTIL_BINS_STATIC}: .PHONY: utils @@ -1089,7 +1089,7 @@ futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN} ${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n" - ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS} + ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS} ${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS} ${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB} Loading
pkgs/tools/system/vboot_reference/default.nix +19 −16 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitiles, pkg-config, libuuid, openssl, libyaml, xz }: stdenv.mkDerivation rec { version = "20180311"; checkout = "4c84e077858c809ee80a9a6f9b38185cf7dcded7"; version = "111.15329"; pname = "vboot_reference"; src = fetchFromGitiles { url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference"; rev = checkout; sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj"; rev = "1a1cb5c9a38030a5868e2aaad295c68432c680fd"; # refs/heads/release-R111-15329.B sha256 = "sha256-56/hqqFiKHw0/ah0D20U1ueIU2iq8I4Wn5DiEWxB9qA="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl libuuid libyaml xz ]; buildInputs = [ libuuid libyaml openssl xz ]; enableParallelBuilding = true; patches = [ ./dont_static_link.patch ]; env.NIX_CFLAGS_COMPILE = toString [ # fix build with gcc9 "-Wno-error" # workaround build failure on -fno-common toolchains: # ld: /build/source/build/futility/vb2_helper.o:(.bss+0x0): multiple definition of # `vboot_version'; /build/source/build/futility/futility.o:(.bss+0x0): first defined here # TODO: remove it when next release contains: # https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/df4d2000a22db673a788b8e57e8e7c0cc3cee777 "-fcommon" # This apparently doesn't work as expected: # - https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/refs/heads/release-R111-15329.B/Makefile#439 # Let's apply the same flag manually. "-Wno-error=deprecated-declarations" ]; postPatch = '' substituteInPlace Makefile \ --replace "ar qc" '${stdenv.cc.bintools.targetPrefix}ar qc' # Drop flag unrecognized by GCC 9 (for e.g. aarch64-linux) substituteInPlace Makefile \ --replace "-Wno-unknown-warning" "" ''; preBuild = '' Loading @@ -42,6 +38,13 @@ stdenv.mkDerivation rec { makeFlags = [ "DESTDIR=$(out)" "HOST_ARCH=${stdenv.hostPlatform.parsed.cpu.name}" "USE_FLASHROM=0" # Upstream has weird opinions about DESTDIR # https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/refs/heads/release-R111-15329.B/Makefile#51 "UB_DIR=${placeholder "out"}/bin" "UL_DIR=${placeholder "out"}/lib" "UI_DIR=${placeholder "out"}/include/vboot" "US_DIR=${placeholder "out"}/share/vboot" ]; postInstall = '' Loading @@ -53,6 +56,6 @@ stdenv.mkDerivation rec { description = "Chrome OS partitioning and kernel signing tools"; license = licenses.bsd3; platforms = platforms.linux; maintainers = with maintainers; [ lheckemann ]; maintainers = with maintainers; [ lheckemann samueldr ]; }; }
pkgs/tools/system/vboot_reference/dont_static_link.patchdeleted 100644 → 0 +0 −30 Original line number Diff line number Diff line --- --- a/Makefile +++ b/Makefile @@ -964,7 +964,7 @@ ${UTILLIB21}: ${UTILLIB21_OBJS} ${FWLIB2 # Link tests for external repos ${BUILD}/host/linktest/extern: ${HOSTLIB} ${BUILD}/host/linktest/extern: LIBS = ${HOSTLIB} -${BUILD}/host/linktest/extern: LDLIBS += -static +#${BUILD}/host/linktest/extern: LDLIBS += -static TEST_OBJS += ${BUILD}/host/linktest/extern.o .PHONY: hostlib @@ -1056,7 +1056,7 @@ ${UTIL_BINS} ${UTIL_BINS_STATIC}: ${UTIL ${UTIL_BINS} ${UTIL_BINS_STATIC}: LIBS = ${UTILLIB} # Utilities for auto-update toolkits must be statically linked. -${UTIL_BINS_STATIC}: LDFLAGS += -static +${UTIL_BINS_STATIC}: .PHONY: utils @@ -1089,7 +1089,7 @@ futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN} ${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n" - ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS} + ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS} ${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS} ${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB}