guix_mirror_bot pushed a commit to branch master
in repository guix.

commit ec9611d0c6abdce098b2c84ab3bcd48ef7e019fd
Author: Ian Eure <[email protected]>
AuthorDate: Mon Feb 9 19:55:26 2026 -0800

    Revert "gnu: Remove openshot."
    
    This reverts commit 61bba2ef6e7e4b9dd316ddaa5029559cc2953a85.
---
 gnu/packages/video.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1544e02a0a..f44d1caafe 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6259,6 +6259,69 @@ editing library with a multi-threaded and feature rich 
video editing
 API.  It includes bindings for Python, Ruby, and other languages.")
     (license license:lgpl3+)))
 
+(define-public openshot
+  (package
+    (name "openshot")
+    (version "3.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/OpenShot/openshot-qt";)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0x7fv1c3cr28z5nccw4lv61wnj013l8594p2fyrm1cxjpppka0pr"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; TODO: Unbundle jquery and others from src/timeline/media
+           (delete-file-recursively "src/images/fonts") #t))))
+    (build-system python-build-system)
+    (inputs
+     (list bash-minimal
+           ffmpeg
+           font-dejavu
+           libopenshot
+           python
+           python-pyqt
+           python-pyqtwebengine
+           python-pyzmq
+           python-requests
+           qtsvg-5
+           qtwebengine-5))
+    (arguments
+     `(#:modules ((guix build python-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%python-build-system-modules
+                            (guix build qt-utils))
+       #:phases (modify-phases %standard-phases
+                  (delete 'build)       ;install phase does all the work
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (setenv "QT_QPA_PLATFORM" "offscreen")
+                        (invoke "python" "src/tests/query_tests.py"))))
+                  (add-after 'unpack 'patch-font-location
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((font (assoc-ref inputs "font-dejavu")))
+                        (substitute* "src/classes/app.py"
+                          (("info.IMAGES_PATH") (string-append "\"" font "\""))
+                          (("fonts") "share/fonts/truetype")
+                          (("[A-Za-z_-]+.ttf") "DejaVuSans.ttf")))))
+                  (add-before 'install 'set-tmp-home
+                    (lambda _
+                      ;; src/classes/info.py "needs" to create several
+                      ;; directories in $HOME when loaded during build
+                      (setenv "HOME" "/tmp"))))))
+    (home-page "https://www.openshot.org/";)
+    (synopsis "Video editor")
+    (description "OpenShot takes your videos, photos, and music files and
+helps you create the film you have always dreamed of.  Easily add sub-titles,
+transitions, and effects and then export your film to many common formats.")
+    (license license:gpl3+)))
+
 (define-public shotcut
   (package
     (name "shotcut")

Reply via email to