Subject: [bug#51508] [PATCH 2/2] gnu: icedove: Update to 91.2.1.

From: Jonathan Brielmaier <[email-masked]>
Date: Sat, 30 Oct 2021 12:50:38 +0200

The profile folder moved from `~/.icedove` to `~/.thunderbird`. You may
need to migrate (copy) your profile over.

* gnu/packages/gnuzilla.scm (icedove): Update to 91.2.1.
[source]: Switch back to icecat-source.
[arguments]: `obj-x86_64-pc-linux-gnu` folder is now generated during
build, so it can't deleted in front. Remove surounding `'` from
MOZ_DEDICATED_PROFILES to follow source code. MOZ_APP_BASENAME and
MOZ_APP_DISPLAYNAME are no longer set in `comm/mail/confvars.sh`. Update
path of `customizeToolbar.js`.
Delete `'bootstrap` phase and no longer set AUTOCONF variable as the
autoconf build part was removed. Set MACH_USE_SYSTEM_PYTHON and
MOZ_APP_NAME, the latter is the binary name.
`--enable-calendar` flag got removed. Use bundled NSS until
core-updates merge.
[inputs]: Update to `icu4c-69` and `nspr-4.32`. Use bundled NSS for now.
[native-inputs]: Switch to comm-esr91 branch. Remove autoconf, add m4.
Update rust and cargo to 1.51. Use `rust-cbindgen-0.19`.
---
 gnu/packages/gnuzilla.scm | 49 ++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 3aa39bc806..30b5d6544e 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2020 Oleg Pykhalov <[email-masked]>
 ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
 ;;; Copyright © 2019, 2020 Adrian Malacoda <[email-masked]>
-;;; Copyright © 2020 Jonathan Brielmaier <[email-masked]>
+;;; Copyright © 2020, 2021 Jonathan Brielmaier <[email-masked]>
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2021 Brice Waegeneire <[email-masked]>
 ;;;
@@ -1590,12 +1590,12 @@ (define icecat-78-source
                 #t))))))))

 ;; Update this together with icecat!
-(define %icedove-build-id "20211008000000") ;must be of the form YYYYMMDDhhmmss
+(define %icedove-build-id "20211021000000") ;must be of the form YYYYMMDDhhmmss
 (define-public icedove
   (package
     (name "icedove")
-    (version "78.15.0")
-    (source icecat-78-source)
+    (version "91.2.1")
+    (source icecat-source)
     (properties
      `((cpe-name . "thunderbird_esr")))
     (build-system gnu-build-system)
@@ -1613,7 +1613,6 @@ (define-public icedove
              (mkdir "comm")
              (copy-recursively (assoc-ref inputs "thunderbird-sources")
                                "comm")
-             (delete-file-recursively "obj-x86_64-pc-linux-gnu")
              (delete-file "sourcestamp.txt")
              #t))
          (add-after 'patch-source-shebangs 'patch-cargo-checksums
@@ -1635,14 +1634,12 @@ (define-public icedove
          (add-after 'patch-source-shebangs 'fix-profile-setting
            (lambda _
              (substitute* "comm/mail/moz.configure"
-               (("'MOZ_DEDICATED_PROFILES', True")
-                "'MOZ_DEDICATED_PROFILES', False"))
+               (("MOZ_DEDICATED_PROFILES, True")
+                "MOZ_DEDICATED_PROFILES, False"))
              #t))
          (add-after 'prepare-thunderbird-sources 'rename-to-icedove
            (lambda _
              (substitute* "comm/mail/confvars.sh"
-               (("MOZ_APP_BASENAME=Thunderbird")
-                "MOZ_APP_BASENAME=Icedove\nMOZ_APP_DISPLAYNAME=Icedove")
                (("MOZ_APP_NAME=thunderbird")
                 "MOZ_APP_NAME=icedove")
                (("MOZ_UPDATER=1")
@@ -1686,7 +1683,8 @@ (define-public icedove
                               "enterprisepolicies/schemas/moz.build")
                  (("Thunderbird") "Icedove")))
              (substitute* '("comm/mailnews/base/prefs/content/accountUtils.js"
-                            "comm/common/src/customizeToolbar.js")
+                            "comm/mail/base/content/customizeToolbar.js"
+                            "comm/suite/components/customizeToolbar.js")
                (("AppConstants.MOZ_APP_NAME (.)= \"thunderbird" _ e)
                 (format #f "AppConstants.MOZ_APP_NAME ~a= \"icedove" e)))

@@ -1720,6 +1718,7 @@ (define-public icedove
                                "<!-- Guix: not a runtime dependency -->"
                                (string-drop hash 8))))
              #t))
+         (delete 'bootstrap)
          (replace 'configure
            (lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -1730,10 +1729,6 @@ (define-public icedove
                              ,@configure-flags))
                     (mozconfig (string-append (getcwd) "/.mozconfig")))
                (setenv "SHELL" bash)
-               (setenv "AUTOCONF"
-                       (string-append (assoc-ref %build-inputs
-                                                 "autoconf")
-                                      "/bin/autoconf"))
                (setenv "CONFIG_SHELL" bash)
                (setenv "QA_CONFIGURE_OPTIONS" ".*")
                (setenv "MOZBUILD_STATE_PATH"
@@ -1742,10 +1737,12 @@ (define-public icedove
                        (string-append (getcwd) "/.mozconfig"))
                (setenv "CC" "gcc")
                (setenv "MOZ_NOSPAM" "1")
+               (setenv "MACH_USE_SYSTEM_PYTHON" "1")
                (setenv "PYTHON"
                        (string-append (assoc-ref inputs "python2")
                                       "/bin/python"))
                (setenv "MOZ_BUILD_DATE" ,%icedove-build-id) ; avoid timestamp
+               (setenv "MOZ_APP_NAME" "icedove")
                (setenv "LDFLAGS" (string-append "-Wl,-rpath="
                                                 (assoc-ref outputs "out")
                                                 "/lib/icedove"))
@@ -1765,7 +1762,6 @@ (define-public icedove
                      "ac_add_options --disable-updater\n"
                      "ac_add_options --disable-webrtc\n"
                      "ac_add_options --enable-application=comm/mail\n"
-                     "ac_add_options --enable-calendar\n"
                      "ac_add_options --enable-default-toolkit=\"cairo-gtk3\"\n"
                      "ac_add_options --enable-optimize\n"
                      "ac_add_options --enable-pulseaudio\n"
@@ -1782,7 +1778,7 @@ (define-public icedove
                      "ac_add_options --with-system-jpeg\n"
                      "ac_add_options --with-system-libevent\n"
                      "ac_add_options --with-system-nspr\n"
-                     "ac_add_options --with-system-nss\n"
+                     ;"ac_add_options --with-system-nss\n"
                      "ac_add_options --with-system-zlib\n"
                      "ac_add_options --with-user-appdir=\\.icedove\n"
                      "mk_add_options MOZ_MAKE_FLAGS=-j"
@@ -1847,7 +1843,7 @@ (define-public icedove
        ("gtk+" ,gtk+)
        ("gtk+-2" ,gtk+-2)
        ("hunspell" ,hunspell)
-       ("icu4c" ,icu4c-67)
+       ("icu4c" ,icu4c-69)
        ("libcanberra" ,libcanberra)
        ("libevent" ,libevent)
        ("libffi" ,libffi)
@@ -1862,8 +1858,9 @@ (define-public icedove
        ("libxt" ,libxt)
        ("mesa" ,mesa)
        ("mit-krb5" ,mit-krb5)
-       ("nspr" ,nspr)
-       ("nss" ,nss)
+       ("nspr" ,nspr-4.32)
+       ; FIXME: create nss >= 3.68 after core-updates merge
+       ;("nss" ,nss)
        ("pango" ,pango)
        ("pixman" ,pixman)
        ("pulseaudio" ,pulseaudio)
@@ -1879,28 +1876,28 @@ (define-public icedove
         ;; 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 "2aa18076f0c3bc49d0e216798b3640891e68fada"))
+        ,(let ((changeset "a7150951959d1e337fe38d06039a0cc1618ade79"))
            (origin
              (method hg-fetch)
              (uri (hg-reference
-                   (url "https://hg.mozilla.org/releases/comm-esr78")
+                   (url "https://hg.mozilla.org/releases/comm-esr91")
                    (changeset changeset)))
              (file-name (string-append "thunderbird-" version "-checkout"))
              (sha256
               (base32
-               "0ww1rgm8hpmji9fjhinqrwf07j2jikdq8j2x87h5s3naw5898fr3")))))
-       ("autoconf" ,autoconf-2.13)
-       ("cargo" ,rust-1.41 "cargo")
+               "142r9yv9d8zxjz24wgyi7gjg31wn4k5ndn2qan5ldh4b4hm5pab8")))))
+       ("cargo" ,rust-1.51 "cargo")
        ("clang" ,clang)
        ("llvm" ,llvm)
+       ("m4" ,m4)
        ("nasm" ,nasm)
        ("node" ,node)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python)
        ("python2" ,python-2.7)
-       ("rust" ,rust-1.41)
-       ("rust-cbindgen" ,rust-cbindgen-0.14)
+       ("rust" ,rust-1.51)
+       ("rust-cbindgen" ,rust-cbindgen-0.19)
        ("which" ,which)
        ("yasm" ,yasm)))
     (home-page "https://www.thunderbird.net")
--
2.33.1