GNU bug report logs - #70078
[PATCH] gnu: Add stremio.

Previous Next

Package: guix-patches;

Reported by: Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es>

Date: Fri, 29 Mar 2024 16:32:03 UTC

Severity: normal

Tags: patch

Done: Sergio Pastor Pérez <sergio.pastorperez <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Sergio Pastor Pérez <sergio.pastorperez <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#70078: closed ([PATCH] gnu: Add stremio.)
Date: Thu, 01 May 2025 10:16:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 01 May 2025 12:15:13 +0200
with message-id <874iy4hc26.fsf <at> gmail.com>
and subject line Re: [PATCH v2] gnu: Add stremio.
has caused the debbugs.gnu.org bug report #70078,
regarding [PATCH] gnu: Add stremio.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
70078: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70078
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es>
To: guix-patches <at> gnu.org
Cc: Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es>
Subject: [PATCH] gnu: Add stremio.
Date: Fri, 29 Mar 2024 17:25:11 +0100
* gnu/packages/video.scm (stremio): New variable.

Change-Id: Ie4c2dc30a0d488e20be21c3802330e993a60df70
---
 gnu/packages/video.scm | 105 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 94334e0c97..e0da7a4874 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -169,6 +169,7 @@ (define-module (gnu packages video)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pciutils)
@@ -3751,6 +3752,110 @@ (define-public streamlink
 from sites like Twitch.tv and pipes them into a video player of choice.")
     (license license:bsd-2)))
 
+(define-public stremio
+  (define server-js
+    (let ((version "4.20.8"))
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://dl.strem.io/server/v" version
+                            "/desktop/server.js"))
+        (file-name (string-append "server-js-" version))
+        (sha256 (base32 "0xmlbx6aib5h78ya369pnpxyn05b12l05i8v2kymijbmaw7j04vi")))))
+  (package
+    (name "stremio")
+    (version "4.4.168")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Stremio/stremio-shell")
+             (commit (string-append "v" version))
+             (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "14x9i8qvm19sijh7hqppbk8s14dvv7dqlck7x3s8n9i4xn4ncgd7"))))
+    (build-system qt-build-system)
+    (native-inputs (list librsvg))
+    (inputs (list qtbase-5
+                  qtdeclarative-5
+                  qtwebchannel-5
+                  qtwebengine-5
+                  qtquickcontrols-5
+                  openssl
+                  mpv
+                  node))
+    (arguments
+     (list
+      #:tests? #f
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'setup-server
+                     (lambda _
+                       (copy-file #$server-js "server.js")))
+                   (add-after 'unpack 'fix-paths
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (substitute* "main.qml"
+                         (("var node_executable =.*$")
+                          (string-append "var node_executable =\""
+                                         (search-input-file inputs "bin/node")
+                                         "\"\n"))
+                         (("applicationDirPath \\+\"/server\\.js\"")
+                          (string-append "\""
+                                         #$server-js "\"")))
+                       (substitute* "smartcode-stremio.desktop"
+                         (("Exec=stremio")
+                          (string-append "Exec="
+                                         #$output "/bin/stremio")))))
+                   (replace 'configure
+                     (lambda _
+                       (invoke "qmake")))
+                   (replace 'build
+                     (lambda _
+                       (invoke "make" "-f" "release.makefile"
+                               (string-append "PREFIX="
+                                              #$output))))
+                   (replace 'install
+                     (lambda _
+                       (invoke "make" "-f" "release.makefile" "install"
+                               (string-append "PREFIX="
+                                              #$output))
+                       ;; Setup bin dir.
+                       (with-directory-excursion #$output
+                         (install-file "opt/stremio/stremio" "bin")
+                         (install-file "opt/stremio/smartcode-stremio.desktop"
+                          "share/applications")
+                         ;; Setup icon dir.
+                         (for-each (lambda (size)
+                                     (let ((dir (string-append #$output
+                                                 "/share/icons/hicolor/"
+                                                 size
+                                                 "x"
+                                                 size
+                                                 "/apps")))
+                                       (mkdir-p dir)
+                                       (copy-file (string-append
+                                                   "opt/stremio/icons/smartcode-stremio_"
+                                                   size ".png")
+                                                  (string-append dir
+                                                   "/smartcode-stremio.png"))
+                                       (copy-file (string-append
+                                                   "opt/stremio/icons/smartcode-stremio-tray_"
+                                                   size ".png")
+                                                  (string-append dir
+                                                   "/smartcode-stremio-tray.png"))))
+                                   '("16" "22" "24" "32" "64" "128"))
+                         ;; Remove unnecessary opt dir.
+                         (delete-file-recursively "opt")))))))
+    (home-page "https://www.stremio.com")
+    (synopsis "Modern media center that gives you the freedom to watch
+everything you want")
+    (description
+     "Stremio offers a secure, modern and seamless entertainment experience.
+With its easy-to-use interface and diverse content library, including 4K HDR
+support, users can enjoy their favorite movies and TV shows across all their
+devices.  And with its commitment to security, Stremio is the ultimate choice
+for a worry-free, high-quality streaming experience.")
+    (license license:expat)))
+
 (define-public twitchy
   (let ((commit "9beb36d80b16662414129693e74fa3a2fd97554e")) ; 3.4 has no tag
     (package

base-commit: 8ed9ce9d0070b854f0aadc6626e624ba2156c112
-- 
2.41.0



[Message part 3 (message/rfc822, inline)]
From: Sergio Pastor Pérez <sergio.pastorperez <at> gmail.com>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 70078-close <at> debbugs.gnu.org,
 Divya Ranjan Pattanaik <divya <at> subvertising.org>
Subject: Re: [PATCH v2] gnu: Add stremio.
Date: Thu, 01 May 2025 12:15:13 +0200
Sergio Pastor Pérez <sergio.pastorperez <at> gmail.com> writes:
> Andreas Enge <andreas <at> enge.fr> writes:
>> This all seems to be a bit vague. There is this press release [2] from
>> 2019 that makes announcements like "Stremio-core will be open-source too,
>> and licensed under the permissive MIT license.", but such a declaration
>> of intentions does not mean that anything *is* actually published under
>> such a license. (And for instance, the expat vs. gpl3 question shows the
>> discrepancy between announcements and reality.)
>>
>> On the other hand, there is the issue
>>    https://github.com/Stremio/stremio-service/issues/49
>> from 2023 in which the "lead dev" arguments that some parts of the code
>> are and should remain proprietary.
>>
>> It may just be an oversight, and the hint towards a license file at the
>> top of server.js is an indication of that, but we cannot be sure and do
>> not have this license file.
>>
>> So my opinion is that as long as we have no proofs of a free license,
>> this package has to be considered proprietary and cannot be added to
>> Guix. Maybe you could bring this up with the developers and have them
>> add a license statement, or a link to such a statement, in the server.js
>> file.
>
> Alright, I've opened an issue in their Github page[1]. Let's see if they
> can clarify the license for us.
>
> [1] https://github.com/Stremio/stremio-shell/issues/435

I've got a reply and seems Andreas was right distrusting the
licensing. According to the developers 'server.js' is proprietary
software[1]

[1]
https://github.com/Stremio/stremio-shell/issues/435#issuecomment-2844471402


-- Closing this issue due to the package not following Guix guidelines.


This bug report was last modified 24 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.