[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