diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2004-10-05 19:54:56 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2004-10-05 19:54:56 +0000 |
commit | 5ef6c2a34e1480e11e04dde7a67d36fce9f6a242 (patch) | |
tree | 9ca953d6bf5428d736288861475c779c8de5bf1e /pkgs/applications/networking | |
parent | cc87524f17ac9524585d9d025dcf160fcf25a59e (diff) | |
download | nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.tar nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.tar.gz nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.tar.bz2 nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.tar.lz nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.tar.xz nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.tar.zst nixlib-5ef6c2a34e1480e11e04dde7a67d36fce9f6a242.zip |
* Extensions now work properly. The extensions datasource etc. are
now generated at build time (it turns out to be possible to do that non-interactively, after all). * Fixed creation of the bookmarks file (and other stuff) when creating a new profile. When a new profile is created, it's copied from a default profile which is part of the Firefox installation. However, since the default profile directory is in the Nix store, it's read-only. Firefox keeps the read-only permission when copying the profile, so creating files in it (such as adding the bookmarks file) fails. The `writable-copies' patch is a quick hack that adds write permission when copying files/directories. svn path=/nixpkgs/trunk/; revision=1542
Diffstat (limited to 'pkgs/applications/networking')
3 files changed, 55 insertions, 12 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/builder.sh b/pkgs/applications/networking/browsers/firefox/builder.sh index d53ff776a156..b025a71d4253 100644 --- a/pkgs/applications/networking/browsers/firefox/builder.sh +++ b/pkgs/applications/networking/browsers/firefox/builder.sh @@ -13,22 +13,40 @@ ac_add_options --enable-strip ac_add_options --enable-default-toolkit=gtk2 #ac_add_options --disable-shared #ac_add_options --enable-static +#ac_add_options --with-system-jpeg +#ac_add_options --with-system-png +#ac_add_options --with-system-zlib EOF } -makeFlags="-f client.mk build" +postInstall=postInstall +postInstall() { -genericBuild + # Strip some more stuff + strip -S $out/lib/*/* || true + + # We don't need this (do we?) + rm -rf $out/include + + # This fixes starting Firefox when there already is a running + # instance. The `firefox' wrapper script actually expects to be + # in the same directory as `run-mozilla.sh', apparently. + cd $out/bin + mv firefox ../lib/firefox-*/ + ln -s ../lib/firefox-*/firefox . -# Strip some more stuff -strip -S $out/lib/*/* || true + # Register extension etc. + echo "running firefox -register..." + (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./firefox-bin -register) || false -# We don't need this (do we?) -rm -rf $out/include + echo "running regxpcom..." + (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regxpcom) || false + + echo "running regchrome..." + (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regchrome) || false + +} + +makeFlags="-f client.mk build" -# This fixes starting Firefox when there already is a running -# instance. The `firefox' wrapper script actually expects to be in -# the same directory as `run-mozilla.sh', apparently. -cd $out/bin -mv firefox ../lib/firefox-*/ -ln -s ../lib/firefox-*/firefox . +genericBuild diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index eafbf4e425d1..f100b270f940 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -12,4 +12,6 @@ stdenv.mkDerivation { }; buildInputs = [pkgconfig gtk perl zip libIDL libXi]; + + patches = [./writable-copies.patch]; } diff --git a/pkgs/applications/networking/browsers/firefox/writable-copies.patch b/pkgs/applications/networking/browsers/firefox/writable-copies.patch new file mode 100644 index 000000000000..e3c7752c0310 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/writable-copies.patch @@ -0,0 +1,23 @@ +diff -rc mozilla-orig/xpcom/io/nsLocalFileUnix.cpp mozilla/xpcom/io/nsLocalFileUnix.cpp +*** mozilla-orig/xpcom/io/nsLocalFileUnix.cpp 2004-04-03 01:48:18.000000000 +0200 +--- mozilla/xpcom/io/nsLocalFileUnix.cpp 2004-10-05 19:48:04.000000000 +0200 +*************** +*** 634,639 **** +--- 634,640 ---- + // get the dirs old permissions + if (NS_FAILED(rv = GetPermissions(&oldPerms))) + return rv; ++ oldPerms |= 0200; + if (NS_FAILED(rv = newParent->Create(DIRECTORY_TYPE, oldPerms))) + return rv; + } else { // dir exists lets try to use leaf +*************** +*** 758,763 **** +--- 759,765 ---- + // get the old permissions + PRUint32 myPerms; + GetPermissions(&myPerms); ++ myPerms |= 0200; + + // Create the new file with the old file's permissions, even if write + // permission is missing. We can't create with write permission and |