]> git.pld-linux.org Git - packages/uim.git/blame - uim.spec
Release 2 (by relup.sh)
[packages/uim.git] / uim.spec
CommitLineData
49d5fc91
JB
1#
2# Conditional build:
bd5acb7e 3%bcond_without gnome # GNOME 3 panel applet
f322f76f 4%bcond_with kde4 # KDE 4 panel applet and knotify4 plugin
9eac12d8 5%bcond_without kde5 # KDE 5 plasmoid
3caa2e4e 6%bcond_with qt3 # Qt 3 support / immodule
a224586e 7%bcond_without qt4 # Qt 4 support / immodule
f322f76f 8%bcond_without qt5 # Qt 5 support / immodule / quick plugin
d5e30092
JB
9%bcond_without anthy # Anthy IM and dictionary support
10%bcond_without canna # Canna IM and dictionary support
11%bcond_without eb # EB text search support
9b05171f 12%bcond_without m17n # m17n IM support
9cb37a7f 13%bcond_with mana # mana IM support
bd5acb7e 14%bcond_without prime # PRIME IM support
b2aa69ad 15%bcond_without wnn # Wnn IM support
49d5fc91 16#
e899826e 17Summary: Multilingual input method library
57784c95 18Summary(pl.UTF-8): Biblioteka obsługująca wejście w wielu językach
e899826e 19Name: uim
f322f76f 20Version: 1.8.9
2d5cf664 21Release: 2
bd5acb7e 22License: BSD
e899826e 23Group: Libraries
d611abd5 24#Source0Download: https://github.com/uim/uim/releases
bd5acb7e 25Source0: https://github.com/uim/uim/releases/download/%{version}/%{name}-%{version}.tar.bz2
f322f76f 26# Source0-md5: fd4a5f60dea0596cac81956792942b9b
f2675bdf
JR
27Source1: %{name}.xinputd
28Source2: %{name}-init.el
26f033cf 29Patch0: %{name}-emacs-utf8.patch
bd5acb7e 30Patch1: %{name}-gnome-panel-update.patch
f322f76f 31Patch2: %{name}-qt5-options.patch
d611abd5 32URL: https://github.com/uim/uim/wiki
9b05171f 33%{?with_canna:BuildRequires: Canna-devel}
a224586e
JB
34%{?with_wnn:BuildRequires: FreeWnn-devel}
35%{?with_qt4:BuildRequires: Qt3Support-devel >= 4}
bd5acb7e
JB
36%{?with_qt4:BuildRequires: QtCore-devel >= 4}
37%{?with_qt4:BuildRequires: QtGui-devel >= 4}
38%{?with_qt5:BuildRequires: Qt5Core-devel >= 5}
39%{?with_qt5:BuildRequires: Qt5Gui-devel >= 5}
f322f76f
JB
40%{?with_qt5:BuildRequires: Qt5Qml-devel >= 5}
41%{?with_qt5:BuildRequires: Qt5Quick-devel >= 5}
bd5acb7e 42%{?with_qt5:BuildRequires: Qt5Widgets-devel >= 5}
62f0583e 43%{?with_kde5:BuildRequires: Qt5X11Extras-devel >= 5}
9b05171f 44%{?with_anthy:BuildRequires: anthy-devel >= 9100h-2}
db59d528
JB
45BuildRequires: autoconf >= 2.60b
46BuildRequires: automake >= 1:1.10
f322f76f
JB
47%{?with_kde4:BuildRequires: automoc4}
48%if %{with kde4} || %{with qt5}
49BuildRequires: cmake
50%endif
a224586e 51BuildRequires: curl-devel >= 7.16.4
49d5fc91 52%{?with_eb:BuildRequires: eb-devel}
a224586e 53BuildRequires: expat-devel >= 1.95
44de909a 54BuildRequires: gettext-tools >= 0.17
bd5acb7e 55%{?with_gnome:BuildRequires: gnome-panel-devel >= 3.37}
a224586e
JB
56BuildRequires: gtk+2-devel >= 2:2.4.0
57BuildRequires: gtk+3-devel >= 3.0
58BuildRequires: intltool >= 0.36.3
f322f76f 59%{?with_kde4:BuildRequires: kde4-kdelibs-devel}
9eac12d8
JB
60%{?with_kde5:BuildRequires: kf5-extra-cmake-modules}
61%{?with_kde5:BuildRequires: kf5-plasma-framework-devel}
15d800b6 62BuildRequires: libedit-devel
a224586e
JB
63BuildRequires: libffi-devel >= 3.0.0
64BuildRequires: libgcroots-devel >= 0.2.3
a224586e
JB
65BuildRequires: libnotify-devel >= 0.4
66BuildRequires: libstdc++-devel
db59d528 67BuildRequires: libtool >= 2:1.5
a224586e
JB
68%{?with_m17n:BuildRequires: m17n-lib-devel >= 1.3.1}
69BuildRequires: ncurses-devel
15d800b6 70BuildRequires: openssl-devel
a224586e
JB
71BuildRequires: pkgconfig
72BuildRequires: pkgconfig(libffi) >= 3.0.0
bd5acb7e
JB
73# for configure check, but it affects only default set of registered modules
74#%{?with_prime:BuildRequires: prime >= 0.8.5.2}
a224586e
JB
75%{?with_qt3:BuildRequires: qt-devel >= 3.2.0}
76%{?with_qt4:BuildRequires: qt4-qmake >= 4}
bd5acb7e
JB
77%{?with_qt5:BuildRequires: qt5-qmake >= 5}
78BuildRequires: rpmbuild(macros) >= 1.750
f322f76f 79BuildRequires: sed >= 4.0
a224586e 80BuildRequires: sqlite3-devel >= 3.0.0
cdf5177b 81BuildRequires: xorg-lib-libX11-devel
cdf5177b
JR
82BuildRequires: xorg-lib-libXext-devel
83BuildRequires: xorg-lib-libXft-devel
a224586e 84Requires: libgcroots >= 0.2.3
d5e30092
JB
85# for libuim-curl
86Requires: curl-libs >= 7.16.4
bd5acb7e 87Obsoletes: uim-scim < 1.8
e899826e 88BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
89
365f7659
JB
90# avoids sigscheme SIGSEGV during install (when using gcc 12.2)
91# (hard to track if it's sigscheme or gcc bug; sigscheme gc seems incompatible with asan)
92%define specflags_x32 -fno-optimize-sibling-calls
93
db59d528 94%ifarch %{ix86}
bd5acb7e
JB
95%if "%{_ver_ge '%{cc_version}' '6.3'}" == "1"
96# "-O2 -march=i686 -mtune=pentium4" combination causes sigscheme to segfault when built with gcc 6.3-7.5
db59d528
JB
97%define filterout -mtune=pentium4
98%endif
99%endif
100
e899826e 101%description
f2675bdf
JR
102Uim is a multilingual input method library. Uim aims to provide secure
103and useful input methods for all languages. Currently, it can input to
9b05171f 104applications which support GTK+'s immodule, Qt's immodule and XIM.
f2675bdf
JR
105
106This package provides the input method library, the XIM bridge and
107most of the input methods.
108
109For the Japanese input methods you need to install
110- uim-anthy for Anthy
111- uim-canna for Canna
112- uim-skk for SKK.
e899826e 113
acaba169
JR
114%description -l pl.UTF-8
115Uim jest biblioteką obsługującą wejście w wielu językach. Celem
9b05171f
JB
116projektu jest udostępnienie bezpiecznych i użytecznych metod
117wprowadzania dla wszystkich języków. Obecnie potrafi obsłużyć
118aplikacje obsługujące moduły IM z GTK+, moduły IM z Qt oraz XIM.
119
120Ten pakiet udostępnia bibliotekę metody wprowadzania, mostek XIM oraz
121większość metod wprowadzania.
122
123Do wprowadzania tekstu japońskiego trzeba zainstalować:
124- uim-anthy dla metody Anthy
125- uim-canna dla metody Canna
126- uim-skk dla SKK.
e899826e 127
128%package devel
129Summary: Header files for uim libraryi
57784c95 130Summary(pl.UTF-8): Pliki nagłówkowe biblioteki uim
e899826e 131Group: Development/Libraries
e231434b 132Requires: %{name} = %{version}-%{release}
e899826e 133
134%description devel
135Header files for uim library.
136
acaba169
JR
137%description devel -l pl.UTF-8
138Pliki nagłówkowe biblioteki uim.
e899826e 139
f2675bdf 140%package gtk2
9b05171f
JB
141Summary: GTK+ 2 support for Uim
142Summary(pl.UTF-8): Obsługa GTK+ 2 dla biblioteki Uim
f2675bdf 143Group: X11/Applications
ce8c7195 144Requires: %{name} = %{version}-%{release}
f2675bdf 145# for update-gtk-immodules
9b05171f 146Requires(post,postun): gtk+2 >= 2:2.9.1-2
a224586e 147Requires: gtk+2 >= 2:2.4.0
f2675bdf
JR
148
149%description gtk2
150Uim is a multilingual input method library. Uim aims to provide secure
151and useful input methods for all languages.
152
9b05171f
JB
153This package provides the GTK+ 2 IM module and helper program.
154
155%description gtk2 -l pl.UTF-8
156Uim jest biblioteką obsługującą wejście w wielu językach. Celem
157projektu jest udostępnienie bezpiecznych i użytecznych metod
158wprowadzania dla wszystkich języków.
159
160Ten pakiet zawiera moduł IM GTK+ 2 oraz program pomocniczy.
f2675bdf
JR
161
162%package gtk3
9b05171f
JB
163Summary: GTK+ 3 support for Uim
164Summary(pl.UTF-8): Obsługa GTK+ 3 dla biblioteki Uim
f2675bdf 165Group: X11/Applications
ce8c7195 166Requires: %{name} = %{version}-%{release}
f2675bdf 167# for update-gtk-immodules
9b05171f 168Requires(post,postun): gtk+3
f2675bdf
JR
169
170%description gtk3
171Uim is a multilingual input method library. Uim aims to provide secure
172and useful input methods for all languages.
173
9b05171f
JB
174This package provides the GTK+ 3 IM module and helper program.
175
176%description gtk3 -l pl.UTF-8
177Uim jest biblioteką obsługującą wejście w wielu językach. Celem
178projektu jest udostępnienie bezpiecznych i użytecznych metod
179wprowadzania dla wszystkich języków.
180
181Ten pakiet zawiera moduł IM GTK+ 3 oraz program pomocniczy.
f2675bdf
JR
182
183%package gnome
9b05171f
JB
184Summary: GNOME 3 Applet for Uim
185Summary(pl.UTF-8): Aplet GNOME 3 dla biblioteki Uim
f2675bdf 186Group: X11/Applications
ce8c7195 187Requires: %{name} = %{version}-%{release}
9b05171f 188Requires: %{name}-gtk3 = %{version}-%{release}
bd5acb7e 189Requires: gnome-panel >= 3.37
f2675bdf
JR
190
191%description gnome
192Uim is a multilingual input method library. Uim aims to provide secure
193and useful input methods for all languages.
194
9b05171f 195This package provides the GNOME 3 panel applet.
f2675bdf 196
9b05171f
JB
197%description gnome -l pl.UTF-8
198Uim jest biblioteką obsługującą wejście w wielu językach. Celem
199projektu jest udostępnienie bezpiecznych i użytecznych metod
200wprowadzania dla wszystkich języków.
201
202Ten pakiet zawiera aplet panelu GNOME 3.
203
204%package qt3
205Summary: Qt 3 support for Uim
206Summary(pl.UTF-8): Obsługa Qt 3 dla biblioteki Uim
f2675bdf 207Group: X11/Applications
9b05171f 208Requires: %{name} = %{version}-%{release}
bd5acb7e 209Requires: qt >= 6:3.2.0
9b05171f 210Provides: %{name}-qt-common = %{version}-%{release}
f2675bdf 211
9b05171f 212%description qt3
f2675bdf
JR
213Uim is a multilingual input method library. Uim aims to provide secure
214and useful input methods for all languages.
215
9b05171f 216This package provides the Qt 3 IM module and helper programs.
f2675bdf 217
9b05171f
JB
218%description qt3 -l pl.UTF-8
219Uim jest biblioteką obsługującą wejście w wielu językach. Celem
220projektu jest udostępnienie bezpiecznych i użytecznych metod
221wprowadzania dla wszystkich języków.
222
223Ten pakiet zawiera moduł IM Qt 3 oraz programy pomocnicze.
224
bd5acb7e 225%package qt4
9b05171f
JB
226Summary: Qt 4 support for Uim
227Summary(pl.UTF-8): Obsługa Qt 4 dla biblioteki Uim
f2675bdf 228Group: X11/Applications
9b05171f 229Requires: %{name} = %{version}-%{release}
bd5acb7e 230Obsoletes: uim-qt < 1.8.8-4
f2675bdf 231
bd5acb7e 232%description qt4
f2675bdf
JR
233Uim is a multilingual input method library. Uim aims to provide secure
234and useful input methods for all languages.
235
9b05171f
JB
236This package provides the Qt 4 IM module and helper programs.
237
bd5acb7e 238%description qt4 -l pl.UTF-8
9b05171f
JB
239Uim jest biblioteką obsługującą wejście w wielu językach. Celem
240projektu jest udostępnienie bezpiecznych i użytecznych metod
241wprowadzania dla wszystkich języków.
242
243Ten pakiet zawiera moduł IM Qt 4 oraz programy pomocnicze.
f2675bdf 244
bd5acb7e
JB
245%package qt5
246Summary: Qt 5 support for Uim
247Summary(pl.UTF-8): Obsługa Qt 5 dla biblioteki Uim
248Group: X11/Applications
249Requires: %{name} = %{version}-%{release}
250
251%description qt5
252Uim is a multilingual input method library. Uim aims to provide secure
253and useful input methods for all languages.
254
255This package provides the Qt 5 IM module and helper programs.
256
257%description qt5 -l pl.UTF-8
258Uim jest biblioteką obsługującą wejście w wielu językach. Celem
259projektu jest udostępnienie bezpiecznych i użytecznych metod
260wprowadzania dla wszystkich języków.
261
262Ten pakiet zawiera moduł IM Qt 5 oraz programy pomocnicze.
263
f2675bdf 264%package kde
9b05171f
JB
265Summary: KDE 4 Applet for Uim
266Summary(pl.UTF-8): Aplet KDE 4 dla biblioteki Uim
f2675bdf 267Group: X11/Applications
ce8c7195 268Requires: %{name} = %{version}-%{release}
4f3b9c6e 269Requires: %{name}-qt4 = %{version}-%{release}
f2675bdf
JR
270
271%description kde
272Uim is a multilingual input method library. Uim aims to provide secure
273and useful input methods for all languages.
274
9b05171f 275This package provides the KDE 4 applet.
f2675bdf 276
9b05171f
JB
277%description kde -l pl.UTF-8
278Uim jest biblioteką obsługującą wejście w wielu językach. Celem
279projektu jest udostępnienie bezpiecznych i użytecznych metod
280wprowadzania dla wszystkich języków.
f2675bdf 281
9b05171f 282Ten pakiet zawiera aplet KDE 4.
f2675bdf 283
9eac12d8
JB
284%package kde5
285Summary: KDE 5 Plasmoid for Uim
286Summary(pl.UTF-8): Plazmoid KDE 5 dla biblioteki Uim
287Group: X11/Applications
288Requires: %{name} = %{version}-%{release}
289Requires: %{name}-qt5 = %{version}-%{release}
290
291%description kde5
292Uim is a multilingual input method library. Uim aims to provide secure
293and useful input methods for all languages.
294
295This package provides the KDE 5 plasmoid.
296
297%description kde5 -l pl.UTF-8
298Uim jest biblioteką obsługującą wejście w wielu językach. Celem
299projektu jest udostępnienie bezpiecznych i użytecznych metod
300wprowadzania dla wszystkich języków.
301
302Ten pakiet zawiera plazmoid KDE 5.
303
f2675bdf
JR
304%package -n emacs-common-uim
305Summary: Common package for Emacsen support for Uim
9b05171f 306Summary(pl.UTF-8): Pakiet wspólny Uima dla emacsów
f2675bdf 307Group: Libraries
ce8c7195 308Requires: %{name} = %{version}-%{release}
f2675bdf
JR
309
310%description -n emacs-common-uim
311This package provides an utility to use Emacsen support for Uim.
312
9b05171f
JB
313%description -n emacs-common-uim -l pl.UTF-8
314Ten pakiet zawiera narzędzia pozwalające na używanie Uima w emacsach.
315
316%package -n emacs-uim
317Summary: Emacs support for Uim
318Summary(pl.UTF-8): Obsługa Uima w Emacsie
319Group: Libraries
320Requires: emacs
321Requires: emacs-common-uim = %{version}-%{release}
322
323%description -n emacs-uim
324This package provides Emacs support for Uim.
325
f322f76f 326%description -n emacs-uim -l pl.UTF-8
9b05171f
JB
327Ten pakiet zapewnia obsługę Uima w Emacsie.
328
f2675bdf
JR
329%package -n xemacs-uim
330Summary: XEmacs support for Uim
9b05171f 331Summary(pl.UTF-8): Obsługa Uima w XEmacsie
f2675bdf
JR
332Group: Libraries
333Requires: emacs-common-uim = %{version}-%{release}
334Requires: xemacs
335
336%description -n xemacs-uim
337This package provides XEmacs support.
338
9b05171f
JB
339%description -n xemacs-uim -l pl.UTF-8
340Ten pakiet zapewnia obsługę Uima w XEmacsie.
341
f2675bdf
JR
342%package anthy
343Summary: Anthy support for Uim
9b05171f 344Summary(pl.UTF-8): Obsługa metody Anthy w Uimie
f2675bdf 345Group: Libraries
9b05171f 346Requires(post,postun): %{_bindir}/uim-module-manager
ce8c7195 347Requires: %{name} = %{version}-%{release}
9b05171f 348Requires: anthy >= 9100h
f2675bdf
JR
349
350%description anthy
351This package provides support for Anthy, a Japanese input method.
352
9b05171f
JB
353%description anthy -l pl.UTF-8
354Ten pakiet zawiera obsługę metody Anthy wprowadzania znaków
355japońskich.
356
f2675bdf
JR
357%package canna
358Summary: Canna support for Uim
9b05171f 359Summary(pl.UTF-8): Obsługa metody Canna w Uimie
f2675bdf 360Group: Libraries
9b05171f 361Requires(post,postun): %{_bindir}/uim-module-manager
ce8c7195 362Requires: %{name} = %{version}-%{release}
9b05171f 363Requires: Canna
f2675bdf
JR
364
365%description canna
366This package provides support for Canna, a Japanese input method.
367
9b05171f
JB
368%description canna -l pl.UTF-8
369Ten pakiet zawiera obsługę metody Canna wprowadzania znaków
370japońskich.
371
d5e30092
JB
372%package eb
373Summary: EB search support for Uim
374Summary(pl.UTF-8): Obsługa wyszukiwania EB w Uimie
375Group: Libraries
376Requires(post,postun): %{_bindir}/uim-module-manager
377Requires: %{name} = %{version}-%{release}
378
379%description eb
380This package provides support for searching text in books in EB
381format.
382
383%description eb -l pl.UTF-8
384Ten pakiet zawiera obsługę wyszukiwania tekstu w książkach w formacie
385EB.
386
9b05171f
JB
387%package m17n
388Summary: m17n-lib support for Uim
389Summary(pl.UTF-8): Obsługa m17n-lib w Uimie
390Group: Libraries
391Requires(post,postun): %{_bindir}/uim-module-manager
392Requires: %{name} = %{version}-%{release}
a224586e 393Requires: m17n-lib >= 1.3.1
9b05171f
JB
394
395%description m17n
396This package provides support for m17n-lib, which allows input of many
397languages using the input table map from m17n-db.
398
399%description m17n -l pl.UTF-8
400Ten pakiet zawiera obsługę m17n-lib, co pozwala na wprowadzanie znaków
401wielu języków przy użyciu tablic wejściowych z m17n-db.
402
f2675bdf
JR
403%package mana
404Summary: Mana support for Uim
9b05171f 405Summary(pl.UTF-8): Obsługa metody Mana w Uimie
f2675bdf 406Group: Libraries
9b05171f
JB
407Requires(post,postun): %{_bindir}/uim-module-manager
408Requires: %{name} = %{version}-%{release}
f2675bdf 409Requires: mana
ce8c7195 410Requires: mana-uim
f2675bdf
JR
411
412%description mana
413This package provides support for mana, a Japanese input method.
414
9b05171f
JB
415%description mana -l pl.UTF-8
416Ten pakiet zawiera obsługę metody Mana wprowadzania znaków
417japońskich.
418
ce8c7195
JR
419%package prime
420Summary: PRIME support for Uim
9b05171f 421Summary(pl.UTF-8): Obsługa metody PRIME w Uimie
ce8c7195 422Group: Libraries
9b05171f 423Requires(post,postun): %{_bindir}/uim-module-manager
ce8c7195 424Requires: %{name} = %{version}-%{release}
a224586e 425Requires: prime >= 0.8.5.2
ce8c7195
JR
426
427%description prime
428This package provides support for PRIME, a Japanese input method.
429
9b05171f
JB
430%description prime -l pl.UTF-8
431Ten pakiet zawiera obsługę metody PRIME wprowadzania znaków
432japońskich.
433
d5e30092
JB
434%package sj3
435Summary: SJ3 support for Uim
436Summary(pl.UTF-8): Obsługa metody SJ3 w Uimie
437Group: Libraries
438Requires(post,postun): %{_bindir}/uim-module-manager
439Requires: %{name} = %{version}-%{release}
440
441%description sj3
442This package provides support for SJ3, a Japanese input method.
443
444%description sj3 -l pl.UTF-8
445Ten pakiet zawiera obsługę metody SJ3 wprowadzania znaków
446japońskich.
447
f2675bdf
JR
448%package skk
449Summary: SKK support for Uim
9b05171f 450Summary(pl.UTF-8): Obsługa metody SKK w Uimie
f2675bdf 451Group: Libraries
9b05171f 452Requires(post,postun): %{_bindir}/uim-module-manager
ce8c7195 453Requires: %{name} = %{version}-%{release}
9b05171f 454Requires: skkdic
f2675bdf
JR
455
456%description skk
457This package provides support for SKK, a Japanese input method.
458
9b05171f
JB
459%description skk -l pl.UTF-8
460Ten pakiet zawiera obsługę metody SKK wprowadzania znaków
461japońskich.
f2675bdf 462
d5e30092
JB
463%package wnn
464Summary: Wnn support for Uim
465Summary(pl.UTF-8): Obsługa metody Wnn w Uimie
466Group: Libraries
467Requires(post,postun): %{_bindir}/uim-module-manager
468Requires: %{name} = %{version}-%{release}
469
470%description wnn
471This package provides support for Wnn, a Japanese input method.
472
473%description wnn -l pl.UTF-8
474Ten pakiet zawiera obsługę metody Wnn wprowadzania znaków
475japońskich.
476
e899826e 477%prep
478%setup -q
479%patch0 -p1
bd5acb7e 480%patch1 -p1
f322f76f 481%patch2 -p1
f2675bdf
JR
482
483cp -a fep/README fep/README.fep
484cp -a fep/README.ja fep/README.fep.ja
485cp -a fep/README.key fep/README.fep.key
486cp -a xim/README xim/README.xim
e899826e 487
f322f76f
JB
488%{__sed} -i -e 's,\${QML_INSTALL_DIR}/com/github/uim,${CMAKE_INSTALL_LIBDIR}/qt5/qml/uim,' \
489 qt5/applet/qtquick-plugin/CMakeLists.txt
490
e899826e 491%build
a0c5f34e
JR
492%{__gettextize}
493%{__intltoolize}
494%{__libtoolize}
495%{__aclocal} -I m4
496%{__autoconf}
497%{__autoheader}
498%{__automake}
15d800b6 499%configure \
a224586e 500 MANA=/usr/bin/mana \
15d800b6
JR
501 --enable-default-toolkit=gtk3 \
502 --enable-dict \
bd5acb7e 503 --disable-gnome-applet \
49d5fc91 504 %{?with_gnome:--enable-gnome3-applet} \
f322f76f
JB
505 %{?with_kde4:--enable-kde4-applet} \
506 --enable-notify=libnotify%{?with_kde4:,knotify4} \
49d5fc91
JB
507 --enable-openssl \
508 --enable-pref \
a224586e 509 %{?with_qt4:--enable-qt4-qt3support} \
ce8c7195 510 --without-anthy \
9b05171f
JB
511 %{?with_anthy:--with-anthy-utf8} \
512 %{?with_canna:--with-canna} \
15d800b6 513 --with-curl \
49d5fc91 514 %{?with_eb:--with-eb} \
15d800b6 515 --with-expat \
15d800b6 516 --with-ffi \
15d800b6
JR
517 --with-gtk2 \
518 --with-gtk3 \
f322f76f 519 %{!?with_kde5:--without-kde5} \
49d5fc91
JB
520 --with-libedit \
521 --with-libgcroots=installed \
522 --with-lispdir=%{_datadir}/emacs/site-lisp \
a224586e 523 %{!?with_m17n:--without-m17nlib} \
bd5acb7e
JB
524 %{!?with_mana:--without-mana} \
525 --without-openssl-header-check \
526 %{!?with_prime:--without-prime} \
a224586e
JB
527 %{?with_qt3:--with-qt --with-qt-immodule} \
528 %{?with_qt4:--with-qt4 --with-qt4-immodule} \
f322f76f 529 %{?with_qt5:--with-qt5 --with-qt5-immodule --with-quick} \
d5e30092
JB
530 --with-sj3 \
531 --with-skk \
49d5fc91
JB
532 --with-sqlite3 \
533 --with-ssl-engine \
b2aa69ad 534 %{?with_wnn:--with-wnn --with-wnn-includes=/usr/include/wnn} \
49d5fc91
JB
535 --with-x \
536 --with-xft
15d800b6 537
734a1f7a 538%{__make} -j1
e899826e 539
540%install
541rm -rf $RPM_BUILD_ROOT
f2675bdf 542install -d $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d \
cda0d829 543 $RPM_BUILD_ROOT%{_datadir}/{emacs/site-lisp,xemacs-packages/lisp}/site-start.d \
ce8c7195 544 $RPM_BUILD_ROOT%{_localstatedir}/lib/uim
e899826e 545
466aeaa9 546%{__make} -j1 install \
26f033cf 547 QT_PLUGINSDIR=%{_libdir}/qt/plugins-mt \
e899826e 548 DESTDIR=$RPM_BUILD_ROOT
549
f2675bdf 550# For XEmacs
466aeaa9 551%{__make} -j1 install -C emacs \
f2675bdf 552 DESTDIR=$RPM_BUILD_ROOT \
cda0d829 553 UIMEL_LISP_DIR=%{_datadir}/xemacs-packages/lisp/uim-el
f2675bdf 554
bd5acb7e 555%{__rm} $RPM_BUILD_ROOT%{_libdir}{,/gtk*/*/immodules,/uim/*%{?with_gnome:,/gnome-panel/modules}%{?with_qt3:,/qt/plugins-mt/*}}/*.la
15d800b6 556
f2675bdf
JR
557%{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/uim.conf
558install -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/
cda0d829 559install -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/
f2675bdf 560
f72e2b22 561%{__mv} $RPM_BUILD_ROOT%{_datadir}/uim/{installed-modules,loader}.scm $RPM_BUILD_ROOT%{_localstatedir}/lib/uim/
ce8c7195
JR
562ln -sf %{_localstatedir}/lib/uim/installed-modules.scm $RPM_BUILD_ROOT%{_datadir}/uim/
563ln -sf %{_localstatedir}/lib/uim/loader.scm $RPM_BUILD_ROOT%{_datadir}/uim/
564
bd5acb7e
JB
565# remnants of removed SCIM module
566%{__rm} $RPM_BUILD_ROOT%{_datadir}/uim/pixmaps/scim.{png,svg}
f72e2b22 567
d5e30092
JB
568# OSX-specific
569%{__rm} $RPM_BUILD_ROOT%{_datadir}/uim/annotation-osx-dcs.scm
570
ce8c7195
JR
571# Register additional input methods
572LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} \
573LIBUIM_SYSTEM_SCM_FILES=$RPM_BUILD_ROOT%{_datadir}/uim/lib \
574LIBUIM_SCM_FILES=$RPM_BUILD_ROOT%{_datadir}/uim \
575LIBUIM_PLUGIN_LIB_DIR=$RPM_BUILD_ROOT%{_libdir}/uim/plugin \
576UIM_DISABLE_NOTIFY=1 \
577$RPM_BUILD_ROOT%{_bindir}/uim-module-manager \
578 --path $RPM_BUILD_ROOT%{_localstatedir}/lib/uim \
579 --register tcode trycode hangul
580
581# Unregister methods that come from separate packages
582LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} \
583LIBUIM_SYSTEM_SCM_FILES=$RPM_BUILD_ROOT%{_datadir}/uim/lib \
584LIBUIM_SCM_FILES=$RPM_BUILD_ROOT%{_datadir}/uim \
585LIBUIM_PLUGIN_LIB_DIR=$RPM_BUILD_ROOT%{_libdir}/uim/plugin \
586UIM_DISABLE_NOTIFY=1 \
587$RPM_BUILD_ROOT%{_bindir}/uim-module-manager \
588 --path $RPM_BUILD_ROOT%{_localstatedir}/lib/uim \
bd5acb7e 589 --unregister anthy-utf8 canna m17nlib mana prime sj3 skk wnn
ce8c7195 590
e899826e 591%find_lang %{name}
592
593%clean
594rm -rf $RPM_BUILD_ROOT
595
49d5fc91
JB
596%post -p /sbin/ldconfig
597%postun -p /sbin/ldconfig
ce8c7195
JR
598
599%post gtk2
d5e30092 600%if "%{_lib}" == "lib64"
879f273b 601%{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
879f273b 602%else
e899826e 603%{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
879f273b 604%endif
e899826e 605
ce8c7195 606%postun gtk2
d5e30092 607%if "%{_lib}" == "lib64"
879f273b 608%{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
879f273b 609%else
5e1c7cdb 610%{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
ce8c7195
JR
611%endif
612
613%post gtk3
d5e30092 614%if "%{_lib}" == "lib64"
ce8c7195
JR
615%{_bindir}/gtk-query-immodules-3.0-64 --update-cache
616%else
879f273b
JR
617%{_bindir}/gtk-query-immodules-3.0 --update-cache
618%endif
e899826e 619
ce8c7195 620%postun gtk3
d5e30092 621%if "%{_lib}" == "lib64"
ce8c7195
JR
622%{_bindir}/gtk-query-immodules-3.0-64 --update-cache
623%else
624%{_bindir}/gtk-query-immodules-3.0 --update-cache
625%endif
626
627%post anthy
628%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register anthy-utf8
629
630%postun anthy
631if [ "$1" = "0" ]; then
632 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister anthy-utf8
633fi
634
635%post canna
636%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register canna
637
638%postun canna
639if [ "$1" = "0" ]; then
640 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister canna
641fi
642
9b05171f
JB
643%post m17n
644%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register m17nlib
ce8c7195 645
9b05171f 646%postun m17n
ce8c7195 647if [ "$1" = "0" ]; then
9b05171f 648 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister m17nlib
ce8c7195
JR
649fi
650
651%post mana
652%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register mana
653
654%postun mana
655if [ "$1" = "0" ]; then
656 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister mana
657fi
658
9b05171f
JB
659%post prime
660%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register prime
ce8c7195 661
9b05171f 662%postun prime
ce8c7195 663if [ "$1" = "0" ]; then
9b05171f 664 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister prime
ce8c7195
JR
665fi
666
d5e30092
JB
667%post sj3
668%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register sj3
669
670%postun sj3
671if [ "$1" = "0" ]; then
672 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister sj3
673fi
674
9b05171f
JB
675%post skk
676%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register skk
ce8c7195 677
9b05171f 678%postun skk
ce8c7195 679if [ "$1" = "0" ]; then
9b05171f 680 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister skk
ce8c7195
JR
681fi
682
d5e30092
JB
683%post wnn
684%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register wnn
685
686%postun wnn
687if [ "$1" = "0" ]; then
688 %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister wnn
689fi
690
e899826e 691%files -f %{name}.lang
692%defattr(644,root,root,755)
bd5acb7e
JB
693%doc AUTHORS COPYING NEWS README RELNOTE fep/README.fep{,.key} xim/README.xim
694%lang(ja) %doc fep/README.fep.ja
f2675bdf 695%{_sysconfdir}/X11/xinit/xinput.d/uim.conf
771d5eda
JR
696%attr(755,root,root) %{_bindir}/uim-fep
697%attr(755,root,root) %{_bindir}/uim-fep-tick
698%attr(755,root,root) %{_bindir}/uim-help
771d5eda
JR
699%attr(755,root,root) %{_bindir}/uim-module-manager
700%attr(755,root,root) %{_bindir}/uim-sh
701%attr(755,root,root) %{_bindir}/uim-xim
d5e30092
JB
702%attr(755,root,root) %{_libdir}/libuim.so.*.*.*
703%attr(755,root,root) %ghost %{_libdir}/libuim.so.8
704%attr(755,root,root) %{_libdir}/libuim-custom.so.*.*.*
705%attr(755,root,root) %ghost %{_libdir}/libuim-custom.so.2
706%attr(755,root,root) %{_libdir}/libuim-scm.so.*.*.*
707%attr(755,root,root) %ghost %{_libdir}/libuim-scm.so.0
b1adeb71 708%attr(755,root,root) %{_libexecdir}/uim-helper-server
15d800b6
JR
709%dir %{_libdir}/uim
710%dir %{_libdir}/uim/notify
d5e30092 711%attr(755,root,root) %{_libdir}/uim/notify/libuimnotify-libnotify.so
15d800b6 712%dir %{_libdir}/uim/plugin
15d800b6
JR
713%attr(755,root,root) %{_libdir}/uim/plugin/libuim-curl.so
714%attr(755,root,root) %{_libdir}/uim/plugin/libuim-custom-enabler.so
15d800b6
JR
715%attr(755,root,root) %{_libdir}/uim/plugin/libuim-editline.so
716%attr(755,root,root) %{_libdir}/uim/plugin/libuim-expat.so
717%attr(755,root,root) %{_libdir}/uim/plugin/libuim-ffi.so
718%attr(755,root,root) %{_libdir}/uim/plugin/libuim-fileio.so
719%attr(755,root,root) %{_libdir}/uim/plugin/libuim-lolevel.so
720%attr(755,root,root) %{_libdir}/uim/plugin/libuim-look.so
15d800b6 721%attr(755,root,root) %{_libdir}/uim/plugin/libuim-process.so
15d800b6
JR
722%attr(755,root,root) %{_libdir}/uim/plugin/libuim-socket.so
723%attr(755,root,root) %{_libdir}/uim/plugin/libuim-sqlite3.so
b1adeb71 724%attr(755,root,root) %{_libdir}/uim/plugin/libuim-xkb.so
f2675bdf 725%dir %{_datadir}/uim
d5e30092
JB
726%{_datadir}/uim/byeoru-data
727%{_datadir}/uim/helperdata
728%{_datadir}/uim/lib
729%{_datadir}/uim/pixmaps
730%{_datadir}/uim/tables
731%{_datadir}/uim/*.scm
732# NOTE: scm and pixmaps files are always installed, even if particular part is disabled by bcond
733# by using unconditional exclude we avoid packaging them if bcond is disabled
26f033cf
JR
734%exclude %{_datadir}/uim/pixmaps/anthy*.png
735%exclude %{_datadir}/uim/pixmaps/canna.png
d5e30092 736%exclude %{_datadir}/uim/pixmaps/m17n*png
26f033cf 737%exclude %{_datadir}/uim/pixmaps/mana.png
d5e30092 738%exclude %{_datadir}/uim/pixmaps/mana.svg
bd5acb7e 739%if %{with prime}
d5e30092 740%exclude %{_datadir}/uim/pixmaps/prime*.png
f72e2b22 741%endif
d5e30092
JB
742%exclude %{_datadir}/uim/pixmaps/sj3.png
743%exclude %{_datadir}/uim/pixmaps/sj3.svg
26f033cf
JR
744%exclude %{_datadir}/uim/pixmaps/skk*.png
745%exclude %{_datadir}/uim/pixmaps/skk*.svg
d5e30092
JB
746%exclude %{_datadir}/uim/pixmaps/wnn.png
747%exclude %{_datadir}/uim/pixmaps/wnn.svg
c34027a2 748%exclude %{_datadir}/uim/annotation-eb.scm
d5e30092
JB
749%exclude %{_datadir}/uim/anthy*.scm
750%exclude %{_datadir}/uim/canna*.scm
751%exclude %{_datadir}/uim/m17nlib*.scm
752%exclude %{_datadir}/uim/mana*.scm
bd5acb7e 753%if %{with prime}
d5e30092 754%exclude %{_datadir}/uim/prime*.scm
f72e2b22 755%endif
c34027a2 756%exclude %{_datadir}/uim/sj3*.scm
d5e30092
JB
757%exclude %{_datadir}/uim/skk*.scm
758%exclude %{_datadir}/uim/wnn*.scm
15d800b6 759%{_desktopdir}/uim.desktop
d5e30092 760%{_mandir}/man1/uim-xim.1*
ce8c7195 761%dir %{_localstatedir}/lib/uim
d5e30092
JB
762%verify(not md5 mtime size) %{_localstatedir}/lib/uim/installed-modules.scm
763%verify(not md5 mtime size) %{_localstatedir}/lib/uim/loader.scm
e899826e 764
f2675bdf
JR
765%files devel
766%defattr(644,root,root,755)
d5e30092
JB
767%attr(755,root,root) %{_libdir}/libuim.so
768%attr(755,root,root) %{_libdir}/libuim-custom.so
769%attr(755,root,root) %{_libdir}/libuim-scm.so
f2675bdf 770%{_includedir}/%{name}
d5e30092 771%{_pkgconfigdir}/uim.pc
f2675bdf
JR
772
773%files gtk2
774%defattr(644,root,root,755)
771d5eda
JR
775%attr(755,root,root) %{_bindir}/uim-dict-gtk
776%attr(755,root,root) %{_bindir}/uim-im-switcher-gtk
f2675bdf 777%attr(755,root,root) %{_bindir}/uim-input-pad-ja
771d5eda
JR
778%attr(755,root,root) %{_bindir}/uim-pref-gtk
779%attr(755,root,root) %{_bindir}/uim-toolbar-gtk
780%attr(755,root,root) %{_bindir}/uim-toolbar-gtk-systray
d5e30092 781%attr(755,root,root) %{_libdir}/gtk-2.0/*/immodules/im-uim.so
b1adeb71
AG
782%attr(755,root,root) %{_libexecdir}/uim-candwin-gtk
783%attr(755,root,root) %{_libexecdir}/uim-candwin-tbl-gtk
784%attr(755,root,root) %{_libexecdir}/uim-candwin-horizontal-gtk
771d5eda 785
f2675bdf
JR
786%files gtk3
787%defattr(644,root,root,755)
771d5eda
JR
788%attr(755,root,root) %{_bindir}/uim-dict-gtk3
789%attr(755,root,root) %{_bindir}/uim-im-switcher-gtk3
790%attr(755,root,root) %{_bindir}/uim-input-pad-ja-gtk3
791%attr(755,root,root) %{_bindir}/uim-pref-gtk3
792%attr(755,root,root) %{_bindir}/uim-toolbar-gtk3
793%attr(755,root,root) %{_bindir}/uim-toolbar-gtk3-systray
d5e30092 794%attr(755,root,root) %{_libdir}/gtk-3.0/*/immodules/im-uim.so
b1adeb71
AG
795%attr(755,root,root) %{_libexecdir}/uim-candwin-gtk3
796%attr(755,root,root) %{_libexecdir}/uim-candwin-tbl-gtk3
797%attr(755,root,root) %{_libexecdir}/uim-candwin-horizontal-gtk3
f72e2b22
JB
798%dir %{_datadir}/uim/ui
799%{_datadir}/uim/ui/uim-applet-menu.xml
771d5eda 800
49d5fc91 801%if %{with gnome}
f2675bdf
JR
802%files gnome
803%defattr(644,root,root,755)
bd5acb7e 804%attr(755,root,root) %{_libdir}/gnome-panel/modules/uim.so
49d5fc91 805%endif
f2675bdf 806
a224586e 807%if %{with qt3}
26f033cf 808%files qt3
e899826e 809%defattr(644,root,root,755)
f2675bdf
JR
810%attr(755,root,root) %{_bindir}/uim-chardict-qt
811%attr(755,root,root) %{_bindir}/uim-im-switcher-qt
812%attr(755,root,root) %{_bindir}/uim-pref-qt
813%attr(755,root,root) %{_bindir}/uim-toolbar-qt
b1adeb71 814%attr(755,root,root) %{_libexecdir}/uim-candwin-qt
d5e30092 815%attr(755,root,root) %{_libdir}/qt/plugins-mt/inputmethods/libquiminputcontextplugin.so
49d5fc91 816%endif
f2675bdf 817
a224586e 818%if %{with qt4}
bd5acb7e 819%files qt4
9b05171f
JB
820%defattr(644,root,root,755)
821%attr(755,root,root) %{_bindir}/uim-chardict-qt4
822%attr(755,root,root) %{_bindir}/uim-im-switcher-qt4
823%attr(755,root,root) %{_bindir}/uim-pref-qt4
824%attr(755,root,root) %{_bindir}/uim-toolbar-qt4
d5e30092 825%attr(755,root,root) %{_libdir}/qt4/plugins/inputmethods/libuiminputcontextplugin.so
b1adeb71 826%attr(755,root,root) %{_libexecdir}/uim-candwin-qt4
a224586e
JB
827%endif
828
bd5acb7e
JB
829%if %{with qt5}
830%files qt5
831%defattr(644,root,root,755)
832%attr(755,root,root) %{_bindir}/uim-chardict-qt5
833%attr(755,root,root) %{_bindir}/uim-im-switcher-qt5
834%attr(755,root,root) %{_bindir}/uim-pref-qt5
835%attr(755,root,root) %{_bindir}/uim-toolbar-qt5
bd5acb7e 836%attr(755,root,root) %{_libexecdir}/uim-candwin-qt5
f322f76f
JB
837%attr(755,root,root) %{_libdir}/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
838%dir %{_libdir}/qt5/qml/uim
839%attr(755,root,root) %{_libdir}/qt5/qml/uim/libuim-qtquick-plugin.so
840%{_libdir}/qt5/qml/uim/qmldir
bd5acb7e
JB
841%endif
842
f322f76f 843%if %{with kde4}
a224586e
JB
844%files kde
845%defattr(644,root,root,755)
846%attr(755,root,root) %{_libdir}/kde4/plasma_applet_uim.so
bd5acb7e 847%attr(755,root,root) %{_libdir}/uim/notify/libuimnotify-knotify4.so
a224586e
JB
848%{_datadir}/kde4/services/plasma-applet-uim.desktop
849%endif
9b05171f 850
9eac12d8
JB
851%if %{with kde5}
852%files kde5
853%defattr(644,root,root,755)
854%{_datadir}/kservices5/plasma-applet-com.github.uim.status.desktop
855%{_datadir}/metainfo/com.github.uim.status.appdata.xml
856%{_datadir}/plasma/plasmoids/com.github.uim.status
857%endif
858
9b05171f
JB
859%files -n emacs-common-uim
860%defattr(644,root,root,755)
9b05171f
JB
861%attr(755,root,root) %{_bindir}/uim-el-agent
862%attr(755,root,root) %{_bindir}/uim-el-helper-agent
863
f2675bdf
JR
864%files -n emacs-uim
865%defattr(644,root,root,755)
866%{_datadir}/emacs/site-lisp/uim-el
867%{_datadir}/emacs/site-lisp/site-start.d/uim-init.el
868
869%files -n xemacs-uim
870%defattr(644,root,root,755)
cda0d829
JR
871%{_datadir}/xemacs-packages/lisp/uim-el
872%{_datadir}/xemacs-packages/lisp/uim-init.el
f2675bdf 873
9b05171f 874%if %{with anthy}
f2675bdf
JR
875%files anthy
876%defattr(644,root,root,755)
d5e30092 877%attr(755,root,root) %{_libdir}/uim/plugin/libuim-anthy-utf8.so
f2675bdf
JR
878%{_datadir}/uim/anthy*.scm
879%{_datadir}/uim/pixmaps/anthy*.png
9b05171f 880%endif
f2675bdf 881
9b05171f 882%if %{with canna}
f2675bdf
JR
883%files canna
884%defattr(644,root,root,755)
885%{_datadir}/uim/canna*.scm
886%{_datadir}/uim/pixmaps/canna.png
9b05171f
JB
887%endif
888
d5e30092
JB
889%if %{with eb}
890%files eb
891%defattr(644,root,root,755)
892%attr(755,root,root) %{_libdir}/uim/plugin/libuim-eb.so
893%{_datadir}/uim/annotation-eb.scm
894%endif
895
9b05171f
JB
896%if %{with m17n}
897%files m17n
898%defattr(644,root,root,755)
899%attr(755,root,root) %{_bindir}/uim-m17nlib-relink-icons
900%attr(755,root,root) %{_libdir}/uim/plugin/libuim-m17nlib.so
d5e30092
JB
901%{_datadir}/uim/m17nlib*.scm
902%{_datadir}/uim/pixmaps/m17n*.png
9b05171f 903%endif
f2675bdf 904
49d5fc91 905%if %{with mana}
f2675bdf
JR
906%files mana
907%defattr(644,root,root,755)
908%attr(755,root,root) %{_libdir}/uim/plugin/libuim-mana.so
909%{_datadir}/uim/mana*.scm
910%{_datadir}/uim/pixmaps/mana.png
d5e30092 911%{_datadir}/uim/pixmaps/mana.svg
49d5fc91 912%endif
f2675bdf 913
bd5acb7e 914%if %{with prime}
ce8c7195
JR
915%files prime
916%defattr(644,root,root,755)
917%{_datadir}/uim/prime*.scm
d5e30092 918%{_datadir}/uim/pixmaps/prime*.png
d5e30092
JB
919%endif
920
921%files sj3
922%defattr(644,root,root,755)
923%{_datadir}/uim/sj3*.scm
924%{_datadir}/uim/pixmaps/sj3.png
925%{_datadir}/uim/pixmaps/sj3.svg
ce8c7195 926
f2675bdf
JR
927%files skk
928%defattr(644,root,root,755)
929%attr(755,root,root) %{_libdir}/uim/plugin/libuim-skk.so
930%{_datadir}/uim/skk*.scm
04b5fc36
JB
931%{_datadir}/uim/pixmaps/skk*.png
932%{_datadir}/uim/pixmaps/skk*.svg
d5e30092
JB
933
934%if %{with wnn}
935%files wnn
936%defattr(644,root,root,755)
937%attr(755,root,root) %{_libdir}/uim/plugin/libuim-wnn.so
938%{_datadir}/uim/wnn*.scm
939%{_datadir}/uim/pixmaps/wnn.png
940%{_datadir}/uim/pixmaps/wnn.svg
941%endif
This page took 0.379306 seconds and 4 git commands to generate.