Contents of /branches/magellan-next/extras/opera/opera-11.52-r1.smage2
Parent Directory | Revision Log
Revision 9148 -
(show annotations)
(download)
Mon Nov 7 22:34:21 2011 UTC (12 years, 10 months ago) by niro
File size: 5538 byte(s)
Mon Nov 7 22:34:21 2011 UTC (12 years, 10 months ago) by niro
File size: 5538 byte(s)
-fixed xdg installation
1 | # $Id$ |
2 | |
3 | PNAME="opera" |
4 | PVER="11.52" |
5 | PBUILD="r1" |
6 | |
7 | PCATEGORIE="net-www" |
8 | |
9 | HOMEPAGE="http://www.opera.com/" |
10 | |
11 | COMMON_DEPEND=">= x11-libs/libICE-1 |
12 | >= x11-libs/libSM-1 |
13 | >= x11-libs/libX11-1 |
14 | >= x11-libs/libXau-1 |
15 | >= x11-libs/libXdmcp-1 |
16 | >= x11-libs/libXext-1 |
17 | >= x11-libs/libXmu-1 |
18 | >= x11-libs/libXrender-0.9 |
19 | >= x11-libs/libXt-1 |
20 | >= x11-libs/libXcomposite-0.4 |
21 | >= x11-libs/libXcursor-1 |
22 | >= x11-libs/libXdamage-1 |
23 | >= x11-libs/libXfixes-4 |
24 | >= x11-libs/libXi-1 |
25 | >= x11-libs/libXrandr-1 |
26 | >= media-libs/fontconfig-2.6 |
27 | >= media-libs/freetype-2.3 |
28 | >= media-libs/libpng-1.2 |
29 | >= dev-libs/expat-2 |
30 | >= media-libs/gstreamer-0.10.25 |
31 | >= media-libs/gst-plugins-base-0.10.25 |
32 | >= sys-apps/util-linux-2.16 |
33 | >= sys-libs/zlib-1.2.3 |
34 | >= virtual/opengl" |
35 | |
36 | KDE4_DEPEND=">= x11-libs/qt4-core-4.7 |
37 | >= x11-libs/qt4-gui-4.7 |
38 | >= x11-libs/qt4-dbus-4.7 |
39 | >= x11-libs/qt4-svg-4.7 |
40 | >= kde-base/kdelibs4-4.6" |
41 | |
42 | GTK2_DEPEND="== net-www/opera-${PVER} |
43 | >= dev-libs/glib2-2.28 |
44 | >= dev-libs/atk-1.33 |
45 | >= x11-libs/cairo-1.10 |
46 | >= x11-libs/pango-1.28 |
47 | >= x11-libs/gtk2+-2.24" |
48 | |
49 | SDEPEND="${COMMON_DEPEND} |
50 | ${KDE4_DEPEND} |
51 | ${GTK2_DEPEND} |
52 | >= sys-apps/sed-4" |
53 | |
54 | # .6 uses newer glibc and qt versions |
55 | BUILD="1100" |
56 | |
57 | # ftp://opera.ftp.fu-berlin.de/linux |
58 | SRCFILE_x86="${PNAME}-${PVER}-${BUILD}.i386.linux.tar.bz2" |
59 | SRCFILE_x86_64="${PNAME}-${PVER}-${BUILD}.x86_64.linux.tar.bz2" |
60 | # decide between x86 and x86_64 arch |
61 | SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})" |
62 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-${BUILD}.${ARCH/i*86/i386}.linux" |
63 | |
64 | SPLIT_PACKAGES="opera opera-kde4 opera-gtk2" |
65 | sminclude mtools xdg |
66 | |
67 | SRC_URI=( |
68 | ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86} |
69 | ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86_64} |
70 | ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/i386/${SRCFILE_x86} |
71 | ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/x86_64/${SRCFILE_x86_64} |
72 | mirror://${PNAME}/${SRCFILE_x86} |
73 | mirror://${PNAME}/${SRCFILE_x86_64} |
74 | ) |
75 | |
76 | split_info_opera() |
77 | { |
78 | DESCRIPTION="Opera Web browser." |
79 | DEPEND="${COMMON_DEPEND}" |
80 | } |
81 | |
82 | split_info_opera-kde4() |
83 | { |
84 | DESCRIPTION="Opera UI integration for KDE4." |
85 | DEPEND="== net-www/opera-${PVER} |
86 | ${KDE4_DEPEND}" |
87 | } |
88 | |
89 | split_info_opera-gtk2() |
90 | { |
91 | DESCRIPTION="Opera UI integration for GTK2 and GNOME." |
92 | DEPEND="== net-www/opera-${PVER} |
93 | ${GTK2_DEPEND}" |
94 | } |
95 | |
96 | src_prepare() |
97 | { |
98 | munpack ${SRCFILE} || die |
99 | } |
100 | |
101 | src_install_opera() |
102 | { |
103 | cd ${SRCDIR} |
104 | |
105 | # fix install destination |
106 | # (do it here, not in src_unpack to support split-packages) |
107 | sed -i "s:/usr/local:${BINDIR}/opt/opera:g" install || die |
108 | |
109 | # prepare installation directories for opera's installer script |
110 | minstalldir /opt/opera |
111 | # run opera's native installer |
112 | ./install --system --unattended || die |
113 | |
114 | # remove uninstaller |
115 | rm ${BINDIR}/opt/opera/bin/uninstall-opera || die |
116 | |
117 | # fix ${BINDIR} everywhere |
118 | sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera || die |
119 | sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera-widget-manager || die |
120 | sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-manager.desktop || die |
121 | sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-browser.desktop || die |
122 | sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-installer.desktop || die |
123 | |
124 | # sanity check |
125 | if [[ ! -z $(grep -irl ${BINDIR} ${BINDIR}/opt/opera) ]] |
126 | then |
127 | die "${BINDIR} in installed /opt/opera files detected!" |
128 | fi |
129 | |
130 | # fix permissions |
131 | mchmod 0755 /opt/opera/bin/opera || die |
132 | mchmod 0755 /opt/opera/bin/opera-widget-manager || die |
133 | mchmod 0644 /opt/opera/share/applications/opera-widget-manager.desktop || die |
134 | mchmod 0644 /opt/opera/share/applications/opera-browser.desktop || die |
135 | mchmod 0644 /opt/opera/share/applications/opera-widget-installer.desktop || die |
136 | |
137 | # install the icons |
138 | local i |
139 | for i in 16x16 22x22 24x24 32x32 48x48 128x128 scalable |
140 | do |
141 | minstalldir /usr/share/icons/hicolor/${i}/apps || die |
142 | if [[ -f share/icons/hicolor/${i}/apps/opera-browser.png ]] |
143 | then |
144 | minstallfile share/icons/hicolor/${i}/apps/opera-browser.png /usr/share/icons/hicolor/${i}/apps || die |
145 | fi |
146 | if [[ -f share/icons/hicolor/${i}/apps/opera-widget-manager.png ]] |
147 | then |
148 | minstallfile share/icons/hicolor/${i}/apps/opera-widget-manager.png /usr/share/icons/hicolor/${i}/apps || die |
149 | fi |
150 | |
151 | minstalldir /usr/share/icons/hicolor/${i}/mimetypes || die |
152 | if [[ -f share/icons/hicolor/${i}/mimetypes/opera-widget.png ]] |
153 | then |
154 | minstallfile share/icons/hicolor/${i}/mimetypes/opera-widget.png /usr/share/icons/hicolor/${i}/mimetypes || die |
155 | fi |
156 | if [[ -f share/icons/hicolor/${i}/mimetypes/opera-unite-application.png ]] |
157 | then |
158 | minstallfile share/icons/hicolor/${i}/mimetypes/opera-unite-application.png /usr/share/icons/hicolor/${i}/mimetypes || die |
159 | fi |
160 | done |
161 | |
162 | # install a symlink /usr/bin/opera |
163 | minstalldir /usr/bin || die |
164 | mlink /opt/opera/bin/opera /usr/bin/opera || die |
165 | mlink /opt/opera/bin/opera-widget-manager /usr/bin/opera-widget-manager || die |
166 | |
167 | # install desktop icons |
168 | minstallxdg share/applications/opera-browser.desktop || die |
169 | minstallxdg share/applications/opera-widget-manager.desktop || die |
170 | minstallxdg share/applications/opera-widget-installer.desktop || die |
171 | |
172 | # cleanup |
173 | rm ${BINDIR}/opt/opera/lib/opera/liboperakde4.so || die |
174 | rm ${BINDIR}/opt/opera/lib/opera/liboperagtk.so || die |
175 | } |
176 | |
177 | src_install_opera-kde4() |
178 | { |
179 | cd ${SRCDIR} |
180 | minstalldir /opt/opera/lib/opera || die |
181 | minstallexec lib/opera/liboperakde4.so /opt/opera/lib/opera/ || die |
182 | } |
183 | |
184 | src_install_opera-gtk2() |
185 | { |
186 | cd ${SRCDIR} |
187 | minstalldir /opt/opera/lib/opera || die |
188 | minstallexec lib/opera/liboperagtk.so /opt/opera/lib/opera/ || die |
189 | } |