From 05947d92b65dd13a8b593e1bdde3dd76b11211c2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 4 Jun 2019 04:10:04 -0400 Subject: [PATCH] gnu: icecat: Update to 60.7.0-guix2. This includes updates to bundled extensions from the upstream GNU IceCat 60.7.0-gnu1 release. * gnu/packages/gnuzilla.scm (%icecat-version): Update to 60.7.0-guix2. (icecat-source)[upstream-icecat-base-version]: Update to 60.7.0. [upstream-icecat-source, gnuzilla-source]: Update hashes. [origin]: Remove the substitutions that dealt with debian-specific package code in the makeicecat script, since that code has been removed upstream. (icecat)[arguments]: Adapt the 'install-desktop-entry' phase to avoid using the Debian desktop file, which is no longer included in the IceCat sources. * gnu/packages/patches/icecat-makeicecat.patch: Adapt to upstream changes. --- gnu/packages/gnuzilla.scm | 67 +++++--------------- gnu/packages/patches/icecat-makeicecat.patch | 56 ++-------------- 2 files changed, 23 insertions(+), 100 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 825678bfc6..c2356f2a44 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -426,7 +426,7 @@ (define* (computed-origin-method gexp-promise hash-algo hash #:system system #:guile-for-build guile))) -(define %icecat-version "60.7.0-guix1") +(define %icecat-version "60.7.0-guix2") ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -450,7 +450,7 @@ (define icecat-source (base32 "08x0nijh0ja5jza95a8y030ibk756bn7zlw3a3c4750yilfhqpqa")))) - (upstream-icecat-base-version "60.3.0") ; maybe older than base-version + (upstream-icecat-base-version "60.7.0") ; maybe older than base-version (upstream-icecat-gnu-version "1") (upstream-icecat-version (string-append upstream-icecat-base-version "-gnu" @@ -463,7 +463,7 @@ (define icecat-source "/icecat-" upstream-icecat-version ".tar.bz2")) (sha256 (base32 - "0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1")))) + "09xqdfd8rwbn2n6m7n059qf1psbrj5v5kfzm7gg5xng22ddxawv8")))) (gnuzilla-commit (string-append "v" upstream-icecat-base-version)) (gnuzilla-source @@ -475,7 +475,7 @@ (define icecat-source (file-name (git-file-name "gnuzilla" upstream-icecat-base-version)) (sha256 (base32 - "19wal7hkbb4wvk40hs6d7a5paal2bfday08hwssm02srcbv48fj0")))) + "1vqhb0py28hnwcynbaad304ziciz1kn5bv1qg2q4f7g13js3b1hf")))) (makeicecat-patch (local-file (search-patch "icecat-makeicecat.patch")))) @@ -545,10 +545,6 @@ (define icecat-source #$upstream-icecat-gnu-version "\n")) (("^DATA=.*") "DATA=/tmp/gnuzilla/data\n") - (("^sed .* debian/" all) - (string-append "echo warning: skipped: " all)) - (("^debian/rules " all) - (string-append "echo warning: skipped: " all)) (("^find extensions/gnu/ ") "find extensions/gnu/ | sort ") (("/bin/sed") @@ -560,21 +556,19 @@ (define icecat-source (rename-file firefox-dir icecat-dir) (with-directory-excursion icecat-dir - (for-each mkdir-p '("l10n" "debian/config")) - (call-with-output-file "debian/control" (const #t)) + (mkdir "l10n") (format #t "Running makeicecat script...~%") (force-output) (invoke "bash" "/tmp/gnuzilla/makeicecat") - (for-each delete-file-recursively '("l10n" "debian"))) + (delete-file-recursively "l10n")) - (format #t (string-append "Unpacking l10n/* and debian/* from" + (format #t (string-append "Unpacking l10n/* from" " upstream IceCat tarball...~%")) (force-output) (unless (string=? icecat-dir old-icecat-dir) (symlink icecat-dir old-icecat-dir)) (invoke "tar" "xf" #+upstream-icecat-source - (string-append old-icecat-dir "/l10n") - (string-append old-icecat-dir "/debian")) + (string-append old-icecat-dir "/l10n")) (format #t "Packing new IceCat tarball...~%") (force-output) @@ -899,43 +893,16 @@ (define-public icecat (add-before 'configure 'install-desktop-entry (lambda* (#:key outputs #:allow-other-keys) ;; Install the '.desktop' file. - (define (swallow-%%-directives input output) - ;; Interpret '%%ifdef' directives found in the '.desktop' file. - (let loop ((state 'top)) - (match (read-line input 'concat) - ((? eof-object?) - #t) - ((? string? line) - (cond ((string-prefix? "%%ifdef" line) - (loop 'ifdef)) - ((string-prefix? "%%else" line) - (loop 'else)) - ((string-prefix? "%%endif" line) - (loop 'top)) - (else - (case state - ((top else) - (display line output) - (loop state)) - (else - (loop state))))))))) - - (let* ((out (assoc-ref outputs "out")) + (let* ((desktop-file "taskcluster/docker/icecat-snap/icecat.desktop") + (out (assoc-ref outputs "out")) (applications (string-append out "/share/applications"))) - (call-with-input-file "debian/icecat.desktop.in" - (lambda (input) - (call-with-output-file "debian/icecat.desktop" - (lambda (output) - (swallow-%%-directives input output))))) - - (substitute* "debian/icecat.desktop" - (("@MOZ_DISPLAY_NAME@") - "GNU IceCat") - (("^Exec=@MOZ_APP_NAME@") - (string-append "Exec=" out "/bin/icecat")) - (("@MOZ_APP_NAME@") - "icecat")) - (install-file "debian/icecat.desktop" applications) + (substitute* desktop-file + (("^Exec=icecat") (string-append "Exec=" out "/bin/icecat")) + (("IceCat") "GNU IceCat") + (("Icon=.*") "Icon=icecat\n") + (("NewWindow") "new-window") + (("NewPrivateWindow") "new-private-window")) + (install-file desktop-file applications) #t))) (add-after 'install-desktop-entry 'install-icons (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index 2a11bf0b70..7d4f774c83 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -3,10 +3,10 @@ in a snippet without network access. After this patch is applied, some additional changes will be made using 'substitute*'. diff --git a/makeicecat b/makeicecat -index aa46b94..db27a86 100644 +index 5a4390b..fcfa143 100644 --- a/makeicecat +++ b/makeicecat -@@ -36,75 +36,75 @@ export DEBFULLNAME="Ruben Rodriguez" +@@ -29,55 +29,55 @@ SOURCEDIR=icecat-$FFVERSION DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data @@ -25,6 +25,7 @@ index aa46b94..db27a86 100644 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc +-echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -36,49 +37,13 @@ index aa46b94..db27a86 100644 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc ++# echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz +# +# mv firefox-${FFVERSION} $SOURCEDIR - ############################################################################### - # Retrieve /debian from Ubuntu - ############################################################################### - --rm -rf firefox.$CODENAME --bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME --cd firefox.$CODENAME --bzr revert -r$REVISION --echo '3.0 (native)' > debian/source/format -- --for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch --do -- rm debian/patches/$PATCH -- sed "/$PATCH/d" -i debian/patches/series --done --sed "/test-/d" -i debian/patches/series --cd .. -- --mv firefox.$CODENAME/debian $SOURCEDIR --rm -rf firefox.$CODENAME -+# rm -rf firefox.$CODENAME -+# bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME -+# cd firefox.$CODENAME -+# bzr revert -r$REVISION -+# echo '3.0 (native)' > debian/source/format -+# -+# for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch -+# do -+# rm debian/patches/$PATCH -+# sed "/$PATCH/d" -i debian/patches/series -+# done -+# sed "/test-/d" -i debian/patches/series -+# cd .. -+# -+# mv firefox.$CODENAME/debian $SOURCEDIR -+# rm -rf firefox.$CODENAME - ############################################################################### # Retrieve l10n ############################################################################### @@ -133,19 +98,10 @@ index aa46b94..db27a86 100644 #for patch in $DATA/patches/*; do # echo Patching with file: $patch -@@ -720,7 +720,7 @@ debian/rules debian/control - touch -d "yesterday" debian/control - debian/rules debian/control - --echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)" -+# echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)" - sed "1s/firefox/icecat/" -i debian/changelog - - touch configure js/src/configure -@@ -734,6 +734,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in +@@ -590,6 +590,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in + # Fix CVE-2012-3386 /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true - -cd .. -echo Packaging tarball -tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR