5 |
PBUILD="r1" |
PBUILD="r1" |
6 |
|
|
7 |
PCATEGORIE="net-www" |
PCATEGORIE="net-www" |
8 |
STATE="disabled" |
STATE="unstable" |
9 |
|
|
|
DESCRIPTION="Opera ${PVER} (qt4 shared)." |
|
10 |
HOMEPAGE="http://www.opera.com/" |
HOMEPAGE="http://www.opera.com/" |
11 |
|
|
12 |
DEPEND=">= x11-libs/libICE-1 |
COMMON_DEPEND=">= x11-libs/libICE-1 |
13 |
>= x11-libs/libSM-1 |
>= x11-libs/libSM-1 |
14 |
>= x11-libs/libX11-1 |
>= x11-libs/libX11-1 |
15 |
>= x11-libs/libXau-1 |
>= x11-libs/libXau-1 |
16 |
>= x11-libs/libXdmcp-1 |
>= x11-libs/libXdmcp-1 |
17 |
>= x11-libs/libXext-1 |
>= x11-libs/libXext-1 |
|
>= x11-libs/libXft-2 |
|
18 |
>= x11-libs/libXmu-1 |
>= x11-libs/libXmu-1 |
19 |
>= x11-libs/libXrender-0.9 |
>= x11-libs/libXrender-0.9 |
20 |
>= x11-libs/libXt-1 |
>= x11-libs/libXt-1 |
21 |
|
>= x11-libs/libXcomposite-0.4 |
22 |
|
>= x11-libs/libXcursor-1 |
23 |
|
>= x11-libs/libXdamage-1 |
24 |
|
>= x11-libs/libXfixes-4 |
25 |
|
>= x11-libs/libXi-1 |
26 |
|
>= x11-libs/libXrandr-1 |
27 |
>= media-libs/fontconfig-2.6 |
>= media-libs/fontconfig-2.6 |
28 |
>= media-libs/libexif-0.6 |
>= media-libs/freetype-2.3 |
29 |
>= x11-libs/lesstif-0.95 |
>= media-libs/libpng-1.2 |
30 |
>= app-text/aspell-0.6 |
>= dev-libs/expat-2 |
31 |
>= x11-libs/qt4-core-4.6 |
>= media-libs/gstreamer-0.10.25 |
32 |
>= x11-libs/qt4-gui-4.6" |
>= media-libs/gst-plugins-base-0.10.25 |
33 |
|
>= sys-apps/util-linux-2.16 |
34 |
|
>= sys-libs/zlib-1.2.3 |
35 |
|
>= virtual/opengl" |
36 |
|
|
37 |
|
SDEPEND=">= sys-apps/sed-4" |
38 |
|
|
39 |
# .6 uses newer glibc and qt versions |
# .6 uses newer glibc and qt versions |
40 |
BUILD="6386" |
BUILD="6386" |
46 |
SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})" |
SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})" |
47 |
SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-${BUILD}.${ARCH/i*86/x86}.linux" |
SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-${BUILD}.${ARCH/i*86/x86}.linux" |
48 |
|
|
49 |
|
SPLIT_PACKAGES="opera opera-kde4 opera-gtk2" |
50 |
sminclude mtools |
sminclude mtools |
51 |
|
|
52 |
SRC_URI=( |
SRC_URI=( |
58 |
mirror://${PNAME}/${SRCFILE_x86_64} |
mirror://${PNAME}/${SRCFILE_x86_64} |
59 |
) |
) |
60 |
|
|
61 |
|
split_info_opera() |
62 |
|
{ |
63 |
|
DESCRIPTION="Opera Web browser." |
64 |
|
DEPEND="${COMMON_DEPEND}" |
65 |
|
} |
66 |
|
|
67 |
|
split_info_opera-kde4() |
68 |
|
{ |
69 |
|
DESCRIPTION="Opera UI integration for KDE4." |
70 |
|
DEPEND="== net-www/opera-${PVER} |
71 |
|
>= x11-libs/qt4-core-4.6 |
72 |
|
>= x11-libs/qt4-gui-4.6 |
73 |
|
>= x11-libs/qt4-dbus-4.6 |
74 |
|
>= x11-libs/qt4-svg-4.6 |
75 |
|
>= kde-base/kdelibs4-4.4" |
76 |
|
} |
77 |
|
|
78 |
|
split_info_opera-gtk2() |
79 |
|
{ |
80 |
|
DESCRIPTION="Opera UI integration for GTK2 and GNOME." |
81 |
|
DEPEND="== net-www/opera-${PVER} |
82 |
|
>= dev-libs/glib2-2.22 |
83 |
|
>= dev-libs/atk-1.28 |
84 |
|
>= x11-libs/cairo-1.8 |
85 |
|
>= x11-libs/pango-1.26 |
86 |
|
>= x11-libs/gtk2+-2.18" |
87 |
|
} |
88 |
|
|
89 |
src_prepare() |
src_prepare() |
90 |
{ |
{ |
91 |
munpack ${SRCFILE} || die |
munpack ${SRCFILE} || die |
92 |
cd ${SRCDIR} |
cd ${SRCDIR} |
93 |
|
|
94 |
sed -i -e "s:config_dir=\"/etc\":config_dir=\"${BINDIR}/etc/\":g" \ |
# fix install destination |
95 |
-e "s:/usr/share/applnk:${BINDIR}/usr/share/applnk:g" \ |
sed -i "s:/usr/local:${BINDIR}/opt/opera:g" install || die |
|
-e "s:/usr/share/pixmaps:${BINDIR}/usr/share/pixmaps:g" \ |
|
|
-e "s:/usr/share/icons:${BINDIR}/usr/share/icons:g" \ |
|
|
-e "s:/etc/X11:${BINDIR}/etc/X11:g" \ |
|
|
-e "s:/usr/share/gnome:${BINDIR}/usr/share/gnome:g" \ |
|
|
-e "s:/opt/kde:${BINDIR}/usr/kde:g" \ |
|
|
-e 's:#\(OPERA_FORCE_JAVA_ENABLED=\):\1:' \ |
|
|
-e 's:#\(export LD_PRELOAD OPERA_FORCE_JAVA_ENABLED\):\1:' \ |
|
|
-e 's:read str_answer:return 0:' \ |
|
|
install || die |
|
96 |
} |
} |
97 |
|
|
98 |
src_install() |
src_install_opera() |
99 |
{ |
{ |
100 |
cd ${SRCDIR} |
cd ${SRCDIR} |
101 |
|
|
102 |
# prepare installation directories for opera's installer script |
# prepare installation directories for opera's installer script |
103 |
minstalldir /etc || die |
minstalldir /opt/opera |
|
|
|
104 |
# run opera's native installer |
# run opera's native installer |
105 |
./install --prefix=${BINDIR}/opt/opera || die |
./install --system --unattended || die |
106 |
|
|
107 |
# java workaround |
# remove uninstaller |
108 |
sed -i 's:LD_PRELOAD="${OPERA_JAVA_DIR}/libawt.so":LD_PRELOAD="$LD_PRELOAD"\:"${OPERA_JAVA_DIR}/libawt.so":' \ |
rm ${BINDIR}/opt/opera/bin/uninstall-opera || die |
|
${BINDIR}/opt/opera/bin/opera || die |
|
109 |
|
|
110 |
#rm ${BINDIR}/opt/opera/share/doc/opera/help || die |
# fix ${BINDIR} everywhere |
|
mlink /opt/opera/share/opera/help /opt/opera/share/doc/opera/help || die |
|
|
|
|
|
# fix ${BINDIR} |
|
111 |
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera || die |
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera || die |
112 |
mchmod 0755 /opt/opera/bin/opera || die |
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera-widget-manager || die |
113 |
|
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-manager.desktop || die |
114 |
|
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-browser.desktop || die |
115 |
|
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-installer.deskop || die |
116 |
|
|
117 |
|
# sanity check |
118 |
|
if [[ ! -z $(grep -irl ${BINDIR} ${BINDIR}/opt/opera) ]] |
119 |
|
then |
120 |
|
die "${BINDIR} in installed /opt/opera files detected!" |
121 |
|
fi |
122 |
|
|
123 |
# fix ${BINDIR} |
# fix permissions |
124 |
sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/opera/java/opera.policy || die |
mchmod 0755 /opt/opera/bin/opera || die |
125 |
mchmod 0644 /opt/opera/share/opera/java/opera.policy || die |
mchmod 0755 /opt/opera/bin/opera-widget-manager || die |
126 |
|
mchmod 0644 /opt/opera/share/applications/opera-widget-manager.desktop || die |
127 |
|
mchmod 0644 /opt/opera/share/applications/opera-browser.desktop || die |
128 |
|
mchmod 0644 /opt/opera/share/applications/opera-widget-installer.deskop || die |
129 |
|
|
130 |
# install the icons |
# install the icons |
|
minstallpixmap usr/share/pixmaps/opera.xpm || die |
|
131 |
local i |
local i |
132 |
for i in 16x16 22x22 32x32 48x48 |
for i in 16x16 22x22 24x24 32x32 48x48 128x128 scalable |
133 |
do |
do |
134 |
minstalldir /usr/share/icons/hicolor/${i}/apps || die |
minstalldir /usr/share/icons/hicolor/${i}/apps || die |
135 |
minstallfile usr/share/icons/hicolor/${i}/apps/opera.png \ |
minstallfile usr/share/icons/hicolor/${i}/apps/opera-browser.png /usr/share/icons/hicolor/${i}/apps || die |
136 |
/usr/share/icons/hicolor/${i}/apps || die |
minstallfile usr/share/icons/hicolor/${i}/apps/opera-widget-manager.png /usr/share/icons/hicolor/${i}/apps || die |
137 |
|
minstalldir /usr/share/icons/hicolor/${i}/mimetypes || die |
138 |
|
minstallfile usr/share/icons/hicolor/${i}/mimetypes/opera-widget.png /usr/share/icons/hicolor/${i}/mimetypes || die |
139 |
|
minstallfile usr/share/icons/hicolor/${i}/mimetypes/opera-unite-application.png /usr/share/icons/hicolor/${i}/mimetypes || die |
140 |
done |
done |
141 |
|
|
142 |
# install a symlink /usr/bin/opera |
# install a symlink /usr/bin/opera |
143 |
minstalldir /usr/bin || die |
minstalldir /usr/bin || die |
144 |
mlink /opt/opera/bin/opera /usr/bin/opera || die |
mlink /opt/opera/bin/opera /usr/bin/opera || die |
145 |
|
mlink /opt/opera/bin/opera-widget-manager /usr/bin/opera-widget-manager || die |
146 |
|
|
147 |
# fix spellcheck.so -> spellcheck.ini |
# cleanup |
148 |
echo "Spell Check Engine=/opt/opera/lib/opera/${PVER}/spellcheck.so" \ |
rm ${BINDIR}/opt/opera/lib/opera/liboperakde4.so || die |
149 |
>> ${BINDIR}/opt/opera/share/opera/defaults/spellcheck.ini || die |
rm ${BINDIR}/opt/opera/lib/opera/liboperagtk.so || die |
150 |
|
} |
151 |
# fix libnpp.so -> pluginpath.ini |
|
152 |
sed -i "s:${BINDIR}/opt/opera/lib/opera/plugins:/opt/opera/lib/opera/plugins:g" \ |
src_install_opera-kde4() |
153 |
${BINDIR}/opt/opera/share/opera/defaults/pluginpath.ini || die |
{ |
154 |
|
cd ${SRCDIR} |
155 |
|
minstalldir /opt/opera/lib/opera || die |
156 |
|
minstallexec lib/opera/liboperakde4.so /opt/opera/lib/opera/ || die |
157 |
|
} |
158 |
|
|
159 |
|
src_install_opera-gtk2() |
160 |
|
{ |
161 |
|
cd ${SRCDIR} |
162 |
|
minstalldir /opt/opera/lib/opera || die |
163 |
|
minstallexec lib/opera/liboperagtk.so /opt/opera/lib/opera/ || die |
164 |
} |
} |