document some workarounds for working with a recent ruby (2.3.p112 on
[booh] / INSTALL
1 This software requires for compiling:
2
3 - gtk >= 2.8
4 - devel of gtk
5 - ruby
6 - ruby-gettext >= 0.8.0
7 - ruby-gtk2 >= 0.12; notice:
8   - ruby-gtk2 0.15.0, 0.17.0 and 0.18.1 should be avoided, they are known
9     problematic versions
10   - with ruby >= 1.8.7, ruby-gtk2 >= 0.18.0 should be used, otherwise
11     crashes will occur
12 - devel of ruby-gnome2 (mkmf-gnome2.rb, rbgobject.h)
13 - devel of libexiv2 (and thus, g++)
14
15     Note: theoretically, gtk and ruby-gtk2 are not needed if
16     you're gonna use only the backend script (the only lost
17     functionality is white balance correction which uses
18     gdk_pixbuf). However, the GUI is an important part of this
19     software and its use is encouraged (it helps a lot).
20
21 And for runtime:
22
23 - convert (from ImageMagick) - for photos thumbnails generation
24 - identify (from ImageMagick) - for photos captions
25 - exif - to show full formatted EXIF information from photos
26 - mplayer - for videos thumbnails generation
27 - ffmpeg (with mp3lame compiled in) - for generating embedded
28   .flv videos, to use with flowplayer (may not be a hard require)
29 - gimp - for photos editing (may not be a hard require)
30 - mozilla-firefox - for showing albums in browser, and going on the
31   web for tutorials (may not be a hard require)
32 - lftp - for uploading web-albums
33
34         Compiling and Installing Quick Start
35
36 Type this as normal user:
37
38  # ruby setup.rb config
39  # ruby setup.rb setup
40  # cd ext
41  # ruby extconf.rb && make
42
43 If that fails on missing GTK header file (gtk.h), you can try to
44 inject cflags with such a command:
45
46  # perl -pi -e 's/(CXXFLAGS.*)/$1 `pkg-config --cflags gtk+-2.0`/' Makefile
47  # make
48
49 If that still fails on redefinition of struct re_registers, you can
50 try to workaround with:
51
52  # cp /usr/include/ruby-2.3.0/ruby.h .
53  # perl -pi -e 's/.*HAVE_RUBY_ENCODING_H.*//' ruby.h
54  # make
55
56 And type this as superuser:
57
58  $ ruby setup.rb install
59  $ cd ext
60  $ make install
61
62 If you want to package as normal user to another root:
63
64  $ ruby_archdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']"`
65  $ libdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']"`
66  $ rm -rf ${buildroot}
67  $ ruby setup.rb install --prefix=${buildroot}
68  $ cd ext
69  $ make install DESTDIR=${buildroot} libdir=${buildroot}${libdir} archdir=${buildroot}${ruby_archdir}
70
71 Note: it will install things in traditional directories plus
72 ruby_archdir and ruby_libdir.
73 Change FPATH in ${buildroot}/local/lib/site_ruby/1.8/booh/config.rb to suit your $buildroot
74
75 Find desktop stuff (.desktop entry and icons) for your menu/packaging system
76 in the destkop/ subdir.