diff --git a/upx/Makefile b/upx/Makefile index b58bd8cd2..7352625b6 100644 --- a/upx/Makefile +++ b/upx/Makefile @@ -7,27 +7,41 @@ include $(TOPDIR)/rules.mk PKG_NAME:=upx +PKG_VERSION:=3.96 PKG_RELEASE:=1 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/upx/upx.git +PKG_SOURCE_VERSION:=d7ba31cab8ce8d95d2c10e88d2ec787ac52005ef +PKG_MIRROR_HASH:=15b4884dbe35d3b7bda27538429cab92aaeaca006d558deb49f2ef93e3c261b8 + PKG_MAINTAINER:=Xingwang Liao PKG_LICENSE:=GPL-2.0-only PKG_LICENSE_FILES:=COPYING LICENSE -PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2022-01-15 -PKG_SOURCE_VERSION:=a46b63817a9c6ad5af7cf519332e859f11558592 -PKG_SOURCE_URL:=https://github.com/upx/upx.git -PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz - HOST_BUILD_DEPENDS:=ucl/host +MAKE_PATH:=src -include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk + +define Package/upx + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libucl +libstdcpp +zlib + TITLE:=The Ultimate Packer for eXecutables + URL:=https://upx.github.io/ +endef + +define Package/upx/description +UPX is a free, secure, portable, extendable, high-performance +executable packer for several executable formats. +endef define Host/Compile UPX_UCLDIR=$(STAGING_DIR_HOST) \ $(MAKE) -C $(HOST_BUILD_DIR)/src \ - CXXFLAGS_WERROR="" LDFLAGS="$(HOST_LDFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ CXX="$(HOSTCXX)" endef @@ -39,24 +53,6 @@ define Host/Clean rm -f $(STAGING_DIR_HOST)/bin/upx endef -define Package/upx - SECTION:=utils - CATEGORY:=Utilities - DEPENDS:=+libucl +libstdcpp +zlib - TITLE:=The Ultimate Packer for eXecutables - URL:=https://upx.github.io/ -endef - -define Package/upx/description -UPX is a free, portable, extendable, high-performance executable packer for -several different executable formats. It achieves an excellent compression ratio -and offers very fast decompression. Your executables suffer no memory overhead -or other drawbacks for most of the formats supported, because of in-place -decompression. -endef - -MAKE_PATH := src - define Package/upx/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/upx.out $(1)/usr/bin/upx diff --git a/upx/patches/010-fix-build-with-gcc11.patch b/upx/patches/010-fix-build-with-gcc11.patch new file mode 100644 index 000000000..245812f28 --- /dev/null +++ b/upx/patches/010-fix-build-with-gcc11.patch @@ -0,0 +1,28 @@ +From 4121815fb9bc977ab0953558a2a69fa33550c53c Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 14 May 2021 02:26:13 -0700 +Subject: [PATCH] MyCom.h: fix build with gcc-11 + +* fixes: + ./../src/lzma-sdk/C/7zip/Compress/LZMA/LZMAEncoder.h: In member function 'virtual ULONG NCompress::NLZMA::CEncoder::Release()': + ./../src/lzma-sdk/C/7zip/Compress/LZMA/../../../Common/MyCom.h:159:32: error: this 'if' clause does not guard... [-Werror=misleading-indentation] + 159 | STDMETHOD_(ULONG, Release)() { if (--__m_RefCount != 0) \ + | ^~ + +Signed-off-by: Martin Jansa +--- + src/lzma-sdk/C/Common/MyCom.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/src/lzma-sdk/C/Common/MyCom.h ++++ b/src/lzma-sdk/C/Common/MyCom.h +@@ -156,8 +156,7 @@ class CMyUnknownImp + + #define MY_ADDREF_RELEASE \ + STDMETHOD_(ULONG, AddRef)() { return ++__m_RefCount; } \ +-STDMETHOD_(ULONG, Release)() { if (--__m_RefCount != 0) \ +- return __m_RefCount; delete this; return 0; } ++STDMETHOD_(ULONG, Release)() { if (--__m_RefCount != 0) return __m_RefCount; delete this; return 0; } + + #define MY_UNKNOWN_IMP_SPEC(i) \ + MY_QUERYINTERFACE_BEGIN \