mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 05:43:50 +03:00
* 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
This commit is contained in:
parent
cc87524f17
commit
5ef6c2a34e
@ -13,22 +13,40 @@ ac_add_options --enable-strip
|
|||||||
ac_add_options --enable-default-toolkit=gtk2
|
ac_add_options --enable-default-toolkit=gtk2
|
||||||
#ac_add_options --disable-shared
|
#ac_add_options --disable-shared
|
||||||
#ac_add_options --enable-static
|
#ac_add_options --enable-static
|
||||||
|
#ac_add_options --with-system-jpeg
|
||||||
|
#ac_add_options --with-system-png
|
||||||
|
#ac_add_options --with-system-zlib
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
postInstall=postInstall
|
||||||
|
postInstall() {
|
||||||
|
|
||||||
|
# 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 .
|
||||||
|
|
||||||
|
# Register extension etc.
|
||||||
|
echo "running firefox -register..."
|
||||||
|
(cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
|
||||||
|
|
||||||
|
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"
|
makeFlags="-f client.mk build"
|
||||||
|
|
||||||
genericBuild
|
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 .
|
|
||||||
|
@ -12,4 +12,6 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [pkgconfig gtk perl zip libIDL libXi];
|
buildInputs = [pkgconfig gtk perl zip libIDL libXi];
|
||||||
|
|
||||||
|
patches = [./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
|
Loading…
Reference in New Issue
Block a user