Magellan Linux

Annotation of /branches/magellan-next/extras/opera/opera-11.11-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9081 - (hide annotations) (download)
Wed Oct 5 13:32:37 2011 UTC (12 years, 8 months ago) by niro
File size: 5468 byte(s)
imported from trunk
1 niro 7953 # $Id$
2    
3     PNAME="opera"
4     PVER="11.11"
5     PBUILD="r1"
6    
7     PCATEGORIE="net-www"
8     STATE="unstable"
9    
10     HOMEPAGE="http://www.opera.com/"
11    
12     COMMON_DEPEND=">= x11-libs/libICE-1
13     >= x11-libs/libSM-1
14     >= x11-libs/libX11-1
15     >= x11-libs/libXau-1
16     >= x11-libs/libXdmcp-1
17     >= x11-libs/libXext-1
18     >= x11-libs/libXmu-1
19     >= x11-libs/libXrender-0.9
20     >= 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
28     >= media-libs/freetype-2.3
29     >= media-libs/libpng-1.2
30     >= dev-libs/expat-2
31     >= media-libs/gstreamer-0.10.25
32     >= 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
40     BUILD="2109"
41    
42     # ftp://opera.ftp.fu-berlin.de/linux
43     SRCFILE_x86="${PNAME}-${PVER}-${BUILD}.i386.linux.tar.bz2"
44     SRCFILE_x86_64="${PNAME}-${PVER}-${BUILD}.x86_64.linux.tar.bz2"
45     # decide between x86 and x86_64 arch
46     SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})"
47     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-${BUILD}.${ARCH/i*86/i386}.linux"
48    
49     SPLIT_PACKAGES="opera opera-kde4 opera-gtk2"
50     sminclude mtools xdg
51    
52     SRC_URI=(
53     ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86}
54     ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86_64}
55     ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/i386/${SRCFILE_x86}
56     ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/x86_64/${SRCFILE_x86_64}
57     mirror://${PNAME}/${SRCFILE_x86}
58     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()
90     {
91     munpack ${SRCFILE} || die
92     }
93    
94     src_install_opera()
95     {
96     cd ${SRCDIR}
97    
98     # fix install destination
99     # (do it here, not in src_unpack to support split-packages)
100     sed -i "s:/usr/local:${BINDIR}/opt/opera:g" install || die
101    
102     # prepare installation directories for opera's installer script
103     minstalldir /opt/opera
104     # run opera's native installer
105     ./install --system --unattended || die
106    
107     # remove uninstaller
108     rm ${BINDIR}/opt/opera/bin/uninstall-opera || die
109    
110     # fix ${BINDIR} everywhere
111     sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera || die
112     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.desktop || 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 permissions
124     mchmod 0755 /opt/opera/bin/opera || die
125     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.desktop || die
129    
130     # install the icons
131     local i
132     for i in 16x16 22x22 24x24 32x32 48x48 128x128 scalable
133     do
134     minstalldir /usr/share/icons/hicolor/${i}/apps || die
135     if [[ -f share/icons/hicolor/${i}/apps/opera-browser.png ]]
136     then
137     minstallfile share/icons/hicolor/${i}/apps/opera-browser.png /usr/share/icons/hicolor/${i}/apps || die
138     fi
139     if [[ -f share/icons/hicolor/${i}/apps/opera-widget-manager.png ]]
140     then
141     minstallfile share/icons/hicolor/${i}/apps/opera-widget-manager.png /usr/share/icons/hicolor/${i}/apps || die
142     fi
143    
144     minstalldir /usr/share/icons/hicolor/${i}/mimetypes || die
145     if [[ -f share/icons/hicolor/${i}/mimetypes/opera-widget.png ]]
146     then
147     minstallfile share/icons/hicolor/${i}/mimetypes/opera-widget.png /usr/share/icons/hicolor/${i}/mimetypes || die
148     fi
149     if [[ -f share/icons/hicolor/${i}/mimetypes/opera-unite-application.png ]]
150     then
151     minstallfile share/icons/hicolor/${i}/mimetypes/opera-unite-application.png /usr/share/icons/hicolor/${i}/mimetypes || die
152     fi
153     done
154    
155     # install a symlink /usr/bin/opera
156     minstalldir /usr/bin || die
157     mlink /opt/opera/bin/opera /usr/bin/opera || die
158     mlink /opt/opera/bin/opera-widget-manager /usr/bin/opera-widget-manager || die
159    
160     # install desktop icons symlinks
161     minstallxdg /opt/opera/share/applications/opera-widget-manager.desktop || die
162     minstallxdg /opt/opera/share/applications/opera-browser.desktop || die
163     minstallxdg /opt/opera/share/applications/opera-widget-installer.desktop || die
164    
165     # cleanup
166     rm ${BINDIR}/opt/opera/lib/opera/liboperakde4.so || die
167     rm ${BINDIR}/opt/opera/lib/opera/liboperagtk.so || die
168     }
169    
170     src_install_opera-kde4()
171     {
172     cd ${SRCDIR}
173     minstalldir /opt/opera/lib/opera || die
174     minstallexec lib/opera/liboperakde4.so /opt/opera/lib/opera/ || die
175     }
176    
177     src_install_opera-gtk2()
178     {
179     cd ${SRCDIR}
180     minstalldir /opt/opera/lib/opera || die
181     minstallexec lib/opera/liboperagtk.so /opt/opera/lib/opera/ || die
182     }