Patchwork add aegisub

login
register
mail settings
Submitter Julien Lepiller
Date Oct. 23, 2016, 8:29 p.m.
Message ID <20161023222908.482e9ce7@lepiller.eu>
Download mbox | patch
Permalink /patch/16750/
State New
Headers show

Comments

Julien Lepiller - Oct. 23, 2016, 8:29 p.m.
On Sun, 23 Oct 2016 20:21:08 +0300
Theodoros Foradis <theodoros.for@openmailbox.org> wrote:

> 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")))

Thank you so much! That's a lot better :)

So now I only have one issue left: no sound. Alsa doesn't work:

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave

and setting to pulseaudio crashes:

Assertion 'c->callback' failed at pulsecore/socket-client.c:126,
function do_call(). Aborting.

Any idea?
Ludovic Courtès - Nov. 3, 2016, 1:20 p.m.
Julien Lepiller <julien@lepiller.eu> skribis:

> On Sun, 23 Oct 2016 20:21:08 +0300
> Theodoros Foradis <theodoros.for@openmailbox.org> wrote:
>
>> 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")))
>
> Thank you so much! That's a lot better :)
>
> So now I only have one issue left: no sound. Alsa doesn't work:
>
> ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
>
> and setting to pulseaudio crashes:
>
> Assertion 'c->callback' failed at pulsecore/socket-client.c:126,
> function do_call(). Aborting.
>
> Any idea?

No idea :-), but maybe you should ‘git send-email’ your patches, or some
of them, to get feedback and have them applied since this PulseAudio
issue seems to be unrelated to what most of the patches are doing?

Ludo’.

Patch

From 250a1c91ad1644ce998518eab77460869fab49ac Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sun, 23 Oct 2016 22:01:00 +0200
Subject: [PATCH 4/4] gnu: Add aegisub.

* gnu/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 d6da6c0..cc70e3d 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-gtk2" ,wxwidgets-gtk2)))
+  (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