From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id wFkLITVKal/UIQAA0tVLHw (envelope-from ) for ; Tue, 22 Sep 2020 19:02:13 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id uFPDHDVKal/gIQAAbx9fmQ (envelope-from ) for ; Tue, 22 Sep 2020 19:02:13 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 484C994023A for ; Tue, 22 Sep 2020 19:02:12 +0000 (UTC) Received: from localhost ([::1]:35794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kKnYH-0001gr-UA for larch@yhetil.org; Tue, 22 Sep 2020 15:02:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37168) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKnWw-0001d8-IN for guix-devel@gnu.org; Tue, 22 Sep 2020 15:00:47 -0400 Received: from mout.web.de ([212.227.17.11]:32985) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kKnWr-0005zr-0z for guix-devel@gnu.org; Tue, 22 Sep 2020 15:00:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1600801235; bh=ALwCANcdON9saayuxdrem2kJqWY81JUDNzWrbSaKdvU=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=sSlAiYhL5WBs41ar0Pt451P61/S3NR8ce59utwMlpU65PbzcvydWG+6c+XWoo2M4q 0BLqPxlE8nNVv95AChEdA+btkg+HOeZw7K4PvtpNkdMGfobrw9JUH/Q4LFSkU3vWgS kqOXT5e4s3TbveLdw2FKBx51p/7sbuAJpMAMmNts= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [192.168.178.25] ([88.152.185.253]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MwR4R-1kdqJb2e97-00sRDC; Tue, 22 Sep 2020 21:00:34 +0200 Subject: Re: IceCat-78.2 preview on 'wip-icecat-78' branch; need icedove-78. To: Mark H Weaver References: <87imcpcqb7.fsf@netris.org> <286e406b-1035-1f01-b8db-de5ba3770e39@web.de> <87k0wvb9c7.fsf@netris.org> From: Jonathan Brielmaier Message-ID: <1caf1577-c31f-8040-979f-fb3e3d3fdeee@web.de> Date: Tue, 22 Sep 2020 21:00:12 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Icedove/78.2.2 MIME-Version: 1.0 In-Reply-To: <87k0wvb9c7.fsf@netris.org> Content-Type: multipart/mixed; boundary="------------3289F2623530215224B17719" Content-Language: en-GB X-Provags-ID: V03:K1:bq2ZALW8HQRgQPy7L3qUW9o/ml+JFlbXyGSHd6LmvuoeREbnUyp EVu4KAAL1Q1tCTW1btpOi6TfGN7MDMt5d4odQaySJognQcklgVcDXoSaEtmXJF/VJEKjW0j tOU3rXdtJhNqoj6zkzGg0FjtourfN3A/wzhi57fgsfcG7RbF5iJFdVnZhMNs7JjDfKBWAFY /rUx42CofYCbr6y4Wc2ug== X-UI-Out-Filterresults: notjunk:1;V03:K0:kJYNGIX3Dbo=:6qBlQPepkSpIeXadIFeeyi M2dalJyeCnF6ECLWTf2qrHl8OnIMD8KprEblIgzTUNmt5opJQkkCaFkdk5R6HuuD0rHBL9CC3 xJLf8YyYMeby0FLO3h9pz4cN4A+4bn6OAToB7U4J/tGEpzogwhm4fzgKzC/jUhz4r8EORXhh6 ipcliB2AMIM4nbRm9NLw3449UO/+X1iCmsOkPS08+tWpkdY8ITVMA8p32LM6/JEudG4kNw2v2 wZOQtcMv6EGdwOLUxU9QyNvqAr9ryfoqU4SfypOx1rWPoWrbNAKjet80cojhvq8E3MZQmT2E0 zitNBAtMN/dP1RfI9OhymVwEsiJxXZnO49Zm83Po4jCFRaIIQwF81ObDCenaHtgQ4/xoHLvq5 yZ2H7Lk6rXdQSe25ZdRNbLt9q0m8W9COdOEcPebWzU2OlYXySi58qLQc22iXf+t/wzhjd6RoN +uvjA3IAHTAQpkdcSdqf3SxVeinHj57fJbgmulUZjQgHCR8pXLA+8LX3GEGatUVn9niT8TsbU FqqVNybn19g0vR2YtxbURwvdNXBeZni1GiP9ECeAlzy8Pn1YsbxFwXgkmchJo1mq0JUG2Xpvs QK+53IvZRuQIPyBFGInOekyEbGjMcE7dGCmYREG3y5Lq0dKefbAsrUXsCG2/qTVCOGQHGGcZ4 FNzQawcxuxLiFERIB88v5v8tPwyBb1At95JIvYBgQ/LFK7dt+TyX2pi+wkJ3sO4CEk67WFPxK 5EIFCBybHK/tBZYXgEqlbxzjSZfr405zLS7+N4LHagLL5pSyDBiPBk24yU0UJlBq9nhR5ah0h yAUc5rcTfzrUf48QDjHlg0sy8eBjmEt8q3LOPXjb7Pevb7H8eko+XZjasZgP9lRaMzJGAZU+m 9O+vzQeFqRK5BPkxc+7PcLsoK7guM/526xP2OgzZkcAuFIFBoZUCVZcj23uzy2K2m+HxOeh8X RKlNs6aTxkmVZ6YNeEkiHgdVcZFwGWT71w0tQTm5a8yDOBE1jdYOO70hO+s2a67q28gLKkvrW 7NKDoGIolI8+7C3wdTmpDHBr3PHs++fwgkPjx71ODaW3gz1mrQv/JOLRDfuhVwJD4odv2znaw Z+7aTopKiUPOsLWI1UgjyzJMgZRv86T/pjMBHWNXJQt0DnC87h9TNjlNvriTnfJBqdohl72gC QPXXFxAVuw8RkktIEXPUyaCZP65+Z7iAEF2MdQ4A6slILzdwH072EK/tj3wahsvJF3k5EsT99 pwTzvGc5+P5TIeLCri9/S8srdFD2TLnuLkmHZIA== Received-SPF: pass client-ip=212.227.17.11; envelope-from=jonathan.brielmaier@web.de; helo=mout.web.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/22 15:00:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=web.de header.s=dbaedf251592 header.b=sSlAiYhL; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.21 X-TUID: fZTxDHPC6hvO This is a multi-part message in MIME format. --------------3289F2623530215224B17719 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable On 15.09.20 12:52, Mark H Weaver wrote: > Hi Jonathan, > > Jonathan Brielmaier writes: >> I had a look. It's at the moment two WIP patches here: >> https://gitlab.com/jonsger/Guix/-/tree/wip-icedove-78 > > Thanks very much for working on it. > >> Icedove 78 needs nss >=3D 3.53.1 and we have only 3.52.1. > > An easy solution for now would be to use the bundled NSS, by simply > removing --with-system-nss from the mozconfig and removing 'nss' from > the inputs. What do you think? In the mean time I got icedove 78 working. The two patches are attached. gnu: Add nss@3.56. - It's basically like nss 3.52.1 apart from two files are gone in 'install phase. The only way I found is to copy all phases over and remove those two lines. ``` (delete-file (string-append lib "/libgtest1.so")) (delete-file (string-append lib "/libgtestutil.so")) ``` - nss-3.56-pkgconfig.patch is like nss-pkgconfig.patch with only difference in a slightly adjusted nss/manifest.mn diff. I don't know how to do that more elegant gnu: icedove: Update to 78.2.2. - Mostly house keeping and some updates of components. To get icedove run properly we need icedove-78-fix-new-page.patch, otherwise it's completely broken. I found no other way to add it, then to use the release tarball instead of the icecat sources. ~Jonathan Sent from Icedove 78 :P --------------3289F2623530215224B17719 Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-Add-nss-3.56.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-Add-nss-3.56.patch" =46rom 86df2060bf729d848badffd569ac18daf705c4ad Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Tue, 22 Sep 2020 20:34:42 +0200 Subject: [PATCH 1/2] gnu: Add nss@3.56. Icedove 78 requires nss > 3.53. This version is the only one building out-of-the-box. * gnu/packages/nss.scm (nss-3.56): New variable. * gnu/packages/patches/nss-3.56-pkgconfig.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. =2D-- gnu/local.mk | 1 + gnu/packages/nss.scm | 92 +++++++ gnu/packages/patches/nss-3.56-pkgconfig.patch | 228 ++++++++++++++++++ 3 files changed, 321 insertions(+) create mode 100644 gnu/packages/patches/nss-3.56-pkgconfig.patch diff --git a/gnu/local.mk b/gnu/local.mk index dd15126b26..579974b517 100644 =2D-- a/gnu/local.mk +++ b/gnu/local.mk @@ -1352,6 +1352,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-pkgconfig.patch \ + %D%/packages/patches/nss-3.56-pkgconfig.patch \ %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index b19ad7e1e9..32267b0a83 100644 =2D-- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -4,6 +4,7 @@ ;;; Copyright =C2=A9 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright =C2=A9 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2020 Marius Bakke +;;; Copyright =C2=A9 2020 Jonathan Brielmaier ;;; ;;; This file is part of GNU Guix. ;;; @@ -191,3 +192,94 @@ applications. Applications built with NSS can suppor= t SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and = other security standards.") (license license:mpl2.0))) + +(define-public nss-3.56 + (package + (inherit nss) + (version "3.56") + (source (origin + (method url-fetch) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append + "https://ftp.mozilla.org/pub/mozilla.org/security/n= ss/" + "releases/NSS_" version-with-underscores "_RTM/src/= " + "nss-" version ".tar.gz"))) + (sha256 + (base32 + "174f0ki2f8szkgv02jlsg2ci332sl9dabr2vcwnyjp1vxplf0xgq")) + ;; Create nss.pc and nss-config. + (patches (search-patches "nss-3.56-pkgconfig.patch" + "nss-increase-test-timeout.patch")= ) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled copy of these libraries. + (delete-file-recursively "nss/lib/zlib") + (delete-file-recursively "nss/lib/sqlite") + #t)))) + (arguments + `(#:parallel-build? #f ; not supported + #:make-flags + (let* ((out (assoc-ref %outputs "out")) + (nspr (string-append (assoc-ref %build-inputs "nspr"))) + (rpath (string-append "-Wl,-rpath=3D" out "/lib/nss"))) + (list "-C" "nss" (string-append "PREFIX=3D" out) + "NSDISTMODE=3Dcopy" + "NSS_USE_SYSTEM_SQLITE=3D1" + (string-append "NSPR_INCLUDE_DIR=3D" nspr "/include/nspr") + ;; Add $out/lib/nss to RPATH. + (string-append "RPATH=3D" rpath) + (string-append "LDFLAGS=3D" rpath))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (ice-9 match) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "CC" "gcc") + ;; Tells NSS to build for the 64-bit ABI if we are 64-bit sy= stem. + ,@(match (%current-system) + ((or "x86_64-linux" "aarch64-linux") + `((setenv "USE_64" "1"))) + (_ + '())) + #t)) + (replace 'check + (lambda _ + ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for te= sting. + ;; The later requires a working DNS or /etc/hosts. + (setenv "DOMSUF" "localdomain") + (setenv "USE_IP" "TRUE") + (setenv "IP_ADDRESS" "127.0.0.1") + + ;; The "PayPalEE.cert" certificate expires every six months, + ;; leading to test failures: + ;; . = To + ;; work around that, set the time to roughly the release dat= e. + (invoke "faketime" "2020-02-01" "./nss/tests/all.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append (assoc-ref outputs "bin") "/bin= ")) + (inc (string-append out "/include/nss")) + (lib (string-append out "/lib/nss")) + (obj (match (scandir "dist" (cut string-suffix? "OB= J" <>)) + ((obj) (string-append "dist/" obj))))) + ;; Install nss-config to $out/bin. + (install-file (string-append obj "/bin/nss-config") + (string-append out "/bin")) + (delete-file (string-append obj "/bin/nss-config")) + ;; Install nss.pc to $out/lib/pkgconfig. + (install-file (string-append obj "/lib/pkgconfig/nss.pc"= ) + (string-append out "/lib/pkgconfig")) + (delete-file (string-append obj "/lib/pkgconfig/nss.pc")= ) + (rmdir (string-append obj "/lib/pkgconfig")) + ;; Install other files. + (copy-recursively "dist/public/nss" inc) + (copy-recursively (string-append obj "/bin") bin) + (copy-recursively (string-append obj "/lib") lib) + #t)))))))) diff --git a/gnu/packages/patches/nss-3.56-pkgconfig.patch b/gnu/packages/= patches/nss-3.56-pkgconfig.patch new file mode 100644 index 0000000000..42fff822bc =2D-- /dev/null +++ b/gnu/packages/patches/nss-3.56-pkgconfig.patch @@ -0,0 +1,228 @@ +Description: Create nss.pc and nss-config +Author: Lars Wendler +Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/= nss/files/nss-3.17.1-gentoo-fixups.patch + +Modifications: + Change libdir from ${prefix}/lib64 to ${prefix}/lib/nss. + Remove optional patching in nss/Makefile. + Include -L$libdir in output from "nss-config --libs". + +Later adapted to apply cleanly to nss-3.53. + +--- nss-3.21/nss/config/Makefile ++++ nss-3.21/nss/config/Makefile +@@ -0,0 +1,40 @@ ++CORE_DEPTH =3D .. ++DEPTH =3D .. ++ ++include $(CORE_DEPTH)/coreconf/config.mk ++ ++NSS_MAJOR_VERSION =3D `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print = $$3}'` ++NSS_MINOR_VERSION =3D `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print = $$3}'` ++NSS_PATCH_VERSION =3D `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print = $$3}'` ++PREFIX =3D /usr ++ ++all: export libs ++ ++export: ++ # Create the nss.pc file ++ mkdir -p $(DIST)/lib/pkgconfig ++ sed -e "s,@prefix@,$(PREFIX)," \ ++ -e "s,@exec_prefix@,\$${prefix}," \ ++ -e "s,@libdir@,\$${prefix}/lib/nss," \ ++ -e "s,@includedir@,\$${prefix}/include/nss," \ ++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \ ++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ ++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ ++ nss.pc.in > nss.pc ++ chmod 0644 nss.pc ++ cp nss.pc $(DIST)/lib/pkgconfig ++ ++ # Create the nss-config script ++ mkdir -p $(DIST)/bin ++ sed -e "s,@prefix@,$(PREFIX)," \ ++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \ ++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ ++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ ++ nss-config.in > nss-config ++ chmod 0755 nss-config ++ cp nss-config $(DIST)/bin ++ ++libs: ++ ++dummy: all export libs ++ +--- nss-3.21/nss/config/nss-config.in ++++ nss-3.21/nss/config/nss-config.in +@@ -0,0 +1,145 @@ ++#!/bin/sh ++ ++prefix=3D@prefix@ ++ ++major_version=3D@NSS_MAJOR_VERSION@ ++minor_version=3D@NSS_MINOR_VERSION@ ++patch_version=3D@NSS_PATCH_VERSION@ ++ ++usage() ++{ ++ cat <&2 ++fi ++ ++lib_ssl=3Dyes ++lib_smime=3Dyes ++lib_nss=3Dyes ++lib_nssutil=3Dyes ++ ++while test $# -gt 0; do ++ case "$1" in ++ -*=3D*) optarg=3D`echo "$1" | sed 's/[-_a-zA-Z0-9]*=3D//'` ;; ++ *) optarg=3D ;; ++ esac ++ ++ case $1 in ++ --prefix=3D*) ++ prefix=3D$optarg ++ ;; ++ --prefix) ++ echo_prefix=3Dyes ++ ;; ++ --exec-prefix=3D*) ++ exec_prefix=3D$optarg ++ ;; ++ --exec-prefix) ++ echo_exec_prefix=3Dyes ++ ;; ++ --includedir=3D*) ++ includedir=3D$optarg ++ ;; ++ --includedir) ++ echo_includedir=3Dyes ++ ;; ++ --libdir=3D*) ++ libdir=3D$optarg ++ ;; ++ --libdir) ++ echo_libdir=3Dyes ++ ;; ++ --version) ++ echo ${major_version}.${minor_version}.${patch_version} ++ ;; ++ --cflags) ++ echo_cflags=3Dyes ++ ;; ++ --libs) ++ echo_libs=3Dyes ++ ;; ++ ssl) ++ lib_ssl=3Dyes ++ ;; ++ smime) ++ lib_smime=3Dyes ++ ;; ++ nss) ++ lib_nss=3Dyes ++ ;; ++ nssutil) ++ lib_nssutil=3Dyes ++ ;; ++ *) ++ usage 1 1>&2 ++ ;; ++ esac ++ shift ++done ++ ++# Set variables that may be dependent upon other variables ++if test -z "$exec_prefix"; then ++ exec_prefix=3D`pkg-config --variable=3Dexec_prefix nss` ++fi ++if test -z "$includedir"; then ++ includedir=3D`pkg-config --variable=3Dincludedir nss` ++fi ++if test -z "$libdir"; then ++ libdir=3D`pkg-config --variable=3Dlibdir nss` ++fi ++ ++if test "$echo_prefix" =3D "yes"; then ++ echo $prefix ++fi ++ ++if test "$echo_exec_prefix" =3D "yes"; then ++ echo $exec_prefix ++fi ++ ++if test "$echo_includedir" =3D "yes"; then ++ echo $includedir ++fi ++ ++if test "$echo_libdir" =3D "yes"; then ++ echo $libdir ++fi ++ ++if test "$echo_cflags" =3D "yes"; then ++ echo -I$includedir ++fi ++ ++if test "$echo_libs" =3D "yes"; then ++ libdirs=3D-L$libdir ++ if test -n "$lib_ssl"; then ++ libdirs=3D"$libdirs -lssl${major_version}" ++ fi ++ if test -n "$lib_smime"; then ++ libdirs=3D"$libdirs -lsmime${major_version}" ++ fi ++ if test -n "$lib_nss"; then ++ libdirs=3D"$libdirs -lnss${major_version}" ++ fi ++ if test -n "$lib_nssutil"; then ++ libdirs=3D"$libdirs -lnssutil${major_version}" ++ fi ++ echo $libdirs ++fi ++ +--- nss-3.21/nss/config/nss.pc.in ++++ nss-3.21/nss/config/nss.pc.in +@@ -0,0 +1,12 @@ ++prefix=3D@prefix@ ++exec_prefix=3D@exec_prefix@ ++libdir=3D@libdir@ ++includedir=3D@includedir@ ++ ++Name: NSS ++Description: Network Security Services ++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@ ++Requires: nspr >=3D 4.8 ++Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3 ++Cflags: -I${includedir} ++ +--- nss-3.21/nss/manifest.mn ++++ nss-3.21/nss/manifest.mn +@@ -10,7 +10,7 @@ + + RELEASE =3D nss + +-DIRS =3D coreconf lib cmd cpputil gtests ++DIRS =3D coreconf lib cmd cpputil gtests config + + lib: coreconf + cmd: lib =2D- 2.28.0 --------------3289F2623530215224B17719 Content-Type: text/x-patch; charset=UTF-8; name="0002-gnu-icedove-Update-to-78.2.2.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0002-gnu-icedove-Update-to-78.2.2.patch" =46rom d4fc615be83009ac79a36ecd9a0997d6a11dde55 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Tue, 22 Sep 2020 20:40:49 +0200 Subject: [PATCH 2/2] gnu: icedove: Update to 78.2.2. * gnu/packages/gnuzilla.scm (icedove): Update to 78.2.2. [source]: Separate from icecat-source. This allows adding patches for icedove only. [arguments]: We don't need to copy stuff in 'prepare-thunderbird-sources phase anymore. Use more flexible approach for generating cargo checksums from icecat. Update files in 'rename-to-icedove phase. Remove gone configure flags and rename disable-ion to disable-jit. [inputs]: Update icu4c to version 67 and nss to 3.56. [native-inputs]: Remove thunderbird-sources as the release tarball is used instead. Update rust and cargo to 1.41, rust-cbindgen to 0.14 and node to 10.22. * gnu/packages/patches/icedove-78-fix-new-page.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Tested-by: Jonathan Brielmaier =2D-- gnu/local.mk | 1 + gnu/packages/gnuzilla.scm | 77 ++++++++----------- .../patches/icedove-78-fix-new-page.patch | 63 +++++++++++++++ 3 files changed, 94 insertions(+), 47 deletions(-) create mode 100644 gnu/packages/patches/icedove-78-fix-new-page.patch diff --git a/gnu/local.mk b/gnu/local.mk index 579974b517..f715a09b49 100644 =2D-- a/gnu/local.mk +++ b/gnu/local.mk @@ -1137,6 +1137,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ + %D%/packages/patches/icedove-78-fix-new-page.patch \ %D%/packages/patches/icu4c-CVE-2020-10531.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 5f4d179b87..3c96775c11 100644 =2D-- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1154,12 +1154,19 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20200825000000") ;must be of the form YYYYMMDD= hhmmss +(define %icedove-build-id "20200910000000") ;must be of the form YYYYMMDD= hhmmss (define-public icedove (package (name "icedove") - (version "68.12.0") - (source icecat-source) + (version "78.2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://ftp.mozilla.org/pub/thunderbir= d/releases/" + version "/source/thunderbird-" version ".source.tar.x= z")) + (patches (search-patches "icedove-78-fix-new-page.patch")) = ; remove in 78.3.0 + (sha256 + (base32 + "0rzcfkcsxwspbbcf9c0fwclvajixwfx600hhbqc6l7yja4an9s33")))= ) (properties `((cpe-name . "thunderbird_esr"))) (build-system gnu-build-system) @@ -1174,9 +1181,6 @@ standards of the IceCat project.") (modify-phases %standard-phases (add-after 'unpack 'prepare-thunderbird-sources (lambda* (#:key inputs #:allow-other-keys) - (mkdir "comm") - (copy-recursively (assoc-ref inputs "thunderbird-sources") - "comm") (delete-file-recursively "obj-x86_64-pc-linux-gnu") (delete-file "sourcestamp.txt") #t)) @@ -1184,10 +1188,15 @@ standards of the IceCat project.") (lambda _ (use-modules (guix build cargo-utils)) (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e464= 9b934ca495991b7852b855")) - (substitute* '("Cargo.lock" "gfx/wr/Cargo.lock") - (("(\"checksum .* =3D )\".*\"" all name) - (string-append name "\"" null-hash "\""))) - (generate-all-checksums "third_party/rust")) + (for-each (lambda (file) + (format #t "patching checksums in ~a~%" file) + (substitute* (find-files "." "Cargo.lock$") + (("^checksum =3D \".*\"") + (string-append "checksum =3D \"" null-hash = "\"")))) + (find-files "." "Cargo.lock$")) + (for-each generate-all-checksums + '("third_party/rust" + "toolkit/library/rust"))) #t)) ;; Fixes issue where each installation directory generates its o= wn profile. ;; See e.g. https://trac.torproject.org/projects/tor/ticket/3145= 7 @@ -1229,12 +1238,10 @@ standards of the IceCat project.") (("mozilla.org") "guix.gnu.org"))) ;; Remove other mentions of Thunderbird in user-visible text= . (with-directory-excursion "comm/mail/base/content" - (substitute* '("newInstallPage.xhtml" - "overrides/app-license-name.html" - "newInstall.xul") + (substitute* '("overrides/app-license-name.html") (("Thunderbird") "Icedove"))) (with-directory-excursion "comm/mail/components/" - (substitute* '("mailGlue.js" + (substitute* '("MailGlue.jsm" "extensions/schemas/addressBook.json" "extensions/schemas/tabs.json" "extensions/schemas/cloudFile.json" @@ -1244,14 +1251,9 @@ standards of the IceCat project.") "im/messages/mail/Info.plist" "enterprisepolicies/moz.build" "enterprisepolicies/helpers/moz.build" - "enterprisepolicies/schemas/moz.build" - "preferences/chat.inc.xul") + "enterprisepolicies/schemas/moz.build") (("Thunderbird") "Icedove"))) - (substitute* "comm/calendar/lightning/lightning-packager.mk" - (("ifeq \\(thunderbird") - "ifeq (icedove")) (substitute* '("comm/mailnews/base/prefs/content/accountUtil= s.js" - "comm/mailnews/extensions/newsblog/content/fe= ed-subscriptions.js" "comm/common/src/customizeToolbar.js") (("AppConstants.MOZ_APP_NAME (.)=3D \"thunderbird" _ e) (format #f "AppConstants.MOZ_APP_NAME ~a=3D \"icedove" e)= )) @@ -1324,8 +1326,7 @@ standards of the IceCat project.") "ac_add_options --disable-debug\n" "ac_add_options --disable-debug-symbols\n" "ac_add_options --disable-elf-hack\n" - "ac_add_options --disable-gconf\n" - "ac_add_options --disable-ion\n" + "ac_add_options --disable-jit\n" "ac_add_options --disable-necko-wifi\n" "ac_add_options --disable-official-branding\n" "ac_add_options --disable-tests\n" @@ -1333,16 +1334,13 @@ standards of the IceCat project.") "ac_add_options --disable-webrtc\n" "ac_add_options --enable-application=3Dcomm/mail\n" "ac_add_options --enable-calendar\n" - "ac_add_options --enable-content-sandbox\n" "ac_add_options --enable-default-toolkit=3D\"cairo-g= tk3\"\n" "ac_add_options --enable-optimize\n" "ac_add_options --enable-pulseaudio\n" "ac_add_options --enable-release\n" - "ac_add_options --enable-startup-notification\n" "ac_add_options --enable-strip\n" "ac_add_options --enable-system-ffi\n" "ac_add_options --enable-system-pixman\n" - "ac_add_options --enable-system-sqlite\n" "ac_add_options --prefix=3D" out "\n" "ac_add_options --with-clang-path=3D" (assoc-ref %bu= ild-inputs "clang") "/bin/clang\n" "ac_add_options --with-distribution-id=3Dorg.gnu\n" @@ -1413,7 +1411,7 @@ standards of the IceCat project.") ("gtk+" ,gtk+) ("gtk+-2" ,gtk+-2) ("hunspell" ,hunspell) - ("icu4c" ,icu4c) + ("icu4c" ,icu4c-67) ("libcanberra" ,libcanberra) ("libevent" ,libevent) ("libffi" ,libffi) @@ -1429,7 +1427,7 @@ standards of the IceCat project.") ("mesa" ,mesa) ("mit-krb5" ,mit-krb5) ("nspr" ,nspr) - ("nss" ,nss) + ("nss" ,nss-3.56) ("pango" ,pango) ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) @@ -1439,33 +1437,18 @@ standards of the IceCat project.") ("zip" ,zip) ("zlib" ,zlib))) (native-inputs - `(("thunderbird-sources" - ;; The changeset identifier is taken from the file "sourcestamp.t= xt" - ;; in the Thunderbird release tarball. We don't use the release - ;; tarball because it duplicates the Icecat sources and only adds= the - ;; "comm" directory, which is provided by this repository. - ,(let ((changeset "b41cdff70b185358d9c4c1d4a36cfad15a24f001")) - (origin - (method hg-fetch) - (uri (hg-reference - (url "https://hg.mozilla.org/releases/comm-esr68") - (changeset changeset))) - (file-name (string-append "thunderbird-" version "-checkout"= )) - (sha256 - (base32 - "1xvky8p5r41mxdyg9amydy94p51wmmdwdz0zq2vzspr9viixf7xm"))))= ) - ("autoconf" ,autoconf-2.13) - ("cargo" ,rust "cargo") + `(("autoconf" ,autoconf-2.13) + ("cargo" ,rust-1.41 "cargo") ("clang" ,clang) ("llvm" ,llvm) ("nasm" ,nasm) - ("node" ,node) + ("node" ,node-10.22) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python) ("python2" ,python-2.7) - ("rust" ,rust) - ("rust-cbindgen" ,rust-cbindgen) + ("rust" ,rust-1.41) + ("rust-cbindgen" ,rust-cbindgen-0.14) ("which" ,which) ("yasm" ,yasm))) (home-page "https://www.thunderbird.net") diff --git a/gnu/packages/patches/icedove-78-fix-new-page.patch b/gnu/pack= ages/patches/icedove-78-fix-new-page.patch new file mode 100644 index 0000000000..fe886ca9fa =2D-- /dev/null +++ b/gnu/packages/patches/icedove-78-fix-new-page.patch @@ -0,0 +1,63 @@ +# HG changeset patch +# User Rob Lemley +# Date 1600079976 -10800 +# Node ID f085dbd311bc4b013605202de04de9a81bb55ed1 +# Parent 391f1b69f6d617dd566297dd92c5f1188c6eca20 +Bug 1664607 - Don't try to load what's new page when built with updater d= isabled. r=3Dmkmelin a=3Dwsmwk + + +When Thunderbird is built with --disable-updater, as it done by most Linu= x +distributions, accessing the nsIUpdateManager service will throw an error +resulting in a broken UI. Check AppConstants.MOZ_UPDATER when using +nsIUpdateManger to prevent errors. + +Differential Revision: https://phabricator.services.mozilla.com/D90023 + +Added "comm" to the file paths (by Jonathan Brielmaier ) + +diff --git a/comm/mail/base/content/specialTabs.js b/comm/mail/base/conte= nt/specialTabs.js +--- a/comm/mail/base/content/specialTabs.js ++++ b/comm/mail/base/content/specialTabs.js +@@ -1043,28 +1043,30 @@ var specialTabs =3D { + "" + ); + + let mstone =3D Services.appinfo.version; + if (mstone !=3D old_mstone) { + Services.prefs.setCharPref("mailnews.start_page_override.mstone", = mstone); + } + +- let update =3D Cc["@mozilla.org/updates/update-manager;1"].getServic= e( +- Ci.nsIUpdateManager +- ).activeUpdate; ++ if (AppConstants.MOZ_UPDATER) { ++ let update =3D Cc["@mozilla.org/updates/update-manager;1"].getServ= ice( ++ Ci.nsIUpdateManager ++ ).activeUpdate; + +- if (update && Services.vc.compare(update.appVersion, old_mstone) > 0= ) { +- let overridePage =3D Services.urlFormatter.formatURLPref( +- "mailnews.start_page.override_url" +- ); +- overridePage =3D this.getPostUpdateOverridePage(update, overridePa= ge); +- overridePage =3D overridePage.replace("%OLD_VERSION%", old_mstone)= ; +- if (overridePage) { +- openLinkExternally(overridePage); ++ if (update && Services.vc.compare(update.appVersion, old_mstone) >= 0) { ++ let overridePage =3D Services.urlFormatter.formatURLPref( ++ "mailnews.start_page.override_url" ++ ); ++ overridePage =3D this.getPostUpdateOverridePage(update, override= Page); ++ overridePage =3D overridePage.replace("%OLD_VERSION%", old_mston= e); ++ if (overridePage) { ++ openLinkExternally(overridePage); ++ } + } + } + }, + + /** + * Gets the override page for the first run after the application has = been + * updated. + * @param {nsIUpdate} update - The nsIUpdate for the update that has b= een applied. + =2D- 2.28.0 --------------3289F2623530215224B17719--