the Fink project is an effort to port
popular Unix programs to Mac OS X
Info3: <<
Package: tenfourfox9
Version: 9.0.1
Revision: 2
Distribution: 10.4, 10.5
Architecture: powerpc
Description: Port of Firefox 9 to 10.4 and PowerPC
License: OSI-Approved
Maintainer: David Fang
Depends: <<
# bzip2-shlibs,
# fontconfig2-shlibs (>= 2.4.1-1),
# freetype219-shlibs (>= 2.3.7-7),
glib2-shlibs (>= 2.14.0-1),
libgettext8-shlibs
<<
BuildConflicts: <<
freetype,
freetype-hinting,
freetype2-dev,
freetype219,
nspr
<<
# bdep:git is temporary until patch supports git binary diffs (base-85)
BuildDepends: <<
autoconf2.13-legacy,
bzip2-dev,
# dbus-dev,
fink (>= 0.28-1),
fink-package-precedence,
flag-sort,
# fontconfig2-dev (>= 2.4.1-1),
# freetype219 (>= 2.3.7-7),
# gcc4.2 (>= 4.2.1-5574),
glib2-dev (>= 2.14.0-1),
git,
# patch (>= 2.6.1-0),
libgettext8-dev,
libidl2 (>= 0.8.9-1),
libjpeg8,
make,
pkgconfig (>= 0.21-1),
python (>= 2.5),
system-openssl-dev,
system-sdk-10.4
<<
Conflicts: tenfourfox, tenfourfox5, tenfourfox6, tenfourfox7, tenfourfox8, tenfourfox10, tenfourfox11, tenfourfox12, tenfourfox13, tenfourfox14, tenfourfox15, tenfourfox16, tenfourfox17, tenfourfox18, tenfourfox19, tenfourfox20
Replaces: tenfourfox, tenfourfox5, tenfourfox6, tenfourfox7, tenfourfox8, tenfourfox10, tenfourfox11, tenfourfox12, tenfourfox13, tenfourfox14, tenfourfox15, tenfourfox16, tenfourfox17, tenfourfox18, tenfourfox19, tenfourfox20
Source: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%v/source/firefox-%v.source.tar.bz2
SourceDirectory: mozilla-release
Source-MD5: 7cf2bd379792a9b232267c6a79680566
Source2: http://tenfourfox.googlecode.com/files/TenFourFox9-changesets-20111227.zip
Source2-MD5: 885ffbf753ae752eb8e29d071df0321d
Source3: http://tenfourfox.googlecode.com/files/ldx3.zip
Source3-MD5: 849c5bc88f06387bbd2040cf804204e7
Source4: http://tenfourfox.googlecode.com/files/tenfourfox-quicktime-enabler-alpha114.xpi
Source4-MD5: 4ca05fce34f71ce0cd39e45532421752
PatchFile: %n.patch
PatchFile-MD5: f40400ab3774c92e72694d1ed056de6a
PatchScript: <<
#!/bin/sh -ev
# apply patchset from TenFourFox:
patch='git apply -v -C3 -p1'
# still doesn't quite work
# patch='%p/bin/patch -F2 --verbose -p1 -i'
for f in ../9exports/*
do
echo "Patching in changeset $f ..."
$patch $f || { echo "... patch $f failed." ; patch_err=1 ;}
done
test -z "$patch_err" || { echo "Patch error above. Aborting." ; exit 1;}
### apply the patch
echo "Applying patch %{PatchFile} ..."
/usr/bin/sed -e 's|@FINKPREFIX@|%p|g' \
-e 's|@FINK_ARCH_TARGET@|%m|g' \
< %{PatchFile} | /usr/bin/patch -p1
# some patches were difficult to apply, so we sed them instead
sed -i.orig2 -e '/MKSHLIB=/s| \$(CXXFLAGS)||' \
-e '/MKCSHLIB=/s| \$(CFLAGS)||' configure.in
sed -i.orig2 -e '/^default all::/,/^endif # SUPPRESS_DEFAULT_RULES/s|\$(MAKE)|+&|' config/rules.mk
cp config/rules.mk js/src/config/
# leave @executable_path alone and take care of adjusting install_names
# between build and install, below.
# configure inputs were patched, hence regeneration
export PATH=%p/lib/autoconf2.13/bin:$PATH
autoconf
# new Xcode 3 linker (2.5's does not suffice)
mkdir -p opt-bin
pushd opt-bin
ln -s /usr/bin/ld ld32
ln -s ../../ldx3 .
# darwin9 only: python with hacked environment
# b/c python requires run-time M_D_T to be consistent with build-time
# the rest of the build should use M_D_T=10.4
this_dist=`sw_vers -productVersion | cut -d. -f1-2`
if test $this_dist = 10.5
then
realpy=`which python`
echo "#!/bin/sh -e" > python
echo "export MACOSX_DEPLOYMENT_TARGET=$this_dist" >> python
echo "exec $realpy \"\$@\"" >> python
chmod +x python
echo "PYTHON=%b/opt-bin/python" >> ../.mozconfig
# and then force python-wrapped gcc calls back to M_D_T=10.4
echo "#!/bin/sh -e" > MDT10.4
echo "export MACOSX_DEPLOYMENT_TARGET=10.4" >> MDT10.4
echo "exec \"\$@\"" >> MDT10.4
chmod +x MDT10.4
sed -i.orig -e '/^GCC_PREFIX=/s|flag-sort|MDT10.4 &|' ../.mozconfig
fi
popd
sed -e '/^#/!s|/usr/bin|%b/opt-bin|' SHIM.ld > opt-bin/ld
chmod +x opt-bin/ld
# enable processor-specific optimization and tuning
for f in *.mozcfg
do
sed -i.orig -e '/AUTOCONF/s|autoconf213|autoconf|' \
-e '/MOZ_MAKE_FLAGS/s|^|# |' \
-e '/MOZ_OBJDIR/s|^|# |' $f
done
# .mozconfig will dispatch the right CPU.mozcfg
cpu=`machine`
case $cpu in
ppc750) alt=G3 ;;
ppc7400) alt=G4 ;;
ppc7450) alt=G4e ;;
ppc970) alt=G5 ;;
esac
sed -i.orig -e "/OPTIMIZED_FOR/s|Debugging|$cpu ($alt)|" netwerk/protocol/http/OptimizedFor.h
echo "%n-%v-%r build tuned for $cpu ($alt)" > BUILD.OPTIMIZATION
<<
# even on 10.5
SetMACOSX_DEPLOYMENT_TARGET: 10.4
SetLDFLAGS: -L%p/lib/system-openssl/lib
SetCPPFLAGS: -I%p/lib/system-openssl/include -I%p/include -I/usr/X11R6/include
GCC: 4.0
UseMaxBuildJobs: true
CompileScript: <<
#!/bin/sh -ev
# /usr/bin/make crashes (bug)
make=%p/bin/make
# provide an executable script to launch .app
{ echo "#!/bin/sh -ev" ; \
echo "open -a %p/Applications/TenFourFox.app \"$@\"" ;} > tenfourfox
chmod +x tenfourfox
export LD64=1
export PATH=%b/opt-bin:%p/lib/autoconf2.13/bin:$PATH
export PKG_CONFIG_PATH=%p/lib/system-openssl/lib/pkgconfig:$PKG_CONFIG_PATH
$make -w -f client.mk build
objdir=obj-%m-apple-darwin`uname -r`
pushd $objdir
fink-package-precedence --headers --depfile-ext=.pp .
fink-package-precedence --libs .
popd
<<
# AppBundles: UninstalledAppDir/TenFourFox.app
InstallScript: <<
#!/bin/sh -ev
objdir=obj-%m-apple-darwin`uname -r`
ln -s $objdir/dist UninstalledAppDir
make=%p/bin/make
# fake AppBundle installation b/c app dir contains symlinks to builddir
mkdir -p %i/bin
mkdir -p %i/Applications
cp tenfourfox %i/bin
cp -p -R -L UninstalledAppDir/TenFourFox.app %i/Applications
# now hack the install_names of private shlibs to appease validator
# and then change them back during post-install.
pkg_path=Applications/TenFourFox.app/Contents/MacOS
pushd %i/$pkg_path
for f in *.dylib
do install_name_tool -id %p/$pkg_path/$f $f
done
popd
<<
PostInstScript: <<
# restore original install_names of shlibs
pkg_path=Applications/TenFourFox.app/Contents/MacOS
pushd %p/$pkg_path
for f in *.dylib
do install_name_tool -id @executable_path/$f $f
done
popd
mkdir -p /Applications/Fink
pushd /Applications/Fink
ln -s %p/Applications/TenFourFox.app .
popd
<<
PreRmScript: <<
rm -f /Applications/Fink/TenFourFox.app
<<
DocFiles: LEGAL LICENSE README.txt toolkit/content/license.html BUILD.OPTIMIZATION
# shlibs are all private for now, until there is actual interest in them
Shlibs: <<
!%p/Applications/TenFourFox.app/Contents/MacOS/libfreebl3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozalloc.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozsqlite3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozutils.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnspr4.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnss3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnssckbi.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnssdbm3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnssutil3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libplc4.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libplds4.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libplugin_child_interpose.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libsmime3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libsoftokn3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libssl3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libxpcom.dylib
<<
Homepage: http://www.tenfourfox.com/
DescDetail: <<
"Mozilla left you. Apple left you. But we didn't."
TenFourFox is a port of Firefox 4 for PowerPC Macs.
A separate port is necessary because upstream no longer supports
10.4, nor PowerPC.
This packaging is also good for 10.5/ppc.
<<
DescUsage: <<
command line: %p/bin/tenfourfox
or drag %p/Applications/TenFourFox.app onto your dock for an icon.
<<
DescPackaging: <<
For the most part, follow's upstream's instructions for building.
http://code.google.com/p/tenfourfox/wiki/HowToBuild
Uses default toolkit cairo-cocoa, instead of gtk+2.
Uses Mozilla's own mozcairo instead of fink's cairo.
SplitOffs have been punted until there is actual interest.
Uses system-openssl instead of fink's openssl.
Python is only needed at build-time.
Doesn't seem to use fontconfig anywhere.
Mozilla ships its own freetype module, even though configure detects
/usr/X11R6/bin/freetype-config, doesn't seem to use it anywhere:
config.status shows @FT2_CONFIG@, @FT2_CFLAGS@, @FT2_LIBS@ pointing
to system's freetype, @FT2_LIBS@ is referenced in gfx/thebes/Makefile
and toolkit/library/Makefile, yet it *never* appears in the build log.
otool -L doesn't find any linking to ANY freetype/fontconfig,
not even system's.
I suspect only the gtk+2 toolkit uses it.
I've added it to BuildConflicts to be safe.
<<
DescPort: <<
All the hard work is done by the developers of TenFourFox,
led by Cameron Kaiser.
Bunch of patches to rules.mk and client.mk are for enabling
parallel builds to share the same jobserver as the master/parent
make, so recursive instances of make benefit from -jN MAKEFLAGS.
Compiling on darwin9 (10.5) was a big pain (MACOSX_DEPLOYMENT_TARGET):
M_D_T needed to be set to 10.4 to use the 10.4 SDK.
Python scripts (wrappers) however need M_D_T equal to that with which
python was built, which happens to be 10.5.
M_D_T was overriden in wrapped calls to python, but then gcc
needed the outermost M_D_T, so CC/CXX were wrapped in yet
another layer of M_D_T.
Using system-provided libraries:
--------------------------------
. system-png cannot be used because it lacks APNG (upstream won't include it)
. system-sqlite needs >= 3.6.23.1, but with extra options compiled in.
Using fink-provided libraries:
--------------------------------
TODO: experiment with the following:
--with-libIDL-prefix=%p
--with-glib-prefix=%p
--with-system-nspr --with-nspr-prefix=%p
--with-system-zlib=
--with-system-bz2=
--with-system-png=
--with-java-include-path=
--with-java-bin-path=
--enable-system-hunspell
--enable-system-pixman
<<
<<
--- /dev/null
+++ mozilla-release/.mozconfig 2009-04-27 16:56:30.000000000 -0400
@@ -0,0 +1,66 @@
+# sh
+# Build configuration script
+#
+# See https://developer.mozilla.org/en/Configuring_Build_Options for build options.
+# and http://code.google.com/p/tenfourfox/wiki/HowToBuildNow
+
+# default to G3 if unknown
+tune=G3
+case `machine` in
+ ppc750) tune=G3 ;;
+ ppc7400) tune=G4-7400 ;;
+ ppc7450) tune=G4-7450 ;;
+ ppc970) tune=G5 ;;
+esac
+. $topsrcdir/$tune.mozcfg
+
+# This is already called inside the above config:
+# . $topsrcdir/browser/config/mozconfig
+
+# Options for client.mk.
+# environment variables to set
+
+mk_add_options MOZ_OBJDIR=$topsrcdir/obj-@FINK_ARCH_TARGET@-apple-darwin`uname -r`
+#mk_add_options AUTOCONF=autoconf
+
+# compiler wrappers
+GCC_PREFIX="flag-sort"
+GCC_EXEC_OVERRIDE="-B$topsrcdir/opt-bin"
+CC="$GCC_PREFIX $CC $GCC_EXEC_OVERRIDE"
+CXX="$GCC_PREFIX $CXX $GCC_EXEC_OVERRIDE"
+
+ac_add_options --target=@FINK_ARCH_TARGET@-apple-darwin`uname -r`
+#ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.4u.sdk
+#HOST_CC="$CC"
+#HOST_CXX="$CXX"
+#RANLIB=/usr/bin/ranlib
+#AR=/usr/bin/ar
+#AS=$CC
+#LD="$GCC_EXEC_OVERRIDE/ld"
+#STRIP="strip -x -S"
+#CROSS_COMPILE=1
+
+# Options for 'configure' (same as command-line options).
+ac_add_options --prefix=@FINKPREFIX@
+#ac_add_options --enable-official-branding
+#ac_add_options --enable-default-toolkit=cairo-gtk2
+#ac_add_options --x-libraries=/usr/X11R6/lib
+#ac_add_options --x-includes=/usr/X11R6/include
+#ac_add_options --disable-gnomevfs
+#ac_add_options --disable-gnomeui
+#ac_add_options --enable-dbus
+#ac_add_options --enable-extensions=default,-gnomevfs
+
+#ac_add_options --disable-dependency-tracking
+#ac_add_options --disable-crashreporter
+#ac_add_options --disable-ipc
+ac_add_options --disable-necko-wifi
+
+#ac_add_options --disable-debug
+#ac_add_options --disable-tests
+#ac_add_options --enable-strip
+#ac_add_options --enable-macos-target=10.4
+#ac_add_options --with-default-mozilla-five-home=@FINKPREFIX@/lib/firefox5
+ac_add_options --with-system-jpeg=@FINKPREFIX@
+ac_add_options --disable-system-cairo
+ac_add_options --disable-system-sqlite
diff -ruN mozilla-release-orig/browser/locales/generic/profile/bookmarks.html.in mozilla-release/browser/locales/generic/profile/bookmarks.html.in
--- mozilla-release-orig/browser/locales/generic/profile/bookmarks.html.in 2009-04-23 21:46:37.000000000 -0400
+++ mozilla-release/browser/locales/generic/profile/bookmarks.html.in 2009-04-27 16:56:30.000000000 -0400
@@ -15,6 +15,7 @@