Upstream release: thunderbird-102.12.0-1.el8_8
This commit is contained in:
parent
8be8d9a6f2
commit
85f0d7a5da
3
.gitignore
vendored
3
.gitignore
vendored
@ -4,3 +4,6 @@ SOURCES/nss-3.79.0-6.el8_1.src.rpm
|
|||||||
SOURCES/thunderbird-102.7.0.processed-source.tar.xz
|
SOURCES/thunderbird-102.7.0.processed-source.tar.xz
|
||||||
SOURCES/thunderbird-langpacks-102.7.0-20230116.tar.xz
|
SOURCES/thunderbird-langpacks-102.7.0-20230116.tar.xz
|
||||||
SOURCES/thunderbird-symbolic.svg
|
SOURCES/thunderbird-symbolic.svg
|
||||||
|
SOURCES/nss-3.79.0-11.el8_1.src.rpm
|
||||||
|
SOURCES/thunderbird-102.12.0.processed-source.tar.xz
|
||||||
|
SOURCES/thunderbird-langpacks-102.12.0-20230605.tar.xz
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
8ce700338c81646043db590faf9840c4bcd22461 SOURCES/thunderbird-102.12.0.processed-source.tar.xz
|
||||||
|
a9dd43799ab2ccbc248cfbba1cc5639c1ab18769 SOURCES/nss-3.79.0-11.el8_1.src.rpm
|
||||||
|
c08e237c0ee084ed42fb79c68994ad07257a1155 SOURCES/thunderbird-langpacks-102.12.0-20230605.tar.xz
|
||||||
2a430d6252dbea45482ba316a6e9fa605c15e747 SOURCES/cbindgen-vendor.tar.xz
|
2a430d6252dbea45482ba316a6e9fa605c15e747 SOURCES/cbindgen-vendor.tar.xz
|
||||||
af58b3c87a8b5491dde63b07efaeb3d7f1ec56c1 SOURCES/nspr-4.34.0-3.el8_1.src.rpm
|
af58b3c87a8b5491dde63b07efaeb3d7f1ec56c1 SOURCES/nspr-4.34.0-3.el8_1.src.rpm
|
||||||
fc5297c6830f0a1e88f84b94b0b066487664061b SOURCES/nss-3.79.0-6.el8_1.src.rpm
|
|
||||||
223ac98b01008239dbf9cf18efb8746ba47f8614 SOURCES/thunderbird-102.7.0.processed-source.tar.xz
|
|
||||||
d50927cf2d7d740759e7b7f70840f8f3f4599332 SOURCES/thunderbird-langpacks-102.7.0-20230116.tar.xz
|
|
||||||
42e80b86948cdba0f69af5b15a69bc6a1274d938 SOURCES/thunderbird-symbolic.svg
|
42e80b86948cdba0f69af5b15a69bc6a1274d938 SOURCES/thunderbird-symbolic.svg
|
||||||
|
@ -1,322 +0,0 @@
|
|||||||
diff -up comm/third_party/moz.build.D161379.diff comm/third_party/moz.build
|
|
||||||
--- comm/third_party/moz.build.D161379.diff 2022-10-14 21:45:15.000000000 +0200
|
|
||||||
+++ comm/third_party/moz.build 2022-11-10 11:49:44.194016978 +0100
|
|
||||||
@@ -11,9 +11,11 @@ if CONFIG["TB_LIBOTR_PREBUILT"]:
|
|
||||||
|
|
||||||
if CONFIG["MZLA_LIBRNP"]:
|
|
||||||
DIRS += [
|
|
||||||
- "botan",
|
|
||||||
"bzip2",
|
|
||||||
"json-c",
|
|
||||||
"rnp",
|
|
||||||
"zlib",
|
|
||||||
]
|
|
||||||
+ if CONFIG["MZLA_LIBRNP_BACKEND"] == "botan":
|
|
||||||
+ DIRS += [ "botan" ]
|
|
||||||
+
|
|
||||||
diff -up comm/third_party/openpgp.configure.D161379.diff comm/third_party/openpgp.configure
|
|
||||||
--- comm/third_party/openpgp.configure.D161379.diff 2022-11-10 11:49:37.605024129 +0100
|
|
||||||
+++ comm/third_party/openpgp.configure 2022-11-10 11:49:44.194016978 +0100
|
|
||||||
@@ -199,16 +199,136 @@ with only_when(in_tree_librnp):
|
|
||||||
set_config("MZLA_BZIP2_CFLAGS", bzip2_flags.cflags)
|
|
||||||
set_config("MZLA_BZIP2_LIBS", bzip2_flags.ldflags)
|
|
||||||
|
|
||||||
- # BOTAN --with-system-botan
|
|
||||||
- system_lib_option(
|
|
||||||
- "--with-system-botan",
|
|
||||||
- help="Use system Botan for librnp (located with pkgconfig)",
|
|
||||||
- )
|
|
||||||
-
|
|
||||||
- botan_pkg = pkg_check_modules(
|
|
||||||
- "MZLA_BOTAN", "botan-2 >= 2.8.0", when="--with-system-botan"
|
|
||||||
- )
|
|
||||||
- set_config("MZLA_SYSTEM_BOTAN", depends_if(botan_pkg)(lambda _: True))
|
|
||||||
+ # librnp crypto backend selection
|
|
||||||
+ option("--with-librnp-backend",
|
|
||||||
+ help="Build librnp with the selected backend: {botan, openssl}",
|
|
||||||
+ default="botan")
|
|
||||||
+
|
|
||||||
+ @depends("--with-librnp-backend")
|
|
||||||
+ def librnp_backend(backend):
|
|
||||||
+ allowed = ("botan", "openssl")
|
|
||||||
+ if backend[0] in allowed:
|
|
||||||
+ return backend[0]
|
|
||||||
+ else:
|
|
||||||
+ die(f"Unsupported librnp backend {backend[0]}.")
|
|
||||||
+
|
|
||||||
+ set_config("MZLA_LIBRNP_BACKEND", librnp_backend)
|
|
||||||
+
|
|
||||||
+ @depends(librnp_backend)
|
|
||||||
+ def rnp_botan(backend):
|
|
||||||
+ return backend == "botan"
|
|
||||||
+
|
|
||||||
+ @depends(librnp_backend)
|
|
||||||
+ def rnp_openssl(backend):
|
|
||||||
+ return backend == "openssl"
|
|
||||||
+
|
|
||||||
+ # Botan backend (--with-system-botan)
|
|
||||||
+ with only_when(rnp_botan):
|
|
||||||
+ system_lib_option(
|
|
||||||
+ "--with-system-botan",
|
|
||||||
+ help="Use system Botan for librnp (located with pkgconfig)",
|
|
||||||
+ )
|
|
||||||
+
|
|
||||||
+ botan_pkg = pkg_check_modules(
|
|
||||||
+ "MZLA_BOTAN", "botan-2 >= 2.8.0", when="--with-system-botan"
|
|
||||||
+ )
|
|
||||||
+ set_config("MZLA_SYSTEM_BOTAN", depends_if(botan_pkg)(lambda _: True))
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ # OpenSSL backend
|
|
||||||
+ with only_when(rnp_openssl):
|
|
||||||
+ option(
|
|
||||||
+ "--with-openssl",
|
|
||||||
+ nargs=1,
|
|
||||||
+ help="OpenSSL library prefix (when not found by pkgconfig)"
|
|
||||||
+ )
|
|
||||||
+ openssl_pkg = pkg_check_modules(
|
|
||||||
+ "MZLA_LIBRNP_OPENSSL",
|
|
||||||
+ "openssl > 1.1.1",
|
|
||||||
+ allow_missing=True,
|
|
||||||
+ config=False
|
|
||||||
+ )
|
|
||||||
+ @depends_if("--with-openssl", openssl_pkg)
|
|
||||||
+ @imports(_from="os.path", _import="isdir")
|
|
||||||
+ @imports(_from="os.path", _import="join")
|
|
||||||
+ def openssl_flags(openssl_prefix, openssl_pkg):
|
|
||||||
+ if openssl_prefix:
|
|
||||||
+ openssl_prefix = openssl_prefix[0]
|
|
||||||
+ include = join(openssl_prefix, "include")
|
|
||||||
+ lib = join(openssl_prefix, "lib")
|
|
||||||
+ if not isdir(lib):
|
|
||||||
+ lib = join(openssl_prefix, "lib64")
|
|
||||||
+ if isdir(include) and isdir(lib):
|
|
||||||
+ log.info(f"Using OpenSSL at {openssl_prefix}.")
|
|
||||||
+ return namespace(
|
|
||||||
+ cflags=(f"-I{include}",),
|
|
||||||
+ ldflags=(f"-L{lib}", "-lssl", "-lcrypto"),
|
|
||||||
+ )
|
|
||||||
+ if openssl_pkg:
|
|
||||||
+ return namespace(
|
|
||||||
+ cflags=openssl_pkg.cflags,
|
|
||||||
+ ldflags=openssl_pkg.libs,
|
|
||||||
+ )
|
|
||||||
+ set_config("MZLA_LIBRNP_OPENSSL_CFLAGS", openssl_flags.cflags)
|
|
||||||
+ set_config("MZLA_LIBRNP_OPENSSL_LIBS", openssl_flags.ldflags)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ @depends(c_compiler, openssl_flags)
|
|
||||||
+ @imports(_from="textwrap", _import="dedent")
|
|
||||||
+ def openssl_version(compiler, openssl_flags):
|
|
||||||
+ log.info("Checking for OpenSSL >= 1.1.1")
|
|
||||||
+ if openssl_flags is None:
|
|
||||||
+ die("OpenSSL not found. Must be locatable with pkg-config or use --with-openssl.")
|
|
||||||
+
|
|
||||||
+ def ossl_hexver(hex_str):
|
|
||||||
+ # See opensshlv.h for description of OPENSSL_VERSION_NUMBER
|
|
||||||
+ MIN_OSSL_VER = 0x1010100f # Version 1.1.1
|
|
||||||
+ ver_as_int = int(hex_str[:-1], 16)
|
|
||||||
+ ossl_major = (ver_as_int & 0xf0000000) >> 28
|
|
||||||
+ ossl_minor = (ver_as_int & 0x0ff00000) >> 20
|
|
||||||
+ ossl_fix = (ver_as_int & 0x000ff000) >> 12
|
|
||||||
+ ossl_patch = chr(96 + (ver_as_int & 0x00000ff0) >> 4) # as a letter a-z
|
|
||||||
+ ver_as_str = f"{ossl_major}.{ossl_minor}.{ossl_fix}{ossl_patch}"
|
|
||||||
+ if ver_as_int < MIN_OSSL_VER:
|
|
||||||
+ die(f"OpenSSL version {ver_as_str} is too old.")
|
|
||||||
+ return ver_as_str
|
|
||||||
+
|
|
||||||
+ check = dedent(
|
|
||||||
+ """\
|
|
||||||
+ #include <openssl/opensslv.h>
|
|
||||||
+ #ifdef OPENSSL_VERSION_STR
|
|
||||||
+ OPENSSL_VERSION_STR
|
|
||||||
+ #elif defined(OPENSSL_VERSION_NUMBER)
|
|
||||||
+ OPENSSL_VERSION_NUMBER
|
|
||||||
+ #else
|
|
||||||
+ #error Unable to determine OpenSSL version.
|
|
||||||
+ #endif
|
|
||||||
+ """
|
|
||||||
+ )
|
|
||||||
+ result = try_preprocess(
|
|
||||||
+ compiler.wrapper
|
|
||||||
+ + [compiler.compiler]
|
|
||||||
+ + compiler.flags
|
|
||||||
+ + list(openssl_flags.cflags),
|
|
||||||
+ "C",
|
|
||||||
+ check
|
|
||||||
+ )
|
|
||||||
+ if result:
|
|
||||||
+ openssl_ver = result.splitlines()[-1]
|
|
||||||
+ if openssl_ver.startswith("0x"):
|
|
||||||
+ # OpenSSL 1.x.x - like 0x1010107fL
|
|
||||||
+ openssl_ver = ossl_hexver(openssl_ver)
|
|
||||||
+ else:
|
|
||||||
+ # OpenSSL 3.x.x - quoted version like "3.0.7"
|
|
||||||
+ openssl_ver = openssl_ver.replace('"', "")
|
|
||||||
+ major_version = openssl_ver.split(".")[0]
|
|
||||||
+ if major_version != "3":
|
|
||||||
+ die("Unrecognized OpenSSL version {openssl_version} found. Require >= 1.1.1 or 3.x.x")
|
|
||||||
+
|
|
||||||
+ log.info(f"Found OpenSSL {openssl_ver}.")
|
|
||||||
+ return openssl_ver
|
|
||||||
+
|
|
||||||
+ set_config("MZLA_LIBRNP_OPENSSL_VERSION", openssl_version)
|
|
||||||
|
|
||||||
# Checks for building librnp itself
|
|
||||||
# =================================
|
|
||||||
diff -up comm/third_party/rnp/moz.build.D161379.diff comm/third_party/rnp/moz.build
|
|
||||||
--- comm/third_party/rnp/moz.build.D161379.diff 2022-11-10 11:49:43.682017534 +0100
|
|
||||||
+++ comm/third_party/rnp/moz.build 2022-11-10 11:51:22.878909880 +0100
|
|
||||||
@@ -36,17 +36,53 @@ if CONFIG["CC_TYPE"] == "clang-cl":
|
|
||||||
"/EHs",
|
|
||||||
]
|
|
||||||
|
|
||||||
+LOCAL_INCLUDES = [
|
|
||||||
+ "include",
|
|
||||||
+ "src",
|
|
||||||
+ "src/common",
|
|
||||||
+ "src/lib",
|
|
||||||
+]
|
|
||||||
+
|
|
||||||
+IQuote(
|
|
||||||
+ "{}/src/lib".format(OBJDIR),
|
|
||||||
+ "{}/src/lib".format(SRCDIR),
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
+# Set up defines for src/lib/config.h
|
|
||||||
rnp_defines = {
|
|
||||||
"HAVE_BZLIB_H": True,
|
|
||||||
"HAVE_ZLIB_H": True,
|
|
||||||
- "CRYPTO_BACKEND_OPENSSL": True,
|
|
||||||
- "ENABLE_AEAD": True,
|
|
||||||
- "ENABLE_TWOFISH": True,
|
|
||||||
- "ENABLE_BRAINPOOL": True,
|
|
||||||
"ENABLE_IDEA": True,
|
|
||||||
"PACKAGE_BUGREPORT": '"https://bugzilla.mozilla.org/enter_bug.cgi?product=Thunderbird"',
|
|
||||||
"PACKAGE_STRING": '"rnp {}"'.format(CONFIG["MZLA_LIBRNP_FULL_VERSION"])
|
|
||||||
}
|
|
||||||
+if CONFIG["MZLA_LIBRNP_BACKEND"] == "botan":
|
|
||||||
+ LOCAL_INCLUDES += ["!../botan/build/include"]
|
|
||||||
+ if CONFIG["MZLA_SYSTEM_BOTAN"]:
|
|
||||||
+ CXXFLAGS += CONFIG["MZLA_BOTAN_CFLAGS"]
|
|
||||||
+
|
|
||||||
+ rnp_defines.update({
|
|
||||||
+ "CRYPTO_BACKEND_BOTAN": True,
|
|
||||||
+ "ENABLE_AEAD": True,
|
|
||||||
+ "ENABLE_TWOFISH": True,
|
|
||||||
+ "ENABLE_BRAINPOOL": True,
|
|
||||||
+ })
|
|
||||||
+elif CONFIG["MZLA_LIBRNP_BACKEND"] == "openssl":
|
|
||||||
+ CXXFLAGS += CONFIG["MZLA_LIBRNP_OPENSSL_CFLAGS"]
|
|
||||||
+ OS_LIBS += CONFIG["MZLA_LIBRNP_OPENSSL_LIBS"]
|
|
||||||
+
|
|
||||||
+ rnp_defines.update({
|
|
||||||
+ "CRYPTO_BACKEND_OPENSSL": True,
|
|
||||||
+ # Not supported with RNP+OpenSSL https://github.com/rnpgp/rnp/issues/1642
|
|
||||||
+ "ENABLE_AEAD": False,
|
|
||||||
+ # Not supported by OpenSSL https://github.com/openssl/openssl/issues/2046
|
|
||||||
+ "ENABLE_TWOFISH": False,
|
|
||||||
+ # Supported, but not with RHEL's OpenSSL, disabled for now;
|
|
||||||
+ "ENABLE_BRAINPOOL": False,
|
|
||||||
+ })
|
|
||||||
+ if CONFIG["MZLA_LIBRNP_OPENSSL_VERSION"][0] == "3":
|
|
||||||
+ rnp_defines["CRYPTO_BACKEND_OPENSSL3"] = True
|
|
||||||
+
|
|
||||||
GeneratedFile(
|
|
||||||
"src/lib/config.h",
|
|
||||||
script="/comm/python/rocbuild/process_cmake_define_files.py",
|
|
||||||
@@ -57,23 +93,6 @@ GeneratedFile(
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
-LOCAL_INCLUDES = [
|
|
||||||
- "include",
|
|
||||||
- "src",
|
|
||||||
- "src/common",
|
|
||||||
- "src/lib",
|
|
||||||
-]
|
|
||||||
-
|
|
||||||
-IQuote(
|
|
||||||
- "{}/src/lib".format(OBJDIR),
|
|
||||||
- "{}/src/lib".format(SRCDIR),
|
|
||||||
-)
|
|
||||||
-
|
|
||||||
-if CONFIG["MZLA_SYSTEM_BOTAN"]:
|
|
||||||
- CXXFLAGS += CONFIG["MZLA_BOTAN_CFLAGS"]
|
|
||||||
-else:
|
|
||||||
- LOCAL_INCLUDES += ["!../botan/build/include"]
|
|
||||||
-
|
|
||||||
if CONFIG["MOZ_SYSTEM_ZLIB"]:
|
|
||||||
CXXFLAGS += CONFIG["MOZ_ZLIB_CFLAGS"]
|
|
||||||
else:
|
|
||||||
@@ -109,29 +128,16 @@ SOURCES += [
|
|
||||||
"src/common/time-utils.cpp",
|
|
||||||
"src/lib/crypto.cpp",
|
|
||||||
"src/lib/crypto/backend_version.cpp",
|
|
||||||
- "src/lib/crypto/bn.cpp",
|
|
||||||
"src/lib/crypto/cipher.cpp",
|
|
||||||
- "src/lib/crypto/cipher_botan.cpp",
|
|
||||||
- "src/lib/crypto/dsa.cpp",
|
|
||||||
- "src/lib/crypto/ec.cpp",
|
|
||||||
"src/lib/crypto/ec_curves.cpp",
|
|
||||||
- "src/lib/crypto/ecdh.cpp",
|
|
||||||
"src/lib/crypto/ecdh_utils.cpp",
|
|
||||||
- "src/lib/crypto/ecdsa.cpp",
|
|
||||||
- "src/lib/crypto/eddsa.cpp",
|
|
||||||
- "src/lib/crypto/elgamal.cpp",
|
|
||||||
- "src/lib/crypto/hash.cpp",
|
|
||||||
"src/lib/crypto/hash_common.cpp",
|
|
||||||
"src/lib/crypto/hash_sha1cd.cpp",
|
|
||||||
- "src/lib/crypto/mem.cpp",
|
|
||||||
"src/lib/crypto/mpi.cpp",
|
|
||||||
- "src/lib/crypto/rng.cpp",
|
|
||||||
- "src/lib/crypto/rsa.cpp",
|
|
||||||
"src/lib/crypto/s2k.cpp",
|
|
||||||
"src/lib/crypto/sha1cd/sha1.c",
|
|
||||||
"src/lib/crypto/sha1cd/ubc_check.c",
|
|
||||||
"src/lib/crypto/signatures.cpp",
|
|
||||||
- "src/lib/crypto/symmetric.cpp",
|
|
||||||
"src/lib/fingerprint.cpp",
|
|
||||||
"src/lib/generate-key.cpp",
|
|
||||||
"src/lib/json-utils.cpp",
|
|
||||||
@@ -159,4 +165,40 @@ SOURCES += [
|
|
||||||
"src/librepgp/stream-write.cpp",
|
|
||||||
]
|
|
||||||
|
|
||||||
+if CONFIG["MZLA_LIBRNP_BACKEND"] == "botan":
|
|
||||||
+ SOURCES += [
|
|
||||||
+ "src/lib/crypto/bn.cpp",
|
|
||||||
+ "src/lib/crypto/cipher_botan.cpp",
|
|
||||||
+ "src/lib/crypto/dsa.cpp",
|
|
||||||
+ "src/lib/crypto/ec.cpp",
|
|
||||||
+ "src/lib/crypto/ecdh.cpp",
|
|
||||||
+ "src/lib/crypto/ecdsa.cpp",
|
|
||||||
+ "src/lib/crypto/eddsa.cpp",
|
|
||||||
+ "src/lib/crypto/elgamal.cpp",
|
|
||||||
+ "src/lib/crypto/hash.cpp",
|
|
||||||
+ "src/lib/crypto/mem.cpp",
|
|
||||||
+ "src/lib/crypto/rng.cpp",
|
|
||||||
+ "src/lib/crypto/rsa.cpp",
|
|
||||||
+ "src/lib/crypto/symmetric.cpp",
|
|
||||||
+ ]
|
|
||||||
+if CONFIG["MZLA_LIBRNP_BACKEND"] == "openssl":
|
|
||||||
+ SOURCES += [
|
|
||||||
+ "src/lib/crypto/bn_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/cipher_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/dl_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/dsa_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/ec_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/ecdh_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/ecdsa_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/eddsa_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/elgamal_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/hash_crc24.cpp",
|
|
||||||
+ "src/lib/crypto/hash_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/mem_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/rng_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/rsa_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/s2k_ossl.cpp",
|
|
||||||
+ "src/lib/crypto/symmetric_ossl.cpp",
|
|
||||||
+ ]
|
|
||||||
+
|
|
||||||
DIRS += ["src/rnp", "src/rnpkeys"]
|
|
@ -1,49 +0,0 @@
|
|||||||
diff --git a/third_party/openpgp.configure b/third_party/openpgp.configure
|
|
||||||
--- a/third_party/openpgp.configure
|
|
||||||
+++ b/third_party/openpgp.configure
|
|
||||||
@@ -198,21 +198,27 @@
|
|
||||||
)
|
|
||||||
set_config("MZLA_BZIP2_CFLAGS", bzip2_flags.cflags)
|
|
||||||
set_config("MZLA_BZIP2_LIBS", bzip2_flags.ldflags)
|
|
||||||
|
|
||||||
# librnp crypto backend selection
|
|
||||||
+ @depends(target_is_linux)
|
|
||||||
+ def librnp_backend_choices(is_linux):
|
|
||||||
+ if is_linux:
|
|
||||||
+ return ("botan", "openssl")
|
|
||||||
+ else:
|
|
||||||
+ return ("botan",)
|
|
||||||
+
|
|
||||||
option("--with-librnp-backend",
|
|
||||||
- help="Build librnp with the selected backend: {botan, openssl}",
|
|
||||||
+ help="Build librnp with the selected backend",
|
|
||||||
+ choices=librnp_backend_choices,
|
|
||||||
+ nargs=1,
|
|
||||||
default="botan")
|
|
||||||
|
|
||||||
@depends("--with-librnp-backend")
|
|
||||||
def librnp_backend(backend):
|
|
||||||
- allowed = ("botan", "openssl")
|
|
||||||
- if backend[0] in allowed:
|
|
||||||
+ if backend:
|
|
||||||
return backend[0]
|
|
||||||
- else:
|
|
||||||
- die(f"Unsupported librnp backend {backend[0]}.")
|
|
||||||
|
|
||||||
set_config("MZLA_LIBRNP_BACKEND", librnp_backend)
|
|
||||||
|
|
||||||
@depends(librnp_backend)
|
|
||||||
def rnp_botan(backend):
|
|
||||||
@@ -273,10 +279,11 @@
|
|
||||||
set_config("MZLA_LIBRNP_OPENSSL_LIBS", openssl_flags.ldflags)
|
|
||||||
|
|
||||||
|
|
||||||
@depends(c_compiler, openssl_flags)
|
|
||||||
@imports(_from="textwrap", _import="dedent")
|
|
||||||
+ @imports(_from="__builtin__", _import="chr")
|
|
||||||
def openssl_version(compiler, openssl_flags):
|
|
||||||
log.info("Checking for OpenSSL >= 1.1.1")
|
|
||||||
if openssl_flags is None:
|
|
||||||
die("OpenSSL not found. Must be locatable with pkg-config or use --with-openssl.")
|
|
||||||
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up thunderbird-102.4.0/comm/third_party/rnp/moz.build.rnp-openssl thunderbird-102.4.0/comm/third_party/rnp/moz.build
|
|
||||||
--- thunderbird-102.4.0/comm/third_party/rnp/moz.build.rnp-openssl 2022-11-01 14:36:02.940726858 +0100
|
|
||||||
+++ thunderbird-102.4.0/comm/third_party/rnp/moz.build 2022-11-01 14:36:23.091726917 +0100
|
|
||||||
@@ -39,7 +39,7 @@ if CONFIG["CC_TYPE"] == "clang-cl":
|
|
||||||
rnp_defines = {
|
|
||||||
"HAVE_BZLIB_H": True,
|
|
||||||
"HAVE_ZLIB_H": True,
|
|
||||||
- "CRYPTO_BACKEND_BOTAN": True,
|
|
||||||
+ "CRYPTO_BACKEND_OPENSSL": True,
|
|
||||||
"ENABLE_AEAD": True,
|
|
||||||
"ENABLE_TWOFISH": True,
|
|
||||||
"ENABLE_BRAINPOOL": True,
|
|
File diff suppressed because one or more lines are too long
154
SOURCES/rust-bindgen-2319-2339.patch
Normal file
154
SOURCES/rust-bindgen-2319-2339.patch
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
--- thunderbird-102.11.1/third_party/rust/bindgen/.cargo-checksum.json.rust-bindgen-2319-2339 2023-05-24 00:50:52.000000000 +0200
|
||||||
|
+++ thunderbird-102.11.1/third_party/rust/bindgen/.cargo-checksum.json 2023-06-07 01:11:35.838302019 +0200
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-{"files":{"Cargo.lock":"836e8f8431bd4ebdac9b1251676f6afa755757e401455259fe659e7280be8230","Cargo.toml":"3a585a6e27a177f08dedcb21f7d555e9db58fa158203273b228db91ebee4e6b3","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"29fe30d7a2729922b13a578bc8f5eedc808fd0f2ef67a3f12017548baf8f293a","build.rs":"3fe1e534c99df4ee207606794f133fb187c0948e055389f74c904994ecaed38a","csmith-fuzzing/README.md":"7107b70fedb0c0a0cadb3c439a49c1bd0119a6d38dc63b1aecc74d1942256ef2","src/callbacks.rs":"1e5a118b94977938751758ac0495b1d41ce5e280c066614a4a7cbd930f326350","src/clang.rs":"aa0644278a8319506be08904c0f6706fbcdcd72eb1e85564b8c7488bd810e126","src/codegen/bitfield_unit.rs":"a8fb1a2d97a99685106fcaac87d2013f79d2690d6a46ff05ad1e3629b6075664","src/codegen/bitfield_unit_tests.rs":"dd252134118450800b516e375c872e17b4c1aee63a7b8adbe5b2cd53434bbc7e","src/codegen/dyngen.rs":"15149bc927e5b2706f93e52a6b26ef55384b3baf40bfc9bc4343e9820479f26b","src/codegen/error.rs":"5e308b8c54b68511fc8ea2ad15ddac510172c4ff460a80a265336440b0c9653d","src/codegen/helpers.rs":"ea83104addb8af31736aaeb850e10c694cd434befe7ffaaa206208f722d72c58","src/codegen/impl_debug.rs":"1ff9ec754b610c98c757b114c6509473ead0e1a9375e9089a7fa40a41a753709","src/codegen/impl_partialeq.rs":"5e526fd88dd15dd1f04addd3c6ecea1d3da92293fadf04346d6c716791f436f9","src/codegen/mod.rs":"19fd11feefab0ff9ecaf8a01583583008269adce805508fb61b9a8acc49da586","src/codegen/struct_layout.rs":"b62c3569dcfb011daa4d09f1aa9eb732da69546c3deb9f247fa8ce7114dbc7b9","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"fafb85510b1dfc9a41ed71f7d765fca49b236deb4ee567e00204e751362aaf23","src/ir/analysis/derive.rs":"ff4821d810961696008a57ae496f95ebcdc14b4c439fe87d78a84817442fa759","src/ir/analysis/has_destructor.rs":"d9a3a24bd4cabc87cddb0c76d27da1691f8f37ffb8eadf5b5975a1c44dea99c2","src/ir/analysis/has_float.rs":"5242cc07ec4d4bdf5a792e1f8ee5758a87838314917d42dbb9dcfc19620520ce","src/ir/analysis/has_type_param_in_array.rs":"ec3fb67f782abb4c866da91bce3f7ee6f8e2310c47a54065282431b909233f7d","src/ir/analysis/has_vtable.rs":"63e2d0f62171811893615c11453bc7b39438d0d83c3eb444dec2346140d86efe","src/ir/analysis/mod.rs":"2c54f0cd6f3d86cf3fcb07d9d0be06cde839cab4170671c80d806a3f27820faf","src/ir/analysis/sizedness.rs":"17f1f2b6affd025f73853b9b5a76b3f157b5f9e563e9eaa374735fcb84c13308","src/ir/analysis/template_params.rs":"da949976a7fd04d6fc564ea6a77dfdbf4f5bf05db64687ed7a0616cba598a42d","src/ir/annotations.rs":"1c931d7bbba1e1613e9cccaab58d14f75e79b831b5c881e41f5b5257a9cbced7","src/ir/comment.rs":"31d64a49ae3d9c3c348fa2539e03306ca3a23fae429cab452e42b31ecf632145","src/ir/comp.rs":"abaa90e27dc6416f1b8db003f87888e7651d5b46c4d4526153980e5621612e54","src/ir/context.rs":"3a76458a5aa74075a60a5cd752ed59ad3943054f55b017700389f78072935215","src/ir/derive.rs":"e5581852eec87918901a129284b4965aefc8a19394187a8095779a084f28fabe","src/ir/dot.rs":"e25ff72ac174a798894c9673d81bdfb86fa9f4228b34a14ce0dc741a186a52bd","src/ir/enum_ty.rs":"e49e3c6ffc0289584e2f836fe56a4b7ebf6ca3f8b602248141d67b9f533770cc","src/ir/function.rs":"aa454ace56bda8074b2865933282aa124624310c8bc0c994d454f5799f4e88be","src/ir/int.rs":"68a86182743ec338d58e42203364dc7c8970cb7ec3550433ca92f0c9489b4442","src/ir/item.rs":"a71bdacc7419ec86d52ac534158cf4bfa4600e9cbc214c0075766700f5b053b0","src/ir/item_kind.rs":"7666a1ff1b8260978b790a08b4139ab56b5c65714a5652bbcec7faa7443adc36","src/ir/layout.rs":"755e3787c262de434a53a8c326f0e825f95415ed6b0f925c1cddf208ca8e3bc4","src/ir/mod.rs":"713cd537434567003197a123cbae679602c715e976d22f7b23dafd0826ea4c70","src/ir/module.rs":"70cf6ddfeabe6cdc13fdc767c783216c073404848d827e85fc6c2de3a19b5c3f","src/ir/objc.rs":"195fb2a3e4371b90244f3a8f295fd80cc77e0f2daf8fd27e3d8e5b78bd6b55d6","src/ir/template.rs":"44bd7214cf1e7f70e60694115082aac5b8a6c1687fff584cd08cdcfadabc5734","src/ir/traversal.rs":"5ac088277f4dfe2918d81b9294aaee41fd83db8e46def66a05f89de078bf4c49","src/ir/ty.rs":"8f2b970da76850685c4d334289af6dede7742862d7a81f2236115afaa1a92fa9","src/ir/var.rs":"86e9f19403fb9231ba60dec0a04e5b56fe28a37c7a5e6f676c978789c9d93c5a","src/lib.rs":"ed2d0aeb48b28b4a96b8e76a10e00b10cb6cc32c0a686d536f9021463b7ee0e8","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"74e582c37b146090332b1496f5b4bca02c7629d03a4ae40302cb4a723f08e445","src/options.rs":"119358b741601dafc13560856f6e4b4f78b6cd2b19067893c2672ba8f5dc6de1","src/parse.rs":"4ffc54415eadb622ee488603862788c78361ef2c889de25259441a340c2a010f","src/regex_set.rs":"6c46357fb1ee68250e5e017cbf691f340041489ae78599eee7a5665a6ddce27f","src/time.rs":"8efe317e7c6b5ba8e0865ce7b49ca775ee8a02590f4241ef62f647fa3c22b68e"},"package":"2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239"}
|
||||||
|
\ No newline at end of file
|
||||||
|
+{"files":{"Cargo.lock":"836e8f8431bd4ebdac9b1251676f6afa755757e401455259fe659e7280be8230","Cargo.toml":"3a585a6e27a177f08dedcb21f7d555e9db58fa158203273b228db91ebee4e6b3","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"29fe30d7a2729922b13a578bc8f5eedc808fd0f2ef67a3f12017548baf8f293a","build.rs":"3fe1e534c99df4ee207606794f133fb187c0948e055389f74c904994ecaed38a","csmith-fuzzing/README.md":"7107b70fedb0c0a0cadb3c439a49c1bd0119a6d38dc63b1aecc74d1942256ef2","src/callbacks.rs":"1e5a118b94977938751758ac0495b1d41ce5e280c066614a4a7cbd930f326350","src/clang.rs":"30fdc473ff70dcbc394927d6fb674d70a62c1a3847e855becd988dc476997815","src/codegen/bitfield_unit.rs":"a8fb1a2d97a99685106fcaac87d2013f79d2690d6a46ff05ad1e3629b6075664","src/codegen/bitfield_unit_tests.rs":"dd252134118450800b516e375c872e17b4c1aee63a7b8adbe5b2cd53434bbc7e","src/codegen/dyngen.rs":"15149bc927e5b2706f93e52a6b26ef55384b3baf40bfc9bc4343e9820479f26b","src/codegen/error.rs":"5e308b8c54b68511fc8ea2ad15ddac510172c4ff460a80a265336440b0c9653d","src/codegen/helpers.rs":"ea83104addb8af31736aaeb850e10c694cd434befe7ffaaa206208f722d72c58","src/codegen/impl_debug.rs":"1ff9ec754b610c98c757b114c6509473ead0e1a9375e9089a7fa40a41a753709","src/codegen/impl_partialeq.rs":"5e526fd88dd15dd1f04addd3c6ecea1d3da92293fadf04346d6c716791f436f9","src/codegen/mod.rs":"19fd11feefab0ff9ecaf8a01583583008269adce805508fb61b9a8acc49da586","src/codegen/struct_layout.rs":"b62c3569dcfb011daa4d09f1aa9eb732da69546c3deb9f247fa8ce7114dbc7b9","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"fafb85510b1dfc9a41ed71f7d765fca49b236deb4ee567e00204e751362aaf23","src/ir/analysis/derive.rs":"ff4821d810961696008a57ae496f95ebcdc14b4c439fe87d78a84817442fa759","src/ir/analysis/has_destructor.rs":"d9a3a24bd4cabc87cddb0c76d27da1691f8f37ffb8eadf5b5975a1c44dea99c2","src/ir/analysis/has_float.rs":"5242cc07ec4d4bdf5a792e1f8ee5758a87838314917d42dbb9dcfc19620520ce","src/ir/analysis/has_type_param_in_array.rs":"ec3fb67f782abb4c866da91bce3f7ee6f8e2310c47a54065282431b909233f7d","src/ir/analysis/has_vtable.rs":"63e2d0f62171811893615c11453bc7b39438d0d83c3eb444dec2346140d86efe","src/ir/analysis/mod.rs":"2c54f0cd6f3d86cf3fcb07d9d0be06cde839cab4170671c80d806a3f27820faf","src/ir/analysis/sizedness.rs":"17f1f2b6affd025f73853b9b5a76b3f157b5f9e563e9eaa374735fcb84c13308","src/ir/analysis/template_params.rs":"da949976a7fd04d6fc564ea6a77dfdbf4f5bf05db64687ed7a0616cba598a42d","src/ir/annotations.rs":"1c931d7bbba1e1613e9cccaab58d14f75e79b831b5c881e41f5b5257a9cbced7","src/ir/comment.rs":"31d64a49ae3d9c3c348fa2539e03306ca3a23fae429cab452e42b31ecf632145","src/ir/comp.rs":"232300be66abbbc3d7ef948c24f000dd8a50d78e72aa0e4b2cc43ffd4f800226","src/ir/context.rs":"3a76458a5aa74075a60a5cd752ed59ad3943054f55b017700389f78072935215","src/ir/derive.rs":"e5581852eec87918901a129284b4965aefc8a19394187a8095779a084f28fabe","src/ir/dot.rs":"e25ff72ac174a798894c9673d81bdfb86fa9f4228b34a14ce0dc741a186a52bd","src/ir/enum_ty.rs":"e49e3c6ffc0289584e2f836fe56a4b7ebf6ca3f8b602248141d67b9f533770cc","src/ir/function.rs":"aa454ace56bda8074b2865933282aa124624310c8bc0c994d454f5799f4e88be","src/ir/int.rs":"68a86182743ec338d58e42203364dc7c8970cb7ec3550433ca92f0c9489b4442","src/ir/item.rs":"a71bdacc7419ec86d52ac534158cf4bfa4600e9cbc214c0075766700f5b053b0","src/ir/item_kind.rs":"7666a1ff1b8260978b790a08b4139ab56b5c65714a5652bbcec7faa7443adc36","src/ir/layout.rs":"755e3787c262de434a53a8c326f0e825f95415ed6b0f925c1cddf208ca8e3bc4","src/ir/mod.rs":"713cd537434567003197a123cbae679602c715e976d22f7b23dafd0826ea4c70","src/ir/module.rs":"70cf6ddfeabe6cdc13fdc767c783216c073404848d827e85fc6c2de3a19b5c3f","src/ir/objc.rs":"195fb2a3e4371b90244f3a8f295fd80cc77e0f2daf8fd27e3d8e5b78bd6b55d6","src/ir/template.rs":"44bd7214cf1e7f70e60694115082aac5b8a6c1687fff584cd08cdcfadabc5734","src/ir/traversal.rs":"5ac088277f4dfe2918d81b9294aaee41fd83db8e46def66a05f89de078bf4c49","src/ir/ty.rs":"8d7e7883316245c54e5dfa2fd150df1be2dc559c7df0828da736dd6b18d2165b","src/ir/var.rs":"1e7be8eedba72effa995b48c581504e61e407867d8794a8528975688742b0420","src/lib.rs":"ed2d0aeb48b28b4a96b8e76a10e00b10cb6cc32c0a686d536f9021463b7ee0e8","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"74e582c37b146090332b1496f5b4bca02c7629d03a4ae40302cb4a723f08e445","src/options.rs":"119358b741601dafc13560856f6e4b4f78b6cd2b19067893c2672ba8f5dc6de1","src/parse.rs":"4ffc54415eadb622ee488603862788c78361ef2c889de25259441a340c2a010f","src/regex_set.rs":"6c46357fb1ee68250e5e017cbf691f340041489ae78599eee7a5665a6ddce27f","src/time.rs":"8efe317e7c6b5ba8e0865ce7b49ca775ee8a02590f4241ef62f647fa3c22b68e"},"package":"2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239"}
|
||||||
|
\ No newline at end of file
|
||||||
|
--- thunderbird-102.11.1/third_party/rust/bindgen/src/clang.rs.rust-bindgen-2319-2339 2023-05-24 00:50:51.000000000 +0200
|
||||||
|
+++ thunderbird-102.11.1/third_party/rust/bindgen/src/clang.rs 2023-06-07 00:59:18.845709213 +0200
|
||||||
|
@@ -54,6 +54,11 @@ impl Cursor {
|
||||||
|
unsafe { clang_isDeclaration(self.kind()) != 0 }
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /// Is this cursor's referent an anonymous record or so?
|
||||||
|
+ pub fn is_anonymous(&self) -> bool {
|
||||||
|
+ unsafe { clang_Cursor_isAnonymous(self.x) != 0 }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/// Get this cursor's referent's spelling.
|
||||||
|
pub fn spelling(&self) -> String {
|
||||||
|
unsafe { cxstring_into_string(clang_getCursorSpelling(self.x)) }
|
||||||
|
--- thunderbird-102.11.1/third_party/rust/bindgen/src/ir/comp.rs.rust-bindgen-2319-2339 2023-05-24 00:50:52.000000000 +0200
|
||||||
|
+++ thunderbird-102.11.1/third_party/rust/bindgen/src/ir/comp.rs 2023-06-07 00:59:18.846709211 +0200
|
||||||
|
@@ -1372,8 +1372,7 @@ impl CompInfo {
|
||||||
|
|
||||||
|
// A declaration of an union or a struct without name could
|
||||||
|
// also be an unnamed field, unfortunately.
|
||||||
|
- if cur.spelling().is_empty() &&
|
||||||
|
- cur.kind() != CXCursor_EnumDecl
|
||||||
|
+ if cur.is_anonymous() && cur.kind() != CXCursor_EnumDecl
|
||||||
|
{
|
||||||
|
let ty = cur.cur_type();
|
||||||
|
let offset = cur.offset_of_field().ok();
|
||||||
|
--- thunderbird-102.11.1/third_party/rust/bindgen/src/ir/ty.rs.rust-bindgen-2319-2339 2023-05-24 00:50:52.000000000 +0200
|
||||||
|
+++ thunderbird-102.11.1/third_party/rust/bindgen/src/ir/ty.rs 2023-06-07 00:59:18.847709209 +0200
|
||||||
|
@@ -737,7 +737,12 @@ impl Type {
|
||||||
|
|
||||||
|
let layout = ty.fallible_layout(ctx).ok();
|
||||||
|
let cursor = ty.declaration();
|
||||||
|
- let mut name = cursor.spelling();
|
||||||
|
+ let is_anonymous = cursor.is_anonymous();
|
||||||
|
+ let mut name = if is_anonymous {
|
||||||
|
+ None
|
||||||
|
+ } else {
|
||||||
|
+ Some(cursor.spelling()).filter(|n| !n.is_empty())
|
||||||
|
+ };
|
||||||
|
|
||||||
|
debug!(
|
||||||
|
"from_clang_ty: {:?}, ty: {:?}, loc: {:?}",
|
||||||
|
@@ -771,7 +776,7 @@ impl Type {
|
||||||
|
if is_canonical_objcpointer && is_template_type_param {
|
||||||
|
// Objective-C generics are just ids with fancy name.
|
||||||
|
// To keep it simple, just name them ids
|
||||||
|
- name = "id".to_owned();
|
||||||
|
+ name = Some("id".to_owned());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -900,7 +905,7 @@ impl Type {
|
||||||
|
return Err(ParseError::Recurse);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- name = location.spelling();
|
||||||
|
+ name = Some(location.spelling());
|
||||||
|
}
|
||||||
|
|
||||||
|
let complex = CompInfo::from_ty(
|
||||||
|
@@ -942,7 +947,7 @@ impl Type {
|
||||||
|
CXType_Typedef
|
||||||
|
);
|
||||||
|
|
||||||
|
- name = current.spelling();
|
||||||
|
+ name = Some(location.spelling());
|
||||||
|
|
||||||
|
let inner_ty = cur
|
||||||
|
.typedef_type()
|
||||||
|
@@ -1126,10 +1131,10 @@ impl Type {
|
||||||
|
CXType_Enum => {
|
||||||
|
let enum_ = Enum::from_ty(ty, ctx).expect("Not an enum?");
|
||||||
|
|
||||||
|
- if name.is_empty() {
|
||||||
|
+ if !is_anonymous {
|
||||||
|
let pretty_name = ty.spelling();
|
||||||
|
if clang::is_valid_identifier(&pretty_name) {
|
||||||
|
- name = pretty_name;
|
||||||
|
+ name = Some(pretty_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1144,12 +1149,12 @@ impl Type {
|
||||||
|
)
|
||||||
|
.expect("Not a complex type?");
|
||||||
|
|
||||||
|
- if name.is_empty() {
|
||||||
|
+ if !is_anonymous {
|
||||||
|
// The pretty-printed name may contain typedefed name,
|
||||||
|
// but may also be "struct (anonymous at .h:1)"
|
||||||
|
let pretty_name = ty.spelling();
|
||||||
|
if clang::is_valid_identifier(&pretty_name) {
|
||||||
|
- name = pretty_name;
|
||||||
|
+ name = Some(pretty_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1189,7 +1194,9 @@ impl Type {
|
||||||
|
CXType_ObjCClass | CXType_ObjCInterface => {
|
||||||
|
let interface = ObjCInterface::from_ty(&location, ctx)
|
||||||
|
.expect("Not a valid objc interface?");
|
||||||
|
- name = interface.rust_name();
|
||||||
|
+ if !is_anonymous {
|
||||||
|
+ name = Some(interface.rust_name());
|
||||||
|
+ }
|
||||||
|
TypeKind::ObjCInterface(interface)
|
||||||
|
}
|
||||||
|
CXType_Dependent => {
|
||||||
|
@@ -1207,7 +1214,7 @@ impl Type {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
- let name = if name.is_empty() { None } else { Some(name) };
|
||||||
|
+ name = name.filter(|n| !n.is_empty());
|
||||||
|
|
||||||
|
let is_const = ty.is_const() ||
|
||||||
|
(ty.kind() == CXType_ConstantArray &&
|
||||||
|
--- thunderbird-102.11.1/third_party/rust/bindgen/src/ir/ty.rs.rust-bindgen-2319-2339
|
||||||
|
+++ thunderbird-102.11.1/third_party/rust/bindgen/src/ir/ty.rs
|
||||||
|
@@ -1145,8 +1145,7 @@ impl Type {
|
||||||
|
location,
|
||||||
|
None,
|
||||||
|
ctx,
|
||||||
|
- )
|
||||||
|
- .expect("Not able to resolve vector element?");
|
||||||
|
+ )?;
|
||||||
|
TypeKind::Vector(inner, ty.num_elements().unwrap())
|
||||||
|
}
|
||||||
|
CXType_ConstantArray => {
|
||||||
|
--- thunderbird-102.11.1/third_party/rust/bindgen/src/ir/var.rs.rust-bindgen-2319-2339
|
||||||
|
+++ thunderbird-102.11.1/third_party/rust/bindgen/src/ir/var.rs
|
||||||
|
@@ -293,11 +293,11 @@ impl ClangSubItemParser for Var {
|
||||||
|
let ty = match Item::from_ty(&ty, cursor, None, ctx) {
|
||||||
|
Ok(ty) => ty,
|
||||||
|
Err(e) => {
|
||||||
|
- assert_eq!(
|
||||||
|
- ty.kind(),
|
||||||
|
- CXType_Auto,
|
||||||
|
+ assert!(
|
||||||
|
+ matches!(ty.kind(), CXType_Auto | CXType_Unexposed),
|
||||||
|
"Couldn't resolve constant type, and it \
|
||||||
|
- wasn't an nondeductible auto type!"
|
||||||
|
+ wasn't an nondeductible auto type or unexposed \
|
||||||
|
+ type!"
|
||||||
|
);
|
||||||
|
return Err(e);
|
||||||
|
}
|
@ -17,6 +17,7 @@ ac_add_options --with-system-jpeg
|
|||||||
ac_add_options --enable-js-shell
|
ac_add_options --enable-js-shell
|
||||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
ac_add_options --without-sysroot
|
ac_add_options --without-sysroot
|
||||||
|
ac_add_options --update-channel=release
|
||||||
# investigate this one:
|
# investigate this one:
|
||||||
ac_add_options --without-wasm-sandboxed-libraries
|
ac_add_options --without-wasm-sandboxed-libraries
|
||||||
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
|
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{lua:
|
%{lua:
|
||||||
function dist_to_rhel_minor(str, start)
|
function dist_to_rhel8_minor(str, start)
|
||||||
match = string.match(str, ".module%+el8.%d+")
|
match = string.match(str, ".module%+el8.%d+")
|
||||||
if match then
|
if match then
|
||||||
return string.sub(match, 13)
|
return string.sub(match, 13)
|
||||||
@ -19,12 +19,30 @@ function dist_to_rhel_minor(str, start)
|
|||||||
end
|
end
|
||||||
match = string.match(str, ".el8")
|
match = string.match(str, ".el8")
|
||||||
if match then
|
if match then
|
||||||
return 7
|
return 9
|
||||||
end
|
end
|
||||||
return -1
|
return -1
|
||||||
end}
|
end}
|
||||||
|
|
||||||
%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))}
|
%{lua:
|
||||||
|
function dist_to_rhel9_minor(str, start)
|
||||||
|
match = string.match(str, ".module%+el9.%d+")
|
||||||
|
if match then
|
||||||
|
return string.sub(match, 13)
|
||||||
|
end
|
||||||
|
match = string.match(str, ".el9_%d+")
|
||||||
|
if match then
|
||||||
|
return string.sub(match, 6)
|
||||||
|
end
|
||||||
|
match = string.match(str, ".el9")
|
||||||
|
if match then
|
||||||
|
return 3
|
||||||
|
end
|
||||||
|
return -1
|
||||||
|
end}
|
||||||
|
|
||||||
|
%global rhel8_minor_version %{lua:print(dist_to_rhel8_minor(rpm.expand("%dist")))}
|
||||||
|
%global rhel9_minor_version %{lua:print(dist_to_rhel9_minor(rpm.expand("%dist")))}
|
||||||
|
|
||||||
# Produce debug (non-optimized) package build. Suitable for debugging only
|
# Produce debug (non-optimized) package build. Suitable for debugging only
|
||||||
# as the build is *very* slow.
|
# as the build is *very* slow.
|
||||||
@ -37,12 +55,12 @@ end}
|
|||||||
# librnp with openssl support, not available in RHEL7 because it requires openssl >= 1.1.1e,
|
# librnp with openssl support, not available in RHEL7 because it requires openssl >= 1.1.1e,
|
||||||
# nor in rhel-8.1.0 or rhel-8.2.0
|
# nor in rhel-8.1.0 or rhel-8.2.0
|
||||||
%global use_openssl_for_librnp 1
|
%global use_openssl_for_librnp 1
|
||||||
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4)
|
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel8_minor_version} < 4)
|
||||||
%global use_openssl_for_librnp 0
|
%global use_openssl_for_librnp 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} == 8
|
||||||
%if %{rhel_minor_version} <= 4
|
%if %{rhel8_minor_version} <= 4
|
||||||
%global bundle_nss 1
|
%global bundle_nss 1
|
||||||
%global system_nss 1
|
%global system_nss 1
|
||||||
%endif
|
%endif
|
||||||
@ -165,16 +183,22 @@ end}
|
|||||||
|
|
||||||
Summary: Mozilla Thunderbird mail/newsgroup client
|
Summary: Mozilla Thunderbird mail/newsgroup client
|
||||||
Name: thunderbird
|
Name: thunderbird
|
||||||
Version: 102.7.0
|
Version: 102.12.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
URL: http://www.mozilla.org/projects/thunderbird/
|
URL: http://www.mozilla.org/projects/thunderbird/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
|
|
||||||
|
# Workaround the dreaded "upstream source file changed content" rpminspect failure.
|
||||||
|
# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g.
|
||||||
|
# thunderbird-102.8.0.b2.processed-source.tar.xz
|
||||||
|
# When unset use processed source file name as is.
|
||||||
|
#%%global buildnum .b2
|
||||||
|
|
||||||
%if 0%{?rhel} == 9
|
%if 0%{?rhel} == 9
|
||||||
ExcludeArch: %{ix86}
|
ExcludeArch: %{ix86}
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} == 8
|
||||||
%if %{rhel_minor_version} == 1
|
%if %{rhel8_minor_version} == 1
|
||||||
ExcludeArch: %{ix86} aarch64 s390x
|
ExcludeArch: %{ix86} aarch64 s390x
|
||||||
%else
|
%else
|
||||||
ExcludeArch: %{ix86}
|
ExcludeArch: %{ix86}
|
||||||
@ -185,9 +209,9 @@ ExcludeArch: aarch64 s390 ppc
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
#Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.processed-source.tar.xz
|
#Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.processed-source.tar.xz
|
||||||
Source0: thunderbird-%{version}%{?pre_version}.processed-source.tar.xz
|
Source0: thunderbird-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz
|
||||||
%if %{build_langpacks}
|
%if %{build_langpacks}
|
||||||
Source1: thunderbird-langpacks-%{version}-20230116.tar.xz
|
Source1: thunderbird-langpacks-%{version}-20230605.tar.xz
|
||||||
%endif
|
%endif
|
||||||
Source2: cbindgen-vendor.tar.xz
|
Source2: cbindgen-vendor.tar.xz
|
||||||
Source3: process-official-tarball
|
Source3: process-official-tarball
|
||||||
@ -200,7 +224,7 @@ Source25: thunderbird-symbolic.svg
|
|||||||
Source27: google-api-key
|
Source27: google-api-key
|
||||||
Source32: node-stdout-nonblocking-wrapper
|
Source32: node-stdout-nonblocking-wrapper
|
||||||
Source35: google-loc-api-key
|
Source35: google-loc-api-key
|
||||||
Source403: nss-3.79.0-6.el8_1.src.rpm
|
Source403: nss-3.79.0-11.el8_1.src.rpm
|
||||||
Source401: nss-setup-flags-env.inc
|
Source401: nss-setup-flags-env.inc
|
||||||
Source402: nspr-4.34.0-3.el8_1.src.rpm
|
Source402: nspr-4.34.0-3.el8_1.src.rpm
|
||||||
|
|
||||||
@ -245,9 +269,15 @@ Patch422: mozilla-s390x-skia-gradient.patch
|
|||||||
Patch423: one_swizzle_to_rule_them_all.patch
|
Patch423: one_swizzle_to_rule_them_all.patch
|
||||||
Patch424: svg-rendering.patch
|
Patch424: svg-rendering.patch
|
||||||
Patch425: D158770.diff
|
Patch425: D158770.diff
|
||||||
Patch5439: backport-rnp-use-openssl.patch
|
|
||||||
Patch5479: D161379.diff
|
# With clang LLVM 16 rust-bindgen 0.56.0 is too old, combined
|
||||||
Patch5480: D161895.diff
|
# https://github.com/rust-lang/rust-bindgen/pull/2319
|
||||||
|
# https://github.com/rust-lang/rust-bindgen/pull/2339
|
||||||
|
Patch427: rust-bindgen-2319-2339.patch
|
||||||
|
|
||||||
|
# Needed with rust 1.70
|
||||||
|
# https://github.com/mozilla/mp4parse-rust/commit/8b5b652d38e007e736bb442ccd5aa5ed699db100
|
||||||
|
Patch428: mp4parse-rust-8b5b652d38e007e736bb442ccd5aa5ed699db100.patch
|
||||||
|
|
||||||
# PGO/LTO patches
|
# PGO/LTO patches
|
||||||
Patch600: pgo.patch
|
Patch600: pgo.patch
|
||||||
@ -455,7 +485,7 @@ BuildRequires: pciutils-libs
|
|||||||
|
|
||||||
Obsoletes: mozilla <= 37:1.7.13
|
Obsoletes: mozilla <= 37:1.7.13
|
||||||
Provides: webclient
|
Provides: webclient
|
||||||
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
|
%if 0%{?rhel} == 8 && %{rhel8_minor_version} < 6
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
BuildRequires: gcc-toolset-12-annobin-plugin-gcc
|
BuildRequires: gcc-toolset-12-annobin-plugin-gcc
|
||||||
%endif
|
%endif
|
||||||
@ -557,7 +587,8 @@ Mozilla Thunderbird is a standalone mail and newsgroup client.
|
|||||||
%prep
|
%prep
|
||||||
echo "Build environment"
|
echo "Build environment"
|
||||||
echo "dist %{?dist}"
|
echo "dist %{?dist}"
|
||||||
echo "RHEL 8 minor version: %{?rhel_minor_version}"
|
echo "RHEL 8 minor version: %{?rhel8_minor_version}"
|
||||||
|
echo "RHEL 9 minor version: %{?rhel9_minor_version}"
|
||||||
echo "use_bundled_ffi %{?use_bundled_ffi}"
|
echo "use_bundled_ffi %{?use_bundled_ffi}"
|
||||||
echo "bundle_nss %{?bundle_nss}"
|
echo "bundle_nss %{?bundle_nss}"
|
||||||
echo "system_nss %{?system_nss}"
|
echo "system_nss %{?system_nss}"
|
||||||
@ -588,7 +619,7 @@ echo "use_rustts %{?use_rustts}"
|
|||||||
%patch77 -p1 -b .mozilla-1775202
|
%patch77 -p1 -b .mozilla-1775202
|
||||||
|
|
||||||
%patch73 -p1 -b .build-ascii-decode-fail-rhel7
|
%patch73 -p1 -b .build-ascii-decode-fail-rhel7
|
||||||
%if 0%{?rhel} == 7
|
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel8_minor_version} >= 9)
|
||||||
%patch78 -p1 -b .build-rhel7-lower-node-min-version
|
%patch78 -p1 -b .build-rhel7-lower-node-min-version
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -617,13 +648,15 @@ echo "use_rustts %{?use_rustts}"
|
|||||||
%patch424 -p1 -b .svg-rendering
|
%patch424 -p1 -b .svg-rendering
|
||||||
%patch425 -p1 -b .D158770.diff
|
%patch425 -p1 -b .D158770.diff
|
||||||
|
|
||||||
%if %{?use_openssl_for_librnp}
|
%if 0%{?fedora} >= 38 || (0%{?rhel} == 9 && %{rhel9_minor_version} >= 3) || (0%{?rhel} == 8 && %{rhel8_minor_version} >= 9)
|
||||||
%patch5439 -p1 -b .backport-rnp-use-openssl
|
# MUST ONLY be applied for building against clang LLVM 16.
|
||||||
pushd comm
|
# Would crash with earlier clang.
|
||||||
%patch5479 -p1 -b .D161379.diff
|
%patch -P 427 -p1 -b .rust-bindgen-2319-2339
|
||||||
%patch5480 -p1 -b .D161895.diff
|
# Needed with rust 1.70
|
||||||
popd
|
%patch -P 428 -p1 -b .mp4parse-rust-8b5b652d38e007e736bb442ccd5aa5ed699db100
|
||||||
%else
|
%endif
|
||||||
|
|
||||||
|
%if !%{?use_openssl_for_librnp}
|
||||||
%patch230 -p1 -b .disable-openpgp-in-thunderbird
|
%patch230 -p1 -b .disable-openpgp-in-thunderbird
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -732,7 +765,7 @@ echo "ac_add_options --with-librnp-backend=openssl" >> .mozconfig
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# AV1 requires newer nasm that was rebased in 8.4
|
# AV1 requires newer nasm that was rebased in 8.4
|
||||||
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4)
|
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel8_minor_version} < 4)
|
||||||
echo "ac_add_options --disable-av1" >> .mozconfig
|
echo "ac_add_options --disable-av1" >> .mozconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -824,7 +857,7 @@ function install_rpms_to_current_dir() {
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
%if 0%{?rhel} == 8 && %{rhel_minor_version} < 6
|
%if 0%{?rhel} == 8 && %{rhel8_minor_version} < 6
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
source scl_source enable gcc-toolset-12
|
source scl_source enable gcc-toolset-12
|
||||||
%endif
|
%endif
|
||||||
@ -1258,6 +1291,33 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 05 2023 Eike Rathke <erack@redhat.com> - 102.12.0-1
|
||||||
|
- Update to 102.12.0 build1
|
||||||
|
|
||||||
|
* Thu May 04 2023 Eike Rathke <erack@redhat.com> - 102.11.0-1
|
||||||
|
- Update to 102.11.0 build1
|
||||||
|
|
||||||
|
* Tue Apr 11 2023 Eike Rathke <erack@redhat.com> - 102.10.0-2
|
||||||
|
- Update to 102.10.0 build2
|
||||||
|
|
||||||
|
* Thu Apr 06 2023 Eike Rathke <erack@redhat.com> - 102.10.0-1
|
||||||
|
- Update to 102.10.0 build1
|
||||||
|
|
||||||
|
* Mon Mar 13 2023 Eike Rathke <erack@redhat.com> - 102.9.0-2
|
||||||
|
- Update to 102.9.0 build1
|
||||||
|
|
||||||
|
* Wed Feb 15 2023 Eike Rathke <erack@redhat.com> - 102.8.0-2
|
||||||
|
- Update to 102.8.0 build2
|
||||||
|
|
||||||
|
* Fri Feb 10 2023 Eike Rathke <erack@redhat.com> - 102.8.0-1
|
||||||
|
- Update to 102.8.0 build1
|
||||||
|
|
||||||
|
* Tue Jan 31 2023 Eike Rathke <erack@redhat.com> - 102.7.1-2
|
||||||
|
- Update to 102.7.1 build2
|
||||||
|
|
||||||
|
* Tue Jan 24 2023 Eike Rathke <erack@redhat.com> - 102.7.1-1
|
||||||
|
- Update to 102.7.1 build1
|
||||||
|
|
||||||
* Mon Jan 16 2023 Eike Rathke <erack@redhat.com> - 102.7.0-1
|
* Mon Jan 16 2023 Eike Rathke <erack@redhat.com> - 102.7.0-1
|
||||||
- Update to 102.7.0 build1
|
- Update to 102.7.0 build1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user