summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-04-14 03:37:54 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-04-14 03:37:54 +0800
commit1224e5f872b40ac1d5d1c815bbb91514b99fa8c8 (patch)
tree9081c77ed98167020737fa4fcc286e75e8f2e62f
parent2a90872c623ba246ee27fdd8515c870cfc153802 (diff)
downloadmarcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.tar
marcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.tar.gz
marcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.tar.bz2
marcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.tar.lz
marcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.tar.xz
marcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.tar.zst
marcuscom-ports-1224e5f872b40ac1d5d1c815bbb91514b99fa8c8.zip
Remove this port now that miwi has assumed control of Gecko. Yay for miwi!
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@12243 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r--www/firefox3-devel/Makefile116
-rw-r--r--www/firefox3-devel/distinfo3
-rw-r--r--www/firefox3-devel/files/firefox.desktop.in191
-rw-r--r--www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/firefox3-devel/files/patch-config-rules.mk13
-rw-r--r--www/firefox3-devel/files/patch-config_autoconf.mk.in21
-rw-r--r--www/firefox3-devel/files/patch-config_mkdepend_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-content_xslt_public_txDouble.h20
-rw-r--r--www/firefox3-devel/files/patch-db_sqlite3_src_Makefile.in11
-rw-r--r--www/firefox3-devel/files/patch-js_src_jsnum.cpp28
-rw-r--r--www/firefox3-devel/files/patch-layout_generic_Makefile.in14
-rw-r--r--www/firefox3-devel/files/patch-media_liboggplay_audio_Makefile.in16
-rw-r--r--www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h11
-rw-r--r--www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio_oss.c1222
-rw-r--r--www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h11
-rw-r--r--www/firefox3-devel/files/patch-media_liboggz_include_oggz_oggz_off_t_generated.h11
-rw-r--r--www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk30
-rw-r--r--www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp10
-rw-r--r--www/firefox3-devel/files/patch-storage_build_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-toolkit_mozapps_installer_packager.mk11
-rw-r--r--www/firefox3-devel/files/patch-toolkit_xre_Makefile.in8
-rw-r--r--www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc11
-rw-r--r--www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in63
-rw-r--r--www/firefox3-devel/pkg-descr13
-rw-r--r--www/firefox3-devel/pkg-message32
25 files changed, 0 insertions, 1896 deletions
diff --git a/www/firefox3-devel/Makefile b/www/firefox3-devel/Makefile
deleted file mode 100644
index e55e72767..000000000
--- a/www/firefox3-devel/Makefile
+++ /dev/null
@@ -1,116 +0,0 @@
-# New ports collection makefile for: phoenix
-# Date created: 2002/10/21
-# Whom: Alan Eldridge <alane@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom$
-#
-
-PORTNAME= firefox
-DISTVERSION= 3.1b1
-PORTEPOCH= 1
-CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
-DISTNAME= ${PORTNAME}-${DISTVERSION}-source
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Web browser based on the browser portion of Mozilla
-
-BUILD_DEPENDS= nspr>=4.7:${PORTSDIR}/devel/nspr
-
-USE_AUTOTOOLS= autoconf:213
-LATEST_LINK= firefox3-devel
-USE_GECKO= gecko
-MOZ_PKGCONFIG_FILES= # empty
-USE_MOZILLA= -png -nss -dbm -jpeg
-MOZILLA_NAME= Firefox${MOZILLA_SUFX}
-MOZILLA_SUFX= 3
-MOZILLA= ${PORTNAME}${MOZILLA_SUFX}
-MOZ_TOOLKIT= cairo-gtk2
-GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/bin lib/${MOZILLA}/idl \
- lib/${MOZILLA}/include lib/${MOZILLA}/lib \
- lib/${MOZILLA}/sdk/idl lib/${MOZILLA}/sdk/include
-
-WANT_GNOME= yes
-ALL_TARGET= default
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-EXTRA_CFLAGS= -O2
-HAS_CONFIGURE= yes
-USE_BZIP2= yes
-USE_GMAKE= yes
-NO_MOZPKGINSTALL=yes
-
-FIREFOX_ICON= ${MOZILLA}.png
-FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png
-MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
- --with-default-mozilla-five-home=${PREFIX}/lib/${MOZILLA} \
- --enable-svg --enable-svg-renderer=cairo \
- --enable-application=browser \
- --enable-official-branding \
- --enable-canvas --enable-libxul
-
-SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js
-
-OPTIONS= DBUS "Enable D-BUS support" on \
- NEWTAB "Open external links in a new tab" on \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.include <bsd.port.pre.mk>
-
-WRKSRC:= ${WRKSRC}-central
-
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 '%{\!pg: %{pthread:' | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-
-.if ${HAVE_GNOME:Mlibgnomeui}!=""
-USE_GNOME+= libgnomeui
-MOZ_OPTIONS+= --enable-gnomeui
-.else
-MOZ_OPTIONS+= --disable-gnomeui
-.endif
-
-.if defined(WITHOUT_DBUS)
-MOZ_OPTIONS+= --disable-dbus
-.else
-LIB_DEPENDS+= dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib
-.endif
-
-post-extract::
- @(cd ${WRKSRC} && ${AUTOCONF})
- @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
- -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
- <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
-
-post-patch:
- ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \
- ${WRKSRC}/storage/build/Makefile.in \
- ${WRKSRC}/db/sqlite3/src/Makefile.in
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
- ${WRKSRC}/security/manager/ssl/src/Makefile.in
-.if ${ARCH} == "sparc64"
- @(cd ${WRKSRC}/xpcom/reflect/xptcall/src/md/unix && \
- ${LN} -s xptcstubs_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_freebsd.s && \
- ${LN} -s xptcstubs_sparc64_openbsd.cpp xptcstubs_sparc64_freebsd.cpp && \
- ${LN} -s xptcinvoke_sparc64_openbsd.cpp xptcinvoke_sparc64_freebsd.cpp) && \
- ${LN} -s xptcinvoke_asm_sparc64_openbsd.s xptcinvoke_asm_sparc64_freebsd.s)
-.endif
-
-port-pre-install:
-# ${SED} -e 's|1.9a7|0|' ${WRKSRC}/dist/bin/application.ini ${FAKEDIR}/lib
- ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLISTF}
- ${ECHO_CMD} "@dirrmtry share/applications" >> ${PLISTD}
- ${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLISTF}
-.if !defined(WITHOUT_NEWTAB)
- ${ECHO_CMD} >> ${SYSTEM_PREFS}
- ${ECHO_CMD} "// Open external links in new tab" >> ${SYSTEM_PREFS}
- ${ECHO_CMD} "pref(\"browser.link.open_external\", 3);" \
- >> ${SYSTEM_PREFS}
-.endif # !defined(WITHOUT_NEWTAB)
-
-post-install:
- ${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/
- ${MKDIR} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default
- ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/share/pixmaps/${FIREFOX_ICON}
-
-.include <bsd.port.post.mk>
diff --git a/www/firefox3-devel/distinfo b/www/firefox3-devel/distinfo
deleted file mode 100644
index 2c82ca0a7..000000000
--- a/www/firefox3-devel/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (firefox-3.1b1-source.tar.bz2) = d101c02c8ad670eeb2095e449c79c085
-SHA256 (firefox-3.1b1-source.tar.bz2) = 5382518ad10313c4c22fbfd2bf5cbf1a6e88160e7e29ab5dcd07362147d04c8d
-SIZE (firefox-3.1b1-source.tar.bz2) = 40007549
diff --git a/www/firefox3-devel/files/firefox.desktop.in b/www/firefox3-devel/files/firefox.desktop.in
deleted file mode 100644
index d72090e1a..000000000
--- a/www/firefox3-devel/files/firefox.desktop.in
+++ /dev/null
@@ -1,191 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=@MOZILLA_NAME@ Web Browser
-Name[am]=
-Name[ar]=
-Name[az]=@MOZILLA_NAME@ Veb Səyyahı
-Name[be]=
-Name[bg]=Интернет браузър @MOZILLA_NAME@
-Name[bn]=
-Name[bs]=@MOZILLA_NAME@ web preglednik
-Name[ca]=Navegador web @MOZILLA_NAME@
-Name[cs]=Prohlížeč WWW @MOZILLA_NAME@
-Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
-Name[da]=@MOZILLA_NAME@ - internetsurfning
-Name[de]=@MOZILLA_NAME@ Webbrowser
-Name[el]=Περιηγητής Διαδικτύου @MOZILLA_NAME@
-Name[en_CA]=@MOZILLA_NAME@ Web Browser
-Name[en_GB]=@MOZILLA_NAME@ Web Browser
-Name[es]=Navegador Web @MOZILLA_NAME@
-Name[et]=@MOZILLA_NAME@ veebibrauser
-Name[eu]=@MOZILLA_NAME@ web arakatzailea
-Name[fi]=@MOZILLA_NAME@, WWW-selain
-Name[fr]=Navigateur Web @MOZILLA_NAME@
-Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
-Name[gu]=એપીફની વૅબ બ્રાઉઝર
-Name[he]=דפדפן @MOZILLA_NAME@
-Name[hi]=
-Name[hr]=@MOZILLA_NAME@ Web preglednik
-Name[hu]=@MOZILLA_NAME@ webböngésző
-Name[id]=Web Browser @MOZILLA_NAME@
-Name[it]=Browser web @MOZILLA_NAME@
-Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
-Name[ko]=@MOZILLA_NAME@ 웹 브라우저
-Name[li]=@MOZILLA_NAME@ Web Browser
-Name[lt]=@MOZILLA_NAME@ web naršyklė
-Name[mk]=@MOZILLA_NAME@ веб прелистувач
-Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
-Name[mn]=@MOZILLA_NAME@ веб хөтөч
-Name[ms]=Pelungsur Web @MOZILLA_NAME@
-Name[nb]=@MOZILLA_NAME@ nettleser
-Name[nl]=@MOZILLA_NAME@ Webbrowser
-Name[nn]=@MOZILLA_NAME@ nettlesar
-Name[no]=@MOZILLA_NAME@ nettleser
-Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
-Name[pl]=Przeglądarka WWW @MOZILLA_NAME@
-Name[pt]=Navegador Web @MOZILLA_NAME@
-Name[pt_BR]=Navegador Web @MOZILLA_NAME@
-Name[ro]=Navigatorul @MOZILLA_NAME@
-Name[ru]=Веб-браузер @MOZILLA_NAME@
-Name[sk]=
-Name[sl]=Spletni brskalnik @MOZILLA_NAME@
-Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
-Name[sr]=
-Name[sr@Latn]=Veb čitač Spoznaja
-Name[sv]=Webbläsaren @MOZILLA_NAME@
-Name[ta]=எபிபனி வலை உலாவி
-Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
-Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
-Name[uk]=Переглядач web @MOZILLA_NAME@
-Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
-Name[wa]=Betchteu waibe epiphany
-Name[zh_CN]=@MOZILLA_NAME@ Web 浏览器
-Name[zh_TW]=@MOZILLA_NAME@ 網頁瀏覽器
-GenericName=Web Browser
-GenericName[ar]=متصفّح الانترنت
-GenericName[az]=Veb Səyyahı
-GenericName[be]=Вандроўнік па павуціньню
-GenericName[bg]=Браузър
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[bs]=Web preglednik
-GenericName[ca]=Navegador web
-GenericName[cs]=Prohlížeč WWW
-GenericName[cy]=Porwr Gwe
-GenericName[da]=Internetsurfning
-GenericName[de]=Webbrowser
-GenericName[el]=Περιηγητής Ιστοσελίδων
-GenericName[en_CA]=Web Browser
-GenericName[en_GB]=Web Browser
-GenericName[es]=Navegador web
-GenericName[et]=Veebilehitseja
-GenericName[eu]=Web arakatzailea
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web @MOZILLA_NAME@
-GenericName[ga]=Brabhsálaí Lín
-GenericName[gu]=વેબ બ્રાઉઝર
-GenericName[he]=דפדפן אינטרנט
-GenericName[hi]=वेब ब्राउज़र
-GenericName[hr]=Web preglednik
-GenericName[hu]=Webböngésző
-GenericName[id]=Browser Web
-GenericName[it]=Browser web
-GenericName[ja]=GNOME ウェブ・ブラウザ
-GenericName[ko]=웹 브라우저
-GenericName[li]=Wèb Browser
-GenericName[lt]=Web naršyklė
-GenericName[mk]=Веб прелистувач
-GenericName[mn]=Веб хөтөч
-GenericName[ms]=Pelungsur Web
-GenericName[nb]=Nettleser
-GenericName[nl]=Web-browser
-GenericName[nn]=Nettlesar
-GenericName[no]=Nettleser
-GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador Web
-GenericName[ro]=Navigator Internet
-GenericName[ru]=Веб-браузер
-GenericName[sk]=WWW prehliadač
-GenericName[sl]=Spletni brskalnik
-GenericName[sq]=Shfletuesi Web
-GenericName[sr]=Веб читач
-GenericName[sr@Latn]=Veb čitač
-GenericName[sv]=Webbläsare
-GenericName[ta]=வலை உலாவி
-GenericName[th]=เว็บบราวเซอร์
-GenericName[tk]=Web Ahtarçysy
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=Переглядач web-сторінок
-GenericName[vi]=Trình duyệt Web
-GenericName[wa]=Betchteu waibe
-GenericName[zh_CN]=Web 浏览器
-GenericName[zh_TW]=網頁瀏覽器
-Comment=Browse the web
-Comment[ar]=تصفح الانترنت
-Comment[az]=Vebi gəzin
-Comment[be]=Вандраваць па павуціньню
-Comment[bg]=Сърфиране в интернет
-Comment[bn]=ওয়েব ব্রাউজ করুন
-Comment[bs]=Pregledaj na internetu
-Comment[ca]=Navegueu per la web
-Comment[cs]=Prohlížet WWW
-Comment[cy]=Pori'r we
-Comment[da]=Surf på internettet
-Comment[de]=Im Web surfen
-Comment[el]=Περιήγηση στον παγκόσμιο ιστό
-Comment[en_CA]=Browse the web
-Comment[en_GB]=Browse the web
-Comment[es]=Navegar por la web
-Comment[et]=Sirvi veebi
-Comment[eu]=Arakatu web-a
-Comment[fi]=Selaa WWW:tä
-Comment[fr]=Naviguer sur Internet
-Comment[ga]=Brabhsáil an Líon
-Comment[gu]=વેબમાં શોધો
-Comment[he]=גלוש ברשת
-Comment[hi]=वेब ब्राउज़ करें
-Comment[hr]=Pregledaj Web
-Comment[hu]=A világháló böngészése
-Comment[id]=Jelajah web
-Comment[it]=Esplora il web
-Comment[ja]=ウェブを閲覧します
-Comment[ko]=웹을 돌아 다닙니다
-Comment[li]=Blajere op internet
-Comment[lt]=Naršyti internete
-Comment[mk]=Прелистувајте на веб
-Comment[ml]=വലക്കെട്ട് തിരയുക
-Comment[mn]=Веб броузе хийх
-Comment[ms]=Layari web
-Comment[nb]=Surf på nettet
-Comment[nl]=Websurfen
-Comment[nn]=Surf på nettet
-Comment[no]=Surf på nettet
-Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
-Comment[pl]=Przeglądanie stron WWW
-Comment[pt]=Navegar na web
-Comment[pt_BR]=Navegar na web
-Comment[ro]=Navigare Internet
-Comment[ru]=Веб-браузер
-Comment[sk]=Prehliadať internet
-Comment[sl]=Brskaj po spletu
-Comment[sq]=Eksploro web-in
-Comment[sr]=Прегледај веб
-Comment[sr@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில் உலாவு
-Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
-Comment[tk]=Webi Ahtar
-Comment[tr]=Web'e Gözat
-Comment[uk]=Програма перегляду web-сторінок
-Comment[vi]=Duyệt web
-Comment[wa]=Naivyî avå les waibes
-Comment[zh_CN]=浏览 Web
-Comment[zh_TW]=瀏覽網頁
-Exec=@MOZILLA@ %u
-Icon=@FIREFOX_ICON@
-StartupNotify=false
-Terminal=false
-Type=Application
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
diff --git a/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h b/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/firefox3-devel/files/patch-config-rules.mk b/www/firefox3-devel/files/patch-config-rules.mk
deleted file mode 100644
index 8ab35f5a8..000000000
--- a/www/firefox3-devel/files/patch-config-rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
---- config/rules.mk.orig Thu Sep 14 14:07:03 2006
-+++ config/rules.mk Wed Oct 18 11:00:09 2006
-@@ -442,9 +442,7 @@
- endif
-
- ifeq ($(OS_ARCH),FreeBSD)
--ifdef IS_COMPONENT
--EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
--endif
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
- endif
-
- ifeq ($(OS_ARCH),NetBSD)
diff --git a/www/firefox3-devel/files/patch-config_autoconf.mk.in b/www/firefox3-devel/files/patch-config_autoconf.mk.in
deleted file mode 100644
index b39d9bacf..000000000
--- a/www/firefox3-devel/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,21 +0,0 @@
---- config/autoconf.mk.in.orig 2007-08-28 12:02:43.000000000 -0400
-+++ config/autoconf.mk.in 2007-09-26 14:21:51.000000000 -0400
-@@ -58,14 +58,14 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
--includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+includedir = @includedir@/%%MOZILLA%%
- libdir = @libdir@
- datadir = @datadir@
- mandir = @mandir@
--idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+idldir = $(datadir)/idl/%%MOZILLA%%
-
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/%%MOZILLA%%
-+sdkdir = $(libdir)/%%MOZILLA%%
-
- DIST = $(DEPTH)/dist
- LIBXUL_SDK = @LIBXUL_SDK@
diff --git a/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in b/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h b/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h
deleted file mode 100644
index 534bccba4..000000000
--- a/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/xslt/public/txDouble.h.orig Fri Oct 13 00:00:29 2006
-+++ content/xslt/public/txDouble.h Fri Oct 13 00:00:53 2006
-@@ -41,7 +41,7 @@
- #define __txdouble_h__
-
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
--#ifdef __FreeBSD__
-+/* #ifdef __FreeBSD__
- #include <ieeefp.h>
- #ifdef __alpha__
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-@@ -50,7 +50,7 @@
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
--
-+*/
- /**
- * Macros to workaround math-bugs bugs in various platforms
- */
diff --git a/www/firefox3-devel/files/patch-db_sqlite3_src_Makefile.in b/www/firefox3-devel/files/patch-db_sqlite3_src_Makefile.in
deleted file mode 100644
index 71b84da6d..000000000
--- a/www/firefox3-devel/files/patch-db_sqlite3_src_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- db/sqlite3/src/Makefile.in.orig 2008-06-19 11:03:17.000000000 -0500
-+++ db/sqlite3/src/Makefile.in 2008-06-19 11:04:15.000000000 -0500
-@@ -45,6 +45,8 @@
-
- include $(DEPTH)/config/autoconf.mk
-
-+OS_CFLAGS = -I../../../dist/include/sqlite3
-+OS_LIBS = %%PTHREAD_LIBS%%
- MODULE = sqlite3
- LIBRARY_NAME = sqlite3
- FORCE_SHARED_LIB = 1
diff --git a/www/firefox3-devel/files/patch-js_src_jsnum.cpp b/www/firefox3-devel/files/patch-js_src_jsnum.cpp
deleted file mode 100644
index 588d44cd9..000000000
--- a/www/firefox3-devel/files/patch-js_src_jsnum.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
---- js/src/jsnum.cpp.orig Sun Nov 5 18:37:07 2006
-+++ js/src/jsnum.cpp Sun Nov 5 18:42:31 2006
-@@ -45,6 +45,9 @@
- #if defined(XP_WIN) || defined(XP_OS2)
- #include <float.h>
- #endif
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #include <locale.h>
- #include <limits.h>
- #include <math.h>
-@@ -532,7 +535,15 @@ static jsdouble NaN;
-
- #else
-
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 601000
-+#include <fenv.h>
-+#define FIX_FPU() (fedisableexcept(FE_ALL_EXCEPT))
-+
-+#else
-+
- #define FIX_FPU() ((void)0)
-+
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-
- #endif
-
diff --git a/www/firefox3-devel/files/patch-layout_generic_Makefile.in b/www/firefox3-devel/files/patch-layout_generic_Makefile.in
deleted file mode 100644
index 038b5df63..000000000
--- a/www/firefox3-devel/files/patch-layout_generic_Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
---- layout/generic/Makefile.in.orig 2008-06-19 12:29:06.000000000 -0500
-+++ layout/generic/Makefile.in 2008-06-19 12:30:04.000000000 -0500
-@@ -188,9 +188,10 @@
- -I$(srcdir)/../../content/base/src \
- -I$(srcdir)/../../content/html/content/src \
- -I$(srcdir)/../../dom/src/base \
-- $(MOZ_CAIRO_CFLAGS) \
- $(NULL)
-
-+CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
-+
- ifdef MOZ_ENABLE_GTK2
- CXXFLAGS += $(MOZ_GTK2_CFLAGS)
- endif
diff --git a/www/firefox3-devel/files/patch-media_liboggplay_audio_Makefile.in b/www/firefox3-devel/files/patch-media_liboggplay_audio_Makefile.in
deleted file mode 100644
index 6a735b800..000000000
--- a/www/firefox3-devel/files/patch-media_liboggplay_audio_Makefile.in
+++ /dev/null
@@ -1,16 +0,0 @@
---- media/liboggplay_audio/Makefile.in.orig 2008-11-24 23:14:37.000000000 +0000
-+++ media/liboggplay_audio/Makefile.in 2008-11-24 23:19:00.000000000 +0000
-@@ -49,6 +49,13 @@
- sydney_audio.h \
- $(NULL)
-
-+ifeq ($(OS_ARCH),FreeBSD)
-+CSRCS = \
-+ sydney_audio_oss.c \
-+ $(NULL)
-+endif
-+
-+
- ifeq ($(OS_ARCH),Linux)
- CSRCS = \
- sydney_audio_alsa.c \
diff --git a/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h b/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h
deleted file mode 100644
index 65eeb0702..000000000
--- a/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/liboggplay_audio/sydney_audio.h.orig 2008-11-24 21:38:34.000000000 +0000
-+++ media/liboggplay_audio/sydney_audio.h 2008-11-24 21:39:10.000000000 +0000
-@@ -32,7 +32,7 @@
- # endif
- #elif defined(WIN32)
- # define SA_LITTLE_ENDIAN 1
--#elif defined(__APPLE__)
-+#elif defined(__APPLE__) || defined(__FreeBSD__)
- # if defined(__BIG_ENDIAN__)
- # define SA_BIG_ENDIAN 1
- # else
diff --git a/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio_oss.c b/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio_oss.c
deleted file mode 100644
index a45919ba0..000000000
--- a/www/firefox3-devel/files/patch-media_liboggplay_audio_sydney_audio_oss.c
+++ /dev/null
@@ -1,1222 +0,0 @@
---- media/liboggplay_audio/sydney_audio_oss.c.orig 2008-10-07 09:58:44.000000000 +0000
-+++ media/liboggplay_audio/sydney_audio_oss.c 2008-08-08 20:02:04.000000000 +0000
-@@ -16,7 +16,9 @@
- * Portions created by the Initial Developer are Copyright (C) 2007
- * the Initial Developer. All Rights Reserved.
- *
-- * Contributor(s): Marcin Lubonski
-+ * Contributor(s): Michael Martin
-+ * Chris Double (chris.double@double.co.nz)
-+ * Jeremy D. Lea (reg@openpave.org)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
-@@ -33,608 +35,685 @@
- * ***** END LICENSE BLOCK ***** *
- */
-
--#include "sydney_audio.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/soundcard.h>
--
- #include <sys/ioctl.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <string.h>
--
--#define SA_READ_PERIOD 0
--#define SA_WRITE_PERIOD 2560 // 40 ms of 16-bit, stereo, 16kHz
--#define SA_READ_BUFFER 0
--#define SA_WRITE_BUFFER 7680 // 3 periods per buffer
-+#include <pthread.h>
-+#include <assert.h>
-+#include "sydney_audio.h"
-
- // for versions newer than 3.6.1
- #define OSS_VERSION(x, y, z) (x << 16 | y << 8 | z)
- // support only versions newer than 3.6.1
- #define SUPP_OSS_VERSION OSS_VERSION(3,6,1)
-
--#if (SOUND_VERSION >= SUPP_OSS_VERSION)
-+#if (SOUND_VERSION < SUPP_OSS_VERSION)
-+#error Unsupported OSS Version
-+#else
-+
-+typedef struct sa_buf sa_buf;
-+struct sa_buf {
-+ unsigned int size;
-+ unsigned int start;
-+ unsigned int end;
-+ sa_buf * next;
-+ unsigned char data[0];
-+};
-
--struct SAAudioHandle_ {
-- char *device_name;
-- int channels;
-- int read_period;
-- int write_period;
-- int read_buffer;
-- int write_buffer;
-- sa_pcm_mode_t rw_mode;
-- sa_pcm_format_t format;
-- int rate;
-- int interleaved;
--
-- int capture_handle;
-- int playback_handle;
-- int readN, writeN;
-- char *stored;
-- int stored_amount;
-- int stored_limit;
-- //int read_fd, write_fd;
-+struct sa_stream {
-+ char* output_unit;
-+ int output_fd;
-+ pthread_t thread_id;
-+ pthread_mutex_t mutex;
-+ char playing;
-+ int64_t bytes_played;
-+
-+ /* audio format info */
-+ unsigned int rate;
-+ unsigned int channels;
-+ int format;
-+
-+ /* buffer list */
-+ sa_buf * bl_head;
-+ sa_buf * bl_tail;
-+ int n_bufs;
- };
-
--/* Implemented API functions */
--/** Normal way to open PCM device */
--int sa_device_create_pcm(SAAudioHandle **_dev, const char *client_name, sa_pcm_mode_t rw_mode, sa_pcm_format_t format, int rate, int channels);
--/** Initialise the device */
--int sa_device_open(SAAudioHandle *dev);
--/** Close/destroy everything */
--int sa_device_close(SAAudioHandle *dev);
--
--/* Soft parameter setup - can only be called before calling open*/
--/** Set write buffer lower mark */
--int sa_device_set_write_lower_watermark(SAAudioHandle *dev, int size);
--/** Set read buffer lower mark */
--int sa_device_set_read_lower_watermark(SAAudioHandle *dev, int size);
--/** Set write buffer upper watermark */
--int sa_device_set_write_upper_watermark(SAAudioHandle *dev, int size);
--/** Set read buffer upper watermark */
--int sa_device_set_read_upper_watermark(SAAudioHandle *dev, int size);
--
--/** volume in hundreths of dB's*/
--int sa_device_change_input_volume(SAAudioHandle *dev, const int *vol);
--/** volume in hundreths of dB's*/
--int sa_device_change_output_volume(SAAudioHandle *dev, const int *vol);
--
--/** Read audio playback position */
--int sa_device_get_position(SAAudioHandle *dev, sa_pcm_index_t ref, int64_t *pos);
--
--/* Blocking I/O calls */
--/** Interleaved playback function */
--int sa_device_write(SAAudioHandle *dev, size_t nbytes, const void *data);
--
--
--/* Implementation-specific functions */
--static int oss_audio_format(sa_pcm_format_t sa_format, int* oss_format);
--//static void sa_print_handle_settings(SAAudioHandle* dev);
-
--/*!
-- * \brief fills in the SAAudioHandle struct
-- * \param SAAudioHandle - encapsulation of a handle to audio device
-- * \param client_name -
-- * \param rw_mode - requested device access type as in :: sa_pcm_mode_t
-- * \param format - audio format as specified in ::sa_pcm_format_t
-- * \return - Sydney API error as in ::sa_pcm_error_t
-+/*
-+ * Use a default buffer size with enough room for one second of audio,
-+ * assuming stereo data at 44.1kHz with 32 bits per channel, and impose
-+ * a generous limit on the number of buffers.
- */
--int sa_device_create_pcm(SAAudioHandle **_dev, const char *client_name, sa_pcm_mode_t rw_mode, sa_pcm_format_t format, int rate, int channels) {
-- SAAudioHandle* dev = NULL;
--
-- dev = malloc(sizeof(SAAudioHandle));
--
-- if (!dev) {
-- return SA_DEVICE_OOM;
-- }
-- dev->channels = channels;
-- dev->format = format;
-- dev->rw_mode = rw_mode;
-- dev->rate = rate;
-- dev->readN = 0;
-- dev->readN = 0;
-- dev->capture_handle = -1;
-- dev->playback_handle = -1;
-- dev->interleaved = 1;
-- dev->read_period = SA_READ_PERIOD;
-- dev->write_period = SA_WRITE_PERIOD;
-- dev->read_buffer = SA_READ_BUFFER;
-- dev->write_buffer = SA_WRITE_BUFFER;
-- dev->device_name = "/dev/dsp";
-- dev->stored = NULL;
-- dev->stored_amount = 0;
-- dev->stored_limit = 0;
--
-- *_dev = dev;
-- //sa_print_handle_settings(dev);
-- return SA_DEVICE_SUCCESS;
--}
-+#define BUF_SIZE (2 * 44100 * 4)
-+#define BUF_LIMIT 5
-+
-+#if BUF_LIMIT < 2
-+#error BUF_LIMIT must be at least 2!
-+#endif
-+
-+static void audio_callback(void* s);
-+static sa_buf *new_buffer(void);
-+
-+/** Private functions - implementation specific */
-
- /*!
-- * \brief creates and opens selected audio device
-- * \param dev - encapsulated audio device handle
-- * \return - Sydney API error as in ::sa_pcm_error_t
-+ * \brief private function mapping Sudney Audio format to OSS formats
-+ * \param format - Sydney Audio API specific format
-+ * \param - filled by the function with a value for corresponding OSS format
-+ * \return - Sydney API error value as in ::sa_pcm_format_t
-+ * */
-+static int oss_audio_format(sa_pcm_format_t sa_format, int *fmt) {
-+ *fmt = -1;
-+ switch (sa_format) {
-+ case SA_PCM_FORMAT_U8:
-+ *fmt = AFMT_U8;
-+ break;
-+ case SA_PCM_FORMAT_ULAW:
-+ *fmt = AFMT_MU_LAW;
-+ break;
-+ case SA_PCM_FORMAT_ALAW:
-+ *fmt = AFMT_A_LAW;
-+ break;
-+ /* 16-bit little endian (LE) format */
-+ case SA_PCM_FORMAT_S16_LE:
-+ *fmt = AFMT_S16_LE;
-+ break;
-+ /* 16-bit big endian (BE) format */
-+ case SA_PCM_FORMAT_S16_BE:
-+ *fmt = AFMT_S16_BE;
-+ break;
-+#if SOUND_VERSION >= OSS_VERSION(4,0,0)
-+ /* 24-bit formats (LSB aligned in 32 bit word) */
-+ case SA_PCM_FORMAT_S24_LE:
-+ *fmt = AFMT_S24_LE;
-+ break;
-+ /* 24-bit formats (LSB aligned in 32 bit word) */
-+ case SA_PCM_FORMAT_S24_BE:
-+ *fmt = AFMT_S24_BE;
-+ break;
-+ /* 32-bit format little endian */
-+ case SA_PCM_FORMAT_S32_LE:
-+ *fmt = AFMT_S32_LE;
-+ break;
-+ /* 32-bit format big endian */
-+ case SA_PCM_FORMAT_S32_BE:
-+ *fmt = AFMT_S32_BE;
-+ break;
-+#endif
-+ default:
-+ return SA_ERROR_NOT_SUPPORTED;
-+ break;
-+ }
-+ return SA_SUCCESS;
-+}
-+
-+/*
-+ * -----------------------------------------------------------------------------
-+ * Startup and shutdown functions
-+ * -----------------------------------------------------------------------------
- */
--int sa_device_open(SAAudioHandle *dev) {
-- int err;
-- int fmt;
-- int audio_fd = -1;
--
-- if (dev->rw_mode == SA_PCM_WRONLY) {
-- // open the default OSS device
-- dev->device_name = "/dev/dsp"; // replace with a function which returns audio ouput device best matching the settings
-- audio_fd = open(dev->device_name, O_WRONLY, 0);
-- if (audio_fd == -1) {
-- fprintf(stderr, "Cannot open device: %s\n", dev->device_name);
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
--
-- // set the playback rate
-- if ((err = ioctl(audio_fd, SNDCTL_DSP_SPEED, &(dev->rate))) < 0) {
-- fprintf(stderr,
-- "Error setting the audio playback rate [%d]\n",
-- dev->rate);
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
-- // set the channel numbers
-- if ((err = ioctl(audio_fd, SNDCTL_DSP_CHANNELS,
-- &(dev->channels)))< 0) {
-- fprintf(stderr, "Error setting audio channels\n");
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
-- if ((err = oss_audio_format(dev->format, &fmt)) < 0) {
-- fprintf(stderr, "Format unknown\n");
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
-- printf("Setting format with value %d\n", fmt);
-- if ((err = ioctl(audio_fd, SNDCTL_DSP_SETFMT, &fmt)) < 0 ) {
-- fprintf(stderr, "Error setting audio format\n");
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
--
-- dev->playback_handle = audio_fd;
--
-- }
-- if (dev->rw_mode == SA_PCM_RDONLY) {
-- return SA_DEVICE_NOT_SUPPORTED;
-- }
-- if (dev->rw_mode == SA_PCM_RW) {
-- return SA_DEVICE_NOT_SUPPORTED;
-- }
-- fprintf(stderr, "Audio device opened successfully\n");
-- return SA_DEVICE_SUCCESS;
--}
--
--#define WRITE(data,amt) \
-- if ((err = write(dev->playback_handle, data, amt)) < 0) { \
-- fprintf(stderr, "Error writing data to audio device\n"); \
-- return SA_DEVICE_OOM; \
-+
-+int
-+sa_stream_create_pcm(
-+ sa_stream_t ** _s,
-+ const char * client_name,
-+ sa_mode_t mode,
-+ sa_pcm_format_t format,
-+ unsigned int rate,
-+ unsigned int channels
-+) {
-+ sa_stream_t * s = 0;
-+ int fmt = 0;
-+
-+ /*
-+ * Make sure we return a NULL stream pointer on failure.
-+ */
-+ if (_s == NULL) {
-+ return SA_ERROR_INVALID;
-+ }
-+ *_s = NULL;
-+
-+ if (mode != SA_MODE_WRONLY) {
-+ return SA_ERROR_NOT_SUPPORTED;
-+ }
-+ if (oss_audio_format(format, &fmt) != SA_SUCCESS) {
-+ return SA_ERROR_NOT_SUPPORTED;
- }
-
--/*!
-- * \brief Interleaved write operation
-- * \param dev - device handle
-- * \param nbytes - size of the audio buffer to be written to device
-- * \param data - pointer to the buffer with audio samples
-- * \return
-- * */
--int sa_device_write(SAAudioHandle *dev, size_t nbytes, const void *_data) {
-- int err;
-- audio_buf_info info;
-- int bytes;
-- char * data = (char *)_data;
- /*
-- ioctl(dev->playback_handle, SNDCTL_DSP_GETOSPACE, &info);
-- printf("fragment size: %d, nfrags: %d, free: %d wtw: %d\n", info.fragsize,
-- info.fragstotal, info.bytes, nbytes);
-- */
-+ * Allocate the instance and required resources.
-+ */
-+ if ((s = malloc(sizeof(sa_stream_t))) == NULL) {
-+ return SA_ERROR_OOM;
-+ }
-+ if ((s->bl_head = new_buffer()) == NULL) {
-+ free(s);
-+ return SA_ERROR_OOM;
-+ }
-+ if (pthread_mutex_init(&s->mutex, NULL) != 0) {
-+ free(s->bl_head);
-+ free(s);
-+ return SA_ERROR_SYSTEM;
-+ }
-
-+ s->output_unit = "/dev/dsp";
-+ s->output_fd = -1;
-+ s->thread_id = 0;
-+ s->playing = 0;
-+ s->bytes_played = 0;
-+ s->rate = rate;
-+ s->channels = channels;
-+ s->format = fmt;
-+ s->bl_tail = s->bl_head;
-+ s->n_bufs = 1;
-+
-+ *_s = s;
-+ return SA_SUCCESS;
-+}
-
-
-- if ((dev->playback_handle) > 0) {
-- ioctl(dev->playback_handle, SNDCTL_DSP_GETOSPACE, &info);
-- bytes = info.bytes;
-- if (dev->stored_amount > bytes) {
-- WRITE(dev->stored, bytes);
-- memmove(dev->stored, dev->stored + bytes, dev->stored_amount - bytes);
-- dev->stored_amount -= bytes;
-- } else if (dev->stored_amount > 0) {
-- WRITE(dev->stored, dev->stored_amount);
-- bytes -= dev->stored_amount;
-- dev->stored_amount = 0;
-- if (nbytes < bytes) {
-- WRITE(data, nbytes);
-- return SA_DEVICE_SUCCESS;
-- }
-- WRITE(data, bytes);
-- data += bytes;
-- nbytes -= bytes;
-- } else {
-- if (nbytes < bytes) {
-- WRITE(data, nbytes);
-- return SA_DEVICE_SUCCESS;
-- }
-- WRITE(data, bytes);
-- data += bytes;
-- nbytes -= bytes;
-- }
-+int
-+sa_stream_open(sa_stream_t *s) {
-+ if (s == NULL) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+ if (s->output_unit == NULL || s->output_fd != -1) {
-+ return SA_ERROR_INVALID;
-+ }
-
-- if (nbytes > 0) {
-- if (dev->stored_amount + nbytes > dev->stored_limit) {
-- dev->stored = realloc(dev->stored, dev->stored_amount + nbytes);
-- }
--
-- memcpy(dev->stored + dev->stored_amount, data, nbytes);
-- dev->stored_amount += nbytes;
-- }
-- }
-- return SA_DEVICE_SUCCESS;
-+ // open the default OSS device
-+ if ((s->output_fd = open(s->output_unit, O_WRONLY, 0)) == -1) {
-+ return SA_ERROR_NO_DEVICE;
-+ }
-+
-+ // set the playback rate
-+ if (ioctl(s->output_fd, SNDCTL_DSP_SPEED, &(s->rate)) < 0) {
-+ close(s->output_fd);
-+ s->output_fd = -1;
-+ return SA_ERROR_NOT_SUPPORTED;
-+ }
-+
-+ // set the channel numbers
-+ if (ioctl(s->output_fd, SNDCTL_DSP_CHANNELS, &(s->channels)) < 0) {
-+ close(s->output_fd);
-+ s->output_fd = -1;
-+ return SA_ERROR_NOT_SUPPORTED;
-+ }
-+
-+ if (ioctl(s->output_fd, SNDCTL_DSP_SETFMT, &(s->format)) < 0 ) {
-+ close(s->output_fd);
-+ s->output_fd = -1;
-+ return SA_ERROR_NOT_SUPPORTED;
-+ }
-+
-+ return SA_SUCCESS;
- }
-
--#define CLOSE_HANDLE(x) if (x != -1) close(x);
-
--/*!
-- * \brief Closes and destroys allocated resources
-- * \param dev - Sydney Audio device handle
-- * \return Sydney API error as in ::sa_pcm_error_t
-- **/
--int sa_device_close(SAAudioHandle *dev) {
-- int err;
-+int
-+sa_stream_destroy(sa_stream_t *s) {
-+ int result = SA_SUCCESS;
-
-- if (dev != NULL) {
-+ if (s == NULL) {
-+ return SA_SUCCESS;
-+ }
-
-- if (dev->stored_amount > 0) {
-- WRITE(dev->stored, dev->stored_amount);
-- }
-+ pthread_mutex_lock(&s->mutex);
-
-- if (dev->stored != NULL) {
-- free(dev->stored);
-+ /*
-+ * This causes the thread sending data to ALSA to stop
-+ */
-+ s->thread_id = 0;
-+
-+ /*
-+ * Shut down the audio output device.
-+ */
-+ if (s->output_fd != -1) {
-+ if (s->playing && close(s->output_fd) < 0) {
-+ result = SA_ERROR_SYSTEM;
- }
-+ }
-
-- dev->stored = NULL;
-- dev->stored_amount = 0;
-- dev->stored_limit = 0;
--
-- CLOSE_HANDLE(dev->playback_handle);
-- CLOSE_HANDLE(dev->capture_handle);
--
-- printf("Closing audio device\n");
-- free(dev);
-- }
-- return SA_DEVICE_SUCCESS;
--}
--
--/**
-- * \brief
-- * \param dev
-- * \param size
-- * \return Sydney API error as in ::sa_pcm_error_t
-- */
--int sa_device_set_write_lower_watermark(SAAudioHandle *dev, int size) {
-- dev->write_period = size;
-- return SA_DEVICE_SUCCESS;
--}
--/**
-- * \brief
-- * \param dev
-- * \param size
-- * \return Sydney API error as in ::sa_pcm_error_t
-- */
--int sa_device_set_read_lower_watermark(SAAudioHandle *dev, int size) {
-- dev->read_period = size;
-- return SA_DEVICE_SUCCESS;
--}
--/**
-- * \brief
-- * \param dev
-- * \param size
-- * \return Sydney API error as in ::sa_pcm_error_t
-- */
--int sa_device_set_write_upper_watermark(SAAudioHandle *dev, int size) {
-- dev->write_buffer = size;
-- return SA_DEVICE_SUCCESS;
-+ pthread_mutex_unlock(&s->mutex);
-+
-+ /*
-+ * Release resources.
-+ */
-+ if (pthread_mutex_destroy(&s->mutex) != 0) {
-+ result = SA_ERROR_SYSTEM;
-+ }
-+ while (s->bl_head != NULL) {
-+ sa_buf * next = s->bl_head->next;
-+ free(s->bl_head);
-+ s->bl_head = next;
-+ }
-+ free(s);
-+
-+ return result;
- }
-
--/**
-- * \brief
-- * \param dev
-- * \param size
-- * \return Sydney API error as in ::sa_pcm_error_t
-+
-+
-+/*
-+ * -----------------------------------------------------------------------------
-+ * Data read and write functions
-+ * -----------------------------------------------------------------------------
- */
--int sa_device_set_read_upper_watermark(SAAudioHandle *dev, int size) {
-- dev->read_buffer = size;
-- return SA_DEVICE_SUCCESS;
--}
-
-+int
-+sa_stream_write(sa_stream_t *s, const void *data, size_t nbytes) {
-+ int result = SA_SUCCESS;
-
--int sa_device_set_xrun_mode(SAAudioHandle *dev, sa_xrun_mode_t mode) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+ if (s == NULL || s->output_unit == NULL) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+ if (nbytes == 0) {
-+ return SA_SUCCESS;
-+ }
-
-+ pthread_mutex_lock(&s->mutex);
-
--int sa_device_set_ni(SAAudioHandle *dev) {
-- dev->interleaved = 1;
-- return SA_DEVICE_SUCCESS;
--}
-+ /*
-+ * Append the new data to the end of our buffer list.
-+ */
-+ while (1) {
-+ unsigned int avail = s->bl_tail->size - s->bl_tail->end;
-+
-+ if (nbytes <= avail) {
-+
-+ /*
-+ * The new data will fit into the current tail buffer, so
-+ * just copy it in and we're done.
-+ */
-+ memcpy(s->bl_tail->data + s->bl_tail->end, data, nbytes);
-+ s->bl_tail->end += nbytes;
-+ break;
-
--int sa_device_start_thread(SAAudioHandle *dev, sa_device_callback *callback) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+ } else {
-
--int sa_device_set_channel_map(SAAudioHandle *dev, const sa_channel_def_t *map) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+ /*
-+ * Copy what we can into the tail and allocate a new buffer
-+ * for the rest.
-+ */
-+ memcpy(s->bl_tail->data + s->bl_tail->end, data, avail);
-+ s->bl_tail->end += avail;
-+ data = ((unsigned char *)data) + avail;
-+ nbytes -= avail;
-+
-+ /*
-+ * If we still have data left to copy but we've hit the limit of
-+ * allowable buffer allocations, we need to spin for a bit to allow
-+ * the audio callback function to slurp some more data up.
-+ */
-+ if (nbytes > 0 && s->n_bufs == BUF_LIMIT) {
-+#ifdef TIMING_TRACE
-+ printf("#"); /* too much audio data */
-+#endif
-+ if (!s->playing) {
-+ /*
-+ * We haven't even started playing yet! That means the
-+ * BUF_SIZE/BUF_LIMIT values are too low... Not much we can
-+ * do here; spinning won't help because the audio callback
-+ * hasn't been enabled yet. Oh well, error time.
-+ */
-+ printf("Too much audio data received before audio device enabled!\n");
-+ result = SA_ERROR_SYSTEM;
-+ break;
-+ }
-+ while (s->n_bufs == BUF_LIMIT) {
-+ struct timespec ts = {0, 1000000};
-+ pthread_mutex_unlock(&s->mutex);
-+ nanosleep(&ts, NULL);
-+ pthread_mutex_lock(&s->mutex);
-+ }
-+ }
-+
-+ /*
-+ * Allocate a new tail buffer, and go 'round again to fill it up.
-+ */
-+ if ((s->bl_tail->next = new_buffer()) == NULL) {
-+ result = SA_ERROR_OOM;
-+ break;
-+ }
-+ s->n_bufs++;
-+ s->bl_tail = s->bl_tail->next;
-
-+ } /* if (nbytes <= avail), else */
-
--int sa_device_change_device(SAAudioHandle *dev, const char *device_name) {
-- return SA_DEVICE_NOT_SUPPORTED;
-+ } /* while (1) */
-+
-+ pthread_mutex_unlock(&s->mutex);
-+
-+ /*
-+ * Once we have our first block of audio data, enable the audio callback
-+ * function. This doesn't need to be protected by the mutex, because
-+ * s->playing is not used in the audio callback thread, and it's probably
-+ * better not to be inside the lock when we enable the audio callback.
-+ */
-+ if (!s->playing) {
-+ s->playing = 1;
-+ if (pthread_create(&s->thread_id, NULL, (void *)audio_callback, s) != 0) {
-+ result = SA_ERROR_SYSTEM;
-+ }
-+ }
-+
-+ return result;
- }
-
--/*!
-- * \brief volume in hundreths of dB's
-- * \param dev - device handle
-- * \param vol - volume level
-- * \return Sydney API error as in ::sa_pcm_error_t
-- * */
--int sa_device_change_input_volume(SAAudioHandle *dev, const int *vol) {
--#if SOUND_VERSION >= OSS_VERSION(4,0,0)
-- int err;
-- if ((err = ioctl(dev->capture_handle, SNDCTL_DSP_SETRECVOL, vol) < 0) {
-- fpritnf(stderr, "Error setting new recording volume level\n");
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
-- return SA_DEVICE_SUCCESS;
--#else
-- return SA_DEVICE_NOT_SUPPORTED;
-+
-+static void audio_callback(void* data)
-+{
-+ sa_stream_t* s = (sa_stream_t*)data;
-+ audio_buf_info info;
-+ char* buffer = 0;
-+ unsigned int avail;
-+ int frames;
-+
-+#ifdef TIMING_TRACE
-+ printf("."); /* audio read 'tick' */
- #endif
--}
-
--/*!
-- * \brief volume in hundreths of dB's
-- * \param dev - device handle
-- * \param vol - volume level
-- * \retrun Sydney API error as in ::sa_pcm_error_t
-- * */
--int sa_device_change_output_volume(SAAudioHandle *dev, const int *vol) {
--#if SOUND_VERSION >= OSS_VERSION(4,0,0)
-- int err;
-- if ((err = ioctl(dev->playback_handle, SNDCTL_DSP_SETPLAYVOL, vol) < 0){
-+ ioctl(s->output_fd, SNDCTL_DSP_GETOSPACE, &info);
-+ buffer = malloc(info.bytes);
-
-- fprintf(stderr, "Error setting new playback volume\n");
-- //assert(0);
-- return SA_DEVICE_OOM;
-- }
-- return SA_DEVICE_SUCCESS;
--#else
-- return SA_DEVICE_NOT_SUPPORTED;
-+ while(1) {
-+ char* dst = buffer;
-+ unsigned int bytes_to_copy = info.bytes;
-+ int bytes = info.bytes;
-+
-+ pthread_mutex_lock(&s->mutex);
-+ if (!s->thread_id)
-+ break;
-+
-+ /*
-+ * Consume data from the start of the buffer list.
-+ */
-+ while (1) {
-+ assert(s->bl_head->start <= s->bl_head->end);
-+ avail = s->bl_head->end - s->bl_head->start;
-+
-+ if (avail >= bytes_to_copy) {
-+ /*
-+ * We have all we need in the head buffer, so just grab it and go.
-+ */
-+ memcpy(dst, s->bl_head->data + s->bl_head->start, bytes_to_copy);
-+ s->bl_head->start += bytes_to_copy;
-+ s->bytes_played += bytes_to_copy;
-+ break;
-+
-+ } else {
-+
-+ sa_buf* next = 0;
-+ /*
-+ * Copy what we can from the head and move on to the next buffer.
-+ */
-+ memcpy(dst, s->bl_head->data + s->bl_head->start, avail);
-+ s->bl_head->start += avail;
-+ dst += avail;
-+ bytes_to_copy -= avail;
-+ s->bytes_played += avail;
-+
-+ /*
-+ * We want to free the now-empty buffer, but not if it's also the
-+ * current tail. If it is the tail, we don't have enough data to fill
-+ * the destination buffer, so we write less and give up.
-+ */
-+ next = s->bl_head->next;
-+ if (next == NULL) {
-+#ifdef TIMING_TRACE
-+ printf("!"); /* not enough audio data */
- #endif
--}
-+ bytes = bytes-bytes_to_copy;
-+ break;
-+ }
-+ free(s->bl_head);
-+ s->bl_head = next;
-+ s->n_bufs--;
-
--int sa_device_change_sampling_rate(SAAudioHandle *dev, int rate) {
-- dev->rate = rate;
-- return SA_DEVICE_SUCCESS;
--}
-+ } /* if (avail >= bytes_to_copy), else */
-
--int sa_device_change_client_name(SAAudioHandle *dev, const char *client_name) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+ } /* while (1) */
-
--int sa_device_change_stream_name(SAAudioHandle *dev, const char *stream_name) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+ pthread_mutex_unlock(&s->mutex);
-
--int sa_device_change_user_data(SAAudioHandle *dev, void *val) {
-- return SA_DEVICE_NOT_SUPPORTED;
-+ if(bytes > 0) {
-+ frames = write(s->output_fd, buffer, bytes);
-+ if (frames < 0) {
-+ printf("error writing to sound device\n");
-+ }
-+ if (frames >= 0 && frames != bytes) {
-+ printf("short write (expected %d, wrote %d)\n", (int)bytes, (int)frames);
-+ }
-+ }
-+ }
-+ free(buffer);
- }
-
-
--/*!
-- * \brief
-- * \param dev
-- * \param rate
-- * \param direction
-- * \return Sydney API error as in ::sa_pcm_error_t
-- * */
--int sa_device_adjust_rate(SAAudioHandle *dev, int rate, int direction) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
--/*!
-- * \brief
-- * \param dev
-- * \param nb_channels
-- * \return Sydney API error as in ::sa_pcm_error_t
-- * */
--int sa_device_adjust_channels(SAAudioHandle *dev, int nb_channels) { return SA_DEVICE_NOT_SUPPORTED;
--}
--/** Adjust bit sample format */
--int sa_device_adjust_format(SAAudioHandle *dev, sa_pcm_format_t format, int direction) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-
--/** Get current state of the audio device */
--int sa_device_get_state(SAAudioHandle *dev, sa_state_t *running) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+/*
-+ * -----------------------------------------------------------------------------
-+ * General query and support functions
-+ * -----------------------------------------------------------------------------
-+ */
-
--/** Get current sampling rate */
--int sa_device_get_sampling_rate(SAAudioHandle *dev, int *rate) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+int
-+sa_stream_get_write_size(sa_stream_t *s, size_t *size) {
-+ sa_buf * b;
-+ size_t used = 0;
-
--/** Get number of channels */
--int sa_device_get_nb_channels(SAAudioHandle *dev, int *nb_channels) {
-- return SA_DEVICE_NOT_SUPPORTED;
--}
-+ if (s == NULL || s->output_unit == NULL) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+
-+ pthread_mutex_lock(&s->mutex);
-+
-+ /*
-+ * Sum up the used portions of our buffers and subtract that from
-+ * the pre-defined max allowed allocation.
-+ */
-+ for (b = s->bl_head; b != NULL; b = b->next) {
-+ used += b->end - b->start;
-+ }
-+ *size = BUF_SIZE * BUF_LIMIT - used;
-
--/** Get format being used */
--int sa_device_get_format(SAAudioHandle *dev, sa_pcm_format_t *format) {
-- return SA_DEVICE_NOT_SUPPORTED;
-+ pthread_mutex_unlock(&s->mutex);
-+ return SA_SUCCESS;
- }
-
--/** Get opaque pointer associated to the device */
--int sa_device_get_user_data(SAAudioHandle *dev, void **val) {
-- return SA_DEVICE_NOT_SUPPORTED;
-+
-+int
-+sa_stream_get_position(sa_stream_t *s, sa_position_t position, int64_t *pos) {
-+ int err;
-+ count_info ptr;
-+
-+ if (s == NULL || s->output_unit == NULL) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+ if (position != SA_POSITION_WRITE_SOFTWARE) {
-+ return SA_ERROR_NOT_SUPPORTED;
-+ }
-+ if ((err = ioctl(s->output_fd,
-+ SNDCTL_DSP_GETOPTR,
-+ &ptr)) <0) {
-+ fprintf(stderr, "Error reading playback position\n");
-+ return SA_ERROR_OOM;
-+ }
-+
-+ pthread_mutex_lock(&s->mutex);
-+ *pos = (int64_t)ptr.bytes;
-+ pthread_mutex_unlock(&s->mutex);
-+ return SA_SUCCESS;
- }
-
--/** Obtain the error code */
--int sa_device_get_event_error(SAAudioHandle *dev, sa_pcm_error_t *error) {
-- return SA_DEVICE_NOT_SUPPORTED;
-+
-+int
-+sa_stream_pause(sa_stream_t *s) {
-+
-+ if (s == NULL || s->output_unit == NULL) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+
-+ pthread_mutex_lock(&s->mutex);
-+#if 0 /* TODO */
-+ AudioOutputUnitStop(s->output_unit);
-+#endif
-+ pthread_mutex_unlock(&s->mutex);
-+ return SA_SUCCESS;
- }
-
--/** Obtain the notification code */
--int sa_device_get_event_notify(SAAudioHandle *dev, sa_pcm_notification_t *notify) {
-- return SA_DEVICE_NOT_SUPPORTED;
-+
-+int
-+sa_stream_resume(sa_stream_t *s) {
-+
-+ if (s == NULL || s->output_unit == NULL) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+
-+ pthread_mutex_lock(&s->mutex);
-+
-+ /*
-+ * The audio device resets its mSampleTime counter after pausing,
-+ * so we need to clear our tracking value to keep that in sync.
-+ */
-+ s->bytes_played = 0;
-+#if 0 /* TODO */
-+ AudioOutputUnitStart(s->output_unit);
-+#endif
-+ pthread_mutex_unlock(&s->mutex);
-+ return SA_SUCCESS;
- }
-
--/*!
-- * \brief returns the current position of the audio playback capture
-- * \param dev - device handle
-- * \param ref - type of position to be returned by this function see ::sa_pcm_index_t
-- * \param pos - position (in bytes or ms depending on 'ref' value)
-- * \return Sydney API error as in ::sa_pcm_error_t
-- * */
--int sa_device_get_position(SAAudioHandle *dev, sa_pcm_index_t ref, int64_t *pos)
--{
-- int err;
-- int64_t _pos;
-- int delay;
-- count_info ptr;
-- switch (ref) {
-- case SA_PCM_WRITE_DELAY:
-- //int delay;
-- if ((err = ioctl(dev->playback_handle,
-- SNDCTL_DSP_GETODELAY,
-- &delay)) <0) {
-- fprintf(stderr, "Error reading playback buffering delay\n");
-- return SA_DEVICE_OOM;
-- };
-- _pos = (int64_t)delay;
-- break;
-- case SA_PCM_WRITE_SOFTWARE_POS:
-- //count_info ptr;
-- if ((err = ioctl(dev->playback_handle,
-- SNDCTL_DSP_GETOPTR,
-- &ptr)) <0) {
-- //fprintf(stderr, "Error reading audio playback position\n");
-- return SA_DEVICE_OOM;
-- };
-- _pos = (int64_t)ptr.bytes;
-- break;
-- case SA_PCM_READ_SOFTWARE_POS:
-- //count_info ptr;
-- if ((err = ioctl(dev->playback_handle,
-- SNDCTL_DSP_GETIPTR,
-- &ptr)) <0) {
-- fprintf(stderr, "Error reading audio capture position\n");
-- return SA_DEVICE_OOM;
-- };
-- _pos = (int64_t)ptr.bytes;
-- break;
--
-- case SA_PCM_READ_DELAY:
-- case SA_PCM_READ_HARDWARE_POS:
-- case SA_PCM_WRITE_HARDWARE_POS:
-- case SA_PCM_DUPLEX_DELAY:
-- default:
-- return SA_DEVICE_NOT_SUPPORTED;
-- break;
-- }
-- (*pos) = _pos;
-- return SA_DEVICE_SUCCESS;
-+
-+static sa_buf *
-+new_buffer(void) {
-+ sa_buf * b = malloc(sizeof(sa_buf) + BUF_SIZE);
-+ if (b != NULL) {
-+ b->size = BUF_SIZE;
-+ b->start = 0;
-+ b->end = 0;
-+ b->next = NULL;
-+ }
-+ return b;
- }
-
--/** Private functions - implementation specific */
-
--/*!
-- * \brief private function mapping Sudney Audio format to OSS formats
-- * \param format - Sydney Audio API specific format
-- * \param - filled by the function with a value for corresponding OSS format
-- * \return - Sydney API error value as in ::sa_pcm_format_t
-- * */
--static int oss_audio_format(sa_pcm_format_t sa_format, int* oss_format) {
--#if SOUND_VERSION >= OSS_VERSION(4,0,0)
-- int fmt = AFMT_UNDEF;
-+
-+/*
-+ * -----------------------------------------------------------------------------
-+ * Extension functions
-+ * -----------------------------------------------------------------------------
-+ */
-+
-+int
-+sa_stream_set_volume_abs(sa_stream_t *s, float vol) {
-+ if (s == NULL || s->output_fd == -1) {
-+ return SA_ERROR_NO_INIT;
-+ }
-+#if SOUND_VERSION >= OSS_VERSION(4,0,0)
-+ int mvol = ((int)(100*vol)) | ((int)(100*vol) << 8);
-+ if (ioctl(s->output_fd, SNDCTL_DSP_SETPLAYVOL, &mvol) < 0){
-+ return SA_ERROR_SYSTEM;
-+ }
-+ return SA_SUCCESS;
- #else
-- int fmt = -1;
--#endif
-- switch (sa_format) {
-- case SA_PCM_UINT8:
-- fmt = AFMT_U8;
-- break;
-- case SA_PCM_ULAW:
-- fmt = AFMT_MU_LAW;
-- break;
-- case SA_PCM_ALAW:
-- fmt = AFMT_A_LAW;
-- break;
-- /* 16-bit little endian (LE) format */
-- case SA_PCM_S16_LE:
-- fmt = AFMT_S16_LE;
-- break;
-- /* 16-bit big endian (BE) format */
-- case SA_PCM_S16_BE:
-- fmt = AFMT_S16_BE;
-- break;
-+ return SA_ERROR_NOT_SUPPORTED;
-+#endif
-+}
-+
-+
-+int
-+sa_stream_get_volume_abs(sa_stream_t *s, float *vol) {
-+
-+ if (vol == NULL) {
-+ return SA_ERROR_INVALID;
-+ }
-+ *vol = 0.0f;
-+ if (s == NULL || s->output_fd == -1) {
-+ return SA_ERROR_NO_INIT;
-+ }
- #if SOUND_VERSION >= OSS_VERSION(4,0,0)
-- /* 24-bit formats (LSB aligned in 32 bit word) */
-- case SA_PCM_S24_LE:
-- fmt = AFMT_S24_LE;
-- break;
-- /* 24-bit formats (LSB aligned in 32 bit word) */
-- case SA_PCM_S24_BE:
-- fmt = AFMT_S24_BE;
-- break;
-- /* 32-bit format little endian */
-- case SA_PCM_S32_LE:
-- fmt = AFMT_S32_LE;
-- break;
-- /* 32-bit format big endian */
-- case SA_PCM_S32_BE:
-- fmt = AFMT_S32_BE;
-- break;
-- case SA_PCM_FLOAT32_NE:
-- fmt = AFMT_FLOAT;
-- break;
-+ int mvol;
-+ if (ioctl(s->output_fd, SNDCTL_DSP_SETPLAYVOL, &mvol) < 0){
-+ return SA_ERROR_SYSTEM;
-+ }
-+ *vol = ((mvol & 0xFF) + (mvol >> 8)) / 200.0f;
-+ return SA_SUCCESS;
-+#else
-+ return SA_ERROR_NOT_SUPPORTED;
- #endif
-- default:
-- return SA_DEVICE_NOT_SUPPORTED;
-- break;
--
-- }
-- (*oss_format) = fmt;
-- return SA_DEVICE_SUCCESS;
- }
-
-+
-+
- /*
--static void sa_print_handle_settings(SAAudioHandle* dev) {
-- printf(">>>>>>>>>>>> SA Device Handle <<<<<<<<<<<\n");
-- printf("[SA Audio] - Device name %s\n", dev->device_name);
-- printf("[SA_Audio] - Number of audio channels %d\n", dev->channels);
-- printf("[SA_Audio] - Read period size %d bytes\n", dev->read_period);
-- printf("[SA_Audio] - Write period size %d bytes\n", dev->write_period);
-- printf("[SA_Audio] - Write buffer size %d bytes\n", dev->write_buffer);
-- printf("[SA_Audio] - Read buffer size %d bytes\n", dev->read_buffer);
-- printf("[SA_Audio] - Read/write mode value %d\n", dev->rw_mode);
-- printf("[SA_Audio] - Audio sample bit format value %d\n", dev->format);
-- printf("[SA_Audio] - Audio playback rate %d\n", dev->rate);
-- if (dev->interleaved) {
-- printf("[SA_Audio] - Processing interleaved audio\n");
-- } else {
-- printf("[SA_Audio] - Processing non-interleaved audio\n");
-- }
-- if ((dev->capture_handle) > 0) {
-- printf("[SA Audio] - Device opened for capture\n");
-- }
-- if ((dev->playback_handle) > 0) {
-- printf("[SA_Audio] - Device opened for playback\n");
-- }
--}
--*/
-+ * -----------------------------------------------------------------------------
-+ * Unsupported functions
-+ * -----------------------------------------------------------------------------
-+ */
-+#define UNSUPPORTED(func) func { return SA_ERROR_NOT_SUPPORTED; }
-+
-+UNSUPPORTED(int sa_stream_create_opaque(sa_stream_t **s, const char *client_name, sa_mode_t mode, const char *codec))
-+UNSUPPORTED(int sa_stream_set_write_lower_watermark(sa_stream_t *s, size_t size))
-+UNSUPPORTED(int sa_stream_set_read_lower_watermark(sa_stream_t *s, size_t size))
-+UNSUPPORTED(int sa_stream_set_write_upper_watermark(sa_stream_t *s, size_t size))
-+UNSUPPORTED(int sa_stream_set_read_upper_watermark(sa_stream_t *s, size_t size))
-+UNSUPPORTED(int sa_stream_set_channel_map(sa_stream_t *s, const sa_channel_t map[], unsigned int n))
-+UNSUPPORTED(int sa_stream_set_xrun_mode(sa_stream_t *s, sa_xrun_mode_t mode))
-+UNSUPPORTED(int sa_stream_set_non_interleaved(sa_stream_t *s, int enable))
-+UNSUPPORTED(int sa_stream_set_dynamic_rate(sa_stream_t *s, int enable))
-+UNSUPPORTED(int sa_stream_set_driver(sa_stream_t *s, const char *driver))
-+UNSUPPORTED(int sa_stream_start_thread(sa_stream_t *s, sa_event_callback_t callback))
-+UNSUPPORTED(int sa_stream_stop_thread(sa_stream_t *s))
-+UNSUPPORTED(int sa_stream_change_device(sa_stream_t *s, const char *device_name))
-+UNSUPPORTED(int sa_stream_change_read_volume(sa_stream_t *s, const int32_t vol[], unsigned int n))
-+UNSUPPORTED(int sa_stream_change_write_volume(sa_stream_t *s, const int32_t vol[], unsigned int n))
-+UNSUPPORTED(int sa_stream_change_rate(sa_stream_t *s, unsigned int rate))
-+UNSUPPORTED(int sa_stream_change_meta_data(sa_stream_t *s, const char *name, const void *data, size_t size))
-+UNSUPPORTED(int sa_stream_change_user_data(sa_stream_t *s, const void *value))
-+UNSUPPORTED(int sa_stream_set_adjust_rate(sa_stream_t *s, sa_adjust_t direction))
-+UNSUPPORTED(int sa_stream_set_adjust_nchannels(sa_stream_t *s, sa_adjust_t direction))
-+UNSUPPORTED(int sa_stream_set_adjust_pcm_format(sa_stream_t *s, sa_adjust_t direction))
-+UNSUPPORTED(int sa_stream_set_adjust_watermarks(sa_stream_t *s, sa_adjust_t direction))
-+UNSUPPORTED(int sa_stream_get_mode(sa_stream_t *s, sa_mode_t *access_mode))
-+UNSUPPORTED(int sa_stream_get_codec(sa_stream_t *s, char *codec, size_t *size))
-+UNSUPPORTED(int sa_stream_get_pcm_format(sa_stream_t *s, sa_pcm_format_t *format))
-+UNSUPPORTED(int sa_stream_get_rate(sa_stream_t *s, unsigned int *rate))
-+UNSUPPORTED(int sa_stream_get_nchannels(sa_stream_t *s, int *nchannels))
-+UNSUPPORTED(int sa_stream_get_user_data(sa_stream_t *s, void **value))
-+UNSUPPORTED(int sa_stream_get_write_lower_watermark(sa_stream_t *s, size_t *size))
-+UNSUPPORTED(int sa_stream_get_read_lower_watermark(sa_stream_t *s, size_t *size))
-+UNSUPPORTED(int sa_stream_get_write_upper_watermark(sa_stream_t *s, size_t *size))
-+UNSUPPORTED(int sa_stream_get_read_upper_watermark(sa_stream_t *s, size_t *size))
-+UNSUPPORTED(int sa_stream_get_channel_map(sa_stream_t *s, sa_channel_t map[], unsigned int *n))
-+UNSUPPORTED(int sa_stream_get_xrun_mode(sa_stream_t *s, sa_xrun_mode_t *mode))
-+UNSUPPORTED(int sa_stream_get_non_interleaved(sa_stream_t *s, int *enabled))
-+UNSUPPORTED(int sa_stream_get_dynamic_rate(sa_stream_t *s, int *enabled))
-+UNSUPPORTED(int sa_stream_get_driver(sa_stream_t *s, char *driver_name, size_t *size))
-+UNSUPPORTED(int sa_stream_get_device(sa_stream_t *s, char *device_name, size_t *size))
-+UNSUPPORTED(int sa_stream_get_read_volume(sa_stream_t *s, int32_t vol[], unsigned int *n))
-+UNSUPPORTED(int sa_stream_get_write_volume(sa_stream_t *s, int32_t vol[], unsigned int *n))
-+UNSUPPORTED(int sa_stream_get_meta_data(sa_stream_t *s, const char *name, void*data, size_t *size))
-+UNSUPPORTED(int sa_stream_get_adjust_rate(sa_stream_t *s, sa_adjust_t *direction))
-+UNSUPPORTED(int sa_stream_get_adjust_nchannels(sa_stream_t *s, sa_adjust_t *direction))
-+UNSUPPORTED(int sa_stream_get_adjust_pcm_format(sa_stream_t *s, sa_adjust_t *direction))
-+UNSUPPORTED(int sa_stream_get_adjust_watermarks(sa_stream_t *s, sa_adjust_t *direction))
-+UNSUPPORTED(int sa_stream_get_state(sa_stream_t *s, sa_state_t *state))
-+UNSUPPORTED(int sa_stream_get_event_error(sa_stream_t *s, sa_error_t *error))
-+UNSUPPORTED(int sa_stream_get_event_notify(sa_stream_t *s, sa_notify_t *notify))
-+UNSUPPORTED(int sa_stream_read(sa_stream_t *s, void *data, size_t nbytes))
-+UNSUPPORTED(int sa_stream_read_ni(sa_stream_t *s, unsigned int channel, void *data, size_t nbytes))
-+UNSUPPORTED(int sa_stream_write_ni(sa_stream_t *s, unsigned int channel, const void *data, size_t nbytes))
-+UNSUPPORTED(int sa_stream_pwrite(sa_stream_t *s, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence))
-+UNSUPPORTED(int sa_stream_pwrite_ni(sa_stream_t *s, unsigned int channel, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence))
-+UNSUPPORTED(int sa_stream_get_read_size(sa_stream_t *s, size_t *size))
-+UNSUPPORTED(int sa_stream_drain(sa_stream_t *s))
-
--#endif // (SOUND_VERSION > SUPP_OSS_VERSION)
-+const char *sa_strerror(int code) { return NULL; }
-+
-+#endif
diff --git a/www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h b/www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h
deleted file mode 100644
index 0ba003a7c..000000000
--- a/www/firefox3-devel/files/patch-media_liboggplay_src_liboggplay_std_semaphore.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/liboggplay/src/liboggplay/std_semaphore.h.orig 2008-11-24 20:59:17.000000000 +0000
-+++ media/liboggplay/src/liboggplay/std_semaphore.h 2008-11-24 20:59:29.000000000 +0000
-@@ -34,7 +34,7 @@
-
- #ifndef _STD_SEMAPHORE_H
- #define _STD_SEMAPHORE_H
--#if defined(linux)
-+#if defined(linux) || defined(__FreeBSD__)
- #include <semaphore.h>
- #define SEM_CREATE(p,s) sem_init(&(p), 1, s)
- #define SEM_SIGNAL(p) sem_post(&(p))
diff --git a/www/firefox3-devel/files/patch-media_liboggz_include_oggz_oggz_off_t_generated.h b/www/firefox3-devel/files/patch-media_liboggz_include_oggz_oggz_off_t_generated.h
deleted file mode 100644
index 614456a9d..000000000
--- a/www/firefox3-devel/files/patch-media_liboggz_include_oggz_oggz_off_t_generated.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/liboggz/include/oggz/oggz_off_t_generated.h.orig 2008-11-24 21:01:48.000000000 +0000
-+++ media/liboggz/include/oggz/oggz_off_t_generated.h 2008-11-24 21:16:57.000000000 +0000
-@@ -59,7 +59,7 @@
-
- #include <sys/types.h>
-
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined (__FreeBSD__)
- typedef off_t oggz_off_t;
- #else
- typedef loff_t oggz_off_t;
diff --git a/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk b/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
deleted file mode 100644
index c4ed8e5ba..000000000
--- a/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
+++ /dev/null
@@ -1,30 +0,0 @@
---- security/coreconf/FreeBSD.mk.orig 2008-07-06 00:10:00.000000000 -0500
-+++ security/coreconf/FreeBSD.mk 2008-07-06 00:12:34.000000000 -0500
-@@ -45,8 +45,12 @@
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
-+ifeq ($(OS_TEST),amd64)
-+CPU_ARCH = amd64
-+else
- CPU_ARCH = x86
- endif
-+endif
-
- OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
-@@ -73,7 +77,7 @@
- DLL_SUFFIX = so.1.0
- endif
-
--MKSHLIB = $(CC) $(DSO_LDOPTS)
-+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
- ifdef MAPFILE
- MKSHLIB += -Wl,--version-script,$(MAPFILE)
- endif
-@@ -82,4 +86,4 @@
-
- G++INCLUDES = -I/usr/include/g++
-
--INCLUDES += -I/usr/X11R6/include
-+#INCLUDES += -I/usr/X11R6/include
diff --git a/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
deleted file mode 100644
index f30d12229..000000000
--- a/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- security/manager/ssl/src/nsNSSComponent.cpp.orig Mon May 29 23:10:54 2006
-+++ security/manager/ssl/src/nsNSSComponent.cpp Mon May 29 23:12:22 2006
-@@ -110,6 +110,7 @@
- #include "nss.h"
- #include "pk11func.h"
- #include "ssl.h"
-+#define NSS_ENABLE_ECC 1
- #include "sslproto.h"
- #include "secmod.h"
- #include "sechash.h"
diff --git a/www/firefox3-devel/files/patch-storage_build_Makefile.in b/www/firefox3-devel/files/patch-storage_build_Makefile.in
deleted file mode 100644
index 18202a5a6..000000000
--- a/www/firefox3-devel/files/patch-storage_build_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- storage/build/Makefile.in.orig Tue Feb 21 11:18:56 2006
-+++ storage/build/Makefile.in Sun Nov 5 16:16:06 2006
-@@ -77,6 +77,7 @@
- $(EXTRA_DSO_LIBS) \
- $(MOZ_COMPONENT_LIBS) \
- $(MOZ_JS_LIBS) \
-+ %%PTHREAD_LIBS%% \
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
diff --git a/www/firefox3-devel/files/patch-toolkit_mozapps_installer_packager.mk b/www/firefox3-devel/files/patch-toolkit_mozapps_installer_packager.mk
deleted file mode 100644
index 635c3c79c..000000000
--- a/www/firefox3-devel/files/patch-toolkit_mozapps_installer_packager.mk
+++ /dev/null
@@ -1,11 +0,0 @@
---- toolkit/mozapps/installer/packager.mk.orig 2007-09-26 13:45:01.000000000 -0400
-+++ toolkit/mozapps/installer/packager.mk 2007-09-26 13:47:29.000000000 -0400
-@@ -409,7 +409,7 @@
- (cd $(DIST)/sdk/include && tar $(TAR_CREATE_FLAGS) - .) | \
- (cd $(DESTDIR)$(includedir)/stable && tar -xf -)
- # The dist/include has module subdirectories that we need to flatten
-- find $(DIST)/include -xtype f -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \;
-+ find $(DIST)/include -type f -o -type l -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \;
- # IDL directory is stable (dist/sdk/idl) and unstable (dist/idl)
- $(NSINSTALL) -D $(DESTDIR)$(idldir)/stable
- $(NSINSTALL) -D $(DESTDIR)$(idldir)/unstable
diff --git a/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in b/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in
deleted file mode 100644
index 4a9c8533a..000000000
--- a/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in
+++ /dev/null
@@ -1,8 +0,0 @@
---- toolkit/xre/Makefile.in.orig 2007-09-10 10:31:53.000000000 -0400
-+++ toolkit/xre/Makefile.in 2007-09-10 10:35:00.000000000 -0400
-@@ -263,5 +263,3 @@
- libs:: platform.ini
- $(INSTALL) $^ $(DIST)/bin
-
--install::
-- $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
diff --git a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc b/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
deleted file mode 100644
index 9a41bbfc4..000000000
--- a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc Tue Jun 15 12:52:36 2004
-@@ -8,7 +8,7 @@
- * 1 is AddRef
- * 2 is Release
- */
--#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
-+#if !defined(__ia64)
- NS_IMETHOD Stub3();
- NS_IMETHOD Stub4();
- NS_IMETHOD Stub5();
diff --git a/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in b/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
deleted file mode 100644
index b1aa7ce6c..000000000
--- a/www/firefox3-devel/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
+++ /dev/null
@@ -1,63 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in
-@@ -70,6 +70,9 @@
- ifeq (Darwin,$(OS_ARCH))
- DEFINES += -DKEEP_STACK_16_BYTE_ALIGNED
- endif
-+ifeq (x86_64,$(OS_TEST))
-+CPPSRCS := xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
-+endif
- endif
- endif
- #
-@@ -87,7 +90,7 @@
- endif
- endif
- # IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
- ifneq (,$(findstring ia64,$(OS_TEST)))
- CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
- ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -150,9 +153,15 @@
- ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
- endif
- #
-+# FreeBSD/Alpha
-+#
-+ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDalpha)
-+CPPSRCS := xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp
-+endif
-+#
- # Linux/Alpha
- #
--ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
-+ifneq (,$(filter Linuxalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
- endif
- #
-@@ -311,7 +320,7 @@
- #
- # Linux/PPC
- #
--ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc)
-+ifneq (,$(filter Linuxpowerpc FreeBSDpowerpc,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
- ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
- AS := $(CC) -c -x assembler-with-cpp
-@@ -389,6 +398,15 @@
- ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
- endif
- #
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),FreeBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES := xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solaris.s
-+endif
-+endif
-+#
- # OpenBSD/SPARC
- #
- ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc)
diff --git a/www/firefox3-devel/pkg-descr b/www/firefox3-devel/pkg-descr
deleted file mode 100644
index 4bdeb9118..000000000
--- a/www/firefox3-devel/pkg-descr
+++ /dev/null
@@ -1,13 +0,0 @@
-Mozilla Firefox is a free and open source web browser descended from the
-Mozilla Application Suite.It is small, fast and easy to use, and offers many
-advanced features:
-
- o Popup Blocking
- o Tabbed Browsing
- o Live Bookmarks (ie. RSS)
- o Extensions
- o Themes
- o FastFind
- o Improved Security
-
-WWW: http://www.mozilla.com/firefox
diff --git a/www/firefox3-devel/pkg-message b/www/firefox3-devel/pkg-message
deleted file mode 100644
index 5c9d24b32..000000000
--- a/www/firefox3-devel/pkg-message
+++ /dev/null
@@ -1,32 +0,0 @@
-======================================================================
-
-SMB issues:
-Network group, machine, and share browsing does not work correctly.
-
-SFTP:
-Only sftp access using public key authentication works. To easily
-setup public key authentication to "remote_host":
-
-ssh-keygen -t dsa
-cat ~/.ssh/id_dsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"
-
-The SSH sever on remote_host must allow pub key authentication.
-
-======================================================================
-
-Any bug reports should be addressed to the maintainers at:
- gnome@FreeBSD.org
-You may also Cc: freebsd-ports@FreeBSD.org. Please do not send
-bug reports to any other addresses.
-
-Please include the following information with any bug report:
-* Output from 'uname -a'.
-* Date/time stamp from www/firefox-devel/Makefile.
-* Where/when did the problem occur: configuring, building, or
- running firefox
-* How can you reproduce the problem?
-
-Thank you for your help in testing and reporting bugs, and we hope you
-enjoy using Firefox.
-The Maintainers (gnome@)
-======================================================================