diff mbox

add aegisub

Message ID 20161022223037.7bf91855@lepiller.eu
State New
Headers show

Commit Message

Julien Lepiller Oct. 22, 2016, 8:30 p.m. UTC
Hi,

I made three patches to add aegisub. It needs icu support in boost.

Currently, the window acts strangely. Widgets resize when resizing the
window, but not when maximizing it, they don't all show at first. The
video part should resize with the mouse wheel, but the containing frame
only resizes after resizing the window. sliders don't visually move,
but they are functionnal. Sound can't play (it defaults to alsa which
doesn't work on my system, and crashes when selecting pulseaudio with
"Assertion 'c->callback' failed at pulsecore/socket-client.c:126,
function do_call(). Aborting.").

So I need some help here.

Also the testing suite depends on a lua package that is not in guix
yet and has a lot of dependencies not in guix. So I disabled it for now.

Comments

Theodoros Foradis Oct. 23, 2016, 5:21 p.m. UTC | #1
On 2016-10-22 23:30, Julien Lepiller wrote:
> Hi,
> 
> I made three patches to add aegisub. It needs icu support in boost.
> 
> Currently, the window acts strangely. Widgets resize when resizing the
> window, but not when maximizing it, they don't all show at first. The
> video part should resize with the mouse wheel, but the containing frame
> only resizes after resizing the window. sliders don't visually move,
> but they are functionnal. Sound can't play (it defaults to alsa which
> doesn't work on my system, and crashes when selecting pulseaudio with
> "Assertion 'c->callback' failed at pulsecore/socket-client.c:126,
> function do_call(). Aborting.").
> 
> So I need some help here.
> 
> Also the testing suite depends on a lua package that is not in guix
> yet and has a lot of dependencies not in guix. So I disabled it for 
> now.

Hello,

I have been packaging kicad (which uses wxwidgets), and I came across 
the
same window resizing issues. I got around them by adding a version of
wxwidgets-3.0.2 which uses gtk+-2 as an input.

I plan to post the patches soon, but if it works for aegisub, you can
add it first. I use the following package definition:

(define-public wxwidgets-gtk2
   (package (inherit wxwidgets)
            (inputs `(("gtk+" ,gtk+-2)
                      ,@(alist-delete
                         "gtk+"
                         (package-inputs wxwidgets))))
            (name "wxwidgets-gtk2")))
diff mbox

Patch

From 7ca390e44e4bd5a8a44966af8773b1bd29793294 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 22 Oct 2016 18:30:45 +0200
Subject: [PATCH 3/3] gnu: Add aegisub

* gun/packages/video.scm(aegisub): New variable.
---
 gnu/packages/video.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 3320a3c..95cb6ed 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -88,6 +88,10 @@ 
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages wxwidgets)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages libreoffice) ; hunspell
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages zip))
 
@@ -612,6 +616,51 @@  programmers to access a standard API to open and decompress media files")
  ; sources are distributed under a different license that the binary.
  ; see https://github.com/FFMS/ffms2/blob/master/COPYING
 
+(define-public aegisub
+ (package
+  (name "aegisub")
+  (version "3.2.2")
+  (home-page "http://www.aegisub.org/")
+  (source (origin
+           (method url-fetch)
+           (uri (string-append
+                 "http://ftp.aegisub.org/pub/archives/releases/source/"
+                 name "-" version ".tar.xz"))
+           (sha256
+              (base32
+               "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5"))))
+  (build-system gnu-build-system)
+  (arguments
+   `(#:configure-flags
+       (list "--disable-update-checker"
+             "--without-portaudio"
+             "--without-openal"
+             "--without-oss")
+     ;#:test-target "test")) ;; requires busted, a lua package we don't have yet
+     #:tests? #f))
+  (inputs `(("boost" ,boost)
+            ("desktop-file-utils" ,desktop-file-utils)
+            ("ffms2" ,ffms2)
+            ("fftw" ,fftw)
+            ("hunspell" ,hunspell)
+            ("mesa" ,mesa)
+            ("libass" ,libass)
+            ("alsa-lib" ,alsa-lib)
+            ("pulseaudio$" ,pulseaudio)
+            ("libx11" ,libx11)
+            ("freetype" ,freetype)
+            ("wxwidgets" ,wxwidgets)))
+  (native-inputs `(("intltool" ,intltool)
+                   ("pkg-config" ,pkg-config)))
+  (synopsis "Subtitle engine")
+  (description "Aegisub helps translators create subtitles for video")
+  (license (list license:bsd-3 ; the package is licensed under the bsd-3, except
+                 license:mpl1.1 ; for vendor/universalchardet under the mpl1.1
+                 license:expat)))) ; and src/gl that is under a license similar
+ ; the the Expat license, with a rewording (Software -> Materials). (called MIT
+ ; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE
+ ; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author
+
 (define-public vlc
   (package
     (name "vlc")
-- 
2.10.1