guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#68298: [PATCH 2/2] gnu: Add output in ‘make-icecat-extension’ for ea


From: Clément Lassieur
Subject: bug#68298: [PATCH 2/2] gnu: Add output in ‘make-icecat-extension’ for each Firefox variant.
Date: Fri, 12 Jan 2024 18:54:30 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

I no longer think this is a good idea because
- it adds a lot of complexity
- extensions are disabled by default on Tor Browser
- if one wants to run Tor Browser with a specific set of extensions,
  they can still use 'guix shell'.

Closing as wontfix.

On Sun, Jan 07 2024, Clément Lassieur wrote:

> * gnu/build/icecat-extension.scm (make-icecat-extension)[arguments]: Loop
> through all variants and for each variant, symlink the add-on there, and in
> the main output too.
> * gnu/packages/tor.scm (torbrowser)[arguments]: Add a 'fix-system-dir' phase
> so that the system directory is not shared between variants.
> [propagated-inputs]: Propagate only the "torbrowser" output of
> noscript/icecat.
> [native-search-paths]: Use TORBROWSER_SYSTEM_DIR instead of inheriting from
> the icecat package.
>
> Change-Id: I409bae5c317e98d1bd308eb64a66f1ce1a304bcc
> ---
>  gnu/build/icecat-extension.scm | 28 +++++++++++++++++++---------
>  gnu/packages/tor.scm           | 11 ++++++++++-
>  2 files changed, 29 insertions(+), 10 deletions(-)
>
> diff --git a/gnu/build/icecat-extension.scm b/gnu/build/icecat-extension.scm
> index 9013ab0fac05..b5d44e3b5559 100644
> --- a/gnu/build/icecat-extension.scm
> +++ b/gnu/build/icecat-extension.scm
> @@ -34,7 +34,7 @@ (define* (make-icecat-extension pkg #:optional (pkg-output 
> "out"))
>      (native-inputs '())
>      (inputs '())
>      (propagated-inputs (package-propagated-inputs pkg))
> -    (outputs '("out"))
> +    (outputs '("out" "icecat" "torbrowser"))
>      (build-system trivial-build-system)
>      (arguments
>       (list
> @@ -61,11 +61,21 @@ (define* (make-icecat-extension pkg #:optional 
> (pkg-output "out"))
>            ;; which would change too often.  We don't want the add-on path to
>            ;; be hard-coded either because it would never change (but it
>            ;; wouldn't make sense anyway).
> -          (let* ((addon-id #$(assq-ref (package-properties pkg) 'addon-id))
> -                 (moz-app-id "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}")
> -                 (search-dir (string-append #$output 
> "/lib/icecat/extensions/"
> -                                            moz-app-id)))
> -
> -            (mkdir-p search-dir)
> -            (symlink (in-vicinity (ungexp pkg pkg-output) addon-id)
> -                     (in-vicinity search-dir addon-id))))))))
> +          (for-each
> +           (lambda (variant)
> +             (let* ((addon-id #$(assq-ref (package-properties pkg) 
> 'addon-id))
> +                    (moz-app-id "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}")
> +                    (search-dir
> +                     (lambda (out)
> +                       (string-append (assoc-ref %outputs out) "/lib/" 
> variant
> +                                      "/extensions/" moz-app-id)))
> +                    (symlink-addon
> +                     (lambda (out)
> +                       (mkdir-p (search-dir out))
> +                       (symlink (in-vicinity (ungexp pkg pkg-output) 
> addon-id)
> +                                (in-vicinity (search-dir out) addon-id)))))
> +               (symlink-addon variant)
> +               ;; Symlink to the main output so that a user can install the
> +               ;; add-on for all of the Firefox variants at once.
> +               (symlink-addon "out")))
> +           (cdr '#$outputs)))))))
> diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
> index b81944ee6b96..c46f48a808da 100644
> --- a/gnu/packages/tor.scm
> +++ b/gnu/packages/tor.scm
> @@ -563,6 +563,10 @@ (define-public torbrowser
>             #$flags))
>         ((#:phases phases)
>          #~(modify-phases #$phases
> +            (add-after 'apply-guix-specific-patches 'fix-system-dir
> +              (lambda _
> +                (substitute* "toolkit/xre/nsXREDirProvider.cpp"
> +                  (("ICECAT_SYSTEM_DIR") "TORBROWSER_SYSTEM_DIR"))))
>              (add-before 'configure 'setenv
>                (lambda _
>                  (setenv "CONFIG_SHELL" (which "bash"))
> @@ -758,7 +762,12 @@ (define-public torbrowser
>                 tor-client
>                 torbrowser-assets)))
>      (propagated-inputs
> -     (list noscript/icecat))
> +     (list `(,noscript/icecat "torbrowser")))
> +    (native-search-paths
> +     (list (search-path-specification
> +            (variable "TORBROWSER_SYSTEM_DIR")
> +            (separator #f)              ;single entry
> +            (files '("lib/torbrowser")))))
>      (home-page "https://www.torproject.org";)
>      (synopsis "Anonymous browser derived from Mozilla Firefox")
>      (description





reply via email to

[Prev in Thread] Current Thread [Next in Thread]