summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-10-22 03:02:40 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-10-24 07:54:43 +0200
commit2809a355b6473d947db24a0d80b4d2e8c454d9d7 (patch)
treebc8a844e76b87edf6758bb0a7a03d4e46f11d318
parent2900665888ef3629e6d58a22129b69f3e62d4763 (diff)
gnu: Add papagayo.
* gnu/packages/animation.scm (papagayo): New variable.
-rw-r--r--gnu/packages/animation.scm71
1 files changed, 71 insertions, 0 deletions
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index faa0d17230..952d3bab0d 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages animation)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
@@ -34,6 +35,8 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages video))
(define-public etl
@@ -185,3 +188,71 @@ be capable of producing feature-film quality animation. It eliminates the
need for tweening, preventing the need to hand-draw each frame. This package
contains the graphical user interface for synfig.")
(license license:gpl3+)))
+
+(define-public papagayo
+ (let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
+ (revision "1"))
+ (package
+ (name "papagayo")
+ (version (string-append "2.0b1-" revision "." (string-take commit 9)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LostMoho/Papagayo.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
+ (modules '((guix build utils)))
+ ;; Delete bundled libsndfile sources.
+ (snippet
+ '(begin
+ (delete-file-recursively "libsndfile_1.0.19")
+ (delete-file-recursively "libsndfile_1.0.25")
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((libsndfile (assoc-ref inputs "libsndfile")))
+ ;; Do not use bundled libsndfile sources
+ (substitute* "Papagayo.pro"
+ (("else \\{")
+ (string-append "\nINCLUDEPATH += " libsndfile
+ "/include"
+ "\nLIBS +=" libsndfile
+ "/lib/libsndfile.so\n"
+ "win32 {"))))
+ (zero? (system* "qmake"
+ (string-append "DESTDIR="
+ (assoc-ref outputs "out")
+ "/bin")))))
+ ;; Ensure that all required Qt plugins are found at runtime.
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (qt '("qt" "qtmultimedia")))
+ (wrap-program (string-append out "/bin/Papagayo")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins/"))
+ qt)))
+ #t))))))
+ (inputs
+ `(("qt" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("qttools" ,qttools)))
+ (home-page "http://www.lostmarble.com/papagayo/")
+ (synopsis "Lip-syncing for animations")
+ (description
+ "Papagayo is a lip-syncing program designed to help you line up
+phonemes with the actual recorded sound of actors speaking. Papagayo makes it
+easy to lip sync animated characters by making the process very simple – just
+type in the words being spoken, then drag the words on top of the sound’s
+waveform until they line up with the proper sounds.")
+ (license license:gpl3+))))