From unknown Thu Aug 14 21:22:38 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#68577 <68577@debbugs.gnu.org> To: bug#68577 <68577@debbugs.gnu.org> Subject: Status: [PATCH 0/2] gnu: Add Mullvad Browser. Reply-To: bug#68577 <68577@debbugs.gnu.org> Date: Fri, 15 Aug 2025 04:22:38 +0000 retitle 68577 [PATCH 0/2] gnu: Add Mullvad Browser. reassign 68577 guix-patches submitter 68577 Cl=C3=A9ment Lassieur severity 68577 normal tag 68577 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 18 18:15:49 2024 Received: (at submit) by debbugs.gnu.org; 18 Jan 2024 23:15:50 +0000 Received: from localhost ([127.0.0.1]:56941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQbbx-0005Gy-KV for submit@debbugs.gnu.org; Thu, 18 Jan 2024 18:15:49 -0500 Received: from lists.gnu.org ([2001:470:142::17]:45630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQbbv-00056Y-DO for submit@debbugs.gnu.org; Thu, 18 Jan 2024 18:15:48 -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 1rQbbi-00037Z-Na for guix-patches@gnu.org; Thu, 18 Jan 2024 18:15:35 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQbbg-0006Vu-NU for guix-patches@gnu.org; Thu, 18 Jan 2024 18:15:34 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 1CBA85C012D; Thu, 18 Jan 2024 18:15:31 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Thu, 18 Jan 2024 18:15:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm2; t=1705619731; x=1705706131; bh=Wm Vs6+9zVUOLoWJeFAyoh2nNiw0UwEUVNy4yC5IXdko=; b=NXFp/4u+FqWqfqT3Gz M/u9IwqBQFWFRYIwyYNWHvw2YEKNmlyRymoK8GSEHTRBRdbrM317absJVB18ahgM n60GhQSns88nhf+3+YO2oTShEHlFgZpeVQ/SLUU+BeyKg41rKJ7MpgcEUCqQKBjv JBZKeZM2WDQjtQKtjIXd4ljPBz2eqDQyAvRYB9SBq1xl9YpeIuue+1STOrQ6Onog Oe8rNrZO4/YYWQZkFkX8lt1ar2dEeevdtkXwXd2bOEnbIhP3uAi1go3X3dweV51C qhJStqnW2pQZ1ZI/L2KqUu4QwKGwTdEJ9Wq0kT/lI2iPq3YOyYObcLiF3N7rh3f+ SDQw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1705619731; x=1705706131; bh=WmVs6+9zVUOLo WJeFAyoh2nNiw0UwEUVNy4yC5IXdko=; b=VhhXykWZyDszB23eio3/8MKFCCc5U LC6cLIhE17HbjiEH+eJoCPFgjm7dQ78QS/esi6HzvaD/dqi93iIbXc2eQKOiXzM8 IcQIdMVQ9NkbI02x1fCdIc+4Fd5CmxSDZszMpTXVlTNyP3AkZFh6MrrZaHw3BpZU bXFLToYvDOneLoIli9foJ5AxoCxkshW4AXtU5nk7wxk+aBtBcR4594pllceXAwzV TWM/2zJmpf0Petgb6qlPixBuurCb3RUBGg1dfX/Pu7oTnQ5koKDHY9BUWGfaLD8C nQ5s1SZPibtACr2yTyUSNhjUAOaBox+5g8bgngkMDiXuKeFP2xrXtorKw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdejledgtdelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffogggtgfesthekre dtredtjeenucfhrhhomhepvehlrohmvghnthcunfgrshhsihgvuhhruceotghlvghmvghn theslhgrshhsihgvuhhrrdhorhhgqeenucggtffrrghtthgvrhhnpeejvdfhheeuteettd fhgefhhedtteffveefffeflefffeetieetkeejtdefveetgfenucevlhhushhtvghrufhi iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgvnhhtsehlrghsshhivg hurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 18 Jan 2024 18:15:29 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: guix-patches@gnu.org Subject: [PATCH 0/2] gnu: Add Mullvad Browser. Date: Fri, 19 Jan 2024 00:14:55 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Mark H Weaver , André Batista , Jonathan Brielmaier , Ian Eure Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=66.111.4.25; envelope-from=clement@lassieur.org; helo=out1-smtp.messagingengine.com 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, this adds Mullvad Browser, which is a privacy-focused web browser based on Firefox and done in collaboration with the Tor Browser folk. There is a commit to improve inheritance, so that the other one, the real one, is short. Clément Lassieur (2): gnu: icecat: Improve inheritance. gnu: Add mullvad-browser. gnu/packages/gnuzilla.scm | 66 +++++---- gnu/packages/tor.scm | 302 ++++++++++++++++++++++++++------------ 2 files changed, 247 insertions(+), 121 deletions(-) base-commit: 551d013a56bf7d22bac80e0fd21d971973c3cf6f prerequisite-patch-id: 228872879442058215f5282bf3ff749af09d9923 prerequisite-patch-id: 8f111ffb19ff559001251fb9e21aa8dc889d4767 -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 18 18:20:45 2024 Received: (at 68577) by debbugs.gnu.org; 18 Jan 2024 23:20:45 +0000 Received: from localhost ([127.0.0.1]:56963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQbgi-0006dI-Mk for submit@debbugs.gnu.org; Thu, 18 Jan 2024 18:20:45 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:42843) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQbgg-0006d5-8f for 68577@debbugs.gnu.org; Thu, 18 Jan 2024 18:20:43 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 393BF5C004E; Thu, 18 Jan 2024 18:20:35 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Thu, 18 Jan 2024 18:20:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705620035; x=1705706435; bh=Jon2v1hfG2GRtzMf3TEREbq+eqj57MTo3DAV8ZzUQHM=; b= F4KCjvxdXQnAPUUSa5f3VRIVkkb1MR8HQqYPFkljkA+5vf013okCg1T6lRRw7Erm 5fl1DP6NKBY/WrI35mNEJSMueyyKxNCYVFQFsYGMLJ/U5ym5RR5/21YtjvNG0ZdC zSY6g3tCUpinUcJg3HqfYRKrJu3fIZVxVmCgJwigwOzKVWDP6VBFgkg2+Kk2HYmW M9yIaH9q3kl5yZY1LIuUv7yOo6amanmY6jk20t+DbvKtoeZ3K4CL48knCpA5XzBT 7Av2sL/CqgeC9J1gyBCcbbNeihHxhdNKcoAA54qNNbwIbEALbPzyq9PS1sPUvok5 Tqt/E7e5RRs5DAaP2yqBVQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705620035; x= 1705706435; bh=Jon2v1hfG2GRtzMf3TEREbq+eqj57MTo3DAV8ZzUQHM=; b=N oY9DGLJ1TYnjRkrpQdIukXjhBCcmjXxQj1yb6tprJ+OD5D6g1VYfLE5OflTMMg/j e6fP6mNh0u5DWCEKaKnjiewAV3AVuTLBCnRythnTWZmrG/JvK/QcV3xg691s6UrJ jKhQVUiI878ds06hkCx3fpQObBNuWo45HdN19Om+aFIx8lBIOPtuzPeia1sBpBP5 1bxSVyTAreuQpNfPUiXVV5RPXcPkNhOiWKhS0G8Zh5Bs5B18whHhbAhvvxgV5QZQ 9EuDdti8GZhxNAf0hmHwPnZQ0DE3w1QZJ6YeJr0Q9DJGBQF6hV5zxdiB9Xkyq4+P Fp799G4QyPQ7Vsk5rdMfQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdejledguddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfgggtgfesth ekredtredtjeenucfhrhhomhepvehlrohmvghnthcunfgrshhsihgvuhhruceotghlvghm vghntheslhgrshhsihgvuhhrrdhorhhgqeenucggtffrrghtthgvrhhnpeeuleettdejge ejheetveehlefghfefgeegjeeufeejveffudfffefghfevvddvueenucffohhmrghinhep ghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 18 Jan 2024 18:20:33 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org Subject: [PATCH 1/2] gnu: icecat: Improve inheritance. Date: Fri, 19 Jan 2024 00:19:58 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Mark H Weaver , André Batista , Jonathan Brielmaier , Ian Eure Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/gnuzilla.scm (make-icecat-minimal): New procedure, export it. [arguments]: Split the ‘configure’ phase into several phases: ‘setenv’, ‘mozconfig’ and ‘configure’. In the ‘wrap-program’ and ‘install-icons’ phases, replace "icecat", "browser/branding/official" with ‘#$moz-app-name’ and ‘#$branding-directory’. Clean the ‘install-icons’ phase to help inheritance. (icecat-minimal): Call the ‘make-icecat-minimal’ procedure. * gnu/packages/tor.scm (make-torbrowser): New procedure. [base]: New variable corresponding to an ‘icecat-minimal’ with correct inheritance values. [arguments]: Replace ‘icecat-minimal’ with ‘base’. Change "torbrowser", "Tor Browser", "tb-release", ‘#$version’, ‘#$torbrowser-assets’, ‘#$%torbrowser-locales’ with ‘#$moz-app-name’, ‘#$moz-app-remotingname’, ‘#$branding-directory’, ‘#$base-browser-version’, ‘#$assets’ and ‘#$locales’. Adapt phases with regard to the ‘icecat-minimal’ changes. Split the ‘deploy-assets’ and the ‘autoconfig’ phases so to make inheritance easier. [inputs]: Inherit ‘base’ inputs instead of ‘icecat-minimal’. (torbrowser): Call the ‘make-torbrowser’ procedure. Change-Id: I5fcf73e53fe4481a18e13cdeb3515c3dc4430090 --- gnu/packages/gnuzilla.scm | 66 ++++++++------- gnu/packages/tor.scm | 171 ++++++++++++++++++-------------------- 2 files changed, 116 insertions(+), 121 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e3bc625bc0f5..71bf9ca99bbd 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -99,7 +99,8 @@ (define-module (gnu packages gnuzilla) #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) #:autoload (json parser) (json->scm) - #:export (all-mozilla-locales)) + #:export (all-mozilla-locales + make-icecat-minimal)) (define-public mozjs (package @@ -720,7 +721,9 @@ (define icecat-source "--sort=name" icecat-dir))))))))) -(define-public icecat-minimal +(define* (make-icecat-minimal #:key + moz-app-name + branding-directory) (package (name "icecat-minimal") (version %icecat-version) @@ -1013,16 +1016,11 @@ (define-public icecat-minimal (substitute* "build/RunCbindgen.py" (("\"--frozen\",") "")))) (delete 'bootstrap) - (replace 'configure + (add-before 'configure 'setenv ;; configure does not work followed by both "SHELL=..." and ;; "CONFIG_SHELL=..."; set environment variables instead - (lambda* (#:key outputs configure-flags #:allow-other-keys) - (let* ((bash (which "bash")) - (abs-srcdir (getcwd)) - (flags `(,(string-append "--prefix=" #$output) - ,(string-append "--with-l10n-base=" - abs-srcdir "/l10n") - ,@configure-flags))) + (lambda* (#:key outputs #:allow-other-keys) + (let ((bash (which "bash"))) (setenv "SHELL" bash) (setenv "CONFIG_SHELL" bash) @@ -1048,16 +1046,23 @@ (define-public icecat-minimal (setenv "MOZBUILD_STATE_PATH" (string-append (getcwd) "/.mozbuild")) - (format #t "build directory: ~s~%" (getcwd)) + (format #t "build directory: ~s~%" (getcwd))))) + (add-before 'configure 'mozconfig + (lambda* (#:key configure-flags #:allow-other-keys) + (let ((flags `(,(string-append "--prefix=" #$output) + ,(string-append "--with-l10n-base=" + (getcwd) "/l10n") + ,@configure-flags))) (format #t "configure flags: ~s~%" flags) (call-with-output-file "mozconfig" (lambda (port) (for-each (lambda (flag) (format port "ac_add_options ~a\n" flag)) - flags))) - - (invoke "./mach" "configure")))) + flags)))))) + (replace 'configure + (lambda _ + (invoke "./mach" "configure"))) (replace 'build (lambda* (#:key (make-flags '()) (parallel-build? #t) #:allow-other-keys) @@ -1093,8 +1098,7 @@ (define-public icecat-minimal (string-append #$output "/bin")))) (add-after 'install 'wrap-program (lambda* (#:key inputs #:allow-other-keys) - (let* ((lib (string-append #$output "/lib")) - (gtk #$(this-package-input "gtk+")) + (let* ((gtk #$(this-package-input "gtk+")) (gtk-share (string-append gtk "/share")) (ld-libs '#$(cons (file-append @@ -1112,7 +1116,8 @@ (define-public icecat-minimal ;; For the integration of native notifications ;; (same reason as icedove) "libnotify"))))) - (wrap-program (car (find-files lib "^icecat$")) + (wrap-program (format #f "~a/lib/~a/~a" + #$output #$moz-app-name #$moz-app-name) `("XDG_DATA_DIRS" prefix (,gtk-share)) ;; The following line is commented out because the icecat ;; package on guix has been observed to be unstable when @@ -1134,18 +1139,17 @@ (define-public icecat-minimal "StartupNotify=true\nStartupWMClass=Icecat")) (install-file desktop-file applications)))) (add-after 'install-desktop-entry 'install-icons - (lambda _ - (with-directory-excursion "browser/branding/official" - (for-each - (lambda (file) - (let* ((size (string-filter char-numeric? file)) - (icons (string-append #$output "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p icons) - (copy-file file (string-append icons "/icecat.png")))) - '("default16.png" "default22.png" "default24.png" - "default32.png" "default48.png" "content/icon64.png" - "mozicon128.png" "default256.png")))))))) + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (size) + (let ((oldpath (string-append + #$branding-directory "/default" size ".png")) + (newpath (string-append + #$output "/share/icons/hicolor/" size "x" + size "/apps/" #$moz-app-name ".png"))) + (mkdir-p (dirname newpath)) + (copy-file oldpath newpath))) + '("16" "22" "24" "32" "48" "64" "128" "256"))))))) (native-search-paths (list (search-path-specification (variable "ICECAT_SYSTEM_DIR") @@ -1169,6 +1173,10 @@ (define-public icecat-minimal (cpe-name . "firefox_esr") (cpe-version . ,(first (string-split version #\-))))))) +(define-public icecat-minimal + (make-icecat-minimal #:moz-app-name "icecat" + #:branding-directory "browser/branding/official")) + (define %icecat-locales '("ach" "af" "an" "ar" "ast" "az" "be" "bg" "bn" "br" "bs" "ca" "cak" "ca-valencia" "cs" "cy" "da" "de" "dsb" "el" "en-CA" "en-GB" "eo" "es-AR" diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 604be621157c..6eb0c7609f0b 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -562,9 +562,18 @@ (define torbrowser-assets Browser.") (license license:silofl1.1))) -(define-public torbrowser +(define* (make-torbrowser #:key + moz-app-name + moz-app-remotingname + branding-directory + assets + locales + base-browser-version) + (define base (make-icecat-minimal + #:moz-app-name moz-app-name + #:branding-directory branding-directory)) (package - (inherit icecat-minimal) + (inherit base) (name "torbrowser") (version %torbrowser-version) (source @@ -580,42 +589,45 @@ (define-public torbrowser "1c0p8aya7sh7nmawngkyzx2r02mvl9nd53hx2bl0jwvsj1vxxhca")))) (build-system mozilla-build-system) (arguments - (substitute-keyword-arguments (package-arguments icecat-minimal) + (substitute-keyword-arguments (package-arguments base) ((#:configure-flags flags '()) #~(cons* "--without-relative-data-dir" ;store is read-only "--disable-base-browser-update" ;; Default is "default", which is the same as "nightly". "--enable-update-channel=release" - "--with-user-appdir=.torbrowser" - "--with-branding=browser/branding/tb-release" + ;; This is useless right now but it might be used in the future. + ;; (See nsAppFileLocationProvider.cpp.) + (string-append "--with-user-appdir=." #$moz-app-name) + (string-append "--with-branding=" #$branding-directory) (string-append "--prefix=" #$output) - (string-append "--with-base-browser-version=" #$version) + (string-append "--with-base-browser-version=" + #$base-browser-version) #$flags)) ((#:phases phases) #~(modify-phases #$phases - (add-before 'configure 'setenv + (replace 'setenv (lambda _ (setenv "CONFIG_SHELL" (which "bash")) ;; Install location is prefix/lib/$MOZ_APP_NAME. Also ;; $MOZ_APP_NAME is the executable name. Default is ;; "firefox". - (setenv "MOZ_APP_NAME" "torbrowser") + (setenv "MOZ_APP_NAME" #$moz-app-name) ;; Profile location (relative to "~/."). Default is ;; lower($MOZ_APP_VENDOR/$MOZ_APP_BASENAME), which is: ;; ~/.tor project/firefox. - (setenv "MOZ_APP_PROFILE" "torbrowser/browser") + (setenv "MOZ_APP_PROFILE" #$(in-vicinity + moz-app-name "browser")) ;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL"). - (setenv "MOZ_APP_REMOTINGNAME" "Tor Browser") + (setenv "MOZ_APP_REMOTINGNAME" #$moz-app-remotingname) ;; Persistent state directory for the build system (default is ;; $HOME/.mozbuild). (setenv "MOZBUILD_STATE_PATH" (in-vicinity (getcwd) ".mozbuild")) - (setenv "MOZ_CHROME_MULTILOCALE" - (string-join '#$%torbrowser-locales)) + (setenv "MOZ_CHROME_MULTILOCALE" (string-join '#$locales)) ;; Make build reproducible. (setenv "MOZ_BUILD_DATE" #$%moz-build-date))) - (add-before 'configure 'mozconfig + (replace 'mozconfig (lambda* (#:key configure-flags #:allow-other-keys) (with-output-to-file "mozconfig" (lambda () @@ -623,9 +635,6 @@ (define-public torbrowser (for-each (lambda (flag) (format #t "ac_add_options ~a~%" flag)) configure-flags))))) - (replace 'configure - (lambda _ - (invoke "./mach" "configure"))) ;; See tor-browser-build/projects/firefox/build. (add-before 'configure 'copy-firefox-locales (lambda _ @@ -637,7 +646,7 @@ (define-public torbrowser (string-suffix? lang path)) '#$all-mozilla-locales) (in-vicinity l10ncentral lang))) - '#$%torbrowser-locales)))) + '#$locales)))) (add-after 'copy-firefox-locales 'copy-basebrowser-locales (lambda _ (let ((l10ncentral ".mozbuild/l10n-central")) @@ -661,7 +670,7 @@ (define-public torbrowser "translation-base-browser/~a/*" "~a/~a/browser/chrome/browser/")) lang l10ncentral lang))) - '#$%torbrowser-locales)))) + '#$locales)))) (add-after 'copy-basebrowser-locales 'copy-torbrowser-locales (lambda _ (let ((l10ncentral ".mozbuild/l10n-central")) @@ -698,7 +707,7 @@ (define-public torbrowser (format port " locale/~a/ (chrome/locale/~a/*)~%" lang lang) (close port))) - '#$%torbrowser-locales)))) + '#$locales)))) (add-before 'build 'fix-addons-placeholder (lambda _ (substitute* @@ -717,13 +726,24 @@ (define-public torbrowser (lambda _ (system (string-join '("./mach package-multi-locale --locales" "en-US $MOZ_CHROME_MULTILOCALE"))))) - (add-after 'install 'deploy-assets + (add-after 'install 'deploy-fonts + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (string-append #$output "/lib/" #$moz-app-name))) + ;; Fonts + (copy-recursively (in-vicinity #$assets "fontconfig") + (in-vicinity lib "fontconfig")) + (substitute* (in-vicinity lib "fontconfig/fonts.conf") + (("fonts") + (format #f "~a" (in-vicinity lib "fonts")))) + (delete-file-recursively (in-vicinity lib "fonts")) + (copy-recursively (in-vicinity #$assets "fonts") + (in-vicinity lib "fonts"))))) + (add-after 'deploy-fonts 'deploy-tor-assets (lambda* (#:key inputs #:allow-other-keys) (let ((lib (in-vicinity #$output "lib/torbrowser")) (tor #$(this-package-input "tor-client"))) ;; TorBrowser/Data/Tor/torrc-defaults - (copy-recursively (in-vicinity - #$torbrowser-assets "TorBrowser") + (copy-recursively (in-vicinity #$assets "TorBrowser") (in-vicinity lib "TorBrowser")) (substitute* (in-vicinity lib "TorBrowser/Data/Tor/torrc-defaults") @@ -733,20 +753,10 @@ (define-public torbrowser ;; The geoip and geoip6 files are in the same directory as ;; torrc-defaults. (See TorProcess.sys.mjs.) (mkdir-p (in-vicinity lib "TorBrowser/Data/Tor")) - (copy-file (in-vicinity tor "share/tor/geoip") - (in-vicinity lib "TorBrowser/Data/Tor/geoip")) (copy-file (in-vicinity tor "share/tor/geoip6") (in-vicinity lib "TorBrowser/Data/Tor/geoip6")) - ;; Fonts - (copy-recursively (in-vicinity - #$torbrowser-assets "fontconfig") - (in-vicinity lib "fontconfig")) - (substitute* (in-vicinity lib "fontconfig/fonts.conf") - (("fonts") - (format #f "~a" (in-vicinity lib "fonts")))) - (delete-file-recursively (in-vicinity lib "fonts")) - (copy-recursively (in-vicinity #$torbrowser-assets "fonts") - (in-vicinity lib "fonts"))))) + (copy-file (in-vicinity tor "share/tor/geoip") + (in-vicinity lib "TorBrowser/Data/Tor/geoip"))))) (replace 'build-sandbox-whitelist (lambda* (#:key inputs #:allow-other-keys) (define (runpath-of lib) @@ -773,8 +783,8 @@ (define-public torbrowser (display whitelist-string)))))) (add-after 'install 'autoconfig (lambda* (#:key inputs #:allow-other-keys) - (let ((lib (in-vicinity #$output "lib/torbrowser")) - (config-file "tor-browser.cfg")) + (let ((lib (string-append #$output "/lib/" #$moz-app-name)) + (config-file (string-append #$moz-app-name ".cfg"))) (with-output-to-file (in-vicinity lib "defaults/pref/autoconfig.js") (lambda () @@ -786,13 +796,6 @@ (define-public torbrowser (with-output-to-file (in-vicinity lib config-file) (lambda () (format #t "// first line must be a comment~%") - (format #t "pref(~s, ~s);~%" - "extensions.torlauncher.torrc-defaults_path" - (in-vicinity - lib "TorBrowser/Data/Tor/torrc-defaults")) - (format #t "pref(~s, ~s);~%" - "extensions.torlauncher.tor_path" - (search-input-file inputs "bin/tor")) ;; Required for Guix packaged extensions ;; SCOPE_PROFILE=1, SCOPE_APPLICATION=4, SCOPE_SYSTEM=8 ;; Default is 5. @@ -821,64 +824,40 @@ (define-public torbrowser (format #t "pref(~s, ~s);~%" "lightweightThemes.getMoreURL" "https://gnuzilla.gnu.org/mozzarella")))))) - (replace 'wrap-program + (add-after 'autoconfig 'autoconfig-tor (lambda* (#:key inputs #:allow-other-keys) - (let* ((gtk #$(this-package-input "gtk+")) - (gtk-share (string-append gtk "/share")) - (fonts.conf (in-vicinity - #$output - "lib/torbrowser/fontconfig/fonts.conf")) - (ld-libs '#$(cons - (file-append - (this-package-input "libcanberra") - "/lib/gtk-3.0/modules") - (map - (lambda (label) - (file-append - (this-package-input label) "/lib")) - '("libpng-apng" - "libxscrnsaver" - "mesa" - "pciutils" - "mit-krb5" - "eudev" - "pulseaudio" - "libnotify"))))) - (wrap-program - (in-vicinity #$output "lib/torbrowser/torbrowser") - `("XDG_DATA_DIRS" prefix (,gtk-share)) - `("LD_LIBRARY_PATH" prefix ,ld-libs) + (let ((lib (in-vicinity #$output "lib/torbrowser")) + (config-file (string-append #$moz-app-name ".cfg"))) + (let ((port (open-file (in-vicinity lib config-file) "a"))) + (format port "pref(~s, ~s);~%" + "extensions.torlauncher.torrc-defaults_path" + (in-vicinity + lib "TorBrowser/Data/Tor/torrc-defaults")) + (format port "pref(~s, ~s);~%" + "extensions.torlauncher.tor_path" + (search-input-file inputs "bin/tor")) + (close port))))) + (add-after 'wrap-program 'wrap-fonts + (lambda _ + (let ((fonts.conf (format #f "~a/lib/~a/fontconfig/fonts.conf" + #$output #$moz-app-name))) + (wrap-program (format #f "~a/lib/~a/~a" + #$output + #$moz-app-name #$moz-app-name) `("FONTCONFIG_FILE" prefix (,fonts.conf)))))) (replace 'install-desktop-entry (lambda _ (let ((apps (in-vicinity #$output "share/applications"))) (mkdir-p apps) (make-desktop-entry-file - (in-vicinity apps "torbrowser.desktop") - #:name "Tor Browser" - #:exec - (format #f "~a %u" (in-vicinity #$output "bin/torbrowser")) - #:comment - "Tor Browser is +1 for privacy and -1 for mass surveillance" + (string-append apps #$moz-app-name ".desktop") + #:name #$moz-app-remotingname + #:exec (format #f "~a/bin/~a %u" #$output #$moz-app-name) #:categories '("Network" "WebBrowser" "Security") - #:startup-w-m-class "Tor Browser" - #:icon "tor-browser")))) - (replace 'install-icons - (lambda* (#:key inputs #:allow-other-keys) - (for-each - (lambda (size) - (let ((oldpath (string-append - "browser/branding/tb-release/default" - size ".png")) - (newpath (string-append #$output - "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p newpath) - (copy-file oldpath - (in-vicinity newpath "tor-browser.png")))) - '("16" "22" "24" "32" "48" "64" "128" "256")))))))) + #:startup-w-m-class #$moz-app-remotingname + #:icon #$moz-app-name)))))))) (inputs - (modify-inputs (package-inputs icecat-minimal) + (modify-inputs (package-inputs base) (append go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird tor-client))) (propagated-inputs @@ -892,3 +871,11 @@ (define-public torbrowser attacks on the privacy of Tor users.") (license license:mpl2.0))) ;And others, see ;toolkit/content/license.html + +(define-public torbrowser + (make-torbrowser #:moz-app-name "torbrowser" + #:moz-app-remotingname "Tor Browser" + #:branding-directory "browser/branding/tb-release" + #:assets torbrowser-assets + #:locales %torbrowser-locales + #:base-browser-version %torbrowser-version)) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 18 18:20:49 2024 Received: (at 68577) by debbugs.gnu.org; 18 Jan 2024 23:20:49 +0000 Received: from localhost ([127.0.0.1]:56965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQbgm-0006dZ-Pm for submit@debbugs.gnu.org; Thu, 18 Jan 2024 18:20:49 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:46509) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQbgi-0006d7-5c for 68577@debbugs.gnu.org; Thu, 18 Jan 2024 18:20:45 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 1C9905C0129; Thu, 18 Jan 2024 18:20:37 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 18 Jan 2024 18:20:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc:cc:content-transfer-encoding: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=1705620037; x= 1705706437; bh=gsqWj5yN6ChSQ4Dk1AAHn6epb2gyJjBjYmvMLuYy810=; b=C Z/oqZQT+use7IykYFqtXiy8cLzHKRIOSoQnkyS9LNycC40kx0AHXQZ2lvUWUB3Pw 3eq7wcBpAqaZxGWudtYZMJfv0SDZKMP/gpEM7tJYw67/8H3H+1vCNFht/5fTe10z Ofyc/C4C8D4feVYg6vj/3rlf56XlrREm8bBLTBGuiquoCQvfdxn1oEYOM9Kt9wuI q+7sg1LgM98BOLVQQ1R3pq+I2fgc032XBLF7+4GUmBt8f5Xuyr/sTpv8OkyoT5V0 D1y1qxgWyiyoKvqtGC/YAbaYj1w1wP5MSnxJ9j47h1cvMzy4svWZiy7JQK7pjk// lHiSAi1cI6o30TV36Q0JQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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=1705620037; x= 1705706437; bh=gsqWj5yN6ChSQ4Dk1AAHn6epb2gyJjBjYmvMLuYy810=; b=n wrEd0MdlhpXVELTJjXJa0M0Vvike2mxPbJpcrr88cjjlQHTUpBxxnfxCEb2pW8/Q ZQQWAZxGxS9LG1OCQJ0+O8M7Eb3Nvh72GcEeDLLFjcfbipWUGbUho+y39XEfh4GW sh32IzE7dm9bJi5qLsnmv5m8+rotcgxONwdvSAkzOLFyB9CzI0rxvRNrxc0lUviB EOAFS49IJVY5rGalJFbpt7o7oLWQSxsn2PxmQV2N7juEb3dfRd7Oud3v30BHGgro hSVI99pQmI7Wm1bsHCjROpJ3TRHjMTmg8zNMPg2EWbm+p48AgV9A/LxCmYZC7SQQ zNdU2VX3GL4FHTncceCKw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdejledgtdelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtke ertdertdejnecuhfhrohhmpeevlhormhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgv nhhtsehlrghsshhivghurhdrohhrgheqnecuggftrfgrthhtvghrnheptdejleegkeevie evhfduudfgvefggeejvdejtedutedtvedujeetffefheffieejnecuffhomhgrihhnpehm uhhllhhvrggurdhnvghtpdhtohhrphhrohhjvggtthdrohhrghenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgvnhhtsehlrghsshhi vghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 18 Jan 2024 18:20:36 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org Subject: [PATCH 2/2] gnu: Add mullvad-browser. Date: Fri, 19 Jan 2024 00:19:59 +0100 Message-ID: <174f8492bd3c72fa1bd186ee29e66eb837684768.1705619435.git.clement@lassieur.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-Debbugs-Cc: Mark H Weaver , André Batista , Jonathan Brielmaier , Ian Eure Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/tor.scm (%mullvadbrowser-version, %mullvadbrowser-firefox-version, %mullvadbrowser-locales, translation-mullvad-browser, mullvadbrowser-assets, mullvadbrowser-base, mullvadbrowser): New variables. Change-Id: Ie6d48823b3794710f60f0ae201a0297925221f66 --- gnu/packages/tor.scm | 131 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 6eb0c7609f0b..357b561874c7 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -879,3 +879,134 @@ (define-public torbrowser #:assets torbrowser-assets #:locales %torbrowser-locales #:base-browser-version %torbrowser-version)) + +;; To find the last version, look at +;; https://mullvad.net/en/download/browser/linux. +(define %mullvadbrowser-version "13.0.7") + +;; 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.6.0esr-13.0-1-build1") + +;; Use the list in tor-browser-build/rbm.conf. +(define %mullvadbrowser-locales + '("ar" "da" "de" "es-ES" "fa" "fi" "fr" "it" "ja" "ko" "my" "nb-NO" "nl" + "pl" "pt-BR" "ru" "sv-SE" "th" "tr" "zh-CN" "zh-TW")) + +;; 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-public 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 + "1i7vf7cn6s5iajsp4999jpxxn8qblljrrmfs4nswmc2swdmi07gk")))) + (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 + "1hhmq0sh949vzs3mhh0pmpd2llgw149mv7kzzg2ylj8h2628y0px")))) + (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))) + '#$%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 (package-inputs icecat-minimal)) + (propagated-inputs + (list noscript/icecat + ublock-origin/icecat)) + (synopsis "Privacy-focused browser") + (description "Mullvad Browser is a privacy-focused web browser designed to +be used with a trustworthy VPN instead of the Tor Network."))) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 00:12:55 2024 Received: (at 68577) by debbugs.gnu.org; 19 Jan 2024 05:12:55 +0000 Received: from localhost ([127.0.0.1]:57225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQhBW-0002PA-C2 for submit@debbugs.gnu.org; Fri, 19 Jan 2024 00:12:55 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:41157) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQhBS-0002Ot-Kq for 68577@debbugs.gnu.org; Fri, 19 Jan 2024 00:12:52 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.west.internal (Postfix) with ESMTP id 0FE983200A90; Fri, 19 Jan 2024 00:12:41 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Fri, 19 Jan 2024 00:12:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705641161; x=1705727561; bh=gN80KpHHb8faS4DYEL7A5zj+3GdhzbaFyji4vF0IVXU=; b= ogyeRdlB7phtIxkoHwmp3JQFzCh6AZ6v0zqgPayT9ksG6sPg77dOCVXS+/Gnwq7H j8McV68y190XZt1y8noEWryuDGXhHYPJzSrbRHRPAJH49BtrYsCGj5jJu1QCE4kW x1qDwSR2D2ayIDKcgw67TElSIo87LW6peQjXMaF2GsciJlGmyUhOwU/hoWFw33rS EKZOf+gIaV3PgDqRQSOgKgutTgjvfyqln4+eCg8WcRzT7kZCbpqaCQ/sFvbCuVRN SpqumagvCnlKstCg+2YZw2DSMpvP3LsSC7OKWabLem96eOIyqocOAlzc/S6wWmlR 5egwqvZpiiqzyJZN+YTfBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705641161; x= 1705727561; bh=gN80KpHHb8faS4DYEL7A5zj+3GdhzbaFyji4vF0IVXU=; b=Z 55L0GqVP5FqpPkws5akii9FPRetgP6wUA+UNCKWDceG9CrXy11YsKNSKttNIY1TG tKS52gyXc3iMDWBF69FvnurdkpH7Pun225cD0JVqStIf+DZjB+BsKzpe/AAoPe5o UkMugUgneilezPEvEPA7DqVQW7XnWUJiaKzr1pgy92IblIFTfPgamZmchQOE8kzJ 2DGIIlOdE3OcKy2htGY6WBsMyvrvfChXqIT4+WFZBaa8V0RBSs3Q9c+ZjmNCXqt4 Y5E41L1eLb8Ko7EM3T9PLmDl+1Wiy1tSNZYfp5wncUDUPQcPOjLjkSRyKHyvTSkn AecsuRBXsCIYe+HyAVnAw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdejledgkedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfgggtgfesth ekredtredtjeenucfhrhhomhepvehlrohmvghnthcunfgrshhsihgvuhhruceotghlvghm vghntheslhgrshhsihgvuhhrrdhorhhgqeenucggtffrrghtthgvrhhnpeeuleettdejge ejheetveehlefghfefgeegjeeufeejveffudfffefghfevvddvueenucffohhmrghinhep ghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 19 Jan 2024 00:12:40 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org Subject: [PATCH v2 1/2] gnu: icecat: Improve inheritance. Date: Fri, 19 Jan 2024 06:11:59 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/gnuzilla.scm (make-icecat-minimal): New procedure, export it. [arguments]: Split the ‘configure’ phase into several phases: ‘setenv’, ‘mozconfig’ and ‘configure’. In the ‘wrap-program’ and ‘install-icons’ phases, replace "icecat", "browser/branding/official" with ‘#$moz-app-name’ and ‘#$branding-directory’. Clean the ‘install-icons’ phase to help inheritance. (icecat-minimal): Call the ‘make-icecat-minimal’ procedure. * gnu/packages/tor.scm (make-torbrowser): New procedure. [base]: New variable corresponding to an ‘icecat-minimal’ with correct inheritance values. [arguments]: Replace ‘icecat-minimal’ with ‘base’. Change "torbrowser", "Tor Browser", "tb-release", ‘#$version’, ‘#$torbrowser-assets’, ‘#$%torbrowser-locales’ with ‘#$moz-app-name’, ‘#$moz-app-remotingname’, ‘#$branding-directory’, ‘#$base-browser-version’, ‘#$assets’ and ‘#$locales’. Adapt phases with regard to the ‘icecat-minimal’ changes. Split the ‘deploy-assets’ and the ‘autoconfig’ phases so to make inheritance easier. [inputs]: Inherit ‘base’ inputs instead of ‘icecat-minimal’. (torbrowser): Call the ‘make-torbrowser’ procedure. Change-Id: I5fcf73e53fe4481a18e13cdeb3515c3dc4430090 --- gnu/packages/gnuzilla.scm | 66 ++++++++------- gnu/packages/tor.scm | 171 ++++++++++++++++++-------------------- 2 files changed, 116 insertions(+), 121 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e3bc625bc0f5..71bf9ca99bbd 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -99,7 +99,8 @@ (define-module (gnu packages gnuzilla) #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) #:autoload (json parser) (json->scm) - #:export (all-mozilla-locales)) + #:export (all-mozilla-locales + make-icecat-minimal)) (define-public mozjs (package @@ -720,7 +721,9 @@ (define icecat-source "--sort=name" icecat-dir))))))))) -(define-public icecat-minimal +(define* (make-icecat-minimal #:key + moz-app-name + branding-directory) (package (name "icecat-minimal") (version %icecat-version) @@ -1013,16 +1016,11 @@ (define-public icecat-minimal (substitute* "build/RunCbindgen.py" (("\"--frozen\",") "")))) (delete 'bootstrap) - (replace 'configure + (add-before 'configure 'setenv ;; configure does not work followed by both "SHELL=..." and ;; "CONFIG_SHELL=..."; set environment variables instead - (lambda* (#:key outputs configure-flags #:allow-other-keys) - (let* ((bash (which "bash")) - (abs-srcdir (getcwd)) - (flags `(,(string-append "--prefix=" #$output) - ,(string-append "--with-l10n-base=" - abs-srcdir "/l10n") - ,@configure-flags))) + (lambda* (#:key outputs #:allow-other-keys) + (let ((bash (which "bash"))) (setenv "SHELL" bash) (setenv "CONFIG_SHELL" bash) @@ -1048,16 +1046,23 @@ (define-public icecat-minimal (setenv "MOZBUILD_STATE_PATH" (string-append (getcwd) "/.mozbuild")) - (format #t "build directory: ~s~%" (getcwd)) + (format #t "build directory: ~s~%" (getcwd))))) + (add-before 'configure 'mozconfig + (lambda* (#:key configure-flags #:allow-other-keys) + (let ((flags `(,(string-append "--prefix=" #$output) + ,(string-append "--with-l10n-base=" + (getcwd) "/l10n") + ,@configure-flags))) (format #t "configure flags: ~s~%" flags) (call-with-output-file "mozconfig" (lambda (port) (for-each (lambda (flag) (format port "ac_add_options ~a\n" flag)) - flags))) - - (invoke "./mach" "configure")))) + flags)))))) + (replace 'configure + (lambda _ + (invoke "./mach" "configure"))) (replace 'build (lambda* (#:key (make-flags '()) (parallel-build? #t) #:allow-other-keys) @@ -1093,8 +1098,7 @@ (define-public icecat-minimal (string-append #$output "/bin")))) (add-after 'install 'wrap-program (lambda* (#:key inputs #:allow-other-keys) - (let* ((lib (string-append #$output "/lib")) - (gtk #$(this-package-input "gtk+")) + (let* ((gtk #$(this-package-input "gtk+")) (gtk-share (string-append gtk "/share")) (ld-libs '#$(cons (file-append @@ -1112,7 +1116,8 @@ (define-public icecat-minimal ;; For the integration of native notifications ;; (same reason as icedove) "libnotify"))))) - (wrap-program (car (find-files lib "^icecat$")) + (wrap-program (format #f "~a/lib/~a/~a" + #$output #$moz-app-name #$moz-app-name) `("XDG_DATA_DIRS" prefix (,gtk-share)) ;; The following line is commented out because the icecat ;; package on guix has been observed to be unstable when @@ -1134,18 +1139,17 @@ (define-public icecat-minimal "StartupNotify=true\nStartupWMClass=Icecat")) (install-file desktop-file applications)))) (add-after 'install-desktop-entry 'install-icons - (lambda _ - (with-directory-excursion "browser/branding/official" - (for-each - (lambda (file) - (let* ((size (string-filter char-numeric? file)) - (icons (string-append #$output "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p icons) - (copy-file file (string-append icons "/icecat.png")))) - '("default16.png" "default22.png" "default24.png" - "default32.png" "default48.png" "content/icon64.png" - "mozicon128.png" "default256.png")))))))) + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (size) + (let ((oldpath (string-append + #$branding-directory "/default" size ".png")) + (newpath (string-append + #$output "/share/icons/hicolor/" size "x" + size "/apps/" #$moz-app-name ".png"))) + (mkdir-p (dirname newpath)) + (copy-file oldpath newpath))) + '("16" "22" "24" "32" "48" "64" "128" "256"))))))) (native-search-paths (list (search-path-specification (variable "ICECAT_SYSTEM_DIR") @@ -1169,6 +1173,10 @@ (define-public icecat-minimal (cpe-name . "firefox_esr") (cpe-version . ,(first (string-split version #\-))))))) +(define-public icecat-minimal + (make-icecat-minimal #:moz-app-name "icecat" + #:branding-directory "browser/branding/official")) + (define %icecat-locales '("ach" "af" "an" "ar" "ast" "az" "be" "bg" "bn" "br" "bs" "ca" "cak" "ca-valencia" "cs" "cy" "da" "de" "dsb" "el" "en-CA" "en-GB" "eo" "es-AR" diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 604be621157c..8cd806fce9d3 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -562,9 +562,18 @@ (define torbrowser-assets Browser.") (license license:silofl1.1))) -(define-public torbrowser +(define* (make-torbrowser #:key + moz-app-name + moz-app-remotingname + branding-directory + assets + locales + base-browser-version) + (define base (make-icecat-minimal + #:moz-app-name moz-app-name + #:branding-directory branding-directory)) (package - (inherit icecat-minimal) + (inherit base) (name "torbrowser") (version %torbrowser-version) (source @@ -580,42 +589,45 @@ (define-public torbrowser "1c0p8aya7sh7nmawngkyzx2r02mvl9nd53hx2bl0jwvsj1vxxhca")))) (build-system mozilla-build-system) (arguments - (substitute-keyword-arguments (package-arguments icecat-minimal) + (substitute-keyword-arguments (package-arguments base) ((#:configure-flags flags '()) #~(cons* "--without-relative-data-dir" ;store is read-only "--disable-base-browser-update" ;; Default is "default", which is the same as "nightly". "--enable-update-channel=release" - "--with-user-appdir=.torbrowser" - "--with-branding=browser/branding/tb-release" + ;; This is useless right now but it might be used in the future. + ;; (See nsAppFileLocationProvider.cpp.) + (string-append "--with-user-appdir=." #$moz-app-name) + (string-append "--with-branding=" #$branding-directory) (string-append "--prefix=" #$output) - (string-append "--with-base-browser-version=" #$version) + (string-append "--with-base-browser-version=" + #$base-browser-version) #$flags)) ((#:phases phases) #~(modify-phases #$phases - (add-before 'configure 'setenv + (replace 'setenv (lambda _ (setenv "CONFIG_SHELL" (which "bash")) ;; Install location is prefix/lib/$MOZ_APP_NAME. Also ;; $MOZ_APP_NAME is the executable name. Default is ;; "firefox". - (setenv "MOZ_APP_NAME" "torbrowser") + (setenv "MOZ_APP_NAME" #$moz-app-name) ;; Profile location (relative to "~/."). Default is ;; lower($MOZ_APP_VENDOR/$MOZ_APP_BASENAME), which is: ;; ~/.tor project/firefox. - (setenv "MOZ_APP_PROFILE" "torbrowser/browser") + (setenv "MOZ_APP_PROFILE" #$(in-vicinity + moz-app-name "browser")) ;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL"). - (setenv "MOZ_APP_REMOTINGNAME" "Tor Browser") + (setenv "MOZ_APP_REMOTINGNAME" #$moz-app-remotingname) ;; Persistent state directory for the build system (default is ;; $HOME/.mozbuild). (setenv "MOZBUILD_STATE_PATH" (in-vicinity (getcwd) ".mozbuild")) - (setenv "MOZ_CHROME_MULTILOCALE" - (string-join '#$%torbrowser-locales)) + (setenv "MOZ_CHROME_MULTILOCALE" (string-join '#$locales)) ;; Make build reproducible. (setenv "MOZ_BUILD_DATE" #$%moz-build-date))) - (add-before 'configure 'mozconfig + (replace 'mozconfig (lambda* (#:key configure-flags #:allow-other-keys) (with-output-to-file "mozconfig" (lambda () @@ -623,9 +635,6 @@ (define-public torbrowser (for-each (lambda (flag) (format #t "ac_add_options ~a~%" flag)) configure-flags))))) - (replace 'configure - (lambda _ - (invoke "./mach" "configure"))) ;; See tor-browser-build/projects/firefox/build. (add-before 'configure 'copy-firefox-locales (lambda _ @@ -637,7 +646,7 @@ (define-public torbrowser (string-suffix? lang path)) '#$all-mozilla-locales) (in-vicinity l10ncentral lang))) - '#$%torbrowser-locales)))) + '#$locales)))) (add-after 'copy-firefox-locales 'copy-basebrowser-locales (lambda _ (let ((l10ncentral ".mozbuild/l10n-central")) @@ -661,7 +670,7 @@ (define-public torbrowser "translation-base-browser/~a/*" "~a/~a/browser/chrome/browser/")) lang l10ncentral lang))) - '#$%torbrowser-locales)))) + '#$locales)))) (add-after 'copy-basebrowser-locales 'copy-torbrowser-locales (lambda _ (let ((l10ncentral ".mozbuild/l10n-central")) @@ -698,7 +707,7 @@ (define-public torbrowser (format port " locale/~a/ (chrome/locale/~a/*)~%" lang lang) (close port))) - '#$%torbrowser-locales)))) + '#$locales)))) (add-before 'build 'fix-addons-placeholder (lambda _ (substitute* @@ -717,13 +726,24 @@ (define-public torbrowser (lambda _ (system (string-join '("./mach package-multi-locale --locales" "en-US $MOZ_CHROME_MULTILOCALE"))))) - (add-after 'install 'deploy-assets + (add-after 'install 'deploy-fonts + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (string-append #$output "/lib/" #$moz-app-name))) + ;; Fonts + (copy-recursively (in-vicinity #$assets "fontconfig") + (in-vicinity lib "fontconfig")) + (substitute* (in-vicinity lib "fontconfig/fonts.conf") + (("fonts") + (format #f "~a" (in-vicinity lib "fonts")))) + (delete-file-recursively (in-vicinity lib "fonts")) + (copy-recursively (in-vicinity #$assets "fonts") + (in-vicinity lib "fonts"))))) + (add-after 'deploy-fonts 'deploy-tor-assets (lambda* (#:key inputs #:allow-other-keys) (let ((lib (in-vicinity #$output "lib/torbrowser")) (tor #$(this-package-input "tor-client"))) ;; TorBrowser/Data/Tor/torrc-defaults - (copy-recursively (in-vicinity - #$torbrowser-assets "TorBrowser") + (copy-recursively (in-vicinity #$assets "TorBrowser") (in-vicinity lib "TorBrowser")) (substitute* (in-vicinity lib "TorBrowser/Data/Tor/torrc-defaults") @@ -733,20 +753,10 @@ (define-public torbrowser ;; The geoip and geoip6 files are in the same directory as ;; torrc-defaults. (See TorProcess.sys.mjs.) (mkdir-p (in-vicinity lib "TorBrowser/Data/Tor")) - (copy-file (in-vicinity tor "share/tor/geoip") - (in-vicinity lib "TorBrowser/Data/Tor/geoip")) (copy-file (in-vicinity tor "share/tor/geoip6") (in-vicinity lib "TorBrowser/Data/Tor/geoip6")) - ;; Fonts - (copy-recursively (in-vicinity - #$torbrowser-assets "fontconfig") - (in-vicinity lib "fontconfig")) - (substitute* (in-vicinity lib "fontconfig/fonts.conf") - (("fonts") - (format #f "~a" (in-vicinity lib "fonts")))) - (delete-file-recursively (in-vicinity lib "fonts")) - (copy-recursively (in-vicinity #$torbrowser-assets "fonts") - (in-vicinity lib "fonts"))))) + (copy-file (in-vicinity tor "share/tor/geoip") + (in-vicinity lib "TorBrowser/Data/Tor/geoip"))))) (replace 'build-sandbox-whitelist (lambda* (#:key inputs #:allow-other-keys) (define (runpath-of lib) @@ -773,8 +783,8 @@ (define-public torbrowser (display whitelist-string)))))) (add-after 'install 'autoconfig (lambda* (#:key inputs #:allow-other-keys) - (let ((lib (in-vicinity #$output "lib/torbrowser")) - (config-file "tor-browser.cfg")) + (let ((lib (string-append #$output "/lib/" #$moz-app-name)) + (config-file (string-append #$moz-app-name ".cfg"))) (with-output-to-file (in-vicinity lib "defaults/pref/autoconfig.js") (lambda () @@ -786,13 +796,6 @@ (define-public torbrowser (with-output-to-file (in-vicinity lib config-file) (lambda () (format #t "// first line must be a comment~%") - (format #t "pref(~s, ~s);~%" - "extensions.torlauncher.torrc-defaults_path" - (in-vicinity - lib "TorBrowser/Data/Tor/torrc-defaults")) - (format #t "pref(~s, ~s);~%" - "extensions.torlauncher.tor_path" - (search-input-file inputs "bin/tor")) ;; Required for Guix packaged extensions ;; SCOPE_PROFILE=1, SCOPE_APPLICATION=4, SCOPE_SYSTEM=8 ;; Default is 5. @@ -821,64 +824,40 @@ (define-public torbrowser (format #t "pref(~s, ~s);~%" "lightweightThemes.getMoreURL" "https://gnuzilla.gnu.org/mozzarella")))))) - (replace 'wrap-program + (add-after 'autoconfig 'autoconfig-tor (lambda* (#:key inputs #:allow-other-keys) - (let* ((gtk #$(this-package-input "gtk+")) - (gtk-share (string-append gtk "/share")) - (fonts.conf (in-vicinity - #$output - "lib/torbrowser/fontconfig/fonts.conf")) - (ld-libs '#$(cons - (file-append - (this-package-input "libcanberra") - "/lib/gtk-3.0/modules") - (map - (lambda (label) - (file-append - (this-package-input label) "/lib")) - '("libpng-apng" - "libxscrnsaver" - "mesa" - "pciutils" - "mit-krb5" - "eudev" - "pulseaudio" - "libnotify"))))) - (wrap-program - (in-vicinity #$output "lib/torbrowser/torbrowser") - `("XDG_DATA_DIRS" prefix (,gtk-share)) - `("LD_LIBRARY_PATH" prefix ,ld-libs) + (let ((lib (in-vicinity #$output "lib/torbrowser")) + (config-file (string-append #$moz-app-name ".cfg"))) + (let ((port (open-file (in-vicinity lib config-file) "a"))) + (format port "pref(~s, ~s);~%" + "extensions.torlauncher.torrc-defaults_path" + (in-vicinity + lib "TorBrowser/Data/Tor/torrc-defaults")) + (format port "pref(~s, ~s);~%" + "extensions.torlauncher.tor_path" + (search-input-file inputs "bin/tor")) + (close port))))) + (add-after 'wrap-program 'wrap-fonts + (lambda _ + (let ((fonts.conf (format #f "~a/lib/~a/fontconfig/fonts.conf" + #$output #$moz-app-name))) + (wrap-program (format #f "~a/lib/~a/~a" + #$output + #$moz-app-name #$moz-app-name) `("FONTCONFIG_FILE" prefix (,fonts.conf)))))) (replace 'install-desktop-entry (lambda _ (let ((apps (in-vicinity #$output "share/applications"))) (mkdir-p apps) (make-desktop-entry-file - (in-vicinity apps "torbrowser.desktop") - #:name "Tor Browser" - #:exec - (format #f "~a %u" (in-vicinity #$output "bin/torbrowser")) - #:comment - "Tor Browser is +1 for privacy and -1 for mass surveillance" + (string-append apps "/" #$moz-app-name ".desktop") + #:name #$moz-app-remotingname + #:exec (format #f "~a/bin/~a %u" #$output #$moz-app-name) #:categories '("Network" "WebBrowser" "Security") - #:startup-w-m-class "Tor Browser" - #:icon "tor-browser")))) - (replace 'install-icons - (lambda* (#:key inputs #:allow-other-keys) - (for-each - (lambda (size) - (let ((oldpath (string-append - "browser/branding/tb-release/default" - size ".png")) - (newpath (string-append #$output - "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p newpath) - (copy-file oldpath - (in-vicinity newpath "tor-browser.png")))) - '("16" "22" "24" "32" "48" "64" "128" "256")))))))) + #:startup-w-m-class #$moz-app-remotingname + #:icon #$moz-app-name)))))))) (inputs - (modify-inputs (package-inputs icecat-minimal) + (modify-inputs (package-inputs base) (append go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird tor-client))) (propagated-inputs @@ -892,3 +871,11 @@ (define-public torbrowser attacks on the privacy of Tor users.") (license license:mpl2.0))) ;And others, see ;toolkit/content/license.html + +(define-public torbrowser + (make-torbrowser #:moz-app-name "torbrowser" + #:moz-app-remotingname "Tor Browser" + #:branding-directory "browser/branding/tb-release" + #:assets torbrowser-assets + #:locales %torbrowser-locales + #:base-browser-version %torbrowser-version)) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 00:13:13 2024 Received: (at 68577) by debbugs.gnu.org; 19 Jan 2024 05:13:13 +0000 Received: from localhost ([127.0.0.1]:57234 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQhBo-0002QH-UV for submit@debbugs.gnu.org; Fri, 19 Jan 2024 00:13:13 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:53875) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQhBk-0002Pq-5M for 68577@debbugs.gnu.org; Fri, 19 Jan 2024 00:13:09 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 6AEF63200A70; Fri, 19 Jan 2024 00:13:00 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 19 Jan 2024 00:13:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc:cc:content-transfer-encoding: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=1705641180; x= 1705727580; bh=jm4CZD1c/WekaUeqXugE8ShVVtnB2/1hGOGXCEJzp8Q=; b=d mVt7BFplQTkhCF+UpiMyUzPAoX+Qn8eiXo0unUgLsRbZ9734kTd7AWpNC//tT4/O dqM5227H08UnhO+dKn1kwWuvI+1Qj5+UBr8yXOKIOAIKNPA76ke8UMhQeBJjzX2j LQa42MrWzzLbmXloQ0kvShk4LIfLtrXFcE5RVkS8tpGUVmgaJAHMLmBKKjEzgQgW V5hMbBA5tqjk838CyI0fI0YMIyi0PgDFwLwfLQa8xK4l3DiWncrc+J5uSRmVmOON eg1ZqiZGTZrbzV4wr3kbAqJ6pGrjT1LA+49e7IEg+J33UK7gpsfAwIXmz8hwWfBv UE8lEaRc/zeO5DnwNajTw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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=1705641180; x= 1705727580; bh=jm4CZD1c/WekaUeqXugE8ShVVtnB2/1hGOGXCEJzp8Q=; b=Z WYn1rBDIFOWC48TqWi98oD2OWHNdRdaFCSeytsbhadqwzBNWFFTKTxvvTD2kN0a9 1gdrPAtRhczjPcD1MKs7mfSsZGApBev9laj23GWYiRYjzv+5NVVH2UOSSM/zdPBr zdtcOL3jfXbK9lNW3JgyS+VfP8GaIUWNqK3WtKWNrVOdIkg8nme9EsdnaHapSmQf KwsTOT/XjXiiRXQCzSxNgZBEWcOyiTyXXT8kcxEdGuPcweDZO3YuhC6gjHVxggD7 HypQFr6TLBilmN8Nu8sfmeSrrUaHhNBoyQmAX56xWbt5g+qoHR6Z/5fhhEPX33qM Occ1r9oXQ3i5pTnOo0HgQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdejledgkedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtke ertdertdejnecuhfhrohhmpeevlhormhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgv nhhtsehlrghsshhivghurhdrohhrgheqnecuggftrfgrthhtvghrnheptdejleegkeevie evhfduudfgvefggeejvdejtedutedtvedujeetffefheffieejnecuffhomhgrihhnpehm uhhllhhvrggurdhnvghtpdhtohhrphhrohhjvggtthdrohhrghenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgvnhhtsehlrghsshhi vghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 19 Jan 2024 00:12:58 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org Subject: [PATCH v2 2/2] gnu: Add mullvadbrowser. Date: Fri, 19 Jan 2024 06:12:52 +0100 Message-ID: <35881ec56cdda1e6fafc237250bf5b9ac0509efa.1705641113.git.clement@lassieur.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/tor.scm (%mullvadbrowser-version, %mullvadbrowser-firefox-version, %mullvadbrowser-locales, translation-mullvad-browser, mullvadbrowser-assets, mullvadbrowser-base, mullvadbrowser): New variables. Change-Id: Ie6d48823b3794710f60f0ae201a0297925221f66 --- gnu/packages/tor.scm | 132 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 8cd806fce9d3..96c4970dc843 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -879,3 +879,135 @@ (define-public torbrowser #:assets torbrowser-assets #:locales %torbrowser-locales #:base-browser-version %torbrowser-version)) + +;; To find the last version, look at +;; https://mullvad.net/en/download/browser/linux. +(define %mullvadbrowser-version "13.0.7") + +;; 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.6.0esr-13.0-1-build1") + +;; Use the list in tor-browser-build/rbm.conf. +(define %mullvadbrowser-locales + '("ar" "da" "de" "es-ES" "fa" "fi" "fr" "it" "ja" "ko" "my" "nb-NO" "nl" + "pl" "pt-BR" "ru" "sv-SE" "th" "tr" "zh-CN" "zh-TW")) + +;; 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 + "1i7vf7cn6s5iajsp4999jpxxn8qblljrrmfs4nswmc2swdmi07gk")))) + (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 + "1hhmq0sh949vzs3mhh0pmpd2llgw149mv7kzzg2ylj8h2628y0px")))) + (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))) + '#$%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 (package-inputs icecat-minimal)) + (propagated-inputs + (list noscript/icecat + ublock-origin/icecat)) + (home-page "https://mullvad.net/en/browser") + (synopsis "Privacy-focused browser") + (description "Mullvad Browser is a privacy-focused web browser designed to +be used with a trustworthy VPN instead of the Tor Network."))) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 19 00:50:05 2024 Received: (at 68577) by debbugs.gnu.org; 19 Jan 2024 05:50:05 +0000 Received: from localhost ([127.0.0.1]:57254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQhlV-0002zd-2a for submit@debbugs.gnu.org; Fri, 19 Jan 2024 00:50:05 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:39911) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQhlS-0002yt-GY for 68577@debbugs.gnu.org; Fri, 19 Jan 2024 00:50:03 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 362C63200A9A; Fri, 19 Jan 2024 00:49:54 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Fri, 19 Jan 2024 00:49:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705643393; x=1705729793; bh=rMN4nJL0u1jIZ8iq7KjnIejX1o3qY9syOQ0Su2lX/Co=; b= OZAs7CTZkrlB9d92ojFr/Tk1cOcS+p9qyU368jNKirurCMLI32+O1d+NpLZ9+1mA MtwAw7HWfG6MK4m+w9W6ir3SUlKm1OK7IdiaAd8w7HcUF3jENTsL1s/idoZwe9s5 /kI/ms4yXOV0qUgp+GVXwiDeBFfvrnFO885DBfb/u/97vMLz5CjRK2eu680j+ugz xYSQkTZxJi6+T4KmH0EjMvdjS1G4p0Pm5Tk6h6ZPhnH6b24O9aQ5+P3bpAGoabXi c3XeHUqiytk+r+x6STimMPNaxh5+oCTM8t3zPYoltyuaDW9EaCdaghk/kegS3//2 TDidWR5GmQJvWsFSCqoFSg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705643393; x= 1705729793; bh=rMN4nJL0u1jIZ8iq7KjnIejX1o3qY9syOQ0Su2lX/Co=; b=H Br8GZBpXjQ5j9fXGhIeSJvghRsVaQhs7OzuUVZDHLXp4YIwyEBMPJeZdDHllaxgW 0Xqp4XgX8vO8GuJb932t37zqJsFeaWVKErh0VdqzLmuxzJI17Vr2/UqGdA6PlnDG wuO3lRfSwRSLYHYCzC3Vl1eS+B8y9E5XmzxXI1IoopVbb02BCXqxJ821c0K0tlW6 TP5BLHoDfLmzno08YLJ3j9EXYl2FQkd3i29kjMXg9q7S7AHy14a/M9o/S+BI+CUC //0r5cGSbI2vbkk57l9kujbonUqNYA/Ul2pPHTrsZfA9qqeGR46ecqI9QV/NcF3Z m8ywcDs1fOtyTiqbhtCBg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdejledgkeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfgggtgfesth ekredtredtjeenucfhrhhomhepvehlrohmvghnthcunfgrshhsihgvuhhruceotghlvghm vghntheslhgrshhsihgvuhhrrdhorhhgqeenucggtffrrghtthgvrhhnpeeltdehgfdvge dtfedvheehtdfhgfduhedvudetveeuvdehjeevleekveehheeileenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgvnhhtsehlrghssh hivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 19 Jan 2024 00:49:52 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org Subject: [PATCH v2 0/2] gnu: Add Mullvad Browser. Date: Fri, 19 Jan 2024 06:49:12 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Clément Lassieur (2): gnu: icecat: Improve inheritance. gnu: Add mullvadbrowser. gnu/packages/gnuzilla.scm | 66 +++++---- gnu/packages/tor.scm | 303 ++++++++++++++++++++++++++------------ 2 files changed, 248 insertions(+), 121 deletions(-) base-commit: f3fdb4e041cb5740ba0b38b9ad017571f8414d33 prerequisite-patch-id: 2f48ca3016a92bf7652e05c733e346b51cee9c27 -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 00:30:40 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 05:30:40 +0000 Received: from localhost ([127.0.0.1]:39705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRmtL-0000Pg-QE for submit@debbugs.gnu.org; Mon, 22 Jan 2024 00:30:40 -0500 Received: from world.peace.net ([64.112.178.59]:49002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRmtG-0000PJ-Dl for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 00:30:38 -0500 Received: from mhw by world.peace.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rRmt1-0005f8-8O; Mon, 22 Jan 2024 00:30:19 -0500 From: Mark H Weaver To: =?utf-8?Q?Cl=C3=A9ment?= Lassieur , 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH 0/2] gnu: Add Mullvad Browser. In-Reply-To: References: Date: Mon, 22 Jan 2024 00:29:34 -0500 Message-ID: <871qaandeu.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Cl=C3=A9ment, Cl=C3=A9ment Lassieur writes: > Hi, this adds Mullvad Browser, which is a privacy-focused web browser bas= ed on > Firefox and done in collaboration with the Tor Browser folk. > > There is a commit to improve inheritance, so that the other one, the real= one, > is short. I'd prefer for Mullvad to have its own package definition that does not inherit from IceCat. The issue from my perspective is that I don't want to be compelled to coordinate with you every time I make a nontrivial update to IceCat. Thanks, Mark From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 00:58:27 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 05:58:27 +0000 Received: from localhost ([127.0.0.1]:39729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRnKF-0001HQ-4E for submit@debbugs.gnu.org; Mon, 22 Jan 2024 00:58:27 -0500 Received: from world.peace.net ([64.112.178.59]:49220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRnKA-0001Gz-E2 for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 00:58:25 -0500 Received: from mhw by world.peace.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rRnJu-0005pV-8n; Mon, 22 Jan 2024 00:58:06 -0500 From: Mark H Weaver To: =?utf-8?Q?Cl=C3=A9ment?= Lassieur , 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH 2/2] gnu: Add mullvad-browser. In-Reply-To: <174f8492bd3c72fa1bd186ee29e66eb837684768.1705619435.git.clement@lassieur.org> References: <174f8492bd3c72fa1bd186ee29e66eb837684768.1705619435.git.clement@lassieur.org> Date: Mon, 22 Jan 2024 00:57:22 -0500 Message-ID: <87y1chnc4i.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Cl=C3=A9ment, Cl=C3=A9ment Lassieur writes: > +(define-public 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/mullvadbrow= ser/" > + version "/mullvad-browser-linux-x86_64-" version ".tar.xz")) > + (sha256 > + (base32 > + "1i7vf7cn6s5iajsp4999jpxxn8qblljrrmfs4nswmc2swdmi07gk")))) > + (arguments > + (list > + #:install-plan > + ''(("Browser" "." #:include-regexp > + ("^\\./fonts/" > + "^\\./fontconfig/fonts.conf" > + ;; Mullvad Browser Extension > + "^\\./distribution/extensions/\\{d19a89b9-76c1-4a61-bcd4-49e8= de916403\\}.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))) Guix packages should, wherever feasible, avoid using components from pre-built binary distributions. Each required font family should be added as a separate Guix package following our conventions for font packages. As for the configuration files: how about distributing them separately, or as part of the Mullvad source distribution? Thanks, Mark From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 01:10:24 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 06:10:24 +0000 Received: from localhost ([127.0.0.1]:39766 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRnVn-0001or-RZ for submit@debbugs.gnu.org; Mon, 22 Jan 2024 01:10:24 -0500 Received: from world.peace.net ([64.112.178.59]:49322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRnVl-0001oW-3F for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 01:10:22 -0500 Received: from mhw by world.peace.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rRnVW-0005tq-7G; Mon, 22 Jan 2024 01:10:06 -0500 From: Mark H Weaver To: =?utf-8?Q?Cl=C3=A9ment?= Lassieur , 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH 1/2] gnu: icecat: Improve inheritance. In-Reply-To: References: Date: Mon, 22 Jan 2024 01:09:21 -0500 Message-ID: <87ttn5nbkj.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Cl=C3=A9ment, I see now that in November, you added 'torbrowser', which inherits from 'icecat-minimal'. > commit 756ba0429e84ee0f8ce30484439b78c00c61d286 > Author: Cl=C3=A9ment Lassieur > Date: Sun Nov 12 02:23:27 2023 +0100 >=20 > gnu: Add torbrowser. >=20=20=20=20=20 > * gnu/packages/tor.scm (torbrowser): New variable. > (torbrowser-assets): New variable. > * gnu/packages/browser-extensions.scm (noscript): New variable. > (noscript/icecat): New variable. >=20=20=20=20=20 > Co-authored-by: Andr=C3=A9 Batista > Change-Id: I73dc53905e4a028108bb34aae07e44256cf16c85 Did you consult me on this change? I don't remember seeing anything about this in my mailbox. This change concerns me, because it compels me to coordinate with you when making nontrivial IceCat updates. As things stand now, it seems that the 'icecat' and 'torbrowser' packages must be updated together, in lock step. Also, do 'torbrowser' and 'mullvad' both comply with the requirements of the GNU FSDG? For example, do they support EME? Do they steer the user to nonfree software, e.g. nonfree addons. Thanks, Mark From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 01:16:54 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 06:16:54 +0000 Received: from localhost ([127.0.0.1]:39776 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRnc6-00024J-GJ for submit@debbugs.gnu.org; Mon, 22 Jan 2024 01:16:54 -0500 Received: from world.peace.net ([64.112.178.59]:49380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRnc4-000244-Cy for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 01:16:53 -0500 Received: from mhw by world.peace.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rRnbs-0005v0-8x; Mon, 22 Jan 2024 01:16:40 -0500 From: Mark H Weaver To: =?utf-8?Q?Cl=C3=A9ment?= Lassieur , 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH 2/2] gnu: Add mullvad-browser. In-Reply-To: <87y1chnc4i.fsf@netris.org> References: <174f8492bd3c72fa1bd186ee29e66eb837684768.1705619435.git.clement@lassieur.org> <87y1chnc4i.fsf@netris.org> Date: Mon, 22 Jan 2024 01:15:56 -0500 Message-ID: <87r0i9nb9k.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Earlier, I wrote: > Guix packages should, wherever feasible, avoid using components from > pre-built binary distributions. Each required font family should be > added as a separate Guix package following our conventions for font > packages. As for the configuration files: how about distributing them > separately, or as part of the Mullvad source distribution? These comments apply to 'torbrowser-assets' as well, which I only just found out about. Mark From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 05:23:51 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 10:23:51 +0000 Received: from localhost ([127.0.0.1]:39937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRrT5-0000ae-8n for submit@debbugs.gnu.org; Mon, 22 Jan 2024 05:23:51 -0500 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:33657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRrT0-0000aN-L9 for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 05:23:50 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 091D432004CE; Mon, 22 Jan 2024 05:23:34 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Mon, 22 Jan 2024 05:23:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705919014; x=1706005414; bh=Ut2TSed5a3e3TdH2Uqn/By7t6qSOaXnQtFgaVH8Ocgg=; b= kDEX5TOQt8i/g8EVb5hPnokTQamt7FaoG8BpLMi6RCNkF2pwoYDnDqjAtcLhvnOV Zx10akB/LmhVcJupMHvcrX/te5vJ1FGRd3OD3MISEXgYZriXuLPVdY/Qu/1pf6hi cij/P4k4KJBO6x6GPn8Cj3tdhVWrQnLwr3EasHWlD+FwlpGIYaUS7zrUaLCrTX38 WjB8fkvfmQcy5/g+G8iKOOTPVfFBb0h3s3/jcF1oIBhaDr5LBQWNrtiLpidk54eW wSo/v11HqdJwPekOZyugY6rp8JZ29cLwi+ASDSgl5uRDMaxr5rbZh1/lrDsqblQO /ozXF1boPEGXxvSqA/FABA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705919014; x= 1706005414; bh=Ut2TSed5a3e3TdH2Uqn/By7t6qSOaXnQtFgaVH8Ocgg=; b=t 8PM+F92lurDaRX3me18ZUzckGLSzlbQPaSVQUV+lb576hvgXHx148xqNQghlp1MX v0gqTXJDK65WnGtLDxUw2m1NnOOsCPSClputxXWP3JxVpd5lR7mWIcMzG7jZrbpG sr2BWBzlfIU5Vu1UHeiHw7X8Mob9V5urWjU1UyiSTZFWJA2Du+eaT+g1AbVjTQ0w wMDr30KAO1leRNKT+vcZpD+mg/kIWwifo7B0gRi/1z5BVr1yb+yT5/RHJNQ6LsD4 irj4rG1f6UQJGGEyUwQq/RlosT1lSUHIPiDZIU58jgtLA+sVf50Uv82odJNtEBCl RsmR8Q1gY9uCdjiECJqaQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekiedgudegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeekheefffdtfeffueevkefgfffhtddugfdugeeugeev gfduteffudfgfefhjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Jan 2024 05:23:31 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: Mark H Weaver Subject: Re: [bug#68577] [PATCH 0/2] gnu: Add Mullvad Browser. In-Reply-To: <871qaandeu.fsf@netris.org> (Mark H. Weaver's message of "Mon, 22 Jan 2024 00:29:34 -0500") References: <871qaandeu.fsf@netris.org> Date: Mon, 22 Jan 2024 11:23:27 +0100 Message-ID: <87fryp650g.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Jan 22 2024, Mark H Weaver wrote: > Hi Cl=C3=A9ment, > > Cl=C3=A9ment Lassieur writes: > >> Hi, this adds Mullvad Browser, which is a privacy-focused web browser ba= sed on >> Firefox and done in collaboration with the Tor Browser folk. >> >> There is a commit to improve inheritance, so that the other one, the rea= l one, >> is short. > > I'd prefer for Mullvad to have its own package definition that does not > inherit from IceCat. The issue from my perspective is that I don't want > to be compelled to coordinate with you every time I make a nontrivial > update to IceCat. Sure, no problem. That will make things easier. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 05:33:52 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 10:33:52 +0000 Received: from localhost ([127.0.0.1]:39951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRrcl-0000rs-Qt for submit@debbugs.gnu.org; Mon, 22 Jan 2024 05:33:52 -0500 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:39605) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRrcj-0000rU-FO for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 05:33:51 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id F16B73200A57; Mon, 22 Jan 2024 05:33:38 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Mon, 22 Jan 2024 05:33:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705919618; x=1706006018; bh=NtUqHLZwdW2bJYVSA+rF61HL5JBMWkmwTqTw6GOaOg4=; b= ofNOjHxQfRVEGfkssODk3DPh/jaLJY6bgpwEbW6eaS0CIJb6xGvGRNprTmlv2Jz2 b+AeKGdccQSakFodN80lojcGXXtv2bJFHCSrQZ+MRnkI/K/SmtIVCqPMo+wtzLNO sN62yfqIf6Qad9e2O8wNbyCza6uLw9RYq98wDcy/KSUxRJHZBqYA8xNbjANmbHh6 uVnC1pJDM35A9AHlhL6jCuXd+dnZbA/G/7yfqdPxo4Y+dyXPqMDlE/oDmi7JSecT D/lvWqeWFPbW53nOLIHc+jJMaPRxiiB3DMFiAINk0K6Efs7kSDMEVB04K77S28YH MUYJeKlx1MSuxwNu9+4M2g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705919618; x= 1706006018; bh=NtUqHLZwdW2bJYVSA+rF61HL5JBMWkmwTqTw6GOaOg4=; b=W rLnXwQ+2XrGVbWBg+NC/8gNBQ/gA5cno1HhRMPP82QX11c2/bSYMxO/KaIBC0jfz tv2DY7mpGVHcJyGJTknaTzvbbPbamI91e2cZcZfAc8VlWHHbXtiyFLSjdYaafBLt l//6mQAPOS5R5SOBxmkhvcRIE2IweFhpKS2yLzPgceL2v9h7Ktz5pm5pWLKSURqI 21+Ewg22tyZQLfcIVZ7YNMBNhoZg8/zx7JguSXmNR7HADygvvSED9cAQwF6Tz0Rd erUX3UwP9vfMHql5J4U5229J/8Lw84pfO9ji8EVMzLx4X8EWqMHS5dzUoE5e+5/p 2mkmhAB3BaYId4qXoDLSw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekiedgudeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepjeeggeduuefhvdfhtddvfeffvdelvdetkeduueduffei gefgheffgfeigfeuuddvnecuffhomhgrihhnpehtohhrphhrohhjvggtthdrohhrghenuc evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgv nhhtsehlrghsshhivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Jan 2024 05:33:36 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: Mark H Weaver Subject: Re: [bug#68577] [PATCH 2/2] gnu: Add mullvad-browser. In-Reply-To: <87y1chnc4i.fsf@netris.org> (Mark H. Weaver's message of "Mon, 22 Jan 2024 00:57:22 -0500") References: <174f8492bd3c72fa1bd186ee29e66eb837684768.1705619435.git.clement@lassieur.org> <87y1chnc4i.fsf@netris.org> Date: Mon, 22 Jan 2024 11:33:34 +0100 Message-ID: <87cytt64jl.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Jan 22 2024, Mark H Weaver wrote: > Hi Cl=C3=A9ment, > > Cl=C3=A9ment Lassieur writes: > >> +(define-public mullvadbrowser-assets >> + ;; This is a prebuilt Mullvad Browser from which we take the assets w= e need. >> + (package >> + (name "mullvadbrowser-assets") >> + (version %mullvadbrowser-version) >> + (source >> + (origin >> + (method url-fetch) >> + (uri >> + (string-append >> + "https://archive.torproject.org/tor-package-archive/mullvadbro= wser/" >> + version "/mullvad-browser-linux-x86_64-" version ".tar.xz")) >> + (sha256 >> + (base32 >> + "1i7vf7cn6s5iajsp4999jpxxn8qblljrrmfs4nswmc2swdmi07gk")))) >> + (arguments >> + (list >> + #:install-plan >> + ''(("Browser" "." #:include-regexp >> + ("^\\./fonts/" >> + "^\\./fontconfig/fonts.conf" >> + ;; Mullvad Browser Extension >> + "^\\./distribution/extensions/\\{d19a89b9-76c1-4a61-bcd4-49e= 8de916403\\}.xpi" >> + ))))) >> + (build-system copy-build-system) >> + (home-page "https://www.torproject.org") >> + (synopsis "Mullvad Browser assets") >> + (description "This package contains fonts and configuration files f= or >> +Mullvad Browser.") >> + (license license:silofl1.1))) > > Guix packages should, wherever feasible, avoid using components from > pre-built binary distributions. Each required font family should be > added as a separate Guix package following our conventions for font > packages. Not feasible in this case, because fonts are used for fingerprinting. We need to make sure they are identical to upstream fonts. We should do the same to Icecat by the way. > As for the configuration files: how about distributing them > separately, or as part of the Mullvad source distribution? What's the issue? From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 06:25:28 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 11:25:29 +0000 Received: from localhost ([127.0.0.1]:39976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRsQi-0002aQ-Al for submit@debbugs.gnu.org; Mon, 22 Jan 2024 06:25:28 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:50773) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRsQe-0002Uj-R2 for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 06:25:26 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 89D7F3200A3D; Mon, 22 Jan 2024 06:25:12 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Mon, 22 Jan 2024 06:25:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705922712; x=1706009112; bh=IQRrp3CeOiJfSzBVr0PJF57qFZPSwq0bW9JS0alqcWA=; b= TqUftDYovmRq/gDyr6L7uqDiaEHd6Grm+Uxn5RRiChXN6p2qDw1P4wzOkDh28y0s mcS0szFCyg2c2V1rXNOsnUUic7hgcVz8dLlUkH6yJVzT4bEPpzga5Cne9pB7Wkzc Yw4ldYjclhG35tSnOnBFF+yGfVt44kTIpe+CuGNlkPlwuSe3Lg33eTr9/49EuPN8 v0+XH7rbd7AYJ22bhGPCNMxLOK6lMSOzpo54021h0U8Pgh49rbdfRFGcPduiFz/k C3uJswvpi9HJoviU41UzFryieXrc7LKVf0jXKdU9RjW6DeopBg4uaKstwKfH0mzW dgudsgCfgLfmqmQi5665wQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705922712; x= 1706009112; bh=IQRrp3CeOiJfSzBVr0PJF57qFZPSwq0bW9JS0alqcWA=; b=U Xz9o9XtQoN5vbFihIW7TEF0CDskwQkn+9Aqhtd7Xl1UiW3wrOyQ+ROloBDuo9exX PkVPGZ0J7KBU9v6AbDYLuidOb387/xV7YzsD2Ra7vGCklzyHU5jiGyKE6RWy+OrL BvGtHu4qH8uWHOlwTtO8nx366MGBABpxo0lyLaHuoacQlFzqTvv9Vw7etKxN2fBs bBFYkvQFVoHlriKoes8PU0bTC2z2mSAXXLKhARK08tC1g463aax4uS/d1NmaqZL0 2UnaBLcSOws9aNecpYnc9Cg47LzLvOQu8S+OXnI4KUGUgr50IYvB5fD4Ug9srW7F eSKW2HDytXmL8tLh3jdnA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekiedgvdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepudffhedulefhleeilefhteeuteehtdeihfektdeludfh keehffehleegueelgefgnecuffhomhgrihhnpehgnhhurdhorhhgpdhtrhhishhquhgvlh drohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhm pegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Jan 2024 06:25:09 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: Mark H Weaver Subject: Re: [bug#68577] [PATCH 1/2] gnu: icecat: Improve inheritance. In-Reply-To: <87ttn5nbkj.fsf@netris.org> (Mark H. Weaver's message of "Mon, 22 Jan 2024 01:09:21 -0500") References: <87ttn5nbkj.fsf@netris.org> Date: Mon, 22 Jan 2024 12:25:06 +0100 Message-ID: <878r4hliel.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Jan 22 2024, Mark H Weaver wrote: > Hi Cl=C3=A9ment, > > I see now that in November, you added 'torbrowser', which inherits from > 'icecat-minimal'. > >> commit 756ba0429e84ee0f8ce30484439b78c00c61d286 >> Author: Cl=C3=A9ment Lassieur >> Date: Sun Nov 12 02:23:27 2023 +0100 >>=20 >> gnu: Add torbrowser. >>=20=20=20=20=20 >> * gnu/packages/tor.scm (torbrowser): New variable. >> (torbrowser-assets): New variable. >> * gnu/packages/browser-extensions.scm (noscript): New variable. >> (noscript/icecat): New variable. >>=20=20=20=20=20 >> Co-authored-by: Andr=C3=A9 Batista >> Change-Id: I73dc53905e4a028108bb34aae07e44256cf16c85 > > Did you consult me on this change? I don't remember seeing anything > about this in my mailbox. Well - You didn't reply to https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D66408, which was an Icecat substantial change, sent on October 8. - It took you 50 days to reply to https://lists.gnu.org/archive/html/gnuzilla-dev/2023-11/index.html (And it's not like this mailing list was full of messages.) - My Tor Browser work was started and pushed before I got your first reply. - The Tor Browser thread is from 2020, so you had plenty of time to look at it. - You are not on the Mozilla Team: https://git.savannah.gnu.org/cgit/guix.git/tree/etc/teams.scm. So I believe it's perfectly understandable that at that time (Novembre - December 2023) I didn't think it was worth CCing you. Please note: now that you have replied to me at least once, I'm CCing you again for the Mullvad work. > This change concerns me, because it compels me to coordinate with you > when making nontrivial IceCat updates. As things stand now, it seems > that the 'icecat' and 'torbrowser' packages must be updated together, > in lock step. In common, we have: - the translation packages - a few phases And we are both ESR based. I don't worry too much about it and worst case scenario is I'll use our own translation SHA. That being said, I'm convinced that it's better (at least for Tor Browser and Mullvad Browser) to not inherit the Icecat package. > Also, do 'torbrowser' and 'mullvad' both comply with the requirements of > the GNU FSDG? I think so, if you think there is something else to do to comply, please inform us. > For example, do they support EME? Of course not. > Do they steer the user to nonfree software, e.g. nonfree addons. No. Well I should probably get rid of Mozzarella because there is a non-free software there and it looks unmaintained.=20 https://lists.gnu.org/archive/html/bug-gnuzilla/2024-01/msg00000.html https://gitlab.trisquel.org/joeall/mozzarella > > Thanks, > Mark From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 06:41:35 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 11:41:36 +0000 Received: from localhost ([127.0.0.1]:39987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRsgJ-00032j-LW for submit@debbugs.gnu.org; Mon, 22 Jan 2024 06:41:35 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:50131) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRsgG-00032O-U5 for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 06:41:34 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id D524A3200AA2; Mon, 22 Jan 2024 06:41:20 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Mon, 22 Jan 2024 06:41:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc:cc: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=1705923680; x=1706010080; bh=cNHoBFgFd9 r5vndDfMh0PAanzufvk3dS5QBHDY9oO5E=; b=iWgeG4MzTmJTfAA6wAw9+OvDBz RNh2PE5Gr6G3uNC0nOfGqNlYK7Z60jyfT8+Q9v0uw+Py3eUbxyAj3uOHyVyQw4xL L2n/c6fHj0U/q5Sa9F5cuBf6KjIO+QMdq3f5+Hmy0G28L1/EkPjg+TYyAdlOumr7 po43kOm3z5f3amtiJwiKC15Kp5m4xMzXIH62yb4CkwK0JHHbU12wWVZigaR4ndhF M9LZ91GBdMsDG8lV/UjUm+rsBjl22e4GOxb8nQBgFXcOtjmCPdJe2z2LwHVyMDr9 0e9aQ+Vzc3xA+d+Uni9pTz7QujETePs5XdoxPZj4cvAGDgrkaEptBzWixFhA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc: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=1705923680; x=1706010080; bh=cNHoBFgFd9r5vndDfMh0PAanzufv k3dS5QBHDY9oO5E=; b=PuqJRtN2BoPT5HmUDf/KVgub6+WcwYPRHnFNVO0dy7CA +nc/8T3eSAOmG2ZaM6jIIMrPb2TkKvohpx+afy3bD7xmomiMZ+LnO+L9XRZStQ7Z 6aM3vxfDdi92db7OOuWINvoV0AMy4aF8P8LG3Nxtd9Z+SwdCiCnFA8tSLZxm2SAG z6Q+eO+qQ3hE2bSPur5n6S5NnoqtZKhPBF4CEwBWwJKMRi5UUr0KZJWU15sUo8HU Upv4qn8VVLxGsH2X+g22UizTdxDBGBeh1P0IS9MYYjLjiDKPYtdD77rjPKam2Obl 3LKolt/FJxO9JVHZMIo23czrh1hdoBizgnthq12/Rg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekiedgfedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgesthdtredttderjeenucfhrhhomhepvehlrohm vghnthcunfgrshhsihgvuhhruceotghlvghmvghntheslhgrshhsihgvuhhrrdhorhhgqe enucggtffrrghtthgvrhhnpeehveduuddvtdetgfekgfehheeiheegteegffeijeehteet gfefgfeuvdeguefhffenucffohhmrghinhepghhnuhdrohhrghenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgvnhhtsehlrghsshhi vghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Jan 2024 06:41:18 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: Mark H Weaver Subject: Re: [bug#68577] [PATCH 2/2] gnu: Add mullvad-browser. In-Reply-To: <87r0i9nb9k.fsf@netris.org> (Mark H. Weaver's message of "Mon, 22 Jan 2024 01:15:56 -0500") References: <174f8492bd3c72fa1bd186ee29e66eb837684768.1705619435.git.clement@lassieur.org> <87y1chnc4i.fsf@netris.org> <87r0i9nb9k.fsf@netris.org> Date: Mon, 22 Jan 2024 12:41:14 +0100 Message-ID: <875xzllhnp.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Jan 22 2024, Mark H Weaver wrote: > Earlier, I wrote: >> Guix packages should, wherever feasible, avoid using components from >> pre-built binary distributions. Each required font family should be >> added as a separate Guix package following our conventions for font >> packages. As for the configuration files: how about distributing them >> separately, or as part of the Mullvad source distribution? > > These comments apply to 'torbrowser-assets' as well, which I only just > found out about. As said in the other email, the way Icecat is handling fonts is very bad for fingerprinting, and I believe we should either do it the Tor Browser way or remove the part about Fingerprinting countermeasures there: https://www.gnu.org/software/gnuzilla/. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 07:11:08 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 12:11:08 +0000 Received: from localhost ([127.0.0.1]:40000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRt8u-0003xy-Ew for submit@debbugs.gnu.org; Mon, 22 Jan 2024 07:11:08 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:32951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRt8r-0003xO-SE for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 07:11:07 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 5090C5C0176; Mon, 22 Jan 2024 07:10:56 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 22 Jan 2024 07:10:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1705925456; x=1706011856; bh=PWcpE/HjV+cD8Gg3LbkPTKIMQqYXTI3lypgz9wHlAmU=; b= J94neK3Az9SgU/FjTE6Vv1iHcpz90pZqOlM6Wjj5QAunGcRIsb2QejJfpeOiGy05 TVBMwghXubJc2pUOKJbQ18x+g76l1u/WwlWOK/oogRekwDu7wExsdTZ1YWpWEjNp b38OVU/72q7feLQq97MSN9loFZUqsOi+d2Fiw0ku/EMIfQpZGjrpuR+lmtsvXRYv BndQ3nhRI5jjdnREndZtAF2c69vJfGj3tHWso32eCgmSanpsvWju9P996vG0ZiaH q6qr736O5u8F9jJRFRP11uldwV3MqMgsnJUuJM39LEQg78jfc1UPeogmdCgvB/gu BJppJCIeKcXroRVBEjfM0A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1705925456; x= 1706011856; bh=PWcpE/HjV+cD8Gg3LbkPTKIMQqYXTI3lypgz9wHlAmU=; b=r WYqyW9IaYG9JD7GLLbx/ZjJ5Nnm+IQ3u7vhEL5RcbIifMD68tlrMMDBqI8XrvG6C XAtTT+m0n9ktJh7q0MAUU9X4SCZjsQDZpTDICxm3CkGxBzNVJa+5g831/pco9q/B Om1nYxRHWwxramxn1Qke3EOekS3fAqmsnnDsKUXJdKVPR93/r/at5WP5+zgGp3we 4j+qfC/iWZZzYF3OQvldTBNG+xNPZ1pIsawc+OJ2VBREs3bA7PX81d6R0vv46jLA sC8TEcovLRBH7reU581+MA5phtj9X/8WMnFngQuRHqEs/cXeE+HjYI/UdDl7WD7W 7C9Q0tfKGDi0jDmc8XAKw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekiedgfeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeekheefffdtfeffueevkefgfffhtddugfdugeeugeev gfduteffudfgfefhjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Jan 2024 07:10:54 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH 0/2] gnu: Add Mullvad Browser. In-Reply-To: (=?utf-8?Q?=22Cl?= =?utf-8?Q?=C3=A9ment?= Lassieur"'s message of "Fri, 19 Jan 2024 00:14:55 +0100") References: Date: Mon, 22 Jan 2024 13:10:51 +0100 Message-ID: <871qa9lgac.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Mark H Weaver , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Fri, Jan 19 2024, Cl=C3=A9ment Lassieur wrote: > Hi, this adds Mullvad Browser, which is a privacy-focused web browser bas= ed on > Firefox and done in collaboration with the Tor Browser folk. > > There is a commit to improve inheritance, so that the other one, the real= one, > is short. > > Cl=C3=A9ment Lassieur (2): > gnu: icecat: Improve inheritance. So I'll change this patch into a patch that doesn't inherit Icecat anymore. I'll use this opportunity to get closer to the Tor build process. This will take some time. > gnu: Add mullvad-browser. This patch shouldn't change, but depends on the first one. > gnu/packages/gnuzilla.scm | 66 +++++---- > gnu/packages/tor.scm | 302 ++++++++++++++++++++++++++------------ > 2 files changed, 247 insertions(+), 121 deletions(-) > > > base-commit: 551d013a56bf7d22bac80e0fd21d971973c3cf6f > prerequisite-patch-id: 228872879442058215f5282bf3ff749af09d9923 > prerequisite-patch-id: 8f111ffb19ff559001251fb9e21aa8dc889d4767 Thanks, Cl=C3=A9ment From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 13:43:36 2024 Received: (at 68577) by debbugs.gnu.org; 22 Jan 2024 18:43:36 +0000 Received: from localhost ([127.0.0.1]:41790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRzGh-0003ww-FF for submit@debbugs.gnu.org; Mon, 22 Jan 2024 13:43:36 -0500 Received: from mx0.riseup.net ([198.252.153.6]:33162) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rRzGd-0003wc-7u for 68577@debbugs.gnu.org; Mon, 22 Jan 2024 13:43:33 -0500 Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4TJfHX6sTtz9wjC; Mon, 22 Jan 2024 18:43:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1705949001; bh=XKtNsCCef++N8tx1lMmtNLZPINykhXA8OE4Ccf8wtjI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RkKaLiVHRk5xFMSx0eVYYUA3vhua8B7AvWTtwBFQNGA849hZ3h0FRD/9q9SvNb8CZ VHh+GIympo11t+yN3J5CSLD/XrRAiPX+EeRwt3yb+HMY72BfdETiBE2hh3f/quJ6+L Gsxjw4RsXEJtK7M1qVGrnxfl7ZXP2qRGwhI5z56I= X-Riseup-User-ID: 3E89FE1A71401FB17325B8F5F14B02DC63F21A7E35066C94A0980233563C49DC Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4TJfHW2RFRzFwCx; Mon, 22 Jan 2024 18:43:19 +0000 (UTC) Date: Mon, 22 Jan 2024 15:42:56 -0300 From: =?iso-8859-1?Q?Andr=E9?= Batista To: Mark H Weaver Subject: Re: [bug#68577] [PATCH 1/2] gnu: icecat: Improve inheritance. Message-ID: References: <87ttn5nbkj.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87ttn5nbkj.fsf@netris.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: 68577@debbugs.gnu.org, Jonathan Brielmaier , =?iso-8859-1?Q?Cl=E9ment?= Lassieur , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Mark, seg 22 jan 2024 às 01:09:21 (1705896561), mhw@netris.org enviou: > Hi Clément, > > I see now that in November, you added 'torbrowser', which inherits from > 'icecat-minimal'. > > > commit 756ba0429e84ee0f8ce30484439b78c00c61d286 > > Author: Clément Lassieur > > Date: Sun Nov 12 02:23:27 2023 +0100 > > > > gnu: Add torbrowser. > > > > * gnu/packages/tor.scm (torbrowser): New variable. > > (torbrowser-assets): New variable. > > * gnu/packages/browser-extensions.scm (noscript): New variable. > > (noscript/icecat): New variable. > > > > Co-authored-by: André Batista > > Change-Id: I73dc53905e4a028108bb34aae07e44256cf16c85 > > Did you consult me on this change? I don't remember seeing anything > about this in my mailbox. > > This change concerns me, because it compels me to coordinate with you > when making nontrivial IceCat updates. As things stand now, it seems > that the 'icecat' and 'torbrowser' packages must be updated together, > in lock step. > > Also, do 'torbrowser' and 'mullvad' both comply with the requirements of > the GNU FSDG? For example, do they support EME? Do they steer the user > to nonfree software, e.g. nonfree addons. Considering I was cc'ed and part of the thread that led to that patch, I'll consider myself invited to give a piece of my mind on your comments. First things first: when I sent the very first version of this patch, I didn't use inheritance anywhere and it was actually suggested to me as an improvement over what I had done[1]. I agreed to it and changed my patch to inherit from Icecat. Way later, Clément followed on the same reasoning and previous discussions on the thread. No one opposed it. Looking back, it is true I should have probably known better and have you cc'ed right from the start. My code was heavily based on / similar to Icecat's package definition and so it made sense to avoid duplication. I didn't know and did not care to look who were the contributors to Icecat's definition. I see now that I was careless and that my behaviour could be seen as disrespectful. No disrespect was intended, but I certainly could have done better and I do apologize for my shortcomings. Clément's rescue of that thread was a lesson to me in that they made an effort to put forward all previous work and give clear attribution to others[2]. I was certainly glad they cc'ed me and gave me attribution even though I think it would have been legitimate if they had done otherwise since their code was sufficiently distinct from mine. Now, do you believe me when I say that there was no ill will towards you or others? I ask this because your last comments strike me on the opposite sense. Risking to add insult to injury, but in the hopes of gaining your help, I'd say that your comments appear to be assuming ill intention on our part towards you and somewhat belittle you at the same time. Why do you assume to be compelled to do anything if you were not even cc'ed? As things stand, my assumption here is that the burden would be on us to either ask you directly or to keep a close eye on any changes done to Icecat. IMO, you certainly wouldn't be to blame if you changed something on Icecat and torbrowser/mullvad/librewolf had some issue. We would. You have put a very good point in saying that it could be better for us to disentangle those packages to avoid future surprises and lessen maintainance burden, but the way you wrote it seemed to imply that we were trying to forcefully push work upon you, with little evidence of that being the case. On the other hand, would it really be that much of added work if we were to ask you to copy us when proposing some changes to Icecat? Would it be presumptuous or forceful to ask that? In my view it wouldn't as it also wouldn't be any obligation of yours to comply with it. If you said: "I'll try to remeber, but cannot guarantee it, so do your part and keep an eye on Icecat", that would've been fine to me at least. More than that, it suprises me that after discovering these threads and having a good amount of knowledge on building Icecat you've decided to just lash out on us, instead of trying to be of help, reviewing the proposed patches or letting we learn from our short-sightedness the hard way. Maybe you have too much on your plate already, maybe you thought we were neglectful, irresponsible. Maybe past experiences made you say what you said. Whatever it is, I feel your approach to it was a bit antagonistic towards us for the reasons I've put above. You are not compelled to answer me nor to give any thought to my feelings. You owe me nothing. However, I know your help would be more valuable to guixen than mine, were you willing and in a situation to do so. So please, if possible, help us out. If not, please take care not to put others down or against you. Even the ablest of programmers can benefit from the good will of those of lesser abilities. At least that's what I believe and what I wanted to communicate to you here in the hopes to have a net gain for us all. Kind regards, 1. https://lists.gnu.org/archive/html/guix-patches/2020-09/msg00261.html 2. https://lists.gnu.org/archive/html/guix-patches/2023-12/msg00669.html From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 25 17:42:22 2024 Received: (at 68577) by debbugs.gnu.org; 25 Jan 2024 22:42:22 +0000 Received: from localhost ([127.0.0.1]:49500 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT8QQ-0003wN-1d for submit@debbugs.gnu.org; Thu, 25 Jan 2024 17:42:22 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:48547) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT8QN-0003vk-Et for 68577@debbugs.gnu.org; Thu, 25 Jan 2024 17:42:20 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 9986D3200B41; Thu, 25 Jan 2024 17:42:05 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 25 Jan 2024 17:42:06 -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=1706222525; x=1706308925; bh=1TxLPMZsfwPJmzyZTwyLzwyi+mF50u1LP7nrittZBmI=; b= hCpv6G1GITVsxh8Hru+4nnFCEE1pzmuGXgD7Wmostq1z9w+YxLlti+qi7tMs+kjS HBgT++N3jnx4JcU4qeanzjJjnqYgmoQWnGpFG8lhVRqB0BwUgTp68bE3C5rK8IHg zC7qPehvroHs9STnvrwoi3T3SunaNWFWcov1sYlitKDRf1AotHU4WUmUq+nQ4Xod SDMHQywOGlbGDcA4qOaBM1YNDy5RSGQbr8AVhhJU/Eg8jFkfnj+1ShwAifEzTLee FKo3OWHvw5Q297HSBYoCAqJmwvYhqTH7o9MCoT1EYxCalNHqOXiv9FPTBI04NEfq 5kWCXu7F/Et7Pxz5KeoRRA== 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=1706222525; x= 1706308925; bh=1TxLPMZsfwPJmzyZTwyLzwyi+mF50u1LP7nrittZBmI=; b=k H6MkNqKydg2eG0P9jiTlh5alQ6dRLlNKXAYVyVsvrSuBBnyu5uKuc9MoWV4nwjow tlWB0cnAha8KkevzssMZWUPEuZRW34NteN90lWHMj724GWRkgDwLZgZWEqeQCXUc q7bew5xxr+9Q1Fs+mJC37MM1oi+GBCEVwMK0RlbDaMmK+TLum447tMlWVj/k/rRo z0QlE/DYOzHMk4SaMc8j34WMrVINQZ9IEM18VuIEjiZ6mqS5MW69Cb1o2huQC7io 0U/dxJ1FlOHtPLA8Vo/QR3Luv0vNqbBsI4sQMCuZ1qjNkN7SpkdJurrWo0hiTEIJ eFFCnlIw5OpMfZtJKKkWA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdeliecutefuodetggdotefrodftvfcurf hrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefhvffufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeevlhormhgvnhht ucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgheqnecugg ftrfgrthhtvghrnhepkeffveehhffggfefjeetkeetuddtgffgteekueelteefleeliedt uefhjefgteeunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 25 Jan 2024 17:42:00 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org, =?UTF-8?Q?Cl=C3=A9ment?= Lassieur , Mark H Weaver , =?UTF-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure Subject: [PATCH v2 0/2] Stop inheriting Icecat and add Mullvad Browser. Date: Thu, 25 Jan 2024 23:41:31 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) I put the whole work into tor-browsers.scm. The idea is that all browsers there should reproduce as much as possible Tor's way of building browsers. This is the first step: a mere copy from the Icecat package. The second step will be a cleanup to mimic as much as possible Tor's build. Clément Lassieur (2): gnu: torbrowser: Stop inheriting Icecat. gnu: Add mullvadbrowser. gnu/local.mk | 3 +- gnu/packages/gnupg.scm | 3 +- gnu/packages/tor-browsers.scm | 1001 +++++++++++++++++++++++++++++++++ gnu/packages/tor.scm | 463 --------------- 4 files changed, 1005 insertions(+), 465 deletions(-) create mode 100644 gnu/packages/tor-browsers.scm base-commit: 2d83a25450d4b820c13d52152e5e9f1bbfb5d985 prerequisite-patch-id: 7b470e111865c59d82b8a91440f4863df64ba481 -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 25 17:55:31 2024 Received: (at 68577) by debbugs.gnu.org; 25 Jan 2024 22:55:31 +0000 Received: from localhost ([127.0.0.1]:49533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT8d5-0004ZD-V2 for submit@debbugs.gnu.org; Thu, 25 Jan 2024 17:55:30 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:54093) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT8cy-0004Ys-OS for 68577@debbugs.gnu.org; Thu, 25 Jan 2024 17:55:25 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 2EBDF3200A62; Thu, 25 Jan 2024 17:55:08 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 25 Jan 2024 17:55:08 -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=1706223307; x=1706309707; bh=VrsSTEMiW2H6CRHiSFaHEPPv4y3n5vpEOKCnGk2u0+A=; b= WVc2V5loyL+Zv5NpiDbngn+DX75Oerb3gm80IqAXptJcDM7h+OiqQhABT6pdryD6 DP6pavleY23AEfxIZVzxmVGob+f/vlJQwroAtxULpBZAEGaDkxcJXmE7xuBgWnXg yFwWv1AB74yYxYa4cyuQ5Omgcm5FOdkUwAS2ba+YEbC3u0qwQbG2qXRH6HFWsw9t Zvj+T8Lm4jdkaeQSdjK8YQdRXROLMV706WGy3F13cvGJ3Ww7V1iKE4tdL+it3mCe IUpIBRUPNot6y0rRpcltiokq1qinsxWhvYVzosaDsO/vFe1NpNdscUCF3G5nQpBs qDAQCvVIu6DGWOWYYlid+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=1706223307; x= 1706309707; bh=VrsSTEMiW2H6CRHiSFaHEPPv4y3n5vpEOKCnGk2u0+A=; b=T NV8WAC7GihQtmonZ8ASwuq5ejprkkBlqPT9rnNhtiGUVSu3Aa3TZ5lxzLb60Ci4Z KdXs6AssIeB0R/JmX6TfwC7Ia/EMMVpJ1e7ipogu9k/LuKmQRqw/or0KnvIkzLmG 3W4DBkWECKijTLSae+RW9gMbsOqA/1Gomcv82MeVXVpYFvowwzbULs3+5hNCXOA3 Z8TzOMaKYrGLu4NmuyN9xwqMeQwVYgaB+gV4xnScTN/WiccNOobbyglpsJuBizIO gyLbtvH0G61u9664BqJbrxReHUsNcso33U0pJnLVfGLX16sTzjUf6fDWDtcZ0gtu sCjBTDoc/pyCwwOHsMybA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdeliedgtddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepvehlrohm vghnthcunfgrshhsihgvuhhruceotghlvghmvghntheslhgrshhsihgvuhhrrdhorhhgqe enucggtffrrghtthgvrhhnpeethffgkefhudfhieeuffeludeiueeguedvvdffhfeihfeh veekfeejleektdehffenucffohhmrghinhepghhnuhdrohhrghdpmhhoiihilhhlrgdroh hrghdpthhorhhprhhojhgvtghtrdhorhhgpdhprhhiohdrshgvtghurhhithihpdgtohhn thgvnhhtrdhrvggrugdpghgvthgrugguohhnshdrshgvrghrtghhpdhgvghtrgguughonh hsrdhlihhnkhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhr ohhmpegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 25 Jan 2024 17:55:04 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org, =?UTF-8?Q?Cl=C3=A9ment?= Lassieur , Mark H Weaver , =?UTF-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure Subject: [PATCH v2 1/2] gnu: torbrowser: Stop inheriting Icecat. Date: Thu, 25 Jan 2024 23:54:36 +0100 Message-ID: <7044a87b07b302fb861f9853725ec0ca0abb8354.1706222112.git.clement@lassieur.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/local.mk (GNU_SYSTEM_MODULES): Add packages/tor-browsers.scm. * gnu/packages/gnupg.scm: Remove fix for dependency loop (fixed because we use a new file). * gnu/packages/tor-browsers.scm (mozilla-locale, mozilla-locales, %torbrowser-locales, %moz-build-date, %torbrowser-version, %torbrowser-firefox-version, translation-base-browser, translation-tor-browser, torbrowser-assets, torbrowser): New variables. (make-torbrowser): New procedure, which is a merge of ‘make-torbrowser’ (from tor.scm) with ‘icecat-minimal’ (from gnuzilla.scm). * gnu/packages/tor.scm (%moz-build-date, %torbrowser-version, %torbrowser-firefox-version, %torbrowser-locales, translation-base-browser, translation-tor-browser, torbrowser-assets, torbrowser): Remove variables. Change-Id: I5fcf73e53fe4481a18e13cdeb3515c3dc4430090 --- gnu/local.mk | 3 +- gnu/packages/gnupg.scm | 3 +- gnu/packages/tor-browsers.scm | 839 ++++++++++++++++++++++++++++++++++ gnu/packages/tor.scm | 463 ------------------- 4 files changed, 843 insertions(+), 465 deletions(-) create mode 100644 gnu/packages/tor-browsers.scm diff --git a/gnu/local.mk b/gnu/local.mk index 3d1afd4555a6..ca559ff7bb49 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -13,7 +13,7 @@ # Copyright © 2016-2023 Efraim Flashner # Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice -# Copyright © 2017, 2018, 2023 Clément Lassieur +# Copyright © 2017, 2018, 2023, 2024 Clément Lassieur # Copyright © 2017, 2020 Mathieu Othacehe # Copyright © 2017, 2018, 2019 Gábor Boskovits # Copyright © 2018 Amirouche Boubekki @@ -629,6 +629,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/tls.scm \ %D%/packages/tmux.scm \ %D%/packages/toolkits.scm \ + %D%/packages/tor-browsers.scm \ %D%/packages/tor.scm \ %D%/packages/tree-sitter.scm \ %D%/packages/tv.scm \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index a6ba57d7f302..171eea6600dd 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -71,6 +71,7 @@ (define-module (gnu packages gnupg) #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) + #:use-module (gnu packages tor) #:use-module (gnu packages web) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) @@ -1129,7 +1130,7 @@ (define-public parcimonie perl-try-tiny perl-type-tiny perl-types-path-tiny - (@ (gnu packages tor) torsocks))) ;avoid dependency loop + torsocks)) (native-inputs (list perl-file-which perl-gnupg-interface diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm new file mode 100644 index 000000000000..0355409a631a --- /dev/null +++ b/gnu/packages/tor-browsers.scm @@ -0,0 +1,839 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2015 Andreas Enge +;;; Copyright © 2013-2022 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Mark H Weaver +;;; Copyright © 2015 Sou Bunnbu +;;; Copyright © 2016, 2017, 2018, 2019, 2021 Efraim Flashner +;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2017, 2023, 2024 Clément Lassieur +;;; Copyright © 2017, 2018 Nikita +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2020 Ricardo Wurmus +;;; Copyright © 2019 Ivan Petkov +;;; Copyright © 2020 Oleg Pykhalov +;;; Copyright © 2020 Jakub KÄ…dzioÅ‚ka +;;; Copyright © 2019, 2020 Adrian Malacoda +;;; Copyright © 2020-2023 Jonathan Brielmaier +;;; Copyright © 2020, 2022 Marius Bakke +;;; Copyright © 2021 Brice Waegeneire +;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021 Baptiste Strazzul +;;; Copyright © 2022 SeerLite +;;; Copyright © 2024 Aleksandr Vityazev +;;; Copyright © 2020, 2021 André Batista +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages tor-browsers) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages assembly) + #:use-module (gnu packages base) + #:use-module (gnu packages browser-extensions) + #:use-module (gnu packages compression) + #:use-module (gnu packages cups) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages golang) + #:use-module (gnu packages gtk) + #:use-module (gnu packages hunspell) + #:use-module (gnu packages image) + #:use-module (gnu packages kerberos) + #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libevent) + #:use-module (gnu packages libffi) + #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages m4) + #:use-module (gnu packages node) + #:use-module (gnu packages nss) + #:use-module (gnu packages pciutils) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages rust) + #:use-module (gnu packages rust-apps) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tor) + #:use-module (gnu packages video) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (gnu packages) + #:use-module (guix build-system cargo) + #:use-module (guix build-system copy) + #:use-module (guix build-system gnu) + #:use-module (guix build-system mozilla) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix hg-download) + #:use-module (guix packages) + #:use-module (ice-9 regex) + #:use-module (guix utils)) + +(define (mozilla-locale locale changeset hash-string) + (origin + (method hg-fetch) + (uri (hg-reference + (url (string-append "https://hg.mozilla.org/l10n-central/" + locale)) + (changeset changeset))) + (file-name (string-append "mozilla-locale-" locale)) + (sha256 (base32 hash-string)))) + +(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...) + #~(list (cons #$locale #$(mozilla-locale locale changeset hash-string)) + ...)) + +;; 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 %torbrowser-locales + (mozilla-locales + ;; sha256 changeset locale + ;;--------------------------------------------------------------------------- + ("14wnjv13alaj04pd8i8ysillbr3ic2jqa867rbj5ncz8h4hxxfxc" "4c7e24ef78bd" "ar") + ("0mcc15n3p7yk4zdbr3na2fm7wq2184mbcrkk3cvppkl6p4k8654d" "24d50653ab5c" "ca") + ("0ray22hdb3nrv2yi5z98cvbmpk9kpsv96a8wzad5dr4sxy44ii0d" "0d96b6b04bfb" "cs") + ("0is7qbykv2pj0z9ll9r35vwjp0x29vmfr10yjl3s0amfaqzjqpqc" "0a0b774407cc" "da") + ("0yq7m4v7d7ayg90m66j73mflrnp709qw9n7skhpsl9h1wbhrd7q7" "633986260777" "de") + ("19g2ha32syq6rjcyl4ypmy7sc9w7xkvrpkic5lfc2yja6ll9116p" "e2f2d1541e38" "el") + ("018qi9zn24kzfcidsj9lbqfg5n97r295yr8fs953nyfdbim9jsfv" "accf5e4506c0" "es-ES") + ("11prhmh2cp95dpv6z0k479mb11zbfm541bvigs3gnkh3nazjvc8q" "37aa71d77cb6" "fa") + ("1lv9l98q88ixb0ph970yzphahgzbl97x0w069bkxa54kblkv1ch1" "dc40a4fd5d0e" "fi") + ("0wx4k7mwhvpv5w0wa4y5pca2q3jac62jv804nxqnfwh1bvi90wv0" "415c1f0e84bd" "fr") + ("17j68a6rbaphfcq38mgz6s1076fyy92fk0ldw8igql6gd85qjlaa" "d271f275cf48" "ga-IE") + ("0b7qdayljb4ryyqgalvi626lzg238gyn03m3a2f7afs9zi6px526" "46f8d7c031a6" "he") + ("14xbrzvc09fcp7qzllb65nis27hkg9pg5615y29xzwiz4g090my1" "086ac0260d6b" "hu") + ("0q5s4iz02xgmbw6nnpg6xg4pwz7n55nvxb9mj8vqdakq3faybbd5" "f03a6b3069a5" "id") + ("1lwklx3nkm56420xc3kbg892jm2b6202sjw33nvv766sm9hbvcap" "5c4b61165e1d" "is") + ("1n7l5idw9399n8ih1r1d6m8vzpzhwmnxmr9i7jvygkdc8d6adp1k" "07d5e1ff5f9b" "it") + ("1w6nw9cd92p1ndy82wwlq9xizyq3i8rq0nj7118gbxbx368mk2kj" "e6f9db9ce3e6" "ja") + ("1js99gbyc1dj33xc425wb08s1aw3bfznaacrqhw3l42yw1g1ghy4" "a15eb9feea2c" "ka") + ("116a8s0k2yvijy7qf0xpqm5w66gdzs32jhc06364sdar5v34lyhh" "805b85981696" "ko") + ("1yrjrhmmd0b810kxryja1j1md3rr2zpn1j9cbg05dgp5s8i89psk" "943a26276832" "lt") + ("08zccz7gflzpr20y0hvhmdsiz6ncags39kh83cay5ivchyib5qbi" "fbef80de5499" "mk") + ("100k4ibpwys9i4ghi5xvmgwr9api67ngav2hvb613rj6hdfd57f7" "20ec0915ec35" "ms") + ("0kk3cjlpghbi7j3ndb2s0c7g838fzd2mpzg01bp0cra8lzd0n2ac" "4ab6f0d05aa6" "my") + ("1i3r2ici95mazw07m2mrf192fc6bfa3x6j3c2pcc1zg7z9srihgh" "561b0cd86ec1" "nb-NO") + ("1c0m8jhn52h1dif5bswrdwrlzppgga01y61wlii4aaaw15imd6yd" "2a55df0cc389" "nl") + ("1gssvg306b80drp7kvc35kvcxwldb5sga0bapaxhv362irq1nya8" "a64a7dab01c4" "pl") + ("1dzh13x85a7src8szbrq5pjmrbak4isln9xdwjk7a1yq4g9h7jgs" "33bf2a9f4c49" "pt-BR") + ("0jx9y7fv44wxqapmcgr924wgb1l5cm95bgpmnhnjchp1zpmyfdl5" "a367feeadd33" "ro") + ("09x2jirf04kgc118a70z0xrb3msbm7vr4f41ig4xrwf2s5b816r3" "528b76d6aaca" "ru") + ("02y898f0ncjwka474r9lw361b0kywx1w56hj09i7im4j5jrsjnh1" "fa28d9d79cd3" "sq") + ("1cyimbd42aaq2amyhdbbx26jwsns77lsfl8g9a70bsjlpwzwzryg" "cc8e8962e59c" "sv-SE") + ("03mqrvcal7i172gf9239q9fnynfp5kg9b3r1w8gr9iz7rkr22gw5" "d361502c559e" "th") + ("12srgqkqwaidcwbz0y7zr59165f7aq5k5s3b81ql7ixdbwia91pm" "f6173aca4762" "tr") + ("1d91gfx5p6wyb455syw0b57wxl1sd4b4kcdvfk92pb050rqaqfgv" "c5ad4d4f70eb" "uk") + ("1dj8q2jw60a184f018jyldl51rfmvz1cndz3kbw0cc5l5sli7hwr" "0e75c226763d" "vi") + ("1dl2dpif4wwrlpx7zkz5qf8kk4vhxyf63016xcfpbhxizqqwc1ki" "df2d025ed631" "zh-CN") + ("1c63ngff9lsc1x3pi6lnkyxw19gdc65yc67p7alzvrka3cv292ia" "11f8d68148a4" "zh-TW"))) + +;; Must be of the form YYYYMMDDhhmmss as in `date +%Y%m%d%H%M%S`. +(define %moz-build-date "20240123154553") + +;; To find the last version, look at https://www.torproject.org/download/. +(define %torbrowser-version "13.0.9") + +;; To find the last Firefox version, browse +;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version> +;; There should be only one archive that starts with +;; "src-firefox-tor-browser-". +(define %torbrowser-firefox-version "115.7.0esr-13.0-1-build1") + +;; See tor-browser-build/projects/translation/config. +(define translation-base-browser + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.torproject.org/tpo/translation.git") + (commit "cbd9b6c415ec2edb99237ef67ccd4f033a7b9c2a"))) + (file-name "translation-base-browser") + (sha256 + (base32 + "103dj1zzc68gxzjxwcpc4sbc6qca4zg8kkhdivzpq37ma07sp9sf")))) + +;; See tor-browser-build/projects/translation/config. +(define translation-tor-browser + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.torproject.org/tpo/translation.git") + (commit "767ab5111f065b82151275775af5ecf7a529ef48"))) + (file-name "translation-tor-browser") + (sha256 + (base32 + "034s0ivbama497xq0904q8p6d7n2f2aa2vn2jcs9g4bvmhgwicw4")))) + +(define torbrowser-assets + ;; This is a prebuilt Torbrowser from which we take the assets we need. + (package + (name "torbrowser-assets") + (version %torbrowser-version) + (source + (origin + (method url-fetch) + (uri + (string-append + "https://archive.torproject.org/tor-package-archive/torbrowser/" + version "/tor-browser-linux-x86_64-" version ".tar.xz")) + (sha256 + (base32 + "0j143r24xzmq38nd5z1xqsa9zp35lws9rvlj6hb9xn3dnl67gh59")))) + (arguments + (list + #:install-plan + ''(("Browser" "." #:include-regexp + ("^\\./TorBrowser/Data/Tor/torrc-defaults" + "^\\./fonts/" + "^\\./fontconfig/fonts.conf"))))) + (build-system copy-build-system) + (home-page "https://www.torproject.org") + (synopsis "Tor Browser assets") + (description "This package contains fonts and configuration files for Tor +Browser.") + (license license:silofl1.1))) + +(define* (make-torbrowser #:key + moz-app-name + moz-app-remotingname + branding-directory + assets + locales + base-browser-version) + (package + (name "torbrowser") + (version %torbrowser-version) + (source + (origin + (method url-fetch) + (uri + (string-append + "https://archive.torproject.org/tor-package-archive/torbrowser/" + version "/src-firefox-tor-browser-" %torbrowser-firefox-version + ".tar.xz")) + (sha256 + (base32 + "0h05js9j1drzw5q98nlphsmvlp1k2a71z5jd06xk6pz29w6322pw")))) + (build-system mozilla-build-system) + (inputs + (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird + tor-client + alsa-lib + bzip2 + cups + dbus-glib + gdk-pixbuf + glib + gtk+ + ;; UNBUNDLE-ME! graphite2 + cairo + pango + freetype + ;; UNBUNDLE-ME! harfbuzz + libcanberra + libgnome + libjpeg-turbo + libpng-apng + ;; UNBUNDLE-ME! libogg + ;; UNBUNDLE-ME! libtheora ; wants theora-1.2, not yet released + ;; UNBUNDLE-ME! libvorbis + libxft + libevent + libxinerama + libxscrnsaver + libxcomposite + libxt + libffi + ;; Support for FFmpeg 6 was only added in version 112 (see: + ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1819374). + ffmpeg-5 + libvpx + (force (@@ (gnu packages gnuzilla) icu4c-73-promise)) + pixman + pulseaudio + mesa + pciutils + mit-krb5 + hunspell + libnotify + nspr + ;; UNBUNDLE-ME! nss (pending upgrade of 'nss' to 3.90 or later) + shared-mime-info + sqlite + eudev + unzip + zip + zlib)) + (native-inputs + (list + rust + `(,rust "cargo") + rust-cbindgen-0.24 + llvm-15 + clang-15 + perl + node-lts + python-wrapper + yasm + nasm ; XXX FIXME: only needed on x86_64 and i686 + pkg-config + m4 + which)) + (arguments + (list + #:tests? #f ;not worth the cost + + ;; Some dynamic lib was determined at runtime, so rpath check may fail. + #:validate-runpath? #f + + #:configure-flags + #~(list + "--without-relative-data-dir" ;store is read-only + "--disable-base-browser-update" + ;; Default is "default", which is the same as "nightly". + "--enable-update-channel=release" + ;; This is useless right now but it might be used in the future. + ;; (See nsAppFileLocationProvider.cpp.) + (string-append "--with-user-appdir=." #$moz-app-name) + (string-append "--with-branding=" #$branding-directory) + (string-append "--prefix=" #$output) + (string-append "--with-base-browser-version=" + #$base-browser-version) + + "--enable-application=browser" + "--with-distribution-id=org.gnu" + "--enable-geckodriver" + ;; Do not require addons in the global app or system directories to + ;; be signed by Mozilla. + "--with-unsigned-addon-scopes=app,system" + "--allow-addon-sideload" + + "--enable-pulseaudio" + + "--disable-tests" + "--disable-updater" + "--disable-crashreporter" + ;; The --disable-eme option is not available on aarch64. + #$(if (target-aarch64?) "" "--disable-eme") + + ;; Building with debugging symbols takes ~5GiB, so disable it. + "--disable-debug" + "--disable-debug-symbols" + + "--enable-rust-simd" + "--enable-release" + "--enable-optimize" + "--enable-strip" + "--disable-elf-hack" + + ;; Clang is needed to build Stylo, Mozilla's new CSS engine. We must + ;; specify the clang paths manually, because otherwise the Mozilla + ;; build system looks in the directories returned by llvm-config + ;; --bindir and llvm-config --libdir, which return paths in the llvm + ;; package where clang is not found. + (string-append "--with-clang-path=" + (search-input-file %build-inputs "bin/clang")) + (string-append "--with-libclang-path=" + (dirname (search-input-file %build-inputs + "lib/libclang.so"))) + + ;; Hack to work around missing "unofficial" branding in icecat. + "--enable-official-branding" + + ;; TODO: Add support for wasm sandboxed libraries. + "--without-wasm-sandboxed-libraries" + + ;; Avoid bundled libraries. + "--with-system-jpeg" ;must be libjpeg-turbo + "--with-system-png" ;must be libpng-apng + "--with-system-zlib" + ;; UNBUNDLE-ME! "--with-system-bz2" + ;; UNBUNDLE-ME! "--with-system-libevent" + ;; UNBUNDLE-ME! "--with-system-ogg" + ;; UNBUNDLE-ME! "--with-system-vorbis" + ;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet released + ;; UNBUNDLE-ME! "--with-system-libvpx" + "--with-system-icu" + "--with-system-nspr" + ;; UNBUNDLE-ME! "--with-system-nss" ; pending upgrade of 'nss' to 3.90 + + ;; UNBUNDLE-ME! "--with-system-harfbuzz" + ;; UNBUNDLE-ME! "--with-system-graphite2" + "--enable-system-pixman" + "--enable-system-ffi" + ;; UNBUNDLE-ME! "--enable-system-sqlite" + ) + + #:imported-modules %cargo-utils-modules ;for `generate-all-checksums' + + #:modules `((ice-9 ftw) + (ice-9 match) + (srfi srfi-1) + (srfi srfi-26) + (rnrs bytevectors) + (rnrs io ports) + (guix elf) + (guix build gremlin) + ,@%gnu-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'apply-guix-specific-patches + (lambda _ + (for-each + (lambda (file) (invoke "patch" "--force" "-p1" "-i" file)) + '(#$(local-file + (search-patch "icecat-compare-paths.patch")) + #$(local-file + (search-patch "icecat-use-system-wide-dir.patch")))))) + (add-after 'apply-guix-specific-patches 'remove-bundled-libraries + (lambda _ + ;; Remove bundled libraries that we don't use, since they may + ;; contain unpatched security flaws, they waste disk space and + ;; memory, and may cause confusion. + (for-each (lambda (file) + (format #t "deleting '~a'...~%" file) + (delete-file-recursively file)) + '( ;; FIXME: Removing the bundled icu breaks configure. + ;; * The bundled icu headers are used in some places. + ;; * The version number is taken from the bundled copy. + ;;"intl/icu" + ;; + ;; FIXME: A script from the bundled nspr is used. + ;;"nsprpub" + ;; + ;; FIXME: Some of the bundled NSS sources are used + ;; to build third_party/prio. + ;;"security/nss" + ;; + ;; TODO: Use more system media libraries. See: + ;; + ;; * libtheora: esr60 wants v1.2, not yet released. + ;; * soundtouch: avoiding the bundled library would + ;; result in some loss of functionality. There's + ;; also an issue with exception handling + ;; configuration. It seems that this is needed in + ;; some moz.build: + ;; DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1 + ;; * libopus + ;; * speex + ;; + "modules/freetype2" + ;; "media/libjpeg" ; needed for now, because media/libjpeg/moz.build is referenced from config/external/moz.build + ;; UNBUNDLE-ME! "modules/zlib" + ;; UNBUNDLE-ME! "ipc/chromium/src/third_party/libevent" + ;; UNBUNDLE-ME! "media/libvpx" + ;; UNBUNDLE-ME! "media/libogg" + ;; UNBUNDLE-ME! "media/libvorbis" + ;; UNBUNDLE-ME! "media/libtheora" ; wants theora-1.2, not yet released + ;; UNBUNDLE-ME! "media/libtremor" + ;; UNBUNDLE-ME! "gfx/harfbuzz" + ;; UNBUNDLE-ME! "gfx/graphite2" + "js/src/ctypes/libffi" + ;; UNBUNDLE-ME! "db/sqlite3" + )))) + (add-after 'remove-bundled-libraries 'fix-ffmpeg-runtime-linker + (lambda* (#:key inputs #:allow-other-keys) + ;; Arrange to load libavcodec.so by its absolute file name. + (substitute* "dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp" + (("libavcodec\\.so") + (search-input-file inputs "lib/libavcodec.so"))))) + (add-after 'fix-ffmpeg-runtime-linker 'build-sandbox-whitelist + (lambda* (#:key inputs #:allow-other-keys) + (define (runpath-of lib) + (call-with-input-file lib + (compose elf-dynamic-info-runpath + elf-dynamic-info + parse-elf + get-bytevector-all))) + (define (runpaths-of-input label) + (let* ((dir (string-append (assoc-ref inputs label) "/lib")) + (libs (find-files dir "\\.so$"))) + (append-map runpath-of libs))) + ;; Populate the sandbox read-path whitelist as needed by ffmpeg. + (let* ((whitelist + (map (cut string-append <> "/") + (delete-duplicates + `(,(string-append (assoc-ref inputs "shared-mime-info") + "/share/mime") + ,@(append-map runpaths-of-input + '("mesa" "ffmpeg")))))) + (whitelist-string (string-join whitelist ","))) + (with-output-to-file "whitelist.txt" + (lambda () + (display whitelist-string)))))) + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda _ + (use-modules (guix build cargo-utils)) + (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")) + (for-each (lambda (file) + (format #t "patching checksums in ~a~%" file) + (substitute* file + (("^checksum = \".*\"") + (string-append "checksum = \"" null-hash "\"")))) + (find-files "." "Cargo.lock$")) + (for-each generate-all-checksums + '("services" + "js" + "third_party/rust" + "dom/media" + "dom/webauthn" + "toolkit" + "gfx" + "storage" + "modules" + "xpcom/rust" + "media" + "mozglue/static/rust" + "netwerk" + "remote" + "intl" + "servo" + "security/manager/ssl" + "build"))))) + (add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag + (lambda _ + ;; Remove --frozen flag from cargo invokation, otherwise it'll + ;; complain that it's not able to change Cargo.lock. + ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373 + (substitute* "build/RunCbindgen.py" + (("\"--frozen\",") "")))) + (delete 'bootstrap) + (add-before 'configure 'setenv + (lambda _ + (setenv "CONFIG_SHELL" (which "bash")) + ;; Install location is prefix/lib/$MOZ_APP_NAME. Also + ;; $MOZ_APP_NAME is the executable name. Default is + ;; "firefox". + (setenv "MOZ_APP_NAME" #$moz-app-name) + ;; Profile location (relative to "~/."). Default is + ;; lower($MOZ_APP_VENDOR/$MOZ_APP_BASENAME), which is: + ;; ~/.tor project/firefox. + (setenv "MOZ_APP_PROFILE" #$(in-vicinity + moz-app-name "browser")) + ;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL"). + (setenv "MOZ_APP_REMOTINGNAME" #$moz-app-remotingname) + ;; Persistent state directory for the build system (default is + ;; $HOME/.mozbuild). + (setenv "MOZBUILD_STATE_PATH" + (in-vicinity (getcwd) ".mozbuild")) + (setenv "MOZ_CHROME_MULTILOCALE" + (string-join (map car #$locales))) + ;; Make build reproducible. + (setenv "MOZ_BUILD_DATE" #$%moz-build-date))) + (add-before 'configure 'mozconfig + (lambda* (#:key configure-flags #:allow-other-keys) + (with-output-to-file "mozconfig" + (lambda () + (format #t ". $topsrcdir/mozconfig-linux-x86_64~%") + (for-each (lambda (flag) + (format #t "ac_add_options ~a~%" flag)) + configure-flags))))) + ;; See tor-browser-build/projects/firefox/build. + (add-before 'configure 'copy-firefox-locales + (lambda _ + (let ((l10ncentral ".mozbuild/l10n-central")) + (mkdir-p l10ncentral) + (for-each + (lambda (lang) + (copy-recursively (cdr lang) + (in-vicinity l10ncentral + (car lang)))) + #$locales)))) + (add-after 'copy-firefox-locales 'copy-basebrowser-locales + (lambda _ + (let ((l10ncentral ".mozbuild/l10n-central")) + ;; Temporary copy so that we can use ‘mv’ to mimic + ;; tor-browser-build/projects/firefox/build. + (copy-recursively #$translation-base-browser + "translation-base-browser") + (for-each + (lambda (lang) + (system + (format + #f (string-join + '("mv" + "translation-base-browser/~a/base-browser.ftl" + "~a/~a/browser/browser/")) + lang l10ncentral lang)) + (system + (format + #f (string-join + '("mv" + "translation-base-browser/~a/*" + "~a/~a/browser/chrome/browser/")) + lang l10ncentral lang))) + (map car #$locales))))) + (add-after 'copy-basebrowser-locales 'copy-torbrowser-locales + (lambda _ + (let ((l10ncentral ".mozbuild/l10n-central")) + ;; Temporary copy so that we can use ‘mv’ to mimic + ;; tor-browser-build/projects/firefox/build. + (copy-recursively #$translation-tor-browser + "translation-tor-browser") + (for-each + (lambda (lang) + (system + (format + #f (string-join + '("mv" + "translation-tor-browser/~a/tor-browser.ftl" + "~a/~a/browser/browser/")) + lang l10ncentral lang)) + (system + (format + #f (string-join + '("mv" + "translation-tor-browser/~a/cryptoSafetyPrompt.properties" + "~a/~a/browser/chrome/browser/")) + lang l10ncentral lang)) + (system + (format + #f (string-join + '("mv" + "translation-tor-browser/~a" + "toolkit/torbutton/chrome/locale/")) + lang)) + (let ((port (open-file "toolkit/torbutton/jar.mn" "a"))) + (format port "% locale torbutton ~a %locale/~a/~%" + lang lang) + (format port " locale/~a/ (chrome/locale/~a/*)~%" + lang lang) + (close port))) + (map car #$locales))))) + (replace 'configure + (lambda _ + (invoke "./mach" "configure"))) + (add-before 'build 'fix-addons-placeholder + (lambda _ + (substitute* + "toolkit/locales/en-US/toolkit/about/aboutAddons.ftl" + (("addons.mozilla.org") "gnuzilla.gnu.org")))) + (add-before 'build 'add-bridges ;see deploy.sh + (lambda _ + (let ((port (open-file + "browser/app/profile/000-tor-browser.js" "a"))) + (display + "#include ../../../tools/torbrowser/bridges.js" port) + (newline port) + (close port)))) + (replace 'build + (lambda* (#:key (make-flags '()) (parallel-build? #t) + #:allow-other-keys) + (apply invoke "./mach" "build" + ;; mach will use a wide parallel build if possible by + ;; default, so reign it in if requested. + `(,(string-append + "-j" (number->string (if parallel-build? + (parallel-job-count) + 1))) + ,@make-flags)))) + ;; See tor-browser-build/projects/firefox/build. + (add-after 'build 'build-locales + (lambda _ + (system (string-join '("./mach package-multi-locale --locales" + "en-US $MOZ_CHROME_MULTILOCALE"))))) + (add-after 'build-locales 'neutralise-store-references + (lambda _ + ;; Mangle the store references to compilers & other build tools in + ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64. + (let* ((obj-dir (match (scandir "." (cut string-prefix? "obj-" <>)) + ((dir) dir))) + (file (string-append + obj-dir + "/dist/bin/chrome/toolkit/content/global/buildconfig.html"))) + (substitute* file + (("[0-9a-df-np-sv-z]{32}" hash) + (string-append (string-take hash 8) + "" + (string-drop hash 8))))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./mach" "install") + ;; The geckodriver binary is not installed by the above, for some + ;; reason. Use 'find-files' to avoid having to deal with the + ;; system/architecture-specific file name. + (install-file (first (find-files "." "geckodriver")) + (string-append #$output "/bin")))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs #:allow-other-keys) + (let* ((gtk #$(this-package-input "gtk+")) + (gtk-share (string-append gtk "/share")) + (fonts.conf (format #f "~a/lib/~a/fontconfig/fonts.conf" + #$output #$moz-app-name)) + (ld-libs '#$(cons + (file-append + (this-package-input "libcanberra") + "/lib/gtk-3.0/modules") + (map (lambda (label) + (file-append (this-package-input label) "/lib")) + '("libpng-apng" + "libxscrnsaver" + "mesa" + "pciutils" + "mit-krb5" + "eudev" + "pulseaudio" + ;; For the integration of native notifications + ;; (same reason as icedove) + "libnotify"))))) + (wrap-program (format #f "~a/lib/~a/~a" + #$output #$moz-app-name #$moz-app-name) + `("XDG_DATA_DIRS" prefix (,gtk-share)) + ;; The following line is commented out because the icecat + ;; package on guix has been observed to be unstable when + ;; using wayland, and the bundled extensions stop working. + ;; `("MOZ_ENABLE_WAYLAND" = ("1")) + `("LD_LIBRARY_PATH" prefix ,ld-libs) + `("FONTCONFIG_FILE" prefix (,fonts.conf)))))) + (add-after 'wrap-program 'install-desktop-entry + (lambda _ + (let ((apps (in-vicinity #$output "share/applications"))) + (mkdir-p apps) + (make-desktop-entry-file + (string-append apps "/" #$moz-app-name ".desktop") + #:name #$moz-app-remotingname + #:exec (format #f "~a/bin/~a %u" #$output #$moz-app-name) + #:categories '("Network" "WebBrowser" "Security") + #:startup-w-m-class #$moz-app-remotingname + #:icon #$moz-app-name)))) + (add-after 'install-desktop-entry 'install-icons + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (size) + (let ((oldpath (string-append + #$branding-directory "/default" size ".png")) + (newpath (string-append + #$output "/share/icons/hicolor/" size "x" + size "/apps/" #$moz-app-name ".png"))) + (mkdir-p (dirname newpath)) + (copy-file oldpath newpath))) + '("16" "22" "24" "32" "48" "64" "128" "256")))) + (add-after 'install 'deploy-fonts + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (string-append #$output "/lib/" #$moz-app-name))) + ;; Fonts + (copy-recursively (in-vicinity #$assets "fontconfig") + (in-vicinity lib "fontconfig")) + (substitute* (in-vicinity lib "fontconfig/fonts.conf") + (("fonts") + (format #f "~a" (in-vicinity lib "fonts")))) + (delete-file-recursively (in-vicinity lib "fonts")) + (copy-recursively (in-vicinity #$assets "fonts") + (in-vicinity lib "fonts"))))) + (add-after 'deploy-fonts 'deploy-tor-assets + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (in-vicinity #$output "lib/torbrowser")) + (tor #$(this-package-input "tor-client"))) + ;; TorBrowser/Data/Tor/torrc-defaults + (copy-recursively (in-vicinity #$assets "TorBrowser") + (in-vicinity lib "TorBrowser")) + (substitute* + (in-vicinity lib "TorBrowser/Data/Tor/torrc-defaults") + (("exec ./TorBrowser/Tor/PluggableTransports/lyrebird") + (string-append + "exec " (search-input-file inputs "bin/lyrebird")))) + ;; The geoip and geoip6 files are in the same directory as + ;; torrc-defaults. (See TorProcess.sys.mjs.) + (mkdir-p (in-vicinity lib "TorBrowser/Data/Tor")) + (copy-file (in-vicinity tor "share/tor/geoip6") + (in-vicinity lib "TorBrowser/Data/Tor/geoip6")) + (copy-file (in-vicinity tor "share/tor/geoip") + (in-vicinity lib "TorBrowser/Data/Tor/geoip"))))) + (add-after 'install 'autoconfig + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (string-append #$output "/lib/" #$moz-app-name)) + (config-file (string-append #$moz-app-name ".cfg"))) + (with-output-to-file (in-vicinity + lib "defaults/pref/autoconfig.js") + (lambda () + (format #t "// first line must be a comment~%") + (format #t "pref(~s, ~s);~%" + "general.config.filename" config-file) + (format #t "pref(~s, ~a);~%" + "general.config.obscure_value" "0"))) + (with-output-to-file (in-vicinity lib config-file) + (lambda () + (format #t "// first line must be a comment~%") + ;; Required for Guix packaged extensions + ;; SCOPE_PROFILE=1, SCOPE_APPLICATION=4, SCOPE_SYSTEM=8 + ;; Default is 5. + (format #t "pref(~s, ~a);~%" + "extensions.enabledScopes" "13") + (format #t "pref(~s, ~s);~%" + "security.sandbox.content.read_path_whitelist" + (call-with-input-file "whitelist.txt" + get-string-all)) + ;; Add-ons pannel (see settings.js in Icecat source). + (format #t "pref(~s, ~s);~%" + "extensions.getAddons.search.browseURL" + "https://gnuzilla.gnu.org/mozzarella") + (format #t "pref(~s, ~s);~%" + "extensions.getAddons.get.url" + "https://gnuzilla.gnu.org/mozzarella") + (format #t "pref(~s, ~s);~%" + "extensions.getAddons.link.url" + "https://gnuzilla.gnu.org/mozzarella") + (format #t "pref(~s, ~s);~%" + "extensions.getAddons.discovery.api_url" + "https://gnuzilla.gnu.org/mozzarella") + (format #t "pref(~s, ~s);~%" + "extensions.getAddons.langpacks.url" + "https://gnuzilla.gnu.org/mozzarella") + (format #t "pref(~s, ~s);~%" + "lightweightThemes.getMoreURL" + "https://gnuzilla.gnu.org/mozzarella")))))) + (add-after 'autoconfig 'autoconfig-tor + (lambda* (#:key inputs #:allow-other-keys) + (let ((lib (in-vicinity #$output "lib/torbrowser")) + (config-file (string-append #$moz-app-name ".cfg"))) + (let ((port (open-file (in-vicinity lib config-file) "a"))) + (format port "pref(~s, ~s);~%" + "extensions.torlauncher.torrc-defaults_path" + (in-vicinity + lib "TorBrowser/Data/Tor/torrc-defaults")) + (format port "pref(~s, ~s);~%" + "extensions.torlauncher.tor_path" + (search-input-file inputs "bin/tor")) + (close port)))))))) + (propagated-inputs + (list noscript/icecat)) + (native-search-paths + (list (search-path-specification + (variable "ICECAT_SYSTEM_DIR") + (separator #f) ;single entry + (files '("lib/icecat"))))) + (home-page "https://www.torproject.org") + (synopsis "Anonymous browser derived from Mozilla Firefox") + (description + "Tor Browser is the Tor Project version of Firefox browser. It is the +only recommended way to anonymously browse the web that is supported by the +project. It modifies Firefox in order to avoid many know application level +attacks on the privacy of Tor users.") + (license license:mpl2.0))) ;And others, see + ;toolkit/content/license.html + +(define-public torbrowser + (make-torbrowser #:moz-app-name "torbrowser" + #:moz-app-remotingname "Tor Browser" + #:branding-directory "browser/branding/tb-release" + #:assets torbrowser-assets + #:locales %torbrowser-locales + #:base-browser-version %torbrowser-version)) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 6ded83b83fee..2e2a19ae3e41 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -13,7 +13,6 @@ ;;; Copyright © 2021-2023 Danial Behzadi ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Jim Newsome -;;; Copyright © 2023, 2024 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,16 +36,10 @@ (define-module (gnu packages tor) #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) - #:use-module (guix hg-download) - #:use-module (guix build-system copy) #:use-module (guix build-system gnu) - #:use-module (guix build-system mozilla) #:use-module (guix build-system python) #:use-module (guix build-system pyproject) #:use-module (gnu packages) - #:use-module (gnu packages base) - #:use-module (gnu packages bash) - #:use-module (gnu packages browser-extensions) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages check) @@ -54,11 +47,8 @@ (define-module (gnu packages tor) #:use-module (gnu packages pcre) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) - #:use-module (gnu packages golang) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -491,456 +481,3 @@ (define-public tractor the onion proxy and sets up proxy in user session, so you don't have to mess up with TOR on your system anymore.") (license license:gpl3+))) - -(define (mozilla-locale locale changeset hash-string) - (origin - (method hg-fetch) - (uri (hg-reference - (url (string-append "https://hg.mozilla.org/l10n-central/" - locale)) - (changeset changeset))) - (file-name (string-append "mozilla-locale-" locale)) - (sha256 (base32 hash-string)))) - -(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...) - #~(list (cons #$locale #$(mozilla-locale locale changeset hash-string)) - ...)) - -;; 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 %torbrowser-locales - (mozilla-locales - ;; sha256 changeset locale - ;;--------------------------------------------------------------------------- - ("14wnjv13alaj04pd8i8ysillbr3ic2jqa867rbj5ncz8h4hxxfxc" "4c7e24ef78bd" "ar") - ("0mcc15n3p7yk4zdbr3na2fm7wq2184mbcrkk3cvppkl6p4k8654d" "24d50653ab5c" "ca") - ("0ray22hdb3nrv2yi5z98cvbmpk9kpsv96a8wzad5dr4sxy44ii0d" "0d96b6b04bfb" "cs") - ("0is7qbykv2pj0z9ll9r35vwjp0x29vmfr10yjl3s0amfaqzjqpqc" "0a0b774407cc" "da") - ("0yq7m4v7d7ayg90m66j73mflrnp709qw9n7skhpsl9h1wbhrd7q7" "633986260777" "de") - ("19g2ha32syq6rjcyl4ypmy7sc9w7xkvrpkic5lfc2yja6ll9116p" "e2f2d1541e38" "el") - ("018qi9zn24kzfcidsj9lbqfg5n97r295yr8fs953nyfdbim9jsfv" "accf5e4506c0" "es-ES") - ("11prhmh2cp95dpv6z0k479mb11zbfm541bvigs3gnkh3nazjvc8q" "37aa71d77cb6" "fa") - ("1lv9l98q88ixb0ph970yzphahgzbl97x0w069bkxa54kblkv1ch1" "dc40a4fd5d0e" "fi") - ("0wx4k7mwhvpv5w0wa4y5pca2q3jac62jv804nxqnfwh1bvi90wv0" "415c1f0e84bd" "fr") - ("17j68a6rbaphfcq38mgz6s1076fyy92fk0ldw8igql6gd85qjlaa" "d271f275cf48" "ga-IE") - ("0b7qdayljb4ryyqgalvi626lzg238gyn03m3a2f7afs9zi6px526" "46f8d7c031a6" "he") - ("14xbrzvc09fcp7qzllb65nis27hkg9pg5615y29xzwiz4g090my1" "086ac0260d6b" "hu") - ("0q5s4iz02xgmbw6nnpg6xg4pwz7n55nvxb9mj8vqdakq3faybbd5" "f03a6b3069a5" "id") - ("1lwklx3nkm56420xc3kbg892jm2b6202sjw33nvv766sm9hbvcap" "5c4b61165e1d" "is") - ("1n7l5idw9399n8ih1r1d6m8vzpzhwmnxmr9i7jvygkdc8d6adp1k" "07d5e1ff5f9b" "it") - ("1w6nw9cd92p1ndy82wwlq9xizyq3i8rq0nj7118gbxbx368mk2kj" "e6f9db9ce3e6" "ja") - ("1js99gbyc1dj33xc425wb08s1aw3bfznaacrqhw3l42yw1g1ghy4" "a15eb9feea2c" "ka") - ("116a8s0k2yvijy7qf0xpqm5w66gdzs32jhc06364sdar5v34lyhh" "805b85981696" "ko") - ("1yrjrhmmd0b810kxryja1j1md3rr2zpn1j9cbg05dgp5s8i89psk" "943a26276832" "lt") - ("08zccz7gflzpr20y0hvhmdsiz6ncags39kh83cay5ivchyib5qbi" "fbef80de5499" "mk") - ("100k4ibpwys9i4ghi5xvmgwr9api67ngav2hvb613rj6hdfd57f7" "20ec0915ec35" "ms") - ("0kk3cjlpghbi7j3ndb2s0c7g838fzd2mpzg01bp0cra8lzd0n2ac" "4ab6f0d05aa6" "my") - ("1i3r2ici95mazw07m2mrf192fc6bfa3x6j3c2pcc1zg7z9srihgh" "561b0cd86ec1" "nb-NO") - ("1c0m8jhn52h1dif5bswrdwrlzppgga01y61wlii4aaaw15imd6yd" "2a55df0cc389" "nl") - ("1gssvg306b80drp7kvc35kvcxwldb5sga0bapaxhv362irq1nya8" "a64a7dab01c4" "pl") - ("1dzh13x85a7src8szbrq5pjmrbak4isln9xdwjk7a1yq4g9h7jgs" "33bf2a9f4c49" "pt-BR") - ("0jx9y7fv44wxqapmcgr924wgb1l5cm95bgpmnhnjchp1zpmyfdl5" "a367feeadd33" "ro") - ("09x2jirf04kgc118a70z0xrb3msbm7vr4f41ig4xrwf2s5b816r3" "528b76d6aaca" "ru") - ("02y898f0ncjwka474r9lw361b0kywx1w56hj09i7im4j5jrsjnh1" "fa28d9d79cd3" "sq") - ("1cyimbd42aaq2amyhdbbx26jwsns77lsfl8g9a70bsjlpwzwzryg" "cc8e8962e59c" "sv-SE") - ("03mqrvcal7i172gf9239q9fnynfp5kg9b3r1w8gr9iz7rkr22gw5" "d361502c559e" "th") - ("12srgqkqwaidcwbz0y7zr59165f7aq5k5s3b81ql7ixdbwia91pm" "f6173aca4762" "tr") - ("1d91gfx5p6wyb455syw0b57wxl1sd4b4kcdvfk92pb050rqaqfgv" "c5ad4d4f70eb" "uk") - ("1dj8q2jw60a184f018jyldl51rfmvz1cndz3kbw0cc5l5sli7hwr" "0e75c226763d" "vi") - ("1dl2dpif4wwrlpx7zkz5qf8kk4vhxyf63016xcfpbhxizqqwc1ki" "df2d025ed631" "zh-CN") - ("1c63ngff9lsc1x3pi6lnkyxw19gdc65yc67p7alzvrka3cv292ia" "11f8d68148a4" "zh-TW"))) - -;; Must be of the form YYYYMMDDhhmmss as in `date +%Y%m%d%H%M%S`. -(define %moz-build-date "20240123154553") - -;; To find the last version, look at https://www.torproject.org/download/. -(define %torbrowser-version "13.0.9") - -;; To find the last Firefox version, browse -;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version> -;; There should be only one archive that starts with -;; "src-firefox-tor-browser-". -(define %torbrowser-firefox-version "115.7.0esr-13.0-1-build1") - -;; See tor-browser-build/projects/translation/config. -(define translation-base-browser - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "cbd9b6c415ec2edb99237ef67ccd4f033a7b9c2a"))) - (file-name "translation-base-browser") - (sha256 - (base32 - "103dj1zzc68gxzjxwcpc4sbc6qca4zg8kkhdivzpq37ma07sp9sf")))) - -;; See tor-browser-build/projects/translation/config. -(define translation-tor-browser - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "767ab5111f065b82151275775af5ecf7a529ef48"))) - (file-name "translation-tor-browser") - (sha256 - (base32 - "034s0ivbama497xq0904q8p6d7n2f2aa2vn2jcs9g4bvmhgwicw4")))) - -(define torbrowser-assets - ;; This is a prebuilt Torbrowser from which we take the assets we need. - (package - (name "torbrowser-assets") - (version %torbrowser-version) - (source - (origin - (method url-fetch) - (uri - (string-append - "https://archive.torproject.org/tor-package-archive/torbrowser/" - version "/tor-browser-linux-x86_64-" version ".tar.xz")) - (sha256 - (base32 - "0j143r24xzmq38nd5z1xqsa9zp35lws9rvlj6hb9xn3dnl67gh59")))) - (arguments - (list - #:install-plan - ''(("Browser" "." #:include-regexp - ("^\\./TorBrowser/Data/Tor/torrc-defaults" - "^\\./fonts/" - "^\\./fontconfig/fonts.conf"))))) - (build-system copy-build-system) - (home-page "https://www.torproject.org") - (synopsis "Tor Browser assets") - (description "This package contains fonts and configuration files for Tor -Browser.") - (license license:silofl1.1))) - -(define-public torbrowser - (package - (inherit icecat-minimal) - (name "torbrowser") - (version %torbrowser-version) - (source - (origin - (method url-fetch) - (uri - (string-append - "https://archive.torproject.org/tor-package-archive/torbrowser/" - version "/src-firefox-tor-browser-" %torbrowser-firefox-version - ".tar.xz")) - (sha256 - (base32 - "0h05js9j1drzw5q98nlphsmvlp1k2a71z5jd06xk6pz29w6322pw")))) - (build-system mozilla-build-system) - (arguments - (substitute-keyword-arguments (package-arguments icecat-minimal) - ((#:configure-flags flags '()) - #~(cons* - "--without-relative-data-dir" ;store is read-only - "--disable-base-browser-update" - ;; Default is "default", which is the same as "nightly". - "--enable-update-channel=release" - "--with-user-appdir=.torbrowser" - "--with-branding=browser/branding/tb-release" - (string-append "--prefix=" #$output) - (string-append "--with-base-browser-version=" #$version) - #$flags)) - ((#:phases phases) - #~(modify-phases #$phases - (add-before 'configure 'setenv - (lambda _ - (setenv "CONFIG_SHELL" (which "bash")) - ;; Install location is prefix/lib/$MOZ_APP_NAME. Also - ;; $MOZ_APP_NAME is the executable name. Default is - ;; "firefox". - (setenv "MOZ_APP_NAME" "torbrowser") - ;; Profile location (relative to "~/."). Default is - ;; lower($MOZ_APP_VENDOR/$MOZ_APP_BASENAME), which is: - ;; ~/.tor project/firefox. - (setenv "MOZ_APP_PROFILE" "torbrowser/browser") - ;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL"). - (setenv "MOZ_APP_REMOTINGNAME" "Tor Browser") - ;; Persistent state directory for the build system (default is - ;; $HOME/.mozbuild). - (setenv "MOZBUILD_STATE_PATH" - (in-vicinity (getcwd) ".mozbuild")) - (setenv "MOZ_CHROME_MULTILOCALE" - (string-join (map car #$%torbrowser-locales))) - ;; Make build reproducible. - (setenv "MOZ_BUILD_DATE" #$%moz-build-date))) - (add-before 'configure 'mozconfig - (lambda* (#:key configure-flags #:allow-other-keys) - (with-output-to-file "mozconfig" - (lambda () - (format #t ". $topsrcdir/mozconfig-linux-x86_64~%") - (for-each (lambda (flag) - (format #t "ac_add_options ~a~%" flag)) - configure-flags))))) - (replace 'configure - (lambda _ - (invoke "./mach" "configure"))) - ;; See tor-browser-build/projects/firefox/build. - (add-before 'configure 'copy-firefox-locales - (lambda _ - (let ((l10ncentral ".mozbuild/l10n-central")) - (mkdir-p l10ncentral) - (for-each - (lambda (lang) - (copy-recursively (cdr lang) - (in-vicinity l10ncentral (car lang)))) - #$%torbrowser-locales)))) - (add-after 'copy-firefox-locales 'copy-basebrowser-locales - (lambda _ - (let ((l10ncentral ".mozbuild/l10n-central")) - ;; Temporary copy so that we can use ‘mv’ to mimic - ;; tor-browser-build/projects/firefox/build. - (copy-recursively #$translation-base-browser - "translation-base-browser") - (for-each - (lambda (lang) - (system - (format - #f (string-join - '("mv" - "translation-base-browser/~a/base-browser.ftl" - "~a/~a/browser/browser/")) - lang l10ncentral lang)) - (system - (format - #f (string-join - '("mv" - "translation-base-browser/~a/*" - "~a/~a/browser/chrome/browser/")) - lang l10ncentral lang))) - (map car #$%torbrowser-locales))))) - (add-after 'copy-basebrowser-locales 'copy-torbrowser-locales - (lambda _ - (let ((l10ncentral ".mozbuild/l10n-central")) - ;; Temporary copy so that we can use ‘mv’ to mimic - ;; tor-browser-build/projects/firefox/build. - (copy-recursively #$translation-tor-browser - "translation-tor-browser") - (for-each - (lambda (lang) - (system - (format - #f (string-join - '("mv" - "translation-tor-browser/~a/tor-browser.ftl" - "~a/~a/browser/browser/")) - lang l10ncentral lang)) - (system - (format - #f (string-join - '("mv" - "translation-tor-browser/~a/cryptoSafetyPrompt.properties" - "~a/~a/browser/chrome/browser/")) - lang l10ncentral lang)) - (system - (format - #f (string-join - '("mv" - "translation-tor-browser/~a" - "toolkit/torbutton/chrome/locale/")) - lang)) - (let ((port (open-file "toolkit/torbutton/jar.mn" "a"))) - (format port "% locale torbutton ~a %locale/~a/~%" - lang lang) - (format port " locale/~a/ (chrome/locale/~a/*)~%" - lang lang) - (close port))) - (map car #$%torbrowser-locales))))) - (add-before 'build 'fix-addons-placeholder - (lambda _ - (substitute* - "toolkit/locales/en-US/toolkit/about/aboutAddons.ftl" - (("addons.mozilla.org") "gnuzilla.gnu.org")))) - (add-before 'build 'add-bridges ;see deploy.sh - (lambda _ - (let ((port (open-file - "browser/app/profile/000-tor-browser.js" "a"))) - (display - "#include ../../../tools/torbrowser/bridges.js" port) - (newline port) - (close port)))) - ;; See tor-browser-build/projects/firefox/build. - (add-after 'build 'build-locales - (lambda _ - (system (string-join '("./mach package-multi-locale --locales" - "en-US $MOZ_CHROME_MULTILOCALE"))))) - (add-after 'install 'deploy-assets - (lambda* (#:key inputs #:allow-other-keys) - (let ((lib (in-vicinity #$output "lib/torbrowser")) - (tor #$(this-package-input "tor-client"))) - ;; TorBrowser/Data/Tor/torrc-defaults - (copy-recursively (in-vicinity - #$torbrowser-assets "TorBrowser") - (in-vicinity lib "TorBrowser")) - (substitute* - (in-vicinity lib "TorBrowser/Data/Tor/torrc-defaults") - (("exec ./TorBrowser/Tor/PluggableTransports/lyrebird") - (string-append - "exec " (search-input-file inputs "bin/lyrebird")))) - ;; The geoip and geoip6 files are in the same directory as - ;; torrc-defaults. (See TorProcess.sys.mjs.) - (mkdir-p (in-vicinity lib "TorBrowser/Data/Tor")) - (copy-file (in-vicinity tor "share/tor/geoip") - (in-vicinity lib "TorBrowser/Data/Tor/geoip")) - (copy-file (in-vicinity tor "share/tor/geoip6") - (in-vicinity lib "TorBrowser/Data/Tor/geoip6")) - ;; Fonts - (copy-recursively (in-vicinity - #$torbrowser-assets "fontconfig") - (in-vicinity lib "fontconfig")) - (substitute* (in-vicinity lib "fontconfig/fonts.conf") - (("fonts") - (format #f "~a" (in-vicinity lib "fonts")))) - (delete-file-recursively (in-vicinity lib "fonts")) - (copy-recursively (in-vicinity #$torbrowser-assets "fonts") - (in-vicinity lib "fonts"))))) - (replace 'build-sandbox-whitelist - (lambda* (#:key inputs #:allow-other-keys) - (define (runpath-of lib) - (call-with-input-file lib - (compose elf-dynamic-info-runpath - elf-dynamic-info - parse-elf - get-bytevector-all))) - (define (runpaths-of-input label) - (let* ((dir (string-append (assoc-ref inputs label) "/lib")) - (libs (find-files dir "\\.so$"))) - (append-map runpath-of libs))) - ;; Populate the sandbox read-path whitelist as needed by ffmpeg. - (let* ((whitelist - (map (cut string-append <> "/") - (delete-duplicates - `(,(string-append (assoc-ref inputs "shared-mime-info") - "/share/mime") - ,@(append-map runpaths-of-input - '("mesa" "ffmpeg")))))) - (whitelist-string (string-join whitelist ","))) - (with-output-to-file "whitelist.txt" - (lambda () - (display whitelist-string)))))) - (add-after 'install 'autoconfig - (lambda* (#:key inputs #:allow-other-keys) - (let ((lib (in-vicinity #$output "lib/torbrowser")) - (config-file "tor-browser.cfg")) - (with-output-to-file (in-vicinity - lib "defaults/pref/autoconfig.js") - (lambda () - (format #t "// first line must be a comment~%") - (format #t "pref(~s, ~s);~%" - "general.config.filename" config-file) - (format #t "pref(~s, ~a);~%" - "general.config.obscure_value" "0"))) - (with-output-to-file (in-vicinity lib config-file) - (lambda () - (format #t "// first line must be a comment~%") - (format #t "pref(~s, ~s);~%" - "extensions.torlauncher.torrc-defaults_path" - (in-vicinity - lib "TorBrowser/Data/Tor/torrc-defaults")) - (format #t "pref(~s, ~s);~%" - "extensions.torlauncher.tor_path" - (search-input-file inputs "bin/tor")) - ;; Required for Guix packaged extensions - ;; SCOPE_PROFILE=1, SCOPE_APPLICATION=4, SCOPE_SYSTEM=8 - ;; Default is 5. - (format #t "pref(~s, ~a);~%" - "extensions.enabledScopes" "13") - (format #t "pref(~s, ~s);~%" - "security.sandbox.content.read_path_whitelist" - (call-with-input-file "whitelist.txt" - get-string-all)) - ;; Add-ons pannel (see settings.js in Icecat source). - (format #t "pref(~s, ~s);~%" - "extensions.getAddons.search.browseURL" - "https://gnuzilla.gnu.org/mozzarella") - (format #t "pref(~s, ~s);~%" - "extensions.getAddons.get.url" - "https://gnuzilla.gnu.org/mozzarella") - (format #t "pref(~s, ~s);~%" - "extensions.getAddons.link.url" - "https://gnuzilla.gnu.org/mozzarella") - (format #t "pref(~s, ~s);~%" - "extensions.getAddons.discovery.api_url" - "https://gnuzilla.gnu.org/mozzarella") - (format #t "pref(~s, ~s);~%" - "extensions.getAddons.langpacks.url" - "https://gnuzilla.gnu.org/mozzarella") - (format #t "pref(~s, ~s);~%" - "lightweightThemes.getMoreURL" - "https://gnuzilla.gnu.org/mozzarella")))))) - (replace 'wrap-program - (lambda* (#:key inputs #:allow-other-keys) - (let* ((gtk #$(this-package-input "gtk+")) - (gtk-share (string-append gtk "/share")) - (fonts.conf (in-vicinity - #$output - "lib/torbrowser/fontconfig/fonts.conf")) - (ld-libs '#$(cons - (file-append - (this-package-input "libcanberra") - "/lib/gtk-3.0/modules") - (map - (lambda (label) - (file-append - (this-package-input label) "/lib")) - '("libpng-apng" - "libxscrnsaver" - "mesa" - "pciutils" - "mit-krb5" - "eudev" - "pulseaudio" - "libnotify"))))) - (wrap-program - (in-vicinity #$output "lib/torbrowser/torbrowser") - `("XDG_DATA_DIRS" prefix (,gtk-share)) - `("LD_LIBRARY_PATH" prefix ,ld-libs) - `("FONTCONFIG_FILE" prefix (,fonts.conf)))))) - (replace 'install-desktop-entry - (lambda _ - (let ((apps (in-vicinity #$output "share/applications"))) - (mkdir-p apps) - (make-desktop-entry-file - (in-vicinity apps "torbrowser.desktop") - #:name "Tor Browser" - #:exec - (format #f "~a %u" (in-vicinity #$output "bin/torbrowser")) - #:comment - "Tor Browser is +1 for privacy and -1 for mass surveillance" - #:categories '("Network" "WebBrowser" "Security") - #:startup-w-m-class "Tor Browser" - #:icon "tor-browser")))) - (replace 'install-icons - (lambda* (#:key inputs #:allow-other-keys) - (for-each - (lambda (size) - (let ((oldpath (string-append - "browser/branding/tb-release/default" - size ".png")) - (newpath (string-append #$output - "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p newpath) - (copy-file oldpath - (in-vicinity newpath "tor-browser.png")))) - '("16" "22" "24" "32" "48" "64" "128" "256")))))))) - (inputs - (modify-inputs (package-inputs icecat-minimal) - (append go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird - tor-client))) - (propagated-inputs - (list noscript/icecat)) - (home-page "https://www.torproject.org") - (synopsis "Anonymous browser derived from Mozilla Firefox") - (description - "Tor Browser is the Tor Project version of Firefox browser. It is the -only recommended way to anonymously browse the web that is supported by the -project. It modifies Firefox in order to avoid many know application level -attacks on the privacy of Tor users.") - (license license:mpl2.0))) ;And others, see - ;toolkit/content/license.html -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 25 17:55:53 2024 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=20Lassieur?= To: 68577@debbugs.gnu.org, =?UTF-8?Q?Cl=C3=A9ment?= Lassieur , Mark H Weaver , =?UTF-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure Subject: [PATCH v2 2/2] gnu: Add mullvadbrowser. 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * 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."))) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 31 11:20:40 2024 Received: (at 68577) by debbugs.gnu.org; 31 Jan 2024 16:20:40 +0000 Received: from localhost ([127.0.0.1]:38973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVDKJ-0003su-Py for submit@debbugs.gnu.org; Wed, 31 Jan 2024 11:20:40 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:54631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVDKD-0003sc-1T for 68577@debbugs.gnu.org; Wed, 31 Jan 2024 11:20:38 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 26A645C013B; Wed, 31 Jan 2024 11:20:18 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 31 Jan 2024 11:20:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1706718018; x=1706804418; bh=Fb0w09FYiUBvyAVF7SbgJIbRQF+ZTt+X9Zbba+bC29c=; b= FbAvyd20uzwL1ze1PQ/ZoHfdJRMsekkvwcnDT93IZ4B/tQKVgueYLWwJvI3iqkj0 wkHlP0DdRZ4muqiLw78EUnWcq7PqalKZN0gCZkFKpchScuGP16TcwrZGf99pxSuM /z0J1uglpQpExHZH4ukW43DxoNbBxT+g51TaIauLv39kAYhTlp14q/7tHgtuWudJ r7BYvFYOa7ad3bKyeNWg0y4NMLm1OhheGBACuzHOu5Il2dkCLxZ2q1E+gkKvu+OG TS84T7MKpFyVax6F9rWpvxjKt3s5r2iEb9Dm6xB6EkePHWelsnRJJD380gejMNPf 8VCvNNp0P/O0fGe02hMeuA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1706718018; x= 1706804418; bh=Fb0w09FYiUBvyAVF7SbgJIbRQF+ZTt+X9Zbba+bC29c=; b=G FDToYlLl4hU1ZWhr5cNc1yNYW67AQYWTscjBNlISMXtvJ/JffSpIsOCEGLjSS2OC xC1QApZ/cOs8Skpno6t3Vp2Eu2PiF9RUJ4fqAvqS1V6MYX2EZ6MIwrgM78KwNYB/ 2HgaF/vOOG4xZX2ACjlinreWkZNaOQSMBy3JeuH51ZxAg/3pYe1DcT3vI5bb28qi bEgMPqB2OLO/w14p+/s1MUF8VIdWxghVmci81uTkWvuhPmEDdb4mnyb5tfGl1gMZ Jpefjvjy4E7J8VklkwLYZzpHWViifxDkrQyPU9WCXq+OUApxzziE0DNrP9My55pn SellsZX7FoDHCOxWCJETA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedtledgkeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeffveeugfevteduvdefvdfhveduhfeujeelgeettdei ueeiieetteffveeigfelnecuffhomhgrihhnpehgnhhurdhorhhgpdhtohhrphhrohhjvg gtthdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhr ohhmpegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 31 Jan 2024 11:20:16 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH v2 2/2] gnu: Add mullvadbrowser. In-Reply-To: <994cb541ca6331c8e69c9be725c1fce72bd8b08f.1706222112.git.clement@lassieur.org> (=?utf-8?Q?=22Cl=C3=A9ment?= Lassieur"'s message of "Thu, 25 Jan 2024 23:55:16 +0100") References: <994cb541ca6331c8e69c9be725c1fce72bd8b08f.1706222112.git.clement@lassieur.org> Date: Wed, 31 Jan 2024 17:20:14 +0100 Message-ID: <87jznp8og1.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Mark H Weaver , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) I'll send an update for this patch : the build id is not the same as Tor Browser's build id[0]. The Mullvad Browser one is 20240115174108. I found it by going to about:support, but if anyone knows a way to find it on the web, it'd help me automate things a bit. Another thing is about the way I package Mullvad Browser. I wish to inherit Tor Browser as much as I can, but the fact that they don't share the build id, plus the fact that webRTC is supported by Mullvad and not (yet) by Tor Browser means Mullvad users and Tor Browser users are not in the same =E2=80=9Cbucket=E2=80=9D[1]. To make things clear : our goal is for our Tor Browser users to be in the same bucket as upstream Tor Browser users, and for our Mullvad Browser users to be in the same bucket as Mullvad Browser upstream users. Thanks Cl=C3=A9ment [0]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D68676#19 [1]: https://forum.torproject.org/t/changing-operating-system-changes-brows= er-fingerprints/6345/3 From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 01 18:47:39 2024 Received: (at 68577) by debbugs.gnu.org; 1 Feb 2024 23:47:39 +0000 Received: from localhost ([127.0.0.1]:43337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVgmR-0002MO-8U for submit@debbugs.gnu.org; Thu, 01 Feb 2024 18:47:39 -0500 Received: from mx1.riseup.net ([198.252.153.129]:57420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVgmL-0002Lz-Mo for 68577@debbugs.gnu.org; Thu, 01 Feb 2024 18:47:37 -0500 Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4TQwYd4P30zDqP4; Thu, 1 Feb 2024 23:47:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1706831237; bh=TVupD6egeuR7UrymrMYfhRo9E5WdHnjD7tXHmyWcP3o=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=UKJHVZeLoqyEqyAZW1y2PsQmqMGL092F4uUwwLvAVs7rOZa4LcHxwns6+9RD1hs5F PhXIprA2e5AFZ6hghupdd5iulqDlL1OfnnUvAexiIOoXdQoNkI3pWR+0BCfGANkTMm LzhDTLXGOc3twb4vrZP47rZmWDz68SbmIZaWrGd0= X-Riseup-User-ID: 84B2EE97E2E29BF1315031E9571006170881A8539A729065D9D3638F153A2475 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4TQwYb6smpzFsjW; Thu, 1 Feb 2024 23:47:15 +0000 (UTC) Date: Thu, 1 Feb 2024 20:46:58 -0300 From: =?iso-8859-1?Q?Andr=E9?= Batista To: =?iso-8859-1?Q?Cl=E9ment?= Lassieur Subject: Re: [PATCH v2 1/2] gnu: torbrowser: Stop inheriting Icecat. Message-ID: References: <7044a87b07b302fb861f9853725ec0ca0abb8354.1706222112.git.clement@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <7044a87b07b302fb861f9853725ec0ca0abb8354.1706222112.git.clement@lassieur.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: Mark H Weaver , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Clément, I did not yet review the mullvad patch which follows this one, but regarding this, I have only a few comments to make: qui 25 jan 2024 às 23:54:36 (1706237676), clement@lassieur.org enviou: > + > +;; Must be of the form YYYYMMDDhhmmss as in `date +%Y%m%d%H%M%S`. > +(define %moz-build-date "20240123154553") First just a heads up so that you do not forget to update the build-date. And also on tor.scm: > diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm > index 6ded83b83fee..2e2a19ae3e41 100644 > --- a/gnu/packages/tor.scm > +++ b/gnu/packages/tor.scm > ... > > @@ -37,16 +36,10 @@ (define-module (gnu packages tor) > #:use-module (guix utils) > #:use-module (guix download) > #:use-module (guix git-download) > - #:use-module (guix hg-download) > - #:use-module (guix build-system copy) > #:use-module (guix build-system gnu) > - #:use-module (guix build-system mozilla) > #:use-module (guix build-system python) > #:use-module (guix build-system pyproject) > #:use-module (gnu packages) > - #:use-module (gnu packages base) I think you've mistankenly removed base and also > - #:use-module (gnu packages bash) > - #:use-module (gnu packages browser-extensions) > #:use-module (gnu packages libevent) > #:use-module (gnu packages linux) > #:use-module (gnu packages check) > @@ -54,11 +47,8 @@ (define-module (gnu packages tor) > #:use-module (gnu packages pcre) > #:use-module (gnu packages freedesktop) > #:use-module (gnu packages glib) > - #:use-module (gnu packages golang) > - #:use-module (gnu packages gnuzilla) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages python) > - #:use-module (gnu packages python-check) python-check here. They were there before the commit which has added torbrowser. On git logs, it seems 'base' is needed for the 'which' input to torsocks, as per f3cf25c3c2aef91a47b790fe69b5008cdb6a6316. 'python-check' OTOH is needed for the 'python-colorama' input to onionshare, as per 55db762b31531609f43b32680298762487702280. I have not yet tried to rebuild them without those inputs to see if they are actually still needed though. In case they are not, for clarity, I think it would be better to remove them on a separate patch anyway. Finally, I've noticed that we are still using 'ffmpeg-5' as an input to both icecat and torbrowser. However, as we are now based on firefox version 115, ffmpeg is compatible. I've built it to check and it appears to be working fine (though I've only watched one single video to test it and only on torbrowser). IMO, this should be also a separate patch. Other than that, all looks good to me, even if it gives me a headache. :D Cheers, André From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 01 20:53:39 2024 Received: (at 68577) by debbugs.gnu.org; 2 Feb 2024 01:53:39 +0000 Received: from localhost ([127.0.0.1]:43372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVikN-00062N-63 for submit@debbugs.gnu.org; Thu, 01 Feb 2024 20:53:39 -0500 Received: from mx0.riseup.net ([198.252.153.6]:41436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVikK-000629-Gc for 68577@debbugs.gnu.org; Thu, 01 Feb 2024 20:53:37 -0500 Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4TQzM36NkVz9tMg; Fri, 2 Feb 2024 01:53:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1706838800; bh=rJ05fjC/993h0/o5Tfu6R+ZfSyY8/zN9TYQtVQXpg98=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=fC/iLKn55hVB/bH2ZMK/hwr/voBwVK8bikw/XzR1M5VE88zCRuRl8uRiNYxQnWI1U iWl/Gybs7M1n1X4njiGcouaCJCQHGw/KTjxJ3bN8cRvh11pnAJ8mGj8hZN751EItCq JTFefn/+FmTG5V9Sm8HfXdV/HGYSxDAvduJtFaJ8= X-Riseup-User-ID: 13AF77C3E52DF95F1DDC398206A41D61C0528F741967916E292E3226CA02B340 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4TQzM129KczFv3r; Fri, 2 Feb 2024 01:53:17 +0000 (UTC) Date: Thu, 1 Feb 2024 22:52:52 -0300 From: =?iso-8859-1?Q?Andr=E9?= Batista To: =?iso-8859-1?Q?Cl=E9ment?= Lassieur Subject: Re: [bug#68577] [PATCH v2 2/2] gnu: Add mullvadbrowser. Message-ID: References: <994cb541ca6331c8e69c9be725c1fce72bd8b08f.1706222112.git.clement@lassieur.org> <87jznp8og1.fsf@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87jznp8og1.fsf@lassieur.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: Mark H Weaver , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi guix, qua 31 jan 2024 às 17:20:14 (1706732414), clement@lassieur.org enviou: > > (...) > > To make things clear : our goal is for our Tor Browser users to be in > the same bucket as upstream Tor Browser users, and for our Mullvad > Browser users to be in the same bucket as Mullvad Browser upstream > users. I think we should aim for that and be as close as possible but no closer. What I mean is that we should not strive for bug for bug compatibility. Suppose there's a new torbrowser release and then, one week later, a new noscript release. Should we then freeze noscript and wait for a new torbrowser? Should we create a new noscript/torbrowser package? What about other inputs? The build system? I don't know if it's at all possible to guarantee that guix users will be on the same bucket as other GNU/Linux users of the upstream binaries, but I guess it will be way too much work to even try it. That's what I meant way back when I suggested the 'torbrowser-unbundle' name and said that if one wants the strongest possible guarantee of anonymity, one should then use the upstream binaries (they are sure the largest anonymity bucket). In that sense, having torbrowser on guix is a sure improvement over using tor+icecat. All guix users in this scenario are on a bucket that is easy to tell apart (not even the user-agent string is the same). So we've made the work needed to tell apart guix users from other GNU/Linux users way harder. >From now on, what I suggest is that we think on the economics of getting each step closer to be indistinguishable from upstream. Are the proposed changes easily maintainable? Do they substantially increase the burden on guix build servers? Is the change making the work of those trying to deanonymize surely more expensive? If the burden is heavy on us but the proposed changes do not make the work of those intent on deanonymizing way harder/more expensive, it's unreasonable to apply them. Thoughts? From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 02 06:05:07 2024 Received: (at 68577) by debbugs.gnu.org; 2 Feb 2024 11:05:07 +0000 Received: from localhost ([127.0.0.1]:43758 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVrM3-0007vt-0G for submit@debbugs.gnu.org; Fri, 02 Feb 2024 06:05:07 -0500 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:50991) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVrM0-0007vK-Jx for 68577@debbugs.gnu.org; Fri, 02 Feb 2024 06:05:05 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 21C483200AC7; Fri, 2 Feb 2024 06:04:45 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 02 Feb 2024 06:04:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1706871884; x=1706958284; bh=7aRoExnv2jEX8wYY4AAiHxbZntz5vmFWWuWvPye39UU=; b= GN1ox8T59o5xB2ia9M5baVfg/T+GFNSk5E+sbHveb3Wet708ifsDcwZTti2w/7Eb aV83m2OCk10ALQoSj9G0iz8Je14X2cua4U1y7kqOVfZaKyyzOjrLt0K2XWEbvVid gZQuwXU9dRoRZ4pK03IPD1H9pOnJePn1YVlLTFhn+/0hMaR/iX5t6lr/kQmeYk6S /WE906HwjGaLmVu3aD/K9/e2hghCPndxErGFa41/3MXKbNZt/R89XioJ7b/LuBsB 7ZxL5Y/HQWu3UC6TZzKmR1Z4dxuavuXgbw6pDVQV73uEXXBHnQF+TwGfeZ26/HO1 7rjxnyEtKU973ixDlcH1vA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1706871884; x= 1706958284; bh=7aRoExnv2jEX8wYY4AAiHxbZntz5vmFWWuWvPye39UU=; b=n JRf0lKh/6treArJmdYMUwqc0qwOIqbyeC2hOyzaMedqjwKHY/bdBmhNCmtkKYV2A KZBPm/4mgJnv2FA1TAIoV3EfOcuuQ11pX6GeYbMGr9gOmBxDaSC7ZpCZBJUoL9+4 Mb+xEMvj4rqID+PS/vGI8a2sWpb6G4VSsaiZLsHAKuKpjxlglyH+bddB/EQvXxAO LErHw1Eq3JnXzO06B0ZthR83HjeH8nNhvDZQGN1Y2PxU791WGQ7Bl6liSmvGVFNX CDJviwL+OIlmktjSM9rt6tCNCgfo2yXAeqdHf5lusu9mr8fcIn42/Ic6+ntAOtsd m5etsjCoObSkn7T0rE6RA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedugedgvdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeekheefffdtfeffueevkefgfffhtddugfdugeeugeev gfduteffudfgfefhjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 2 Feb 2024 06:04:43 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: =?utf-8?Q?Andr=C3=A9?= Batista Subject: Re: [bug#68577] [PATCH v2 1/2] gnu: torbrowser: Stop inheriting Icecat. In-Reply-To: (=?utf-8?Q?=22Andr=C3=A9?= Batista"'s message of "Thu, 1 Feb 2024 20:46:58 -0300") References: <7044a87b07b302fb861f9853725ec0ca0abb8354.1706222112.git.clement@lassieur.org> Date: Fri, 02 Feb 2024 12:04:39 +0100 Message-ID: <874jerktyw.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: Mark H Weaver , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Andr=C3=A9, On Thu, Feb 01 2024, Andr=C3=A9 Batista wrote: > qui 25 jan 2024 =C3=A0s 23:54:36 (1706237676), clement@lassieur.org envio= u: >> + >> +;; Must be of the form YYYYMMDDhhmmss as in `date +%Y%m%d%H%M%S`. >> +(define %moz-build-date "20240123154553") > > First just a heads up so that you do not forget to update the build-date. Yes, I did rebase locally. Thanks for the reminder! > And also on tor.scm: > >> diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm >> index 6ded83b83fee..2e2a19ae3e41 100644 >> --- a/gnu/packages/tor.scm >> +++ b/gnu/packages/tor.scm >> ... >> >> @@ -37,16 +36,10 @@ (define-module (gnu packages tor) >> #:use-module (guix utils) >> #:use-module (guix download) >> #:use-module (guix git-download) >> - #:use-module (guix hg-download) >> - #:use-module (guix build-system copy) >> #:use-module (guix build-system gnu) >> - #:use-module (guix build-system mozilla) >> #:use-module (guix build-system python) >> #:use-module (guix build-system pyproject) >> #:use-module (gnu packages) >> - #:use-module (gnu packages base) > > I think you've mistankenly removed base and also > >> - #:use-module (gnu packages bash) >> - #:use-module (gnu packages browser-extensions) >> #:use-module (gnu packages libevent) >> #:use-module (gnu packages linux) >> #:use-module (gnu packages check) >> @@ -54,11 +47,8 @@ (define-module (gnu packages tor) >> #:use-module (gnu packages pcre) >> #:use-module (gnu packages freedesktop) >> #:use-module (gnu packages glib) >> - #:use-module (gnu packages golang) >> - #:use-module (gnu packages gnuzilla) >> #:use-module (gnu packages pkg-config) >> #:use-module (gnu packages python) >> - #:use-module (gnu packages python-check) > > python-check here. > > They were there before the commit which has added torbrowser. > > On git logs, it seems 'base' is needed for the 'which' input to torsocks, > as per f3cf25c3c2aef91a47b790fe69b5008cdb6a6316. > > 'python-check' OTOH is needed for the 'python-colorama' input to > onionshare, as per 55db762b31531609f43b32680298762487702280. =E2=80=98make=E2=80=99 was happy but maybe it's not enough? I'll add them = back. > I have not yet tried to rebuild them without those inputs to see if they > are actually still needed though. In case they are not, for clarity, I > think it would be better to remove them on a separate patch anyway. Yes! > Finally, I've noticed that we are still using 'ffmpeg-5' as an input to > both icecat and torbrowser. However, as we are now based on firefox > version 115, ffmpeg is compatible. I've built it to check and it appears > to be working fine (though I've only watched one single video to test > it and only on torbrowser). IMO, this should be also a separate patch. I agree, for a separate patch! > Other than that, all looks good to me, even if it gives me a headache. :D Gives me headaches too :) Thanks, pushed. Cl=C3=A9ment From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 02 07:03:52 2024 Received: (at 68577) by debbugs.gnu.org; 2 Feb 2024 12:03:52 +0000 Received: from localhost ([127.0.0.1]:43796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVsGu-0001DU-5q for submit@debbugs.gnu.org; Fri, 02 Feb 2024 07:03:52 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:60173) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVsGs-0001DD-1G for 68577@debbugs.gnu.org; Fri, 02 Feb 2024 07:03:51 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id 721FE5C0126; Fri, 2 Feb 2024 07:03:33 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Fri, 02 Feb 2024 07:03:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1706875413; x=1706961813; bh=BvRsABzaAY4BAI7cHYzRhAGf8lip63X5xC9EH5ygNCY=; b= XQkhC8+31l4Thxt0PteP3pBUdyaxTVdHCzPuoRU3TsUdzS+79ugihkx5S0+o0oP8 cQoPWzKJNPPqQ4thHXjV38kxkl/0UETHpHLvsDEq1Feew0HXHCZDhh5yb12vIrJv JR0GjiMWaq//iVIo0NRQzQPHSTbYF8t/zml3eTQOk+2LLZGlNKKxKvCCDbw6E3t9 pd05FF2V0Y6unR/RDqJ546XFqVf70N+gakkRXV2rjoS9l/6HA8UdOX4eQX9VMLU7 PuPTS3gYgKhIHR6EbYW8VTgnI8ngZpja9ASpCFsNQbR3ScKqoDP4YaG+BzyvCmyI W8ORLf5y8v+zoWuPycMnDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1706875413; x= 1706961813; bh=BvRsABzaAY4BAI7cHYzRhAGf8lip63X5xC9EH5ygNCY=; b=C Z/IYfuPfodsAQrXySGnwGs4JsbnDblCpuUlLVVJguzjKh1d+aumOokD1TKCE5DGe oAxM3YVk/ERzd7kGKZZPCObYeT+wwDFAuSgH7JX1b1oMgyaY0KPKCjtl2X6heCHo ZRFuWbzKQ/y4L6E6EHD4Q7xSZ23VkkvaVYcF+C2DxeI6Je07IyNWyWwsD8C2/1DP fRUbUIJtzhkHfaJZ79HMoR9imMuMDvlEzGmCt/TPo9OjnHj38hzObLeXxtBFvTap tW2huk4wi156obuxXqyMDbCV+M3+pHQ7225vghP4lA9QlZ0KVLF3HTKTZV/FGzrJ U4/DiQNU1YOEhBbuH5eGw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedugedgfeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeekheefffdtfeffueevkefgfffhtddugfdugeeugeev gfduteffudfgfefhjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 2 Feb 2024 07:03:32 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: =?utf-8?Q?Andr=C3=A9?= Batista Subject: Re: [bug#68577] [PATCH v2 2/2] gnu: Add mullvadbrowser. In-Reply-To: (=?utf-8?Q?=22Andr=C3=A9?= Batista"'s message of "Thu, 1 Feb 2024 22:52:52 -0300") References: <994cb541ca6331c8e69c9be725c1fce72bd8b08f.1706222112.git.clement@lassieur.org> <87jznp8og1.fsf@lassieur.org> Date: Fri, 02 Feb 2024 13:03:30 +0100 Message-ID: <87ttmrcbu5.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: Mark H Weaver , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Thu, Feb 01 2024, Andr=C3=A9 Batista wrote: > Hi guix, > > qua 31 jan 2024 =C3=A0s 17:20:14 (1706732414), clement@lassieur.org envio= u: >> >> (...) >>=20 >> To make things clear : our goal is for our Tor Browser users to be in >> the same bucket as upstream Tor Browser users, and for our Mullvad >> Browser users to be in the same bucket as Mullvad Browser upstream >> users. > > I think we should aim for that and be as close as possible but no closer. > > What I mean is that we should not strive for bug for bug compatibility. > Suppose there's a new torbrowser release and then, one week later, a > new noscript release. Should we then freeze noscript and wait for a new > torbrowser? Should we create a new noscript/torbrowser package? What > about other inputs? The build system? > > I don't know if it's at all possible to guarantee that guix users will be > on the same bucket as other GNU/Linux users of the upstream binaries, but > I guess it will be way too much work to even try it. That's what I meant > way back when I suggested the 'torbrowser-unbundle' name and said that > if one wants the strongest possible guarantee of anonymity, one should > then use the upstream binaries (they are sure the largest anonymity > bucket). > > In that sense, having torbrowser on guix is a sure improvement over using > tor+icecat. All guix users in this scenario are on a bucket that is easy > to tell apart (not even the user-agent string is the same). So we've made > the work needed to tell apart guix users from other GNU/Linux users way > harder. > > From now on, what I suggest is that we think on the economics of getting > each step closer to be indistinguishable from upstream. Are the proposed > changes easily maintainable? Do they substantially increase the burden on > guix build servers? Is the change making the work of those trying to > deanonymize surely more expensive? > > If the burden is heavy on us but the proposed changes do not make the > work of those intent on deanonymizing way harder/more expensive, it's > unreasonable to apply them. > > Thoughts? Yes I agree. Perfect is the enemy of good. I was thinking about changes that don't make it more difficult to maintain, e.g. using the same build-options as upstream (when it makes sense). I don't think being late on a noscript update will change our bucket anyways, and I know we can't know for sure. (For the strongest possible anonymity, people should use Tails...) From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 03 14:29:21 2024 Received: (at 68577) by debbugs.gnu.org; 3 Feb 2024 19:29:21 +0000 Received: from localhost ([127.0.0.1]:47096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWLhY-0003oO-Gg for submit@debbugs.gnu.org; Sat, 03 Feb 2024 14:29:21 -0500 Received: from world.peace.net ([64.112.178.59]:44058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWLhW-0003oB-R0 for 68577@debbugs.gnu.org; Sat, 03 Feb 2024 14:29:19 -0500 Received: from mhw by world.peace.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rWLh9-0003PG-FO; Sat, 03 Feb 2024 14:28:55 -0500 From: Mark H Weaver To: =?utf-8?Q?Andr=C3=A9?= Batista Subject: Re: [bug#68577] [PATCH 1/2] gnu: icecat: Improve inheritance. In-Reply-To: References: <87ttn5nbkj.fsf@netris.org> Date: Sat, 03 Feb 2024 14:28:40 -0500 Message-ID: <875xz573ek.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68577 Cc: 68577@debbugs.gnu.org, Jonathan Brielmaier , =?utf-8?Q?Cl=C3=A9ment?= Lassieur , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Andr=C3=A9, First, let me say that I appreciate you and your contributions to Guix. I'm sorry that my message made you feel badly. That's not an apology, but rather a sincere feeling of sadness that your feelings were hurt. Andr=C3=A9 Batista writes: > seg 22 jan 2024 =C3=A0s 01:09:21 (1705896561), mhw@netris.org enviou: >> Hi Cl=C3=A9ment, >>=20 >> I see now that in November, you added 'torbrowser', which inherits from >> 'icecat-minimal'. >>=20 >> > commit 756ba0429e84ee0f8ce30484439b78c00c61d286 >> > Author: Cl=C3=A9ment Lassieur >> > Date: Sun Nov 12 02:23:27 2023 +0100 >> >=20 >> > gnu: Add torbrowser. >> >=20=20=20=20=20 >> > * gnu/packages/tor.scm (torbrowser): New variable. >> > (torbrowser-assets): New variable. >> > * gnu/packages/browser-extensions.scm (noscript): New variable. >> > (noscript/icecat): New variable. >> >=20=20=20=20=20 >> > Co-authored-by: Andr=C3=A9 Batista >> > Change-Id: I73dc53905e4a028108bb34aae07e44256cf16c85 >>=20 >> Did you consult me on this change? I don't remember seeing anything >> about this in my mailbox. Please note that this was simply a question, and not a rhetorical one. I asked the question because I do not want to assume that my failure to see an email implies that it was not sent to me. Any email can be lost due to spam filters, a man-in-the-middle who wishes to prevent delivery, or because the recipient overlooks it among the torrent of (mostly junk) mail that many of us receive. >> This change concerns me, because it compels me to coordinate with you >> when making nontrivial IceCat updates. As things stand now, it seems >> that the 'icecat' and 'torbrowser' packages must be updated together, >> in lock step. >>=20 >> Also, do 'torbrowser' and 'mullvad' both comply with the requirements of >> the GNU FSDG? For example, do they support EME? Do they steer the user >> to nonfree software, e.g. nonfree addons. > > Considering I was cc'ed and part of the thread that led to that patch, > I'll consider myself invited to give a piece of my mind on your > comments. I'm glad that you did. It is far better than letting unspoken feelings fester indefinitely. I'm sorry that I was too overloaded to respond sooner. > First things first: when I sent the very first version of this patch, I > didn't use inheritance anywhere and it was actually suggested to me as > an improvement over what I had done[1]. [...] > 1. https://lists.gnu.org/archive/html/guix-patches/2020-09/msg00261.html I looked at the messages in that thread from people other than you, but I was unable to find any suggestion to use inheritance. Can you point to the specific message where inheritance was suggested? What I do see is a suggestion by Ludovic to "think of ways to factorize code with IceCat". I agree with that suggestion, but not with the use of inheritance. Instead, I suggest creating a new (guix build icecat) module, and moving some of the code from the build phases of IceCat into Scheme procedures placed within that module. Of course, please CC me on any proposals along those lines. > Looking back, it is true I should have probably known better and have you > cc'ed right from the start. My code was heavily based on / similar to > Icecat's package definition and so it made sense to avoid duplication. > I didn't know and did not care to look who were the contributors to > Icecat's definition. I see now that I was careless and that my behaviour > could be seen as disrespectful. No disrespect was intended, but I > certainly could have done better and I do apologize for my shortcomings. For what it's worth, I don't believe that you were "careless" or "disrespectful", nor do I think that an apology is warranted here. As Cl=C3=A9ment correctly pointed out, I was not listed as a member of the mozilla team, and that reason alone makes it understandable that I would be overlooked. FYI, I've just recently added myself to the 'mozilla' team. > Now, do you believe me when I say that there was no ill will towards you > or others? Yes, and I never believed otherwise. I have neither perceived ill will from, nor felt ill will towards, you or Cl=C3=A9ment. > I ask this because your last comments strike me on the opposite sense. > Risking to add insult to injury, but in the hopes of gaining your help, > I'd say that your comments appear to be assuming ill intention on our > part towards you and somewhat belittle you at the same time. I made no such assumption. > Why do you assume to be compelled to do anything if you were not even > cc'ed? As things stand, my assumption here is that the burden would be > on us to either ask you directly or to keep a close eye on any changes > done to Icecat. IMO, you certainly wouldn't be to blame if you changed > something on Icecat and torbrowser/mullvad/librewolf had some issue. We > would. I would not feel compelled *by you*, but rather as an unintended consequence of your actions, due to my own desire to not break other packages while updating IceCat. > On the other hand, would it really be that much of added work if we were > to ask you to copy us when proposing some changes to Icecat? Would it be > presumptuous or forceful to ask that? The problem is partly due to my own (admittedly suboptimal) tendency to procastinate performing major IceCat updates until shortly before the previous ESR branch reaches end-of-life. These major updates, which occur approximately once per year, usually require substantial changes to the IceCat package definition. These changes are likely to break any other packages that inherit from the IceCat package, unless all of the inheriting packages are updated in lock-step within a single batch of commits. Theoretically, there is a window of 2-3 months when these major IceCat updates could be done, and therefore it would theoretically be possible to coordinate a lock-step update of IceCat, TorBrowser, and Mullvad at the same time. However, this would be an added burden on me, and I'm unwilling to commit to doing this. > More than that, it suprises me that after discovering these threads and > having a good amount of knowledge on building Icecat you've decided to > just lash out on us, instead of trying to be of help, reviewing the > proposed patches or letting we learn from our short-sightedness the hard > way. This idea that I "lashed out" at you is unsupported by my actual words. I think that you have made many assumptions about what I felt about you, when in fact I merely asked a question, and then proceeded to explain why the changes created a problem for me. I do not deny that I was *mildly* displeased at not being informed in advance about the changes you made. Of course, I expect to be CC'd on future updates that relate to the IceCat package, including any changes that could add more burdens on me when modifying the IceCat package, given that I feel a responsibility to try my best to avoid breaking other packages. However, I do not fault you in any way. Anyway: thanks again, Andr=C3=A9 and Cl=C3=A9ment, for your contributions t= o Guix. I think well of you both, and I hope that this message will help to clear up any misunderstandings between us. Sincerely, Mark From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 03 20:51:26 2024 Received: (at 68577) by debbugs.gnu.org; 4 Feb 2024 01:51:26 +0000 Received: from localhost ([127.0.0.1]:47338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWRfJ-0005fD-BI for submit@debbugs.gnu.org; Sat, 03 Feb 2024 20:51:26 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:53081) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWRfE-0005en-Tx for 68577@debbugs.gnu.org; Sat, 03 Feb 2024 20:51:23 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id B65B15C003F; Sat, 3 Feb 2024 20:51:02 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Sat, 03 Feb 2024 20:51:02 -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=1707011462; x=1707097862; bh=sUoGsS9fOHKzZwdVjna5HtEvQvsk2Uk3Or52+k2sAY8=; b= Fn4BhxZWOVQhnWeRcQwFvphGdiOakgR7efIBvwui2Cj8mdfsbP6RGMWve0Gv4P9v haM4127OVFL25rYGPJRmB/UyyvB+7fmqqzJ4wWSD83s0OTXsnDazyw6mFbi0NViw g3KeWcnqiDXfDbBucjIbF9VOQHERKzr4cVedDSGv+sAcBmj6lpK86O/5Ms3+hrV0 Ad7fItI+hJU/ie9JW3sJJ3B5uC/1BqA9B71k6JhFeah7r+U9dOBzbjGLyDd9EQ4P xgQeOk8e+cF2lHxp2vdRY4NLYDCIPHO8kyf5uVK1Sanl47Zrvvhb2ZyD3Lg4bG7Q CZxLwJGxiFyj71WnTRf2Lw== 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=1707011462; x= 1707097862; bh=sUoGsS9fOHKzZwdVjna5HtEvQvsk2Uk3Or52+k2sAY8=; b=C 3zAixBqYA16uLVFR0pZ4Xy+L2wfz/71OckCDlfsaNJUMDnDJ+SkEfjhtgETUNH97 oNto0xPLzUwV+Moo2pDNFj+MLdsGiofVasGak3J47JQMH5wClZR5q/apDVELKV6E dUF2P8Ku3xsVJb+CPmVsGORdVCncwB1xgbjf4plNHXSTpCPAOXyOBcbu3yVLqFC9 okjhpU45I0MaD8SJsC7AzG17uZ43oIDWF9T7iXiIdVXHwDZMZaTtCSFZaNflMP7J AEXcQRaGkjosSxgK/3XQBA/fJfngV2Oae4/pKgkjPz382+zat/+a8Q71Eeuy/op1 jHQz1oO7D7yw87/o6qXdQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedujedggeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepvehlrohm vghnthcunfgrshhsihgvuhhruceotghlvghmvghntheslhgrshhsihgvuhhrrdhorhhgqe enucggtffrrghtthgvrhhnpedtieeguedtudegjeegffeggeehleevffdvheeuleegteeh tddujeethfehfffgueenucffohhmrghinhepthhorhhprhhojhgvtghtrdhorhhgpdhmuh hllhhvrggurdhnvghtnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghi lhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 3 Feb 2024 20:51:00 -0500 (EST) From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= To: 68577@debbugs.gnu.org, =?UTF-8?Q?Cl=C3=A9ment?= Lassieur , Mark H Weaver , =?UTF-8?Q?Andr=C3=A9?= Batista , Jonathan Brielmaier , Ian Eure Subject: [PATCH v3] gnu: Add mullvadbrowser. Date: Sun, 4 Feb 2024 02:48:44 +0100 Message-ID: <242ec08074173df58abf4bd6fba9b2d743e52573.1707011291.git.clement@lassieur.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: André Batista , Jonathan Brielmaier , Mark H Weaver Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/tor-browsers.scm (%moz-build-date): Rename to %torbrowser-build-date. (make-torbrowser, torbrowser): Add a ‘build-date’ parameter and use it. (%mullvadbrowser-locales, %mullvadbrowser-build-date, %mullvadbrowser-version, %mullvadbrowser-firefox-version, translation-mullvad-browser, mullvadbrowser-assets, mullvadbrowser-base, mullvadbrowser): New variables. Change-Id: Ie6d48823b3794710f60f0ae201a0297925221f66 --- gnu/packages/tor-browsers.scm | 173 +++++++++++++++++++++++++++++++++- 1 file changed, 171 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index fbae54922459..ec91bba3e4c1 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -148,7 +148,7 @@ (define %torbrowser-locales ;; We copy the official build id, which can be found there: ;; https://aus1.torproject.org/torbrowser/update_3/release/. -(define %moz-build-date "20240115174022") +(define %torbrowser-build-date "20240115174022") ;; To find the last version, look at https://www.torproject.org/download/. (define %torbrowser-version "13.0.9") @@ -160,6 +160,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) @@ -218,6 +220,7 @@ (define* (make-torbrowser #:key branding-directory assets locales + build-date base-browser-version) (package (name "torbrowser") @@ -538,7 +541,7 @@ (define* (make-torbrowser #:key (setenv "MOZ_CHROME_MULTILOCALE" (string-join (map car #$locales))) ;; Make build reproducible. - (setenv "MOZ_BUILD_DATE" #$%moz-build-date))) + (setenv "MOZ_BUILD_DATE" #$build-date))) (add-before 'configure 'mozconfig (lambda* (#:key configure-flags #:allow-other-keys) (with-output-to-file "mozconfig" @@ -837,4 +840,170 @@ (define-public torbrowser #:branding-directory "browser/branding/tb-release" #:assets torbrowser-assets #:locales %torbrowser-locales + #:build-date %torbrowser-build-date #: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"))) + +;; We copy the official build id, which can be found there: +;; https://cdn.mullvad.net/browser/update_responses/update_1/release. +(define %mullvadbrowser-build-date "20240115174108") + +;; 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 + #:build-date %mullvadbrowser-build-date + #: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."))) base-commit: abeffc82379c4f9bd2e6226ea27453b22cb4e0c8 -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 03 20:54:11 2024 Received: (at 68577) by debbugs.gnu.org; 4 Feb 2024 01:54:11 +0000 Received: from localhost ([127.0.0.1]:47347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWRhz-0005kj-Cx for submit@debbugs.gnu.org; Sat, 03 Feb 2024 20:54:11 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:47265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWRhx-0005kT-Rt for 68577@debbugs.gnu.org; Sat, 03 Feb 2024 20:54:10 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 11E5D5C007F; Sat, 3 Feb 2024 20:53:53 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Sat, 03 Feb 2024 20:53:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1707011633; x=1707098033; bh=2oZ7gGO5tGKrSqtfIzZqmvKC55pCOYy5K0Cm0Ea0LiU=; b= WqoGQzNDvUTRPDE6efiyveU4MZt8UQ2muf0xF54EwsBT2HCohMY0J+3QLmqCI5m5 TE66SqgWkKMeWsomNpeLtkp59zlpKblcMx2+I6AQd8E+ab30nV4PTrQswEVaAEwF iVSXNuW9r7riQnjTE8N9XgtZLl8ZAnV0lR+sWQk9T2u7ucOtAQzwabNvax0qQDQK H1ktdaX11qHVk+ak8NAT6oy9PqOzsyRCOpWpXUJUVccCHpncGA5Ov/uHy9KG1PlI 9zytx3AVE9yyitOn6aRFZb0ZkF/tD33fKRR6RIbc3NIcZsxi0f8mtc7sSSTXai7P bVWiJWHvCDrX4OyEDvCIRg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1707011633; x= 1707098033; bh=2oZ7gGO5tGKrSqtfIzZqmvKC55pCOYy5K0Cm0Ea0LiU=; b=k 5VxZTdiF9uwAJYH/xDZ4ltFk51CAAvrIdlX4cforuXVyVdSoWTQii4Im5gteROM6 gosJRZskGB19uwIOE9t/ThF5JYO8DsAn3OIdx/W3iEip9RnueJ0aKUlUDyr+tx+0 4JyKUBvVeog9PK/hTKbV+ONQcBu61jtdhKXo3TmLnOmyg744SkRAErBFul6o4lHt 1pvjzSgMGjK8MEyOfKKLwsyruOljM3pJRsXYrXJMc9G0sTug6N4isnMCjvA8XOIc bqcbWWGSai2PCTXbOyuehTl9+JlBqMOxPdUJ0qf2nt1iE8nIbHxmPoZ3tfgIH5lZ hModM7Wq9EKiV4XOol6sQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedujedggeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeekheefffdtfeffueevkefgfffhtddugfdugeeugeev gfduteffudfgfefhjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 3 Feb 2024 20:53:51 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: 68577@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH v2 2/2] gnu: Add mullvadbrowser. In-Reply-To: <87jznp8og1.fsf@lassieur.org> (=?utf-8?Q?=22Cl=C3=A9ment?= Lassieur"'s message of "Wed, 31 Jan 2024 17:20:14 +0100") References: <994cb541ca6331c8e69c9be725c1fce72bd8b08f.1706222112.git.clement@lassieur.org> <87jznp8og1.fsf@lassieur.org> Date: Sun, 04 Feb 2024 02:53:49 +0100 Message-ID: <871q9tq9jm.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Mark H Weaver , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Jan 31 2024, Cl=C3=A9ment Lassieur wrote: > I'll send an update for this patch : the build id is not the same as Tor > Browser's build id[0]. > > The Mullvad Browser one is 20240115174108. I found it by going to > about:support, but if anyone knows a way to find it on the web, it'd > help me automate things a bit. I found a way to find the build id, added a comment, sent the update. From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 05 09:10:53 2024 Received: (at 68577-done) by debbugs.gnu.org; 5 Feb 2024 14:10:53 +0000 Received: from localhost ([127.0.0.1]:50833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWzgS-00030e-JZ for submit@debbugs.gnu.org; Mon, 05 Feb 2024 09:10:53 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:52361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rWzgM-00030N-UW for 68577-done@debbugs.gnu.org; Mon, 05 Feb 2024 09:10:50 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id C3A4F5C0143; Mon, 5 Feb 2024 09:10:28 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Mon, 05 Feb 2024 09:10:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1707142228; x=1707228628; bh=00Oiiex5rmKA/haPmakoYzEccqGr41oYkog9kq8LuP8=; b= oBKhh3/pD3bJiz7oc9aVIsylL5R57GOl5SPbIyzkJvCvVmDW/PsFtXohhHgbXCbr n9fyQb9QT5XIIz4rTEF8QGJbPGUkLt1kXKs6zgNLRePk0N7wAvn4bgJbbQwV5wYl gMcocGW3AXAMs1gSBv9z0QlbAnIFK1UqPY+Nd6Ib3Em84Jp4CP+0Rk9P2B2OxClm 8GH1H+hNwMVKm9B+ZZR4Yuy6qFEkE6f+aE910vbQb47fmVGOe4ukrNDzKqn8aiG+ E3c7TVOORc9MCFH33jLJjvM0SCpGkqepAbv0+sfZh4qBrZGgOupaFeY9M1WDf4N1 pn9NA1XTzdE865fLe48igg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1707142228; x= 1707228628; bh=00Oiiex5rmKA/haPmakoYzEccqGr41oYkog9kq8LuP8=; b=k FLE0PdncRXWdrfDIRa5r6jgVKEnzeXcqzar4hdnFr/3Q+Z8Lk938bJTsulwVBAF3 Ffwntdx8VvS440VEtEcbJ7Q5bbvlYUhkq53AanaPFuEh99bHdr93oMPX1FtF5wxF lxcSYd7y89lqg7XhmoOzexlV0sVD8DddjG/jqSmie1lNHWNl6eXh8vqOzINKC7wo CQER9oKTqS57PkkGx6gT35TkP6CvaF7/DMk9R0E3qd6LuQ81Bv2B4Z0vmLl6C0s9 6pm9KtfpIQzmvKNGUjhx9mhUjHSpQhVEMDh9dcZi3bp2IgHxYdb6i4HPwKd4Uoks hlCWoV3AWuIHqzc0r8p9A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedvtddgiedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpeevlhor mhgvnhhtucfnrghsshhivghurhcuoegtlhgvmhgvnhhtsehlrghsshhivghurhdrohhrgh eqnecuggftrfgrthhtvghrnhepgeekheefffdtfeffueevkefgfffhtddugfdugeeugeev gfduteffudfgfefhjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 5 Feb 2024 09:10:27 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: 68577-done@debbugs.gnu.org Subject: Re: [bug#68577] [PATCH v3] gnu: Add mullvadbrowser. In-Reply-To: <242ec08074173df58abf4bd6fba9b2d743e52573.1707011291.git.clement@lassieur.org> (=?utf-8?Q?=22Cl=C3=A9ment?= Lassieur"'s message of "Sun, 4 Feb 2024 02:48:44 +0100") References: <242ec08074173df58abf4bd6fba9b2d743e52573.1707011291.git.clement@lassieur.org> Date: Mon, 05 Feb 2024 15:10:23 +0100 Message-ID: <87a5off1dc.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577-done Cc: =?utf-8?Q?Andr=C3=A9?= Batista , Mark H Weaver , Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sun, Feb 04 2024, Cl=C3=A9ment Lassieur wrote: > * gnu/packages/tor-browsers.scm (%moz-build-date): Rename to > %torbrowser-build-date. > (make-torbrowser, torbrowser): Add a =E2=80=98build-date=E2=80=99 paramet= er and use it. > (%mullvadbrowser-locales, %mullvadbrowser-build-date, %mullvadbrowser-ver= sion, > %mullvadbrowser-firefox-version, translation-mullvad-browser, > mullvadbrowser-assets, mullvadbrowser-base, mullvadbrowser): New variable= s. > > Change-Id: Ie6d48823b3794710f60f0ae201a0297925221f66 > --- > gnu/packages/tor-browsers.scm | 173 +++++++++++++++++++++++++++++++++- > 1 file changed, 171 insertions(+), 2 deletions(-) Pushed. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 07 10:52:48 2024 Received: (at 68577) by debbugs.gnu.org; 7 Feb 2024 15:52:48 +0000 Received: from localhost ([127.0.0.1]:57683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rXkEB-0001Uy-DI for submit@debbugs.gnu.org; Wed, 07 Feb 2024 10:52:48 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:34563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rXkE9-0001Ua-1B for 68577@debbugs.gnu.org; Wed, 07 Feb 2024 10:52:46 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id E26F25C00DB; Wed, 7 Feb 2024 10:52:25 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 07 Feb 2024 10:52:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc: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=1707321145; x=1707407545; bh=IYxbl0iKEUZ0qrWaCR9y4iOUqtU0xCZarO9OvIaRLWM=; b= dW3XUYwu0C78nnvd8lqre/PqH4itp0lz6C5O57KWT9h2GTWaRkp20ougNPT7LGBW TxnoroEWofJWincEGbcL6xq7vyT0EgJm/uDqen4gwjVbdNnH1hY52YXMQhco0cqw Wa9JTNoBOsxHR19u0xTIj6yoWLn98ejt7dYPzGb1owzIN7RdJKngD1WfzTZGhMIC O3OeSfEXh/LesTLGD7urnDKwC/ykk7xxlzfc19CIKiAQGEFbVn0MY6N8orJpf3ru 7Xt3fhlzzL6xidkgDHle3N8dG3ObkInnj0zMS3KzqGULDBfnQytSl56AFyL2s8Tj a8kqGMCuxLCG870Lg0z7FA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=1707321145; x= 1707407545; bh=IYxbl0iKEUZ0qrWaCR9y4iOUqtU0xCZarO9OvIaRLWM=; b=N RLT9jmngu+8HGRRfZtDylDt+zYxIzOjiYHgZO7Mjoj63uKJE0CnmMcwTKXddQEd0 pp7RyaIGcLxg1i5mSQBZPLjv1JDzLdEizk8niCo+vQvHs/jWE+h6fXXJpVTvNFwL uoqdtBDemHVG3NGMYZRxzjDTNeQANWnZDn6NTUdDwvJqj3D1IvSfE6OJhk0Ke3tP 9W/dtJi6eKCEvAUj7ubeJ89WffL+NkibZtOXreRvf+axRbphW5N6wQby+Tbi2SnU aSDRpEeQBoIjkBBdGNNBpqcMUSL7ExCwmwhKBP66iHvL+Wdwvgxrm7wBa0ANi/g8 y4j6VfWt+hkXqaMe9sbLg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrtddvgdejlecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufgjfhffkfgfgggtgfesthhqredttderjeenucfhrhhomhepvehlrohm vghnthcunfgrshhsihgvuhhruceotghlvghmvghntheslhgrshhsihgvuhhrrdhorhhgqe enucggtffrrghtthgvrhhnpeeiudeuheeviedtleelheeivedutdejgfevhfdvtedvudel hfdthedvvddtieehkeenucffohhmrghinhepghhnuhdrohhrghenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegtlhgvmhgvnhhtsehlrghsshhi vghurhdrohhrgh X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Feb 2024 10:52:24 -0500 (EST) From: =?utf-8?Q?Cl=C3=A9ment_Lassieur?= To: Mark H Weaver Subject: Re: [bug#68577] [PATCH 1/2] gnu: icecat: Improve inheritance. In-Reply-To: <875xz573ek.fsf@netris.org> (Mark H. Weaver's message of "Sat, 03 Feb 2024 14:28:40 -0500") References: <87ttn5nbkj.fsf@netris.org> <875xz573ek.fsf@netris.org> Date: Wed, 07 Feb 2024 16:52:22 +0100 Message-ID: <87r0hos24p.fsf@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68577 Cc: =?utf-8?Q?Andr=C3=A9?= Batista , 68577@debbugs.gnu.org, Jonathan Brielmaier , Ian Eure X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sat, Feb 03 2024, Mark H Weaver wrote: > Hi Andr=C3=A9, > > First, let me say that I appreciate you and your contributions to Guix. > I'm sorry that my message made you feel badly. That's not an apology, > but rather a sincere feeling of sadness that your feelings were hurt. > > Andr=C3=A9 Batista writes: > >> seg 22 jan 2024 =C3=A0s 01:09:21 (1705896561), mhw@netris.org enviou: >>> Hi Cl=C3=A9ment, >>>=20 >>> I see now that in November, you added 'torbrowser', which inherits from >>> 'icecat-minimal'. >>>=20 >>> > commit 756ba0429e84ee0f8ce30484439b78c00c61d286 >>> > Author: Cl=C3=A9ment Lassieur >>> > Date: Sun Nov 12 02:23:27 2023 +0100 >>> >=20 >>> > gnu: Add torbrowser. >>> >=20=20=20=20=20 >>> > * gnu/packages/tor.scm (torbrowser): New variable. >>> > (torbrowser-assets): New variable. >>> > * gnu/packages/browser-extensions.scm (noscript): New variable. >>> > (noscript/icecat): New variable. >>> >=20=20=20=20=20 >>> > Co-authored-by: Andr=C3=A9 Batista >>> > Change-Id: I73dc53905e4a028108bb34aae07e44256cf16c85 >>>=20 >>> Did you consult me on this change? I don't remember seeing anything >>> about this in my mailbox. > > Please note that this was simply a question, and not a rhetorical one. > I asked the question because I do not want to assume that my failure to > see an email implies that it was not sent to me. Any email can be lost > due to spam filters, a man-in-the-middle who wishes to prevent delivery, > or because the recipient overlooks it among the torrent of (mostly junk) > mail that many of us receive. > >>> This change concerns me, because it compels me to coordinate with you >>> when making nontrivial IceCat updates. As things stand now, it seems >>> that the 'icecat' and 'torbrowser' packages must be updated together, >>> in lock step. >>>=20 >>> Also, do 'torbrowser' and 'mullvad' both comply with the requirements of >>> the GNU FSDG? For example, do they support EME? Do they steer the user >>> to nonfree software, e.g. nonfree addons. >> >> Considering I was cc'ed and part of the thread that led to that patch, >> I'll consider myself invited to give a piece of my mind on your >> comments. > > I'm glad that you did. It is far better than letting unspoken feelings > fester indefinitely. I'm sorry that I was too overloaded to respond > sooner. > >> First things first: when I sent the very first version of this patch, I >> didn't use inheritance anywhere and it was actually suggested to me as >> an improvement over what I had done[1]. > [...] >> 1. https://lists.gnu.org/archive/html/guix-patches/2020-09/msg00261.html > > I looked at the messages in that thread from people other than you, but > I was unable to find any suggestion to use inheritance. Can you point > to the specific message where inheritance was suggested? > > What I do see is a suggestion by Ludovic to "think of ways to factorize > code with IceCat". I agree with that suggestion, but not with the use > of inheritance. Instead, I suggest creating a new (guix build icecat) > module, and moving some of the code from the build phases of IceCat into > Scheme procedures placed within that module. Of course, please CC me on > any proposals along those lines. > >> Looking back, it is true I should have probably known better and have you >> cc'ed right from the start. My code was heavily based on / similar to >> Icecat's package definition and so it made sense to avoid duplication. >> I didn't know and did not care to look who were the contributors to >> Icecat's definition. I see now that I was careless and that my behaviour >> could be seen as disrespectful. No disrespect was intended, but I >> certainly could have done better and I do apologize for my shortcomings. > > For what it's worth, I don't believe that you were "careless" or > "disrespectful", nor do I think that an apology is warranted here. > As Cl=C3=A9ment correctly pointed out, I was not listed as a member of the > mozilla team, and that reason alone makes it understandable that I would > be overlooked. > > FYI, I've just recently added myself to the 'mozilla' team. > >> Now, do you believe me when I say that there was no ill will towards you >> or others? > > Yes, and I never believed otherwise. I have neither perceived ill will > from, nor felt ill will towards, you or Cl=C3=A9ment. > >> I ask this because your last comments strike me on the opposite sense. >> Risking to add insult to injury, but in the hopes of gaining your help, >> I'd say that your comments appear to be assuming ill intention on our >> part towards you and somewhat belittle you at the same time. > > I made no such assumption. > >> Why do you assume to be compelled to do anything if you were not even >> cc'ed? As things stand, my assumption here is that the burden would be >> on us to either ask you directly or to keep a close eye on any changes >> done to Icecat. IMO, you certainly wouldn't be to blame if you changed >> something on Icecat and torbrowser/mullvad/librewolf had some issue. We >> would. > > I would not feel compelled *by you*, but rather as an unintended > consequence of your actions, due to my own desire to not break other > packages while updating IceCat. > >> On the other hand, would it really be that much of added work if we were >> to ask you to copy us when proposing some changes to Icecat? Would it be >> presumptuous or forceful to ask that? > > The problem is partly due to my own (admittedly suboptimal) tendency to > procastinate performing major IceCat updates until shortly before the > previous ESR branch reaches end-of-life. These major updates, which > occur approximately once per year, usually require substantial changes > to the IceCat package definition. These changes are likely to break any > other packages that inherit from the IceCat package, unless all of the > inheriting packages are updated in lock-step within a single batch of > commits. > > Theoretically, there is a window of 2-3 months when these major IceCat > updates could be done, and therefore it would theoretically be possible > to coordinate a lock-step update of IceCat, TorBrowser, and Mullvad at > the same time. However, this would be an added burden on me, and I'm > unwilling to commit to doing this. > >> More than that, it suprises me that after discovering these threads and >> having a good amount of knowledge on building Icecat you've decided to >> just lash out on us, instead of trying to be of help, reviewing the >> proposed patches or letting we learn from our short-sightedness the hard >> way. > > This idea that I "lashed out" at you is unsupported by my actual words. > I think that you have made many assumptions about what I felt about you, > when in fact I merely asked a question, and then proceeded to explain > why the changes created a problem for me. > > I do not deny that I was *mildly* displeased at not being informed in > advance about the changes you made. Of course, I expect to be CC'd on > future updates that relate to the IceCat package, including any changes > that could add more burdens on me when modifying the IceCat package, > given that I feel a responsibility to try my best to avoid breaking > other packages. However, I do not fault you in any way. > > Anyway: thanks again, Andr=C3=A9 and Cl=C3=A9ment, for your contributions= to Guix. > I think well of you both, and I hope that this message will help to > clear up any misunderstandings between us. Thank you Mark for this message. I was a bit rude in the one I sent you just before (I indeed thought your question was rhetorical); for this I apologize. I hope we can work together to continue giving Guix high quality web browsers, striving for privacy and freedom. Kind regards, Cl=C3=A9ment From unknown Thu Aug 14 21:22:38 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 07 Mar 2024 12:24:10 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator