package: add upx hostbuild package

This commit is contained in:
lean 2022-04-21 16:16:10 +08:00
parent 7acca53f88
commit 83b7bdb9c2
3 changed files with 146 additions and 0 deletions

69
package/lean/ucl/Makefile Normal file
View File

@ -0,0 +1,69 @@
#
# Copyright (C) 2019-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ucl
PKG_VERSION:=1.03
PKG_RELEASE:=3
PKG_MAINTAINER:=Xingwang Liao <kuoruan@gmail.com>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.oberhumer.com/opensource/ucl/download
PKG_HASH:=b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
HOST_FIXUP:=autoreconf
HOST_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
HOST_CFLAGS += -std=gnu89
TARGET_CFLAGS += -std=gnu89
CONFIGURE_ARGS += \
--enable-static \
--enable-shared \
--disable-asm
define Package/libucl
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Portable lossless data compression library
URL:=http://www.oberhumer.com/opensource/ucl/
endef
define Package/libucl/description
UCL is a portable lossless data compression library written in ANSI C. UCL
implements a number of compression algorithms that achieve an excellent
compression ratio while allowing *very* fast decompression. Decompression
requires no additional memory.
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/ucl
$(CP) $(PKG_INSTALL_DIR)/usr/include/ucl/ucl{,conf}.h $(1)/usr/include/ucl/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libucl.{a,so*} $(1)/usr/lib/
endef
define Package/libucl/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libucl.so.* $(1)/usr/lib/
endef
$(eval $(call HostBuild))
$(eval $(call BuildPackage,libucl))

View File

@ -0,0 +1,11 @@
--- a/configure.ac
+++ b/configure.ac
@@ -48,7 +48,7 @@ AC_CANONICAL_TARGET
AM_MAINTAINER_MODE
if test -z "$ac_abs_top_srcdir"; then
- _AC_SRCPATHS(.)
+ _AC_SRCDIRS(.)
fi
if test -r .Conf.settings1; then
. ./.Conf.settings1

66
package/lean/upx/Makefile Normal file
View File

@ -0,0 +1,66 @@
#
# Copyright (C) 2011-2020 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=upx
PKG_RELEASE:=1
PKG_MAINTAINER:=Xingwang Liao <kuoruan@gmail.com>
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
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Host/Compile
UPX_UCLDIR=$(STAGING_DIR_HOST) \
$(MAKE) -C $(HOST_BUILD_DIR)/src \
CXXFLAGS_WERROR="" LDFLAGS="$(HOST_LDFLAGS)" \
CXX="$(HOSTCXX)"
endef
define Host/Install
$(CP) $(HOST_BUILD_DIR)/src/upx.out $(STAGING_DIR_HOST)/bin/upx
endef
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
endef
$(eval $(call HostBuild))
$(eval $(call BuildPackage,upx))