[Buildroot] [PATCH v2 6/6] package/thunderbird: new package

Waldemar Brodkorb wbx at openadk.org
Fri Oct 17 10:41:22 UTC 2025


Popular mail client.

Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/thunderbird/Config.in        | 54 +++++++++++++++++
 package/thunderbird/thunderbird.hash |  3 +
 package/thunderbird/thunderbird.mk   | 88 ++++++++++++++++++++++++++++
 5 files changed, 147 insertions(+)
 create mode 100644 package/thunderbird/Config.in
 create mode 100644 package/thunderbird/thunderbird.hash
 create mode 100644 package/thunderbird/thunderbird.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 0b257748f3..bad3289f6f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3406,6 +3406,7 @@ F:	package/libaom/
 F:	package/libjwt/
 F:	package/mksh/
 F:	package/ruby/
+F:	package/thunderbird/
 F:	package/uclibc/
 F:	package/uclibc-ng-test/
 F:	package/zabbix/
diff --git a/package/Config.in b/package/Config.in
index 7528d6d891..269be56971 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2386,6 +2386,7 @@ menu "Mail"
 	source "package/libesmtp/Config.in"
 	source "package/msmtp/Config.in"
 	source "package/mutt/Config.in"
+	source "package/thunderbird/Config.in"
 endmenu
 
 menu "Miscellaneous"
diff --git a/package/thunderbird/Config.in b/package/thunderbird/Config.in
new file mode 100644
index 0000000000..c4efafbf65
--- /dev/null
+++ b/package/thunderbird/Config.in
@@ -0,0 +1,54 @@
+config BR2_PACKAGE_THUNDERBIRD
+	bool "thunderbird"
+	depends on BR2_aarch64 || BR2_x86_64
+	depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+	depends on BR2_USE_MMU # glib2
+	depends on BR2_INSTALL_LIBSTDCPP # pango
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz
+	depends on BR2_PACKAGE_HAS_LIBGL
+	select BR2_PACKAGE_ALSA_LIB
+	select BR2_PACKAGE_DAV1D
+	select BR2_PACKAGE_DBUS_GLIB
+	select BR2_PACKAGE_FONTCONFIG
+	select BR2_PACKAGE_HARFBUZZ
+	select BR2_PACKAGE_HOST_NODEJS
+	select BR2_PACKAGE_HOST_NODEJS_SRC
+	select BR2_PACKAGE_HOST_PYTHON3
+	select BR2_PACKAGE_HOST_PYTHON3_BZIP2
+	select BR2_PACKAGE_HOST_PYTHON3_CURSES
+	select BR2_PACKAGE_HOST_PYTHON3_SQLITE
+	select BR2_PACKAGE_HOST_PYTHON3_SSL
+	select BR2_PACKAGE_LIBFFI
+	select BR2_PACKAGE_ICU
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBAOM
+	select BR2_PACKAGE_LIBGTK3
+	select BR2_PACKAGE_LIBNSPR
+	select BR2_PACKAGE_LIBNSS
+	select BR2_PACKAGE_LIBVPX
+	select BR2_PACKAGE_PANGO
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+	select BR2_PACKAGE_XLIB_LIBXCURSOR
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE
+	select BR2_PACKAGE_XLIB_LIBXRANDR
+	select BR2_PACKAGE_XLIB_LIBICE
+	select BR2_PACKAGE_XLIB_LIBSM
+	help
+	  Popular mail client.
+
+	  https://www.thunderbird.net
+
+comment "thunderbird needs a toolchain w/ wchar, threads, C++"
+	depends on BR2_PACKAGE_XORG7 && BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
+
+comment "thunderbird needs an OpenGL (GLX) provider"
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on !BR2_PACKAGE_HAS_LIBGL
diff --git a/package/thunderbird/thunderbird.hash b/package/thunderbird/thunderbird.hash
new file mode 100644
index 0000000000..05c5d12f4c
--- /dev/null
+++ b/package/thunderbird/thunderbird.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b0eb946d9e6d4b2adbfad0893a5c79caa11203a3906b0b5f26f0ccc4c9b28ff0  thunderbird-140.4.0esr.source.tar.xz
+sha256  d10965daab0b819bef778c629a94cdd094ffb4ede37239b3d263884a574352c0  toolkit/content/license.html
diff --git a/package/thunderbird/thunderbird.mk b/package/thunderbird/thunderbird.mk
new file mode 100644
index 0000000000..2567b0865d
--- /dev/null
+++ b/package/thunderbird/thunderbird.mk
@@ -0,0 +1,88 @@
+################################################################################
+#
+# thunderbird
+#
+################################################################################
+
+THUNDERBIRD_VERSION = 140.4.0esr
+THUNDERBIRD_SOURCE = thunderbird-$(THUNDERBIRD_VERSION).source.tar.xz
+THUNDERBIRD_SITE = https://ftp.mozilla.org/pub/thunderbird/releases/$(THUNDERBIRD_VERSION)/source
+THUNDERBIRD_LICENSE = MPL-2.0
+THUNDERBIRD_LICENSE_FILES = toolkit/content/license.html
+THUNDERBIRD_DEPENDENCIES = \
+	host-nodejs \
+	host-cbindgen \
+	host-clang \
+	host-nasm \
+	alsa-lib \
+	dbus-glib \
+	fontconfig \
+	harfbuzz \
+	jpeg \
+	libgtk3 \
+	libnspr \
+	libnss \
+	libvpx \
+	pango \
+	pixman \
+	zlib \
+	xlib_libXcomposite \
+	xlib_libXcursor \
+	xlib_libXdamage \
+	xlib_libXrandr \
+	xlib_libICE \
+	xlib_libSM
+
+THUNDERBIRD_CONF_OPTS = \
+	--enable-application=comm/mail \
+      	--enable-official-branding \
+	--enable-hardening \
+	--disable-audio-backends \
+	--disable-webrtc \
+	--disable-printing \
+	--without-wasm-sandboxed-libraries \
+	--disable-profiling \
+	--disable-pulseaudio \
+	--disable-crashreporter \
+	--disable-tests \
+	--with-system-ffi \
+	--with-system-icu \
+	--with-system-jpeg \
+	--with-system-libvpx \
+	--with-system-nspr \
+	--with-system-nss \
+	--with-system-pixman \
+	--with-system-zlib \
+	--with-clang-path=$(HOST_DIR)/bin/clang
+
+# build directory can't be the directory where configure are there, so..
+define THUNDERBIRD_CONFIGURE_CMDS
+	(mkdir -p $(@D)/build; cd $(@D)/build; rm -rf config.cache; \
+		PATH=$(BR_PATH) \
+		CC="$(TARGET_CC)" \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		CROSS_COMPILE=1 \
+		../configure \
+		--target=$(GNU_TARGET_NAME) \
+		--with-toolchain-prefix=$(GNU_TARGET_NAME)- \
+		--prefix=/usr \
+		$(THUNDERBIRD_CONF_OPTS) \
+	)
+endef
+
+define THUNDERBIRD_BUILD_CMDS
+	$(MAKE) -C $(@D)/build \
+		CC="$(TARGET_CC)" \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		all
+endef
+
+define THUNDERBIRD_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D)/build \
+		DESTDIR=$(TARGET_DIR) \
+		CC="$(TARGET_CC)" \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		install
+endef
+
+$(eval $(generic-package))
-- 
2.47.3



More information about the buildroot mailing list