summaryrefslogtreecommitdiffstats
path: root/www/opera
diff options
context:
space:
mode:
authormezz <mezz@df743ca5-7f9a-e211-a948-0013205c9059>2007-09-11 00:01:48 +0800
committermezz <mezz@df743ca5-7f9a-e211-a948-0013205c9059>2007-09-11 00:01:48 +0800
commit4a53ee49a47f4f5932b8198e3e1c9cc4922f0631 (patch)
tree27a35ef1c96b3c703c6a45dee0f6ba72d6a88181 /www/opera
parent1596a7c99fd689df15fa3fd751839dd89038569d (diff)
downloadmarcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.tar
marcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.tar.gz
marcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.tar.bz2
marcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.tar.lz
marcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.tar.xz
marcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.tar.zst
marcuscom-ports-4a53ee49a47f4f5932b8198e3e1c9cc4922f0631.zip
share/gnome/ -> share/.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@9559 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'www/opera')
-rw-r--r--www/opera/Makefile131
-rw-r--r--www/opera/distinfo9
-rw-r--r--www/opera/files/extra-patch-symhack14
-rw-r--r--www/opera/files/patch-config_opera6rc9
-rw-r--r--www/opera/files/patch-ini_pluginpath.ini33
-rw-r--r--www/opera/files/patch-install.sh351
-rw-r--r--www/opera/files/patch-search.ini48
-rw-r--r--www/opera/files/symhack.c11
-rw-r--r--www/opera/pkg-descr7
-rw-r--r--www/opera/pkg-message6
-rw-r--r--www/opera/pkg-plist128
11 files changed, 747 insertions, 0 deletions
diff --git a/www/opera/Makefile b/www/opera/Makefile
new file mode 100644
index 000000000..b8f87798a
--- /dev/null
+++ b/www/opera/Makefile
@@ -0,0 +1,131 @@
+# New ports collection makefile for: opera
+# Date created: November 5th 2000
+# Whom: des
+#
+# $FreeBSD$
+#
+
+PORTNAME= opera
+PORTVERSION= ${OPERA_VER}.${OPERA_DATE}
+PORTREVISION= 1
+CATEGORIES= www ipv6
+MASTER_SITES= ftp://opera.inode.at/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://gd.tuwien.ac.at/infosys/browsers/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://ftp.ucr.ac.cr/WWW/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://www.microrpm.ca/pub/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://www.opera.mirroarrr.de/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://opera.eurenet.net/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ ftp://opera.ftp.fu-berlin.de/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://ftp.ntua.gr/pub/www/Opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ ftp://ftp.wayne.edu/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://mirrors.dedipower.com/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ ftp://ftp.mirror.ac.uk/sites/ftp.opera.com/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ http://opera.nedmirror.nl/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ ftp://ftp.tiscali.nl/pub/mirrors/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/ \
+ ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/www/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/&,} \
+ ftp://ftp.opera.com/pub/opera/unix/freebsd/${OPERA_VER:S/.//}${OPERA_MINVER}/${OPERA_REL}/en/${OPERA_LIB}/
+DISTNAME= ${PORTNAME}-${OPERA_VER}-${OPERA_DATE}.${OPERA_TYPE}-${OPERA_LIB}-qt.i386.freebsd-en
+
+MAINTAINER= freebsd-maintainer@opera.com
+COMMENT= A blazingly fast, full-featured, standards-compliant browser
+
+OPERA_VER= 9.23
+OPERA_MINVER=
+OPERA_REL= final
+OPERA_DATE= 20070809
+OPERA_BUILD= 660
+
+DATADIR= ${PREFIX}/share/${PORTNAME}
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}
+
+USE_BZIP2= yes
+WANT_GNOME= yes
+ONLY_FOR_ARCHS= i386
+WRKSRC= ${WRKDIR}/${DISTNAME}-${OPERA_BUILD}
+
+MAN1= opera.1
+
+NO_BUILD= yes
+
+OPTIONS= ASPELL "Use the aspell library for spell checking" on \
+ SHARED "Use a shared Qt library (instead of static)" on
+
+.if exists(${X11BASE}/lib/libqt-mt.prl)
+QT_PRESENT= on
+.else
+QT_PRESENT= off
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} >= 700040
+OPERA_TYPE= 1
+.elif ${OSVERSION} >= 600000
+OPERA_TYPE= 4
+.elif ${OSVERSION} >= 500000
+OPERA_TYPE= 3
+.else
+OPERA_TYPE= 1
+.endif
+
+.if ${OSVERSION} > 700000
+EXTRA_PATCHES= ${FILESDIR}/extra-patch-symhack
+PLIST_SUB+= SYMHACK=""
+.else
+PLIST_SUB+= SYMHACK="@comment "
+.endif
+
+.if !defined(WITHOUT_ASPELL)
+LIB_DEPENDS+= aspell.16:${PORTSDIR}/textproc/aspell
+.endif
+
+.if defined(WITH_SHARED) && ${OPERA_TYPE} > 1
+OPERA_LIB= shared
+LIB_DEPENDS+= qt-mt:${PORTSDIR}/x11-toolkits/qt33
+.else
+OPERA_LIB= static
+OPERA_TYPE= 1
+.endif
+
+.if ${OPERA_TYPE} == 1 && ${OSVERSION} >= 500000
+LIB_DEPENDS+= c_r.4:${PORTSDIR}/misc/compat4x
+.if ${OSVERSION} >= 600000
+LIB_DEPENDS+= z.2:${PORTSDIR}/misc/compat5x
+.endif
+.endif
+
+.if ${HAVE_GNOME:Mgnomehier}!=""
+PLIST_SUB+= GNOME=""
+.else
+PLIST_SUB+= GNOME="@comment "
+.endif
+
+.if exists(${LOCALBASE}/bin/kde-config)
+PLIST_SUB+= KDE=""
+.else
+PLIST_SUB+= KDE="@comment "
+.endif
+
+post-patch:
+ @${CP} ${WRKSRC}/search.ini ${WRKSRC}/locale/en
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
+ s|%%LOCALBASE%%|${LOCALBASE}|g ; s|%%X11BASE%%|${X11BASE}|g' \
+ ${WRKSRC}/install.sh ${WRKSRC}/ini/pluginpath.ini \
+ ${WRKSRC}/config/opera6rc
+ @${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|' ${WRKSRC}/install.sh
+ @${FIND} ${WRKSRC} -name '*.orig' -delete
+ @${FIND} ${WRKSRC} -name '*.bak' -delete
+
+do-install:
+ @(cd ${WRKSRC} && ./install.sh --prefix=${PREFIX})
+
+post-install:
+.if ${OSVERSION} > 700000
+ @${CP} ${FILESDIR}/symhack.c ${WRKSRC}/
+ @(cd ${WRKSRC}/ && ${CC} -shared -o symhack.so symhack.c)
+ @${INSTALL_DATA} ${WRKSRC}/symhack.so ${DATADIR}/
+.endif
+
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/www/opera/distinfo b/www/opera/distinfo
new file mode 100644
index 000000000..eabbe6aae
--- /dev/null
+++ b/www/opera/distinfo
@@ -0,0 +1,9 @@
+MD5 (opera-9.23-20070809.1-static-qt.i386.freebsd-en.tar.bz2) = dddff7d9045a0e8b581cf69e68c10d28
+SHA256 (opera-9.23-20070809.1-static-qt.i386.freebsd-en.tar.bz2) = a5292cd809994ae0e02daa393f42edc658a570a2be279b6923f4fde880921c3f
+SIZE (opera-9.23-20070809.1-static-qt.i386.freebsd-en.tar.bz2) = 6547187
+MD5 (opera-9.23-20070809.3-shared-qt.i386.freebsd-en.tar.bz2) = a4387e74cc05549fd5b9b3641ba39a85
+SHA256 (opera-9.23-20070809.3-shared-qt.i386.freebsd-en.tar.bz2) = 7ab4ba5e1af6c96d32aeb4f1c5d1e7b6586719ba180a1deedac60894024955ea
+SIZE (opera-9.23-20070809.3-shared-qt.i386.freebsd-en.tar.bz2) = 5119513
+MD5 (opera-9.23-20070809.4-shared-qt.i386.freebsd-en.tar.bz2) = 6ff2bf3d6a90085a8795656375447699
+SHA256 (opera-9.23-20070809.4-shared-qt.i386.freebsd-en.tar.bz2) = d46f4402becd25e5a73239ec0cc129685749c4d5e0da6a0d00f3855b52997b82
+SIZE (opera-9.23-20070809.4-shared-qt.i386.freebsd-en.tar.bz2) = 5122054
diff --git a/www/opera/files/extra-patch-symhack b/www/opera/files/extra-patch-symhack
new file mode 100644
index 000000000..cc06b1127
--- /dev/null
+++ b/www/opera/files/extra-patch-symhack
@@ -0,0 +1,14 @@
+--- install.sh.orig Thu Dec 7 02:20:36 2006
++++ install.sh Thu Dec 7 02:21:19 2006
+@@ -842,6 +842,11 @@
+
+ wrapper_contain="#!/bin/sh
+
++#
++# A dirty to run opera under 7.x, where the __h_error isn't defined
++#
++LD_PRELOAD=${LD_PRELOAD}:%%DATADIR%%/symhack.so
++
+ # Required for Session Management
+ case \$0 in /*) OPERA_SCRIPT_PATH=\$0;; *) OPERA_SCRIPT_PATH=`/bin/pwd`/\$0;; esac
+ export OPERA_SCRIPT_PATH
diff --git a/www/opera/files/patch-config_opera6rc b/www/opera/files/patch-config_opera6rc
new file mode 100644
index 000000000..420f1fa0b
--- /dev/null
+++ b/www/opera/files/patch-config_opera6rc
@@ -0,0 +1,9 @@
+--- config/opera6rc.orig Mon Jul 19 23:00:06 2004
++++ config/opera6rc Mon Jul 19 23:00:16 2004
+@@ -1,5 +1,5 @@
+ ; Put any default settings here that are overridable by users
+
+ [User Prefs]
+-Language Files Directory=/usr/share/opera/locale/
++Language Files Directory=%%PREFIX%%/share/opera/locale/
+
diff --git a/www/opera/files/patch-ini_pluginpath.ini b/www/opera/files/patch-ini_pluginpath.ini
new file mode 100644
index 000000000..2ed8b7217
--- /dev/null
+++ b/www/opera/files/patch-ini_pluginpath.ini
@@ -0,0 +1,33 @@
+--- ini/pluginpath.ini.orig Mon Apr 9 18:07:38 2007
++++ ini/pluginpath.ini Wed Apr 11 14:25:38 2007
+@@ -7,21 +7,18 @@
+
+ [Paths]
+ $HOME/.opera/plugins=1
+-/usr/local/share/opera/plugins=1
+-/usr/local/share/opera/plugins=1
++%%PREFIX%%/share/opera/plugins=1
++%%LOCALBASE%%/share/opera/plugins=1
+
+ ; Adobe Acrobat
+-/usr/X11R6/Acrobat7/Browser/intellinux=1
+-/usr/local/Acrobat5/Browsers/intellinux=1
+-/usr/local/Acrobat4/Browsers/intellinux=1
++%%X11BASE%%/Adobe/Acrobat7.0/ENU/Browser/intellinux=1
++%%LOCALBASE%%/Acrobat5/Browsers/intellinux=1
++%%LOCALBASE%%/Acrobat4/Browsers/intellinux=1
+
+ ; Realplayer
+-/usr/local/lib/RealPlayer8/Plugins=1
+-
+-; Netscape Plug-in Paths
+-/usr/X11R6/lib/browser_plugins=1
+-$HOME/.netscape/plugins=1
++%%LOCALBASE%%/lib/RealPlayer8/Plugins=1
+
+ ; FreeBSD Plug-in Paths
+-/usr/local/lib/npapi/symlinks/opera
+-/usr/local/lib/npapi/symlinks/linux-opera
++%%LOCALBASE%%/lib/npapi/symlinks/opera
++%%LOCALBASE%%/lib/npapi/symlinks/linux-opera
++
diff --git a/www/opera/files/patch-install.sh b/www/opera/files/patch-install.sh
new file mode 100644
index 000000000..8e3c5761f
--- /dev/null
+++ b/www/opera/files/patch-install.sh
@@ -0,0 +1,351 @@
+--- install.sh.orig Thu Dec 14 15:06:40 2006
++++ install.sh Thu Jan 25 15:56:02 2007
+@@ -924,69 +924,14 @@
+
+ if test ! \"\${OPERA_JAVA_DIR}\"; then
+
+- PREFIXES=\"
+- /usr
+- /usr/java
+- /usr/lib
+- /usr/local
+- /opt\"
++ PREFIXES=\"%%LOCALBASE%%\"
+
+ for SUNJAVA in \\
+- java-1.5.0-sun-1.5.0.06 \\
+- java-1.5.0-sun-1.5.0.06/jre \\
+- java-1.5.0-sun-1.5.0.05 \\
+- java-1.5.0-sun-1.5.0.05/jre \\
+- java-1.5.0-sun-1.5.0.04 \\
+- java-1.5.0-sun-1.5.0.04/jre \\
+- jre1.5.0_06 \\
+- jdk1.5.0_06/jre \\
+- jre1.5.0_05 \\
+- jdk1.5.0_05/jre \\
+- jre1.5.0_04 \\
+- jdk1.5.0_04/jre \\
+- jre1.5.0_03 \\
+- jdk1.5.0_03/jre \\
+- jre1.5.0_02 \\
+- jdk1.5.0_02/jre \\
+- jre1.5.0_01 \\
+- jdk1.5.0_01/jre \\
+- j2re1.4.2_06 \\
+- j2sdk1.4.2_06/jre \\
+- j2re1.4.2_04 \\
+- j2sdk1.4.2_04/jre \\
+- j2re1.4.2_03 \\
+- j2sdk1.4.2_03/jre \\
+- j2re1.4.2_02 \\
+- j2sdk1.4.2_02/jre \\
+- j2re1.4.2_01 \\
+- j2sdk1.4.2_01/jre \\
+- j2re1.4.2 \\
+- j2sdk1.4.2/jre \\
+- j2re1.4.1_01 \\
+- j2re1.4.1 \\
+- SUNJava2-1.4.1 \\
+- BlackdownJava2-1.4.1/jre \\
+- j2re1.4.0_01 \\
+- j2sdk1.4.0_01/jre \\
+- j2re1.4.0 \\
+- jre1.4.0 \\
+- j2se/1.4/jre \\
+- j2se/1.3/jre \\
+- j2se/jre \\
+- jre1.3.1_15 \\
+- jre1.3.1_04 \\
+- jre1.3.1_02 \\
+- jre1.3.1_01 \\
+- j2re1.3.1 \\
+- jre1.3.1 \\
+- j2re1.3 \\
+- j2se/1.3/jre \\
+- SunJava2-1.3/jre \\
+- java2re \\
+- jdk1.2.2/jre \\
+- jdk1.2/jre \\
+- jre \\
+- java \\
++ jdk1.3.1/jre \\
++ jdk1.4.2/jre \\
++ jdk1.5.0/jre \\
++ diablo-jre1.5.0 \\
++ diablo-jdk1.5.0/jre \\
+ ; do
+ for PREFIX in \${PREFIXES}; do
+ if test -f \"\${PREFIX}/\${SUNJAVA}/lib/${wrapper_sunjava_machine}/libjava.so\"; then OPERA_JAVA_DIR=\"\${PREFIX}/\${SUNJAVA}/lib/${wrapper_sunjava_machine}\" && break; fi
+@@ -1037,11 +982,8 @@
+
+ # Acrobat Reader
+ for BINDIR in \\
+- /usr/local/Acrobat[45]/bin \\
+- /usr/lib/Acrobat[45]/bin \\
+- /usr/X11R6/lib/Acrobat[45]/bin \\
+- /opt/Acrobat[45]/bin \\
+- /usr/Acrobat[45]/bin \\
++ %%LOCALBASE%%/Acrobat4/bin \\
++ %%LOCALBASE%%/Acrobat5/bin \\
+ ; do
+ if test -d \${BINDIR} ; then PATH=\${PATH}:\${BINDIR}; fi
+ done
+@@ -1052,12 +994,13 @@
+ LD_LIBRARY_PATH=\"\${OPERA_BINARYDIR}\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}\"
+ export LD_LIBRARY_PATH
+
+-# Spellchecker needs to find libaspell.so.15
++# Spellchecker needs to find libaspell.so.16
+ for LIBASPELL_DIR in \\
++ %%LOCALBASE%%/lib \\
+ /usr/local/lib \\
+ /opkg/lib \\
+ ; do
+- if test -f \"\${LIBASPELL_DIR}/libaspell.so.15\"; then
++ if test -f \"\${LIBASPELL_DIR}/libaspell.so.16\"; then
+ LD_LIBRARY_PATH=\"\${LD_LIBRARY_PATH}:\${LIBASPELL_DIR}\"
+ fi
+ done"
+@@ -1167,7 +1110,7 @@
+ chop "${OPERADESTDIR}" "str_localdirshare"
+ chop "${OPERADESTDIR}" "str_localdirplugin"
+
+- backup ${wrapper_dir}/opera opera
++ #backup ${wrapper_dir}/opera opera
+
+ # Executable
+ debug_msg 1 "Executable"
+@@ -1340,41 +1283,9 @@
+
+ if test -z "${OPERADESTDIR}"
+ then
+- # System wide configuration files
+- config_dir='/usr/local/etc'
+- if can_write_to "$config_dir"
+- then
+- echo
+- echo "System wide configuration files:"
+- echo " $config_dir/opera6rc"
+- echo " $config_dir/opera6rc.fixed"
+- echo " would be ignored if installed with the prefix \"$prefix\"."
+- if con_firm "Do you want to install them in $config_dir"
+- then
+- backup $config_dir/opera6rc opera6rc config
+- backup $config_dir/opera6rc.fixed opera6rc.fixed config
+- cp $cpv $cpf config/opera6rc $config_dir
+- cp $cpv $cpf config/opera6rc.fixed $config_dir
+- fi
+- else
+- echo
+- echo "User \"${USERNAME}\" does not have write access to $config_dir"
+- echo " System wide configuration files:"
+- echo " $config_dir/opera6rc"
+- echo " $config_dir/opera6rc.fixed"
+- echo " were not installed."
+- fi
+-
+ # Shorcuts and Icons
+ bool_icons=1 # install icons by default
+
+- if test "${flag_mode}" = "--force" -o "${flag_mode}" = "--prefix="
+- then
+- echo
+- echo "Shortcut icons will be ignored if installed with the prefix \"$prefix\"."
+- con_firm "Do you want to (try to) install them in default locations" || bool_icons=0
+- fi
+-
+ if test "${bool_icons}" -ne 0
+ then xdg
+ fi
+@@ -1585,48 +1496,43 @@
+ # This function searches for common gnome icon paths.
+ debug_msg 1 "in gnome()"
+
+- if test -d /opt/gnome/
++ if test -d %%LOCALBASE%%/share/gnome/;
+ then
+- # /opt/gnome share
+- if test -d /opt/gnome/share
+- then
+- # /opt/gnome icon
+- if test ! -d /opt/gnome/share/pixmaps/
++ # %%LOCALBASE%%/share icon
++ if test ! -d %%LOCALBASE%%/share/pixmaps/;
+ then
+- if test -w /opt/gnome/share
++ if test -w %%LOCALBASE%%/share/gnome;
+ then
+- mkdir $mkdirv $mkdirp /opt/gnome/share/pixmaps/
+- chmod $chmodv 755 /opt/gnome/share/pixmaps
+- cp $cpv $share_dir/images/opera.xpm /opt/gnome/share/pixmaps/opera.xpm
++ mkdir $mkdirv $mkdirp %%LOCALBASE%%/share/pixmaps/
++ chmod $chmodv 755 %%LOCALBASE%%/share/pixmaps
++ cp $cpv $share_dir/images/opera.xpm %%LOCALBASE%%/share/pixmaps/opera.xpm
+ fi
+- elif test -w /opt/gnome/share/pixmaps
+- then cp $cpv $share_dir/images/opera.xpm /opt/gnome/share/pixmaps/opera.xpm
++ elif test -w %%LOCALBASE%%/share/pixmaps
++ then cp $cpv $share_dir/images/opera.xpm %%LOCALBASE%%/share/pixmaps/opera.xpm
+ fi
+- # end /opt/gnome icon
++ # end %%LOCALBASE%%/share icon
+
+- # /opt/gnome link
+- if test -d /opt/gnome/share/gnome/apps/
++ # %%LOCALBASE%%/share/gnome link
++ if test -d %%LOCALBASE%%/share/gnome/apps/
+ then
+- if test -d /opt/gnome/share/gnome/apps/Internet/
++ if test -d %%LOCALBASE%%/share/gnome/apps/Internet/
+ then
+- if test -w /opt/gnome/share/gnome/apps/Internet
+- then generate_desktop /opt/gnome/share/gnome/apps/Internet
++ if test -w %%LOCALBASE%%/share/gnome/apps/Internet
++ then generate_desktop %%LOCALBASE%%/share/gnome/apps/Internet
+ fi
+- elif test -d /opt/gnome/share/gnome/apps/Networking/WWW/
++ elif test -d %%LOCALBASE%%/share/gnome/apps/Networking/WWW/
+ then
+- if test -w /opt/gnome/share/gnome/apps/Networking/WWW
+- then generate_desktop /opt/gnome/share/gnome/apps/Networking/WWW
++ if test -w %%LOCALBASE%%/share/gnome/apps/Networking/WWW
++ then generate_desktop %%LOCALBASE%%/share/gnome/apps/Networking/WWW
+ fi
+- elif test -w /opt/gnome/share/gnome/apps
++ elif test -w %%LOCALBASE%%/share/gnome/apps
+ then
+- mkdir $mkdirv $mkdirp /opt/gnome/share/gnome/apps/Internet/
+- chmod $chmodv 755 /opt/gnome/share/gnome/apps/Internet
+- generate_desktop /opt/gnome/share/gnome/apps/Internet
++ mkdir $mkdirv $mkdirp %%LOCALBASE%%/share/gnome/apps/Internet/
++ chmod $chmodv 755 %%LOCALBASE%%/share/gnome/apps/Internet
++ generate_desktop %%LOCALBASE%%/share/gnome/apps/Internet
+ fi
+ fi
+- # end /opt/gnome link
+- fi
+- # end /opt/gnome share
++ # end %%LOCALBASE%%/share/gnome link
+
+ elif test -d /usr/share/gnome/
+ then
+@@ -1674,47 +1580,34 @@
+ # This function searches for common kde2 and kde 3 icon paths.
+ debug_msg 1 "in kde()"
+
+- if test -d /opt/kde$1/share
+- then
+- DIR_HI=/opt/kde$1/share/icons/hicolor
+- if test -d "$DIR_HI" -a -w "$DIR_HI"
+- then
+- if test -d "$DIR_HI"/48x48/apps -a -w "$DIR_HI"/48x48/apps
+- then cp $cpv $share_dir/images/opera_48x48.png $DIR_HI/48x48/apps/opera.png
+- fi
+- if test -d "$DIR_HI"/32x32/apps -a -w "$DIR_HI"/32x32/apps
+- then cp $cpv $share_dir/images/opera_32x32.png $DIR_HI/32x32/apps/opera.png
+- fi
+- if test -d "$DIR_HI"/22x22/apps -a -w "$DIR_HI"/22x22/apps
+- then cp $cpv $share_dir/images/opera_22x22.png $DIR_HI/22x22/apps/opera.png
+- fi
+- fi
++ DIR_HI=%%LOCALBASE%%/share/icons/hicolor
++ mkdir -p $DIR_HI/48x48/apps
++ mkdir -p $DIR_HI/32x32/apps
++ mkdir -p $DIR_HI/22x22/apps
++
++ cp $cpv $share_dir/images/opera_48x48.png $DIR_HI/48x48/apps/opera.png
++ cp $cpv $share_dir/images/opera_32x32.png $DIR_HI/32x32/apps/opera.png
++ cp $cpv $share_dir/images/opera_22x22.png $DIR_HI/22x22/apps/opera.png
++
++ DIR_LO=%%LOCALBASE%%/share/icons/locolor
++ mkdir -p $DIR_LO/32x32/apps
++ mkdir -p $DIR_LO/22x22/apps
++ mkdir -p $DIR_LO/16x16/apps
++
++ cp $cpv $share_dir/images/opera_32x32.png $DIR_LO/32x32/apps/opera.png
++ cp $cpv $share_dir/images/opera_22x22.png $DIR_LO/22x22/apps/opera.png
++ cp $cpv $share_dir/images/opera_16x16.png $DIR_LO/16x16/apps/opera.png
+
+- DIR_LO=/opt/kde$1/share/icons/locolor
+- if test -d $DIR_LO -a -w $DIR_LO
++ if test -d %%LOCALBASE%%/share/applnk/
+ then
+- if test -d $DIR_LO/32x32/apps -a -w $DIR_LO/32x32/apps
+- then cp $cpv $share_dir/images/opera_32x32.png $DIR_LO/32x32/apps/opera.png
+- fi
+- if test -d $DIR_LO/22x22/apps -a -w $DIR_LO/22x22/apps
+- then cp $cpv $share_dir/images/opera_22x22.png $DIR_LO/22x22/apps/opera.png
+- fi
+- if test -d $DIR_LO/16x16/apps -a -w $DIR_LO/16x16/apps
+- then cp $cpv $share_dir/images/opera_16x16.png $DIR_LO/16x16/apps/opera.png
+- fi
+- fi
+-
+- if test -d /opt/kde$1/share/applnk/
+- then
+- if test ! -d /opt/kde$1/share/applnk/Internet/ -a -w /opt/kde$1/share/applnk
++ if test ! -d %%LOCALBASE%%/share/applnk/Internet/ -a -w %%LOCALBASE%%/share/applnk
+ then
+- mkdir $mkdirv $mkdirp /opt/kde$1/share/applnk/Internet/
+- chmod $chmodv 755 /opt/kde$1/share/applnk/Internet
++ mkdir $mkdirv $mkdirp %%LOCALBASE%%/share/applnk/Internet/
++ chmod $chmodv 755 %%LOCALBASE%%/share/applnk/Internet
+ fi
+- if test -w /opt/kde$1/share/applnk/Internet
+- then generate_desktop /opt/kde$1/share/applnk/Internet $1
++ if test -w %%LOCALBASE%%/share/applnk/Internet
++ then generate_desktop %%LOCALBASE%%/share/applnk/Internet $1
+ fi
+- fi
+ fi
+
+ if test -d /usr/share/applnk/Networking
+@@ -1796,45 +1689,9 @@
+ }
+
+ xdg()
+-{ # http://standards.freedesktop.org
+- UDD=''
+- for BIN_DIR in `pathdirs`; do
+- test -x ${BIN_DIR}/update-desktop-database || continue
+- UDD=${BIN_DIR}/update-desktop-database; break
+- done
+-
+- # http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
+- if test "$UDD"; then
+- for ICON_DIR in `echo ${XDG_DATA_DIRS}:/usr/local/share:/usr/share|tr : '\012'|sed -e '/^$/d;s:$:/icons/hicolor:'` /usr/share/pixmaps/hicolor; do
+- test -d ${ICON_DIR} && break
+- done
+-
+- if test ! -d ${ICON_DIR}; then echo "Could not find icon installation directory, icons not installed." >&2
+- elif test ! -w ${ICON_DIR}; then echo "Directory \"${ICON_DIR}\" not writable by user \"${USER}\", icons not installed." >&2
+- else
+- for RESOLUTION in 48x48 32x32 22x22; do
+- TO_DIR=${ICON_DIR}/${RESOLUTION}/apps
+- test -d ${TO_DIR} && test -w ${TO_DIR} && cp $cpv $share_dir/images/opera_${RESOLUTION}.png ${TO_DIR}/opera.png
+- done
+- fi
+-
+- for SHORTCUT_DIR in ${XDG_DATA_HOME}/applications /usr/local/share/applications /usr/share/applications; do
+- test -d ${SHORTCUT_DIR} && break;
+- done
+-
+- if test ! -d ${SHORTCUT_DIR}; then echo "Could not find shortcut installation directory, desktop entry not installed." >&2; return
+- elif test ! -w ${SHORTCUT_DIR}; then echo "Directory \"${SHORTCUT_DIR}\" not writable by user \"${USER}\", desktop entry not installed." >&2; return
+- fi
+- generate_desktop ${SHORTCUT_DIR} xdg
+- ${UDD}
+- else
+- icons
+- gnome
+- kde 3
+- kde 2
+- kde1
+- mandrake
+- fi
++{
++ gnome
++ kde 3
+ }
+
+ echo test | sed -n -e 's/test//' || error 'sed'
diff --git a/www/opera/files/patch-search.ini b/www/opera/files/patch-search.ini
new file mode 100644
index 000000000..67a3839f6
--- /dev/null
+++ b/www/opera/files/patch-search.ini
@@ -0,0 +1,48 @@
+--- search.ini.orig Mon Apr 9 18:07:38 2007
++++ search.ini Wed Apr 11 14:26:05 2007
+@@ -445,4 +445,44 @@
+ Search Type=119
+ Verbtext=0
+ Position=-1
+-Nameid=291960
++Nameid=0
++
++[Search Engine 35]
++Name=FreshP&orts
++URL=http://www.freshports.org/search.php?query=%s
++Query=
++Key=x
++Is post=0
++Has endseparator=0
++Encoding=utf-8
++Search Type=0
++Verbtext=17063
++Position=-1
++Nameid=0
++
++[Search Engine 36]
++Name=Google &BSD
++URL=http://www.google.com/bsd?q=%s&sourceid=opera&num=%i&ie=utf-8&oe=utf-8
++Query=
++Key=x
++Is post=0
++Has endseparator=0
++Encoding=utf-8
++Search Type=0
++Verbtext=17063
++Position=-1
++Nameid=0
++
++[Search Engine 37]
++Name=FreeBSD &PRs
++URL=http://www.freebsd.org/cgi/query-pr.cgi?pr=%s
++Query=
++Key=x
++Is post=0
++Has endseparator=0
++Encoding=utf-8
++Search Type=0
++Verbtext=17063
++Position=-1
++Nameid=0
++
diff --git a/www/opera/files/symhack.c b/www/opera/files/symhack.c
new file mode 100644
index 000000000..57bc7c676
--- /dev/null
+++ b/www/opera/files/symhack.c
@@ -0,0 +1,11 @@
+#include <sys/cdefs.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#include <resolv.h>
+
+int *
+__h_error(void)
+{
+ return (&__res_state()->res_h_errno);
+}
diff --git a/www/opera/pkg-descr b/www/opera/pkg-descr
new file mode 100644
index 000000000..b33bdf73e
--- /dev/null
+++ b/www/opera/pkg-descr
@@ -0,0 +1,7 @@
+The most full-featured Internet power tool on the market, Opera includes
+pop-up blocking, tabbed browsing, integrated searches, and advanced functions
+like Opera's groundbreaking E-mail program, RSS Newsfeeds and IRC chat. And
+because we know that our users have different needs, you can customize
+the look and content of your Opera browser with a few clicks of the mouse.
+
+WWW: http://www.opera.com/
diff --git a/www/opera/pkg-message b/www/opera/pkg-message
new file mode 100644
index 000000000..5e98a0233
--- /dev/null
+++ b/www/opera/pkg-message
@@ -0,0 +1,6 @@
+###########################################################################
+
+To use Linux plugins such as Adobe Flash and Acrobat Reader, install the
+www/opera-linuxplugins port.
+
+###########################################################################
diff --git a/www/opera/pkg-plist b/www/opera/pkg-plist
new file mode 100644
index 000000000..ba5fa09b8
--- /dev/null
+++ b/www/opera/pkg-plist
@@ -0,0 +1,128 @@
+@comment $FreeBSD$
+bin/opera
+%%DOCSDIR%%/LICENSE
+%%DATADIR%%/bin/missingsyms.so
+%%DATADIR%%/bin/opera
+%%DATADIR%%/bin/spellcheck.so
+%%DATADIR%%/bin/works
+%%DATADIR%%/chartables.bin
+%%DATADIR%%/config/opera6rc
+%%DATADIR%%/config/opera6rc.fixed
+%%DATADIR%%/html40_entities.dtd
+%%DATADIR%%/images/opera.xpm
+%%DATADIR%%/images/opera_16x16.png
+%%DATADIR%%/images/opera_22x22.png
+%%DATADIR%%/images/opera_32x32.png
+%%DATADIR%%/images/opera_48x48.png
+%%DATADIR%%/ini/dialog.ini
+%%DATADIR%%/ini/fastforward.ini
+%%DATADIR%%/ini/filehandler.ini
+%%DATADIR%%/ini/pluginpath.ini
+%%DATADIR%%/ini/standard_keyboard.ini
+%%DATADIR%%/ini/standard_menu.ini
+%%DATADIR%%/ini/standard_mouse.ini
+%%DATADIR%%/ini/standard_toolbar.ini
+%%DATADIR%%/ini/unix_keyboard.ini
+%%DATADIR%%/ini/xmlentities.ini
+%%DATADIR%%/java/opera.jar
+%%DATADIR%%/java/opera.policy
+%%DATADIR%%/lngcode.txt
+%%DATADIR%%/locale/en/default.adr
+%%DATADIR%%/locale/en/license.txt
+%%DATADIR%%/locale/en/search.ini
+%%DATADIR%%/locale/english.lng
+%%DATADIR%%/opera6.adr
+%%DATADIR%%/plugins/libnpp.so
+%%DATADIR%%/plugins/operapluginwrapper
+%%DATADIR%%/plugins/operaplugincleaner
+%%DATADIR%%/search.ini
+%%DATADIR%%/skin/standard_skin.zip
+%%DATADIR%%/skin/windows_skin.zip
+%%DATADIR%%/styles/about.css
+%%DATADIR%%/styles/cache.css
+%%DATADIR%%/styles/certinfo.css
+%%DATADIR%%/styles/config.css
+%%DATADIR%%/styles/contentblock.css
+%%DATADIR%%/styles/dir.css
+%%DATADIR%%/styles/drives.css
+%%DATADIR%%/styles/error.css
+%%DATADIR%%/styles/history.css
+%%DATADIR%%/styles/im.css
+%%DATADIR%%/styles/image.css
+%%DATADIR%%/styles/images/bar.png
+%%DATADIR%%/styles/images/center.png
+%%DATADIR%%/styles/images/opera.png
+%%DATADIR%%/styles/images/red_center.png
+%%DATADIR%%/styles/images/red_left.png
+%%DATADIR%%/styles/images/red_right.png
+%%DATADIR%%/styles/images/root.png
+%%DATADIR%%/styles/images/top.png
+%%DATADIR%%/styles/info.css
+%%DATADIR%%/styles/mime.css
+%%DATADIR%%/styles/plugins.css
+%%DATADIR%%/styles/user/accessibility.css
+%%DATADIR%%/styles/user/altdebugger.css
+%%DATADIR%%/styles/user/classid.css
+%%DATADIR%%/styles/user/contrastbw.css
+%%DATADIR%%/styles/user/contrastwb.css
+%%DATADIR%%/styles/user/disablebreaks.css
+%%DATADIR%%/styles/user/disablefloats.css
+%%DATADIR%%/styles/user/disableforms.css
+%%DATADIR%%/styles/user/disablepositioning.css
+%%DATADIR%%/styles/user/disabletables.css
+%%DATADIR%%/styles/user/outline.css
+%%DATADIR%%/styles/user/structureblock.css
+%%DATADIR%%/styles/user/structureinline.css
+%%DATADIR%%/styles/user/structuretables.css
+%%DATADIR%%/styles/user/tablelayout.css
+%%DATADIR%%/styles/user/toc.css
+%%DATADIR%%/styles/warning.css
+%%DATADIR%%/styles/wml.css
+%%DATADIR%%/svg-sebd.dat
+%%DATADIR%%/svg-se.dat
+%%DATADIR%%/svg-sabd.dat
+%%DATADIR%%/svg-sa.dat
+%%DATADIR%%/svg-mobd.dat
+%%DATADIR%%/svg-mo.dat
+%%SYMHACK%%%%DATADIR%%/symhack.so
+
+%%GNOME%%share/gnome/apps/Internet/opera.desktop
+%%GNOME%%share/pixmaps/opera.xpm
+@dirrm %%DATADIR%%/styles/user
+@dirrm %%DATADIR%%/styles/images
+@dirrm %%DATADIR%%/styles
+@dirrm %%DATADIR%%/skin
+@dirrm %%DATADIR%%/plugins
+@dirrm %%DATADIR%%/locale/en
+@dirrm %%DATADIR%%/locale
+@dirrm %%DATADIR%%/java
+@dirrm %%DATADIR%%/ini
+@dirrm %%DATADIR%%/images
+@dirrm %%DATADIR%%/config
+@dirrm %%DATADIR%%/bin
+@dirrm %%DATADIR%%
+@dirrm %%DOCSDIR%%
+
+@cwd %%LOCALBASE%%
+%%KDE%%share/applnk/Internet/opera.desktop
+share/icons/hicolor/22x22/apps/opera.png
+share/icons/hicolor/32x32/apps/opera.png
+share/icons/hicolor/48x48/apps/opera.png
+share/icons/locolor/16x16/apps/opera.png
+share/icons/locolor/22x22/apps/opera.png
+share/icons/locolor/32x32/apps/opera.png
+@dirrmtry share/icons/hicolor/48x48/apps
+@dirrmtry share/icons/hicolor/48x48
+@dirrmtry share/icons/hicolor/32x32/apps
+@dirrmtry share/icons/hicolor/32x32
+@dirrmtry share/icons/hicolor/22x22/apps
+@dirrmtry share/icons/hicolor/22x22
+@dirrmtry share/icons/hicolor
+@dirrmtry share/icons/locolor/32x32/apps
+@dirrmtry share/icons/locolor/32x32
+@dirrmtry share/icons/locolor/22x22/apps
+@dirrmtry share/icons/locolor/22x22
+@dirrmtry share/icons/locolor/16x16/apps
+@dirrmtry share/icons/locolor/16x16
+@dirrmtry share/icons/locolor
+@dirrmtry share/icons