From patchwork Thu Jan 25 22:55:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Cl=C3=A9ment_Lassieur?= X-Patchwork-Id: 59405 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 45D2027BBE2; Thu, 25 Jan 2024 22:56:15 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DACDF27BBE9 for ; Thu, 25 Jan 2024 22:56:11 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rT8dc-0005oa-8N; Thu, 25 Jan 2024 17:56:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rT8dY-0005nh-JK for guix-patches@gnu.org; Thu, 25 Jan 2024 17:55:57 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rT8dY-0001kA-A2 for guix-patches@gnu.org; Thu, 25 Jan 2024 17:55:56 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rT8de-0004aK-Cg for guix-patches@gnu.org; Thu, 25 Jan 2024 17:56:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68577] [PATCH v2 2/2] gnu: Add mullvadbrowser. Resent-From: =?utf-8?q?Cl=C3=A9ment?= Lassieur Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Jan 2024 22:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68577 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68577@debbugs.gnu.org, =?utf-8?q?Cl=C3=A9ment?= Lassieur , Mark H Weaver , =?utf-8?b?QW5kcsOp?= Batista , Jonathan Brielmaier , Ian Eure Received: via spool by 68577-submit@debbugs.gnu.org id=B68577.170622335317601 (code B ref 68577); Thu, 25 Jan 2024 22:56:02 +0000 Received: (at 68577) by debbugs.gnu.org; 25 Jan 2024 22:55:53 +0000 Received: from localhost ([127.0.0.1]:49538 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT8dV-0004Zp-0z for submit@debbugs.gnu.org; Thu, 25 Jan 2024 17:55:53 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:35921) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT8dS-0004Zb-Ep for 68577@debbugs.gnu.org; Thu, 25 Jan 2024 17:55:51 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 3F8403200B0F; Thu, 25 Jan 2024 17:55:38 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Thu, 25 Jan 2024 17:55:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc:content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1706223337; x=1706309737; bh=OyCzd1IOUqWWTH8roxrhAg3ZQMbCxiLsup5dpEsiLyw=; b= jisvAoX+e65tg9Frpcu+AlICv9XjJGM43J2iJNh0j4AxBnIoitH9J6Gj+7im2hcX Kc834d4dOtSXUlYQ2dZ9KMO2L7quvjhPeJR+LdWjR7bMbZsnMxYv46Cmlmg9Zll1 t1zJ+6nmb1R/jEPCLE975HesN4nLNkun5UcOo0Cg6rf7A0R9kO4PPOCcixfO75mc YxJ5PrL6Bhrd9ZfG2LoQdH2GF1lZaYgTwcB4Tt1edGzhs3Y0FEHarXXdbVRZC3AM igxowjK1HPBNTVvd78fc0kSd2cEOFpQH2GIeSPzJFulBqbsxHOfi5EM/cLxaO+k3 TpBOLmyibPTmRPXAMjAr/g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1706223337; x= 1706309737; bh=OyCzd1IOUqWWTH8roxrhAg3ZQMbCxiLsup5dpEsiLyw=; b=R rIIzAGafUO//Hb9/8wrG+ANGE0a3y3F3y+Oc0TM75FKyPxnhKmx/KC/jU6AD85bG swDNNVVpLDprFFQ0LUSLxntYQl8SwYJQZc9yqKuwJZRePcrDZ1ryZZAmxsjDJpVs o17sT0xIwLyPnn1eBixKkbzbOSwDu7EArEBfBfbABXSjq/yMEiOYa3hjQ7Cbi8Kp sU/xJ5GJcHe1NTymkq+Ck52qd7Kf8ClPsjVt6qp7STbOfFtYqJ9CxwXEApdpEaH1 WXi6/5hNaEeaJktqmbStGZsGXILKPOQb2+3yzbNG3ENPn/c7VZ3E5eHLHf/OMCi3 v2g2nIGlBUkbRl0MdVspw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdeliedgtddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepvehlrohm vghnthcunfgrshhsihgvuhhruceotghlvghmvghntheslhgrshhsihgvuhhrrdhorhhgqe enucggtffrrghtthgvrhhnpefhveegtefgleevfeefieeuleejjeehieehheefuefhvdeg jeekffejgeettedvhfenucffohhmrghinhepmhhulhhlvhgrugdrnhgvthdpthhorhhprh hojhgvtghtrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghi lhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 25 Jan 2024 17:55:35 -0500 (EST) From: =?utf-8?q?Cl=C3=A9ment?= Lassieur Date: Thu, 25 Jan 2024 23:55:16 +0100 Message-ID: <994cb541ca6331c8e69c9be725c1fce72bd8b08f.1706222112.git.clement@lassieur.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/tor-browsers.scm (%mullvadbrowser-version, %mullvadbrowser-firefox-version, %mullvadbrowser-locales, translation-mullvad-browser, mullvadbrowser-assets, mullvadbrowser-base, mullvadbrowser): New variables. Change-Id: Ie6d48823b3794710f60f0ae201a0297925221f66 --- gnu/packages/tor-browsers.scm | 162 ++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index 0355409a631a..ef6305bfb8c4 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -159,6 +159,8 @@ (define %torbrowser-version "13.0.9") (define %torbrowser-firefox-version "115.7.0esr-13.0-1-build1") ;; See tor-browser-build/projects/translation/config. +;; If Tor Browser and Mullvad Browser updates are not synchronized, maybe this +;; will have to be duplicated. (define translation-base-browser (origin (method git-fetch) @@ -837,3 +839,163 @@ (define-public torbrowser #:assets torbrowser-assets #:locales %torbrowser-locales #:base-browser-version %torbrowser-version)) + + +;; See tor-browser-build/rbm.conf for the list. +;; See browser/locales/l10n-changesets.json for the changeset. +;; See update-mozilla-locales in gnuzilla.scm to automate updating changeset. +(define %mullvadbrowser-locales + (mozilla-locales + ;; sha256 changeset locale + ;;--------------------------------------------------------------------------- + ("14wnjv13alaj04pd8i8ysillbr3ic2jqa867rbj5ncz8h4hxxfxc" "4c7e24ef78bd" "ar") + ("0is7qbykv2pj0z9ll9r35vwjp0x29vmfr10yjl3s0amfaqzjqpqc" "0a0b774407cc" "da") + ("0yq7m4v7d7ayg90m66j73mflrnp709qw9n7skhpsl9h1wbhrd7q7" "633986260777" "de") + ("018qi9zn24kzfcidsj9lbqfg5n97r295yr8fs953nyfdbim9jsfv" "accf5e4506c0" "es-ES") + ("11prhmh2cp95dpv6z0k479mb11zbfm541bvigs3gnkh3nazjvc8q" "37aa71d77cb6" "fa") + ("1lv9l98q88ixb0ph970yzphahgzbl97x0w069bkxa54kblkv1ch1" "dc40a4fd5d0e" "fi") + ("0wx4k7mwhvpv5w0wa4y5pca2q3jac62jv804nxqnfwh1bvi90wv0" "415c1f0e84bd" "fr") + ("1n7l5idw9399n8ih1r1d6m8vzpzhwmnxmr9i7jvygkdc8d6adp1k" "07d5e1ff5f9b" "it") + ("1w6nw9cd92p1ndy82wwlq9xizyq3i8rq0nj7118gbxbx368mk2kj" "e6f9db9ce3e6" "ja") + ("116a8s0k2yvijy7qf0xpqm5w66gdzs32jhc06364sdar5v34lyhh" "805b85981696" "ko") + ("0kk3cjlpghbi7j3ndb2s0c7g838fzd2mpzg01bp0cra8lzd0n2ac" "4ab6f0d05aa6" "my") + ("1i3r2ici95mazw07m2mrf192fc6bfa3x6j3c2pcc1zg7z9srihgh" "561b0cd86ec1" "nb-NO") + ("1c0m8jhn52h1dif5bswrdwrlzppgga01y61wlii4aaaw15imd6yd" "2a55df0cc389" "nl") + ("1gssvg306b80drp7kvc35kvcxwldb5sga0bapaxhv362irq1nya8" "a64a7dab01c4" "pl") + ("1dzh13x85a7src8szbrq5pjmrbak4isln9xdwjk7a1yq4g9h7jgs" "33bf2a9f4c49" "pt-BR") + ("09x2jirf04kgc118a70z0xrb3msbm7vr4f41ig4xrwf2s5b816r3" "528b76d6aaca" "ru") + ("1cyimbd42aaq2amyhdbbx26jwsns77lsfl8g9a70bsjlpwzwzryg" "cc8e8962e59c" "sv-SE") + ("03mqrvcal7i172gf9239q9fnynfp5kg9b3r1w8gr9iz7rkr22gw5" "d361502c559e" "th") + ("12srgqkqwaidcwbz0y7zr59165f7aq5k5s3b81ql7ixdbwia91pm" "f6173aca4762" "tr") + ("1dl2dpif4wwrlpx7zkz5qf8kk4vhxyf63016xcfpbhxizqqwc1ki" "df2d025ed631" "zh-CN") + ("1c63ngff9lsc1x3pi6lnkyxw19gdc65yc67p7alzvrka3cv292ia" "11f8d68148a4" "zh-TW"))) + +;; To find the last version, look at +;; https://mullvad.net/en/download/browser/linux. +(define %mullvadbrowser-version "13.0.9") + +;; To find the last Firefox version, browse +;; https://archive.torproject.org/tor-package-archive/mullvadbrowser/<%mullvadbrowser-version> +;; There should be only one archive that starts with +;; "src-firefox-mullvad-browser-". +(define %mullvadbrowser-firefox-version "115.7.0esr-13.0-1-build1") + +;; See tor-browser-build/projects/translation/config. +(define translation-mullvad-browser + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.torproject.org/tpo/translation.git") + (commit "57de1569da0e2c48fd999a13e555f6b522041993"))) + (file-name "translation-mullvad-browser") + (sha256 + (base32 + "1q3979ac92c5mib573hx9w06x3hrfw7r52wzmj9r75sz2hhsmrq3")))) + +(define mullvadbrowser-assets + ;; This is a prebuilt Mullvad Browser from which we take the assets we need. + (package + (name "mullvadbrowser-assets") + (version %mullvadbrowser-version) + (source + (origin + (method url-fetch) + (uri + (string-append + "https://archive.torproject.org/tor-package-archive/mullvadbrowser/" + version "/mullvad-browser-linux-x86_64-" version ".tar.xz")) + (sha256 + (base32 + "1f930j3c1xq88cqlqmnj0m00k0hd63cmgnxd788sp9hz56al22sc")))) + (arguments + (list + #:install-plan + ''(("Browser" "." #:include-regexp + ("^\\./fonts/" + "^\\./fontconfig/fonts.conf" + ;; Mullvad Browser Extension + "^\\./distribution/extensions/\\{d19a89b9-76c1-4a61-bcd4-49e8de916403\\}.xpi" + ))))) + (build-system copy-build-system) + (home-page "https://www.torproject.org") + (synopsis "Mullvad Browser assets") + (description "This package contains fonts and configuration files for +Mullvad Browser.") + (license license:silofl1.1))) + +(define mullvadbrowser-base + (make-torbrowser #:moz-app-name "mullvadbrowser" + #:moz-app-remotingname "Mullvad Browser" + #:branding-directory "browser/branding/mb-release" + #:assets mullvadbrowser-assets + #:locales %mullvadbrowser-locales + #:base-browser-version %mullvadbrowser-version)) + +(define-public mullvadbrowser + (package + (inherit mullvadbrowser-base) + (name "mullvadbrowser") + (version %mullvadbrowser-version) + (source + (origin + (method url-fetch) + (uri + (string-append + "https://archive.torproject.org/tor-package-archive/mullvadbrowser/" + version "/src-firefox-mullvad-browser-" + %mullvadbrowser-firefox-version ".tar.xz")) + (sha256 + (base32 + "16chkc07pqr4ypmmgy4z2grvlpvbyr161gpzy72w35dgzzff46f9")))) + (arguments + (substitute-keyword-arguments (package-arguments mullvadbrowser-base) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'ublock-private-allowed + (lambda _ + (substitute* "toolkit/components/extensions/Extension.sys.mjs" + ;; The code that gives the correct permission only applies to + ;; distribution add-ons (see installDistributionAddon() in + ;; XPIProvider.jsm). + (("this.isNoScript") + "this.isNoScript || this.id === \"uBlock0@raymondhill.net\"")))) + ;; See tor-browser-build/projects/firefox/build. + (replace 'copy-torbrowser-locales + (lambda _ + (for-each + (lambda (lang) + (system + (format #f "cp -Lr ~a/~a .mozbuild/l10n-central/" + #$translation-mullvad-browser lang))) + (map car #$%mullvadbrowser-locales)))) + (add-before 'build 'fix-profiles + ;; Otherwise the profile would change every time the install + ;; location changes, that is: at every package update. These + ;; values are already the default values for Icecat and Tor + ;; Browser. + (lambda _ + (substitute* "browser/moz.configure" + (("\"MOZ_DEDICATED_PROFILES\", True") + "\"MOZ_DEDICATED_PROFILES\", False") + (("\"MOZ_BLOCK_PROFILE_DOWNGRADE\", True") + "\"MOZ_BLOCK_PROFILE_DOWNGRADE\", False")))) + (add-after 'deploy-fonts 'deploy-extension + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (in-vicinity #$output "lib/mullvadbrowser"))) + ;; Mullvad Browser Extension (FIXME: package it) + (copy-recursively + (in-vicinity #$mullvadbrowser-assets "distribution") + (in-vicinity lib "distribution"))))) + (delete 'deploy-tor-assets) + (delete 'autoconfig-tor))))) + (inputs + (modify-inputs (package-inputs torbrowser) + (delete go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird))) + (propagated-inputs + (modify-inputs (package-propagated-inputs torbrowser) + (append ublock-origin/icecat))) + (home-page "https://mullvad.net/en/browser") + (synopsis "Privacy-focused web browser") + (description "Mullvad Browser is a privacy-focused web browser developed +in collaboration between Mullvad VPN and the Tor Project. It’s produced to +minimize tracking and fingerprinting.")))