chromium: Correct tools path in blink_idl_parser.

This is because of our symlink mess, as Chromium's build support scripts
are trying to resolve everything based on absolute paths and we split
off the bundled sources from the main derivation.

Yes, I'm refering to this as a mess, because in the end, we're going to
patch up the gyp files and use references someday.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium: Propagate browser's meta to the wrapper.

We obviously don't want the Hydra job of nixpkgs to fail, so we need to
make sure that we have a proper meta attribute on the outermost
derivation.

For builds based on the Chromium source tree (like for example libcef),
we can still move the wrapper elsewhere when we need it.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium: Revert back to copying bundled sources.

I'm giving up on this after several attempts to correctly unbundle the
largest part, namely Google's WebKit fork Blink. Right now it's so much
tied into the Chromium source it's going to be fairly hard to do if
you're not working full time on it.

Also, the intermediate steps needed to do this properly would introduce
uneccesary complexity on our side, so we really need to finish this
without leaving it in the "messy" state in order to not make Chromium
even more difficult to maintain than it is already.

However, anyone who wants to proceed on this messy step is free to
revert this commit and continue doing so. In my case I'm going to try
again once https://crbug.com/239107 and https://crbug.com/239181 are
fixed in _stable_ (I don't want to introduce *lots* of conditionals on
the version either).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium: Properly pass packageName and version.

We don't want ta have the source derivation in the runtime dependencies
of the browser itself. Also, we've broken the Firefox wrapper, because
we've no longer exposed the packageName attribute.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
v8: Bring back old version 3.14.

The current version of v8 breaks builds of nodejs, mongodb and
rethinkdb. So let's bring back the old package with annoying _3_14
version suffix so hopefully the corresponding maintainers will get rid
of that dependency :-)

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium: Move source package into own subdir.

Next, we're going to refactor update.sh and the first step is to ensure
that we keep everything related to sources into its own subdirectory to
not clutter up the main directory too much.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium: Remove URL in sources.nix and updater.

The updater is now splitted between a shellscript and a Nix expression
file which contains helpers and lookup functions to reconstruct all
information needed in order to fetch the source tarballs.

This means, that the sources.nix now doesn't contain URLs and only
versions and the corresponding SHA256 hashes. Of course, right now this
sounds like it's unnecessary, but we're going to fetch binaries soon so
it's a good idea to not unnecessarily clutter up sources.nix.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium/update: Update Debian binaries as well.

This cases the Debian binaries to be fetched from Google's official APT
repository. If we aren't able to find a package from the APT repository,
it's very likely that it already got deleted upstream and we need to
fallback to mirrors instead.

Unfortunately, we can't use mirrors for updating, because Google doesn't
sign the Debian packages themselves and only the release files.

We're going to hook it into a Chromium updater soon, making the sha256
hashes publicly available, so if it is missing, we can still put the
sha256 manually into sources.nix, without risking anything by blindly
fetching from one of the provided mirrors.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium/plugins: Use Debian package from sources.

This now uses the Debian package from the sources derivation instead of
hardcoding it, so we finally should have proper PepperAPI plugin support
without crashing plugins and whatnot.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
libopus: Allow to enable custom modes.

The reason I'm not making this the default is because it seems to add
complexity and degrades performance of the library. For details have a
look at this lengthy discussion at:

https://bugs.debian.org/686777

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
chromium: Factor out common build attributes.

This results in a new function called mkChromiumDerivation, which can be
used to easily build packages that are based on the Chromium source
tree.

We pass through this function as mkDerivation in the chromium wrappre,
so in the end if you want to create such a package, something like:

chromium.mkDerivation (base: {
  name = "your-shiny-package-based-on-chromium";
  ...
})

will suffice.

Of course, this is only the first step towards this functionality,
because right now I'm not even sure the Chromium browser itself will
build.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Merge pull request #1507 from offlinehacker/pkgs/node_webkit/add

Add node-webkit, app runtime based on Chromium and node.js
chromium: Prefer local build on source derivation.

It doesn't make sense to do the splitting of the source code on a remote
machine, so don't try to do it.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Disable predictable interface names in tests

Apparently systemd is now smart enough to figure out predictable names
for QEMU network interfaces. But since our tests expect them to be
named eth0/eth1..., this is not desirable at the moment.

http://hydra.nixos.org/build/10418789
setuid-wrapper.c: Remove tabs
setuid-wrapper: Drop runtime dependency on setuid-wrapper.c
setuid-wrapper: Fix broken string comparison
new package: muffin
node_webkit: fix hash for i686-linux
Dillo: new package

Dillo is a lightweight, fast web browser.