diff mbox series

[bug#58761] gnu: Add bypass-paywalls-chromium.

Message ID BY5PR07MB70296514B048F17BA6C4F35C992E9@BY5PR07MB7029.namprd07.prod.outlook.com
State New
Headers show
Series [bug#58761] gnu: Add bypass-paywalls-chromium. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

Wamm K. D. Oct. 24, 2022, 3:56 p.m. UTC
* gnu/packages/browser-extensions.scm (bypass-paywalls-chromium): Add new Chromium extension.
---
 gnu/packages/browser-extensions.scm | 63 +++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

Comments

Christopher Baines March 16, 2023, 6:06 p.m. UTC | #1
"Wamm K. D" <jaft.r@outlook.com> writes:

> * gnu/packages/browser-extensions.scm (bypass-paywalls-chromium): Add new Chromium extension.
> ---
>  gnu/packages/browser-extensions.scm | 63 +++++++++++++++++++++++++++++
>  1 file changed, 63 insertions(+)

Apologies for the long delay for review of this.

This seems fine to me, although I can't fine anything in the upstream
repository suggesting what the license is. Where did you get that it's
expat licensed?

Thanks,

Chris
Maxim Cournoyer March 21, 2023, 1:03 p.m. UTC | #2
Hi,

Christopher Baines <mail@cbaines.net> writes:

> "Wamm K. D" <jaft.r@outlook.com> writes:
>
>> * gnu/packages/browser-extensions.scm (bypass-paywalls-chromium): Add new Chromium extension.
>> ---
>>  gnu/packages/browser-extensions.scm | 63 +++++++++++++++++++++++++++++
>>  1 file changed, 63 insertions(+)
>
> Apologies for the long delay for review of this.
>
> This seems fine to me, although I can't fine anything in the upstream
> repository suggesting what the license is. Where did you get that it's
> expat licensed?

I've checked the git log of the repo, and an Expat LICENSE file was
added in 066f5e1656cd87e2e443bc05458fdb109e405f34 and then removed later
in:

--8<---------------cut here---------------start------------->8---
commit b84c534180ab1042011836b5b9f38abacd2d2616
Author: Adam <36013816+iamadamdev@users.noreply.github.com>
Date:   Sun Apr 19 16:08:53 2020 -0700

    File directory structure update
--8<---------------cut here---------------end--------------->8---

Issues cannot be created on their tracker unless we've already
contributed to their repo, so I've tried submitting a PR instead [0], but
that also resulted in:

--8<---------------cut here---------------start------------->8---
An owner of this repository has limited the ability to open a pull
request to users that have contributed to this repository in the past.
--8<---------------cut here---------------end--------------->8---

Which is unfortunate.

Thus, I'm closing this issue.  Feel free to re-open if you could contact
the author and remediate the license situation.

[0]  https://github.com/Apteryks/bypass-paywalls-chrome
diff mbox series

Patch

diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index db27101b9b..d2bf4f1480 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -17,6 +17,7 @@ 
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages browser-extensions)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix git-download)
   #:use-module (guix build-system copy)
@@ -109,3 +110,65 @@  (define ublock-origin
 
 (define-public ublock-origin/chromium
   (make-chromium-extension ublock-origin "chromium"))
+
+(define bypass-paywalls
+  (package
+    (name "bypass-paywalls")
+    (version "1.8.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/iamadamdev/bypass-paywalls-chrome")
+                    (commit (string-append "v" version))))
+              (sha256 (base32
+                       "103917jsn6py3wi4gw216rs6winrd1wkkag1zqxczkf2y7c9bndb"))))
+    (build-system gnu-build-system)
+    (native-inputs (list p7zip))
+    (outputs '("xpi" "firefox" "chromium"))
+    (arguments
+     (list
+      #:phases #~(modify-phases (map (lambda (phase)
+                                       (assq phase %standard-phases))
+                                     '(set-paths unpack patch-source-shebangs))
+                   (add-after 'patch-source-shebangs 'prepare-build
+                     (lambda _
+                       (chdir "build")
+
+                       (mkdir-p "firefox")
+                       (mkdir-p "chromium")
+
+                       (substitute* "build.sh"
+                         (("# Remove temp files")
+                          "cp $FF_FILES firefox
+mv firefox/temp-ff-manifest.json firefox/manifest.json
+mv firefox/temp-background.js    firefox/background.js
+mv firefox/temp-options.html     firefox/options.html
+mv firefox/temp-popup.html       firefox/popup.html
+
+cp $CH_FILES chromium
+mv chromium/temp-chrome-manifest.json chromium/manifest.json
+mv chromium/temp-background.js        chromium/background.js
+mv chromium/temp-options.html         chromium/options.html
+mv chromium/temp-popup.html           chromium/popup.html
+
+# Remove temp files"))))
+                   (add-after 'prepare-build 'build
+                     (lambda _
+                       (invoke "./build.sh")))
+                   (add-after 'build 'install
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((firefox (assoc-ref outputs "firefox"))
+                             (xpi (assoc-ref outputs "xpi"))
+                             (chromium (assoc-ref outputs "chromium")))
+                         (install-file "output/bypass-paywalls.xpi"
+                                       (string-append xpi "/lib/mozilla/extensions"))
+                         (copy-recursively "firefox" firefox)
+                         (copy-recursively "chromium" chromium)))))))
+    (home-page "https://github.com/iamadamdev/bypass-paywalls-chrome")
+    (synopsis "Bypass Paywalls web-browser extension")
+    (description "Bypass Paywalls displays web pages without their paywalls, for
+IceCat and ungoogled-chromium.")
+    (license license:expat)))
+
+(define-public bypass-paywalls/chromium
+  (make-chromium-extension bypass-paywalls "chromium"))