1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2026-06-10 06:46:59 -05:00
Files
VeraCrypt/src/Build/Packaging/openwrt/package/utils/veracrypt/Makefile.in
T
Mounir IDRASSI 0190270f9d Add OpenWrt package build and QEMU test scripts
Add OpenWrt SDK packaging under src/Build for console-only x86/64 builds. The build helper prepares the SDK, renders a local package recipe, builds VeraCrypt with the OpenWrt musl toolchain, uses wxWidgets 3.2.10 as static wxBase, enables FUSE3, and skips release self-tests during cross compilation.

Add a package template that installs the console binary, mount.veracrypt, and license files only. The package declares bash for mount.veracrypt and keeps runtime dependencies focused on the direct userland requirements.

Add a documented QEMU runtime test path that boots the matching OpenWrt image, installs the locally built package set with opkg, runs the VeraCrypt version and algorithm self-tests, and exercises a small filesystem=none container mount/unmount flow.

Allow wxbuild callers to pass WX_CONFIGURE_EXTRA_FLAGS so OpenWrt cross configure flags can be passed into the wxWidgets build without carrying an OpenWrt-specific source patch.
2026-05-26 10:39:21 +09:00

92 lines
2.7 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=veracrypt
PKG_VERSION:=@VERACRYPT_VERSION@
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 AND LicenseRef-TrueCrypt
PKG_LICENSE_FILES:=veracrypt/src/License.txt
PKG_MAINTAINER:=Mounir IDRASSI <mounir.idrassi@amcrypto.jp>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=fuse3 pcsc-lite
WXWIDGETS_VERSION:=@WXWIDGETS_VERSION@
VERACRYPT_SOURCE_DIR:=@VERACRYPT_SOURCE_DIR@
WXWIDGETS_SOURCE_DIR:=@WXWIDGETS_SOURCE_DIR@
include $(INCLUDE_DIR)/package.mk
RSTRIP:=:
STRIP:=:
define Package/veracrypt
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
TITLE:=VeraCrypt console
URL:=https://www.veracrypt.fr/
DEPENDS:=+libstdcpp +libfuse3 +bash
endef
define Package/veracrypt/description
Console-only VeraCrypt build for OpenWrt using FUSE3 and a static wxBase.
endef
define Build/Prepare
rm -rf $(PKG_BUILD_DIR)
$(INSTALL_DIR) $(PKG_BUILD_DIR)
rsync -a --delete \
--exclude .git \
--exclude 'src/wxrelease' \
--exclude 'src/wxdebug' \
--exclude 'src/Main/veracrypt' \
--exclude 'src/Setup/Linux/usr' \
--exclude '*.o' \
--exclude '*.d' \
--exclude '*.a' \
$(VERACRYPT_SOURCE_DIR)/ $(PKG_BUILD_DIR)/veracrypt/
rsync -a --delete $(WXWIDGETS_SOURCE_DIR)/ $(PKG_BUILD_DIR)/wxWidgets-$(WXWIDGETS_VERSION)/
endef
define Build/Configure
endef
VC_COMMON_MAKE_FLAGS = \
AR="$(TARGET_AR)" \
CC="$(TARGET_CC)" \
CXX="$(TARGET_CXX)" \
AS="yasm" \
RANLIB="$(TARGET_RANLIB)" \
PKG_CONFIG="$(PKG_CONFIG)" \
PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" \
WX_ROOT="$(PKG_BUILD_DIR)/wxWidgets-$(WXWIDGETS_VERSION)" \
WX_BUILD_DIR="$(PKG_BUILD_DIR)/wxBuildConsole" \
WX_CONFIGURE_EXTRA_FLAGS="--target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) --build=$(GNU_HOST_NAME) --prefix=/usr --exec-prefix=/usr --disable-rpath" \
TC_EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
TC_EXTRA_CXXFLAGS="$(TARGET_CXXFLAGS) $(TARGET_CPPFLAGS)" \
TC_EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
NOGUI=1 \
WITHFUSE3=1 \
WXSTATIC=1 \
NOTEST=1 \
NOSTRIP=1 \
VERBOSE=1
define Build/Compile
+$(MAKE) -C $(PKG_BUILD_DIR)/veracrypt/src $(VC_COMMON_MAKE_FLAGS) clean
+$(MAKE) -C $(PKG_BUILD_DIR)/veracrypt/src $(VC_COMMON_MAKE_FLAGS) wxbuild
+$(MAKE) -C $(PKG_BUILD_DIR)/veracrypt/src $(PKG_JOBS) $(VC_COMMON_MAKE_FLAGS)
endef
define Package/veracrypt/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/veracrypt/src/Main/veracrypt $(1)/usr/bin/veracrypt
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/veracrypt/src/Setup/Linux/mount.veracrypt $(1)/sbin/mount.veracrypt
$(INSTALL_DIR) $(1)/usr/share/licenses/veracrypt
$(INSTALL_DATA) $(PKG_BUILD_DIR)/veracrypt/src/License.txt $(1)/usr/share/licenses/veracrypt/License.txt
endef
$(eval $(call BuildPackage,veracrypt))