dev-util/pkgcheck: version bump to 0.6.7
[gentoo.git] / app-i18n / atokx3 / atokx3-3.0.0-r12.ebuild
1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI="6"
5 MULTILIB_COMPAT=( abi_x86_{32,64} )
6
7 inherit cdrom eutils gnome2-utils multilib-build
8
9 MY_UPDATE_P="${PN}up2"
10 MY_UPDATE_GTK="${PN}gtk216"
11 MY_ZIPCODE_P="a20y1406lx"
12
13 DESCRIPTION="ATOK X3 for Linux - The most famous Japanese Input Method Engine"
14 HOMEPAGE="https://www.justsystems.com/jp/products/atok_linux/"
15 SRC_URI="https://gate.justsystems.com/download/atok/up/lin/${MY_UPDATE_P}.tar.gz
16         https://gate.justsystems.com/download/atok/up/lin/${MY_UPDATE_GTK}.tar.gz
17         https://gate.justsystems.com/download/zipcode/up/lin/${MY_ZIPCODE_P}.tgz"
18
19 LICENSE="ATOK MIT"
20 SLOT="0"
21 KEYWORDS="-* ~amd64 ~x86"
22 IUSE=""
23 RESTRICT="strip mirror"
24
25 RDEPEND="dev-libs/atk
26         dev-libs/glib:2
27         dev-libs/libxml2:2
28         media-libs/fontconfig
29         media-libs/libpng
30         sys-apps/tcp-wrappers
31         virtual/pam
32         x11-libs/cairo
33         >=x11-libs/gtk+-2.4.13:2
34         x11-libs/libICE
35         x11-libs/libSM
36         x11-libs/libXcomposite
37         x11-libs/libXcursor
38         x11-libs/libXdamage
39         x11-libs/libXext
40         x11-libs/libXfixes
41         x11-libs/libXi
42         x11-libs/libXrandr
43         x11-libs/libXrender
44         x11-libs/libXxf86vm
45         x11-libs/libdrm
46         x11-libs/pangox-compat
47         amd64? (
48                 >=dev-libs/atk-2.10.0[abi_x86_32(-)]
49                 >=dev-libs/glib-2.34.3:2[abi_x86_32(-)]
50                 >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)]
51                 >=media-libs/fontconfig-2.10.92[abi_x86_32(-)]
52                 >=media-libs/libpng-1.2.51[abi_x86_32(-)]
53                 >=sys-apps/tcp-wrappers-7.6.22-r1[abi_x86_32(-)]
54                 >=virtual/pam-0-r1[abi_x86_32(-)]
55                 >=x11-libs/cairo-1.12.14-r4[abi_x86_32(-)]
56                 >=x11-libs/gtk+-2.24.23:2[abi_x86_32(-)]
57                 >=x11-libs/libICE-1.0.8-r1[abi_x86_32(-)]
58                 >=x11-libs/libSM-1.2.1-r1[abi_x86_32(-)]
59                 >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)]
60                 >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
61                 >=x11-libs/libXdamage-1.1.4-r1[abi_x86_32(-)]
62                 >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
63                 >=x11-libs/libXfixes-5.0.1[abi_x86_32(-)]
64                 >=x11-libs/libXft-2.3.1-r1[abi_x86_32(-)]
65                 >=x11-libs/libXi-1.7.2[abi_x86_32(-)]
66                 >=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
67                 >=x11-libs/libXrender-0.9.8[abi_x86_32(-)]
68                 >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
69                 >=x11-libs/libdrm-2.4.46[abi_x86_32(-)]
70                 >=x11-libs/pangox-compat-0.0.2[abi_x86_32(-)]
71         )"
72 S="${WORKDIR}"
73
74 EMULTILIB_PKG="true"
75
76 pkg_setup() {
77         if ! cdrom_get_cds ${PN}index ; then
78                 die "Please mount ATOK for Linux CD-ROM or set CD_ROOT variable to the directory containing ATOK X3 for Linux."
79         fi
80
81         QA_PREBUILT="opt/${PN}/lib/server/*
82                 opt/${PN}/lib/client/xaux/*
83                 opt/${PN}/lib/client/*
84                 opt/${PN}/bin/*
85                 usr/libexec/*
86                 usr/bin/*
87                 usr/$(get_libdir)/*
88                 usr/$(get_libdir)/gtk-2.0/immodules/*
89                 usr/$(get_libdir)/iiim/le/${PN}/64/*
90                 usr/$(ABI=x86 get_libdir)/*
91                 usr/$(ABI=x86 get_libdir)/gtk-2.0/immodules/*
92                 usr/$(ABI=x86 get_libdir)/iiim/*
93                 usr/$(ABI=x86 get_libdir)/iiim/le/${PN}/*"
94 }
95
96 src_unpack() {
97         local targets="
98                 IIIMF/iiimf-client-lib-trunk_r3104-js*.i386.tar.gz
99                 IIIMF/iiimf-gtk-trunk_r3104-js*.i386.tar.gz
100                 IIIMF/iiimf-protocol-lib-trunk_r3104-js*.i386.tar.gz
101                 IIIMF/iiimf-server-trunk_r3104-js*.i386.tar.gz
102                 IIIMF/iiimf-x-trunk_r3104-js*.i386.tar.gz
103                 IIIMF/iiimf-client-lib-devel-trunk_r3104-js*.i386.tar.gz
104                 IIIMF/iiimf-protocol-lib-devel-trunk_r3104-js*.i386.tar.gz
105                 ATOK/atokx-20.0-*.0.0.i386.tar.gz"
106         #       IIIMF/iiimf-properties-trunk_r3104-js*.i386.tar.gz
107         #       IIIMF/iiimf-docs-trunk_r3104-js*.i386.tar.gz
108         #       IIIMF/iiimf-notuse-trunk_r3104-js*.i386.tar.gz
109
110         if use abi_x86_64 ; then
111                 targets+="
112                         IIIMF/iiimf-client-lib-64-trunk_r3104-js*.x86_64.tar.gz
113                         IIIMF/iiimf-gtk-64-trunk_r3104-js*.x86_64.tar.gz
114                         IIIMF/iiimf-protocol-lib-64-trunk_r3104-js*.x86_64.tar.gz
115                         ATOK/atokx-64-20.0-*.0.0.x86_64.tar.gz"
116                 #       IIIMF/iiimf-client-lib-devel-64-trunk_r3104-js*.x86_64.tar.gz
117                 #       IIIMF/iiimf-protocol-lib-devel-64-trunk_r3104-js*.x86_64.tar.gz
118                 #       IIIMF/iiimf-notuse-64-trunk_r3104-js*.x86_64.tar.gz
119         fi
120
121         targets+=" ATOK/atokxup-20.0-*.0.0.i386.tar.gz"
122
123         unpack ${MY_UPDATE_P}.tar.gz
124
125         local i
126         for i in ${targets} ; do
127                 if [[ -f "${S}"/${MY_UPDATE_P}/bin/${i} ]] ; then
128                         einfo "unpack" $(basename "${S}"/${MY_UPDATE_P}/bin/${i})
129                         tar xzf "${S}"/${MY_UPDATE_P}/bin/${i} || die "Failed to unpack ${i}"
130                 elif [[ -f "${CDROM_ROOT}"/bin/tarball/${i} ]] ; then
131                         einfo "unpack" $(basename "${CDROM_ROOT}"/bin/tarball/${i})
132                         tar xzf "${CDROM_ROOT}"/bin/tarball/${i} || die "Failed to unpack ${i}"
133                 else
134                         die "${i} not found."
135                 fi
136         done
137         unpack ${MY_UPDATE_GTK}.tar.gz
138         unpack ${MY_ZIPCODE_P}.tgz
139 }
140
141 src_prepare() {
142         if use abi_x86_64 ; then
143                 local lib32="$(ABI=x86 get_libdir)"
144                 local lib64="$(get_libdir)"
145                 if [[ "lib" != "${lib32}" ]] ; then
146                         mv usr/lib "usr/${lib32}" || die
147                 fi
148                 if [[ "lib64" != "${lib64}" ]] ; then
149                         mv usr/lib64 "usr/${lib64}" || die
150                 fi
151                 mkdir -p "usr/${lib64}/iiim/le/${PN}" || die
152                 mv "usr/${lib32}/iiim/le/${PN}/64" "usr/${lib64}/iiim/le/${PN}/64" || die
153                 rm "usr/${lib32}/iiim/le/${PN}/amd64" || die
154                 sed -e "s:/usr/lib:/usr/${lib64}:" "usr/${lib32}/libiiimcf.la" > "usr/${lib64}/libiiimcf.la" || die
155                 sed -e "s:/usr/lib:/usr/${lib64}:" "usr/${lib32}/libiiimp.la" > "usr/${lib64}/libiiimp.la" || die
156                 sed -i -e "s:/usr/lib:/usr/${lib32}:" "usr/${lib32}/libiiimcf.la" || die
157                 sed -i -e "s:/usr/lib:/usr/${lib32}:" "usr/${lib32}/libiiimp.la" || die
158         fi
159 }
160
161 src_install() {
162         DOCS=( ${MY_UPDATE_P}/README_UP2.txt "${CDROM_ROOT}"/doc/atok.pdf )
163         HTML_DOCS=( "${CDROM_ROOT}"/readme.html )
164         einstalldocs
165         rm -rf ${MY_UPDATE_P}
166
167         cp -dpR * "${ED}" || die
168
169         # amd64 hack
170         if use abi_x86_64 ; then
171                 local lib32="$(ABI=x86 get_libdir)"
172                 local lib64="$(get_libdir)"
173                 if [[ "${lib32}" != "${lib64}" ]] ; then
174                         local f
175                         for f in xiiimp.so xiiimp.a iiim-xbe xiiimp.so.2 xiiimp.so.2.0.0 iiimd-watchdog xiiimp.la ; do
176                                 dosym "${EPREFIX}/usr/${lib32}/iiim/${f}" "/usr/${lib64}/iiim/${f}"
177                         done
178                         for f in ${PN}aux.so ${PN}.so ; do
179                                 dosym "${EPREFIX}/usr/${lib32}/iiim/le/${PN}/${f}" "/usr/${lib64}/iiim/le/${PN}/${f}"
180                         done
181                         dosym "${EPREFIX}/usr/${lib64}/iiim/le/${PN}/64" "/usr/${lib32}/iiim/le/${PN}/64"
182                         dosym "${EPREFIX}/usr/${lib64}/iiim/le/${PN}/64" "/usr/${lib32}/iiim/le/${PN}/amd64"
183                 fi
184         fi
185
186         sed -e "s:@EPREFIX@:${EPREFIX}:" "${FILESDIR}/xinput-iiimf" > "${T}/iiimf.conf" || die
187         insinto /etc/X11/xinit/xinput.d
188         doins "${T}/iiimf.conf"
189 }
190
191 pkg_preinst() {
192         # bug #343325
193         if use abi_x86_64 && has_multilib_profile && [[ -L "${EPREFIX}/usr/$(get_libdir)/iiim" ]] ; then
194                 rm -f "${EPREFIX}/usr/$(get_libdir)/iiim"
195         fi
196 }
197
198 pkg_postinst() {
199         elog
200         elog "To use ATOK for Linux, you need to add following to .xinitrc or .xprofile:"
201         elog
202         elog ". /opt/${PN}/bin/${PN}start.sh"
203         elog
204         multilib_foreach_abi gnome2_query_immodules_gtk2
205 }
206
207 pkg_postrm() {
208         multilib_foreach_abi gnome2_query_immodules_gtk2
209 }