Merge branch 'master' into x-updates

Conflicts (a little tricky, I did some cleanup of interacting changes):
	pkgs/development/compilers/llvm/default.nix
	pkgs/development/libraries/libpng/default.nix
	pkgs/tools/package-management/nixops/default.nix
	pkgs/top-level/all-packages.nix
This commit is contained in:
Vladimír Čunát 2013-08-02 18:28:29 +02:00
commit 625f40151b
829 changed files with 16817 additions and 13395 deletions

View File

@ -237,12 +237,12 @@ fetchurl {
<function>fetchurl</function> will first try to download this file
from <link
xlink:href="http://nixos.org/tarballs/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
If that file doesnt exist, it will try the original URL. In
general, the “content-addressed” location is
<replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
There is currently only one content-addressable mirror (<link
xlink:href="http://nixos.org/tarballs"/>), but more can be
xlink:href="http://tarballs.nixos.org"/>), but more can be
specified in the <varname>hashedMirrors</varname> attribute in
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable

View File

@ -51,15 +51,21 @@ print STDERR "unpacked to: $pkg_path\n";
my $meta;
if (-e "$pkg_path/META.yml") {
eval {
$meta = YAML::XS::LoadFile("$pkg_path/META.yml");
$meta = YAML::XS::LoadFile("$pkg_path/META.yml");
};
if ($@) {
system("iconv -f windows-1252 -t utf-8 '$pkg_path/META.yml' > '$pkg_path/META.yml.tmp'");
$meta = YAML::XS::LoadFile("$pkg_path/META.yml.tmp");
system("iconv -f windows-1252 -t utf-8 '$pkg_path/META.yml' > '$pkg_path/META.yml.tmp'");
$meta = YAML::XS::LoadFile("$pkg_path/META.yml.tmp");
}
} elsif (-e "$pkg_path/META.json") {
local $/;
open(my $fh, '<', "$pkg_path/META.json") or die;
$meta = decode_json(<$fh>);
} else {
warn "package has no META.yml or META.json\n";
}
print STDERR "metadata: ", encode_json($meta), "\n";
print STDERR "metadata: ", encode_json($meta), "\n" if defined $meta;
# Map a module to the attribute corresponding to its package
# (e.g. HTML::HeadParser will be mapped to HTMLParser, because that
@ -120,11 +126,13 @@ my $homepage = $meta->{resources}->{homepage};
print STDERR "homepage: $homepage\n" if defined $homepage;
my $description = $meta->{abstract};
$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
$description =~ s/\.$//; # remove period at the end
$description =~ s/\s*$//;
$description =~ s/^\s*//;
print STDERR "description: $description\n";
if (defined $description) {
$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
$description =~ s/\.$//; # remove period at the end
$description =~ s/\s*$//;
$description =~ s/^\s*//;
print STDERR "description: $description\n";
}
my $license = $meta->{license};
if (defined $license) {
@ -156,7 +164,7 @@ EOF
print <<EOF if defined $homepage;
homepage = $homepage;
EOF
print <<EOF;
print <<EOF if defined $description;
description = "$description";
EOF
print <<EOF if defined $license;

View File

@ -0,0 +1,22 @@
{ stdenv, makeWrapper, perl, perlPackages }:
stdenv.mkDerivation {
name = "nixpkgs-lint-1";
buildInputs = [ makeWrapper perl perlPackages.XMLSimple ];
unpackPhase = "true";
buildPhase = "true";
installPhase =
''
mkdir -p $out/bin
cp ${./nixpkgs-lint.pl} $out/bin/nixpkgs-lint
wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB
'';
meta = {
maintainers = [ stdenv.lib.maintainers.eelco ];
description = "A utility for Nixpkgs contributors to check Nixpkgs for common errors";
};
}

View File

@ -0,0 +1,165 @@
#! /run/current-system/sw/bin/perl -w
use strict;
use List::Util qw(min);
use XML::Simple qw(:strict);
use Getopt::Long qw(:config gnu_getopt);
# Parse the command line.
my $path = "<nixpkgs>";
my $filter = "*";
my $maintainer;
sub showHelp {
print <<EOF;
Usage: $0 [--package=NAME] [--maintainer=REGEXP] [--file=PATH]
Check Nixpkgs for common errors/problems.
-p, --package filter packages by name (default is *)
-m, --maintainer filter packages by maintainer (case-insensitive regexp)
-f, --file path to Nixpkgs (default is <nixpkgs>)
Examples:
\$ nixpkgs-lint -f /my/nixpkgs -p firefox
\$ nixpkgs-lint -f /my/nixpkgs -m eelco
EOF
exit 0;
}
GetOptions("package|p=s" => \$filter,
"maintainer|m=s" => \$maintainer,
"file|f=s" => \$path,
"help" => sub { showHelp() }
)
or die("syntax: $0 ...\n");
# Evaluate Nixpkgs into an XML representation.
my $xml = `nix-env -f '$path' -qa '$filter' --xml --meta --drv-path`;
die "$0: evaluation of $path failed\n" if $? != 0;
my $info = XMLin($xml, KeyAttr => { 'item' => '+attrPath', 'meta' => 'name' }, ForceArray => 1, SuppressEmpty => '' ) or die "cannot parse XML output";
# Check meta information.
print "=== Package meta information ===\n\n";
my $nrBadNames = 0;
my $nrMissingMaintainers = 0;
my $nrMissingDescriptions = 0;
my $nrBadDescriptions = 0;
my $nrMissingLicenses = 0;
foreach my $attr (sort keys %{$info->{item}}) {
my $pkg = $info->{item}->{$attr};
my $pkgName = $pkg->{name};
my $pkgVersion = "";
if ($pkgName =~ /(.*)(-[0-9].*)$/) {
$pkgName = $1;
$pkgVersion = $2;
}
# Check the maintainers.
my @maintainers;
my $x = $pkg->{meta}->{maintainers};
if (defined $x && $x->{type} eq "strings") {
@maintainers = map { $_->{value} } @{$x->{string}};
} elsif (defined $x->{value}) {
@maintainers = ($x->{value});
}
if (defined $maintainer && scalar(grep { $_ =~ /$maintainer/i } @maintainers) == 0) {
delete $info->{item}->{$attr};
next;
}
if (scalar @maintainers == 0) {
print "$attr: Lacks a maintainer\n";
$nrMissingMaintainers++;
}
# Package names should not be capitalised.
if ($pkgName =~ /^[A-Z]/) {
print "$attr: package name $pkgName should not be capitalised\n";
$nrBadNames++;
}
if ($pkgVersion eq "") {
print "$attr: package has no version\n";
$nrBadNames++;
}
# Check the license.
if (!defined $pkg->{meta}->{license}) {
print "$attr: Lacks a license\n";
$nrMissingLicenses++;
}
# Check the description.
my $description = $pkg->{meta}->{description}->{value};
if (!$description) {
print "$attr: Lacks a description\n";
$nrMissingDescriptions++;
} else {
my $bad = 0;
if ($description =~ /^\s/) {
print "$attr: Description starts with whitespace\n";
$bad = 1;
}
if ($description =~ /\s$/) {
print "$attr: Description ends with whitespace\n";
$bad = 1;
}
if ($description =~ /\.$/) {
print "$attr: Description ends with a period\n";
$bad = 1;
}
if (index(lc($description), lc($attr)) != -1) {
print "$attr: Description contains package name\n";
$bad = 1;
}
$nrBadDescriptions++ if $bad;
}
}
print "\n";
# Find packages that have the same name.
print "=== Package name collisions ===\n\n";
my %pkgsByName;
foreach my $attr (sort keys %{$info->{item}}) {
my $pkg = $info->{item}->{$attr};
#print STDERR "attr = $attr, name = $pkg->{name}\n";
$pkgsByName{$pkg->{name}} //= [];
push @{$pkgsByName{$pkg->{name}}}, $pkg;
}
my $nrCollisions = 0;
foreach my $name (sort keys %pkgsByName) {
my @pkgs = @{$pkgsByName{$name}};
# Filter attributes that are aliases of each other (e.g. yield the
# same derivation path).
my %drvsSeen;
@pkgs = grep { my $x = $drvsSeen{$_->{drvPath}}; $drvsSeen{$_->{drvPath}} = 1; !defined $x } @pkgs;
# Filter packages that have a lower priority.
my $highest = min (map { $_->{meta}->{priority}->{value} // 0 } @pkgs);
@pkgs = grep { ($_->{meta}->{priority}->{value} // 0) == $highest } @pkgs;
next if scalar @pkgs == 1;
$nrCollisions++;
print "The following attributes evaluate to a package named $name:\n";
print " ", join(", ", map { $_->{attrPath} } @pkgs), "\n\n";
}
print "=== Bottom line ===\n";
print "Number of packages: ", scalar(keys %{$info->{item}}), "\n";
print "Number of bad names: $nrBadNames\n";
print "Number of missing maintainers: $nrMissingMaintainers\n";
print "Number of missing licenses: $nrMissingLicenses\n";
print "Number of missing descriptions: $nrMissingDescriptions\n";
print "Number of bad descriptions: $nrBadDescriptions\n";
print "Number of name collisions: $nrCollisions\n";

View File

@ -61,7 +61,7 @@ in
meta = {
homepage = "http://lly.org/~rcw/abcde/page/";
licence = "GPLv2+";
license = "GPLv2+";
description = "A Better CD Encoder (ABCDE)";
longDescription = ''

View File

@ -19,7 +19,7 @@ in
meta = {
homepage = http://lly.org/~rcw/cd-discid/;
licence = "GPLv2+";
license = "GPLv2+";
description = "cd-discid, a command-line utility to retrieve a disc's CDDB ID";
longDescription = ''
@ -28,4 +28,4 @@ in
abcde), but can be used for any purpose requiring CDDB data.
'';
};
}
}

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
src = fetchurl {
url = http://netcologne.dl.sourceforge.net/project/csound/csound5/csound5.18/Csound5.18.02.tar.gz;
url = mirror://sourceforge/csound/Csound5.18.02.tar.gz;
sha256 = "4c461cf3bf60b83671224949dd33805379b7121bf2c0ad6af5e191e7f6f8adc8";
};

View File

@ -1,22 +1,32 @@
{ stdenv, fetchurl, pkgconfig, gtk, libid3tag, id3lib, libvorbis, libogg, flac }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk, glib, libid3tag, id3lib, taglib
, libvorbis, libogg, flac
}:
let
version = "2.1.7";
sha256 = "bfed34cbdce96aca299a0db2b531dbc66feb489b911a34f0a9c67f2eb6ee9301";
in stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "easytag-${version}";
version = "2.1.8";
src = fetchurl {
url = "mirror://sourceforge/easytag/easytag-${version}.tar.bz2";
inherit sha256;
url = "mirror://gnome/sources/easytag/2.1/${name}.tar.xz";
sha256 = "1ab5iv0a83cdf07qzi81ydfk5apay06nxags9m07msqalz4pabqs";
};
buildInputs = [ pkgconfig gtk libid3tag id3lib libvorbis libogg flac ];
preConfigure = ''
# pkg-config v0.23 should be enough.
sed -i -e '/_pkg_min_version=0.24/s/24/23/' \
-e 's/have_mp3=no/have_mp3=yes/' \
-e 's/ID3TAG_DEPS="id3tag"/ID3TAG_DEPS=""/' configure
'';
NIX_LDFLAGS = "-lid3tag -lz";
buildInputs = [
pkgconfig intltool gtk glib libid3tag id3lib taglib libvorbis libogg flac
];
meta = {
description = "an utility for viewing and editing tags for various audio files";
homepage = http://http://easytag.sourceforge.net/;
license = stdenv.lib.licenses.gpl2;
description = "View and edit tags for various audio files";
homepage = "http://projects.gnome.org/easytag/";
license = stdenv.lib.licenses.gpl2Plus;
};
}
}

View File

@ -10,12 +10,24 @@ stdenv.mkDerivation rec {
sha256 = "1x73a5rsyvfmh1j0484kzgnk251q61g1g2jdja673l8fizi0xd24";
};
buildInputs = [ alsaLib glib jackaudio libsndfile pkgconfig pulseaudio ];
preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i '40 i\
#include <CoreAudio/AudioHardware.h>\
#include <CoreAudio/AudioHardwareDeprecated.h>' \
src/drivers/fluid_coreaudio.c
'';
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin
"-framework CoreAudio";
buildInputs = [ glib libsndfile pkgconfig ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jackaudio ];
meta = with stdenv.lib; {
description = "real-time software synthesizer based on the SoundFont 2 specifications";
homepage = http://www.fluidsynth.org;
license = licenses.lgpl2;
maintainers = [ maintainers.goibhniu ];
description = "Real-time software synthesizer based on the SoundFont 2 specifications";
homepage = http://www.fluidsynth.org;
license = licenses.lgpl2;
maintainers = with maintainers; [ goibhniu lovek323 ];
platforms = platforms.unix;
};
}

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "lingot-0.9.0";
src = fetchurl {
url = http://download.savannah.gnu.org/releases/lingot/lingot-0.9.0.tar.gz;
url = mirror://savannah/lingot/lingot-0.9.0.tar.gz;
sha256 = "07z129lp8m4sz608q409wb11c639w7cbn497r7bscgg08p6c07xb";
};

View File

@ -0,0 +1,38 @@
{stdenv, fetchurl}:
let
s = # Generated upstream information
rec {
baseName="mi2ly";
version="0.12";
name="${baseName}-${version}";
hash="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll";
url="http://download.savannah.gnu.org/releases/mi2ly/mi2ly.0.12.tar.bz2";
sha256="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll";
};
buildInputs = [
];
in
stdenv.mkDerivation {
inherit (s) name version;
inherit buildInputs;
src = fetchurl {
inherit (s) url sha256;
};
sourceRoot=".";
buildPhase = "./cc";
installPhase = ''
mkdir -p "$out"/{bin,share/doc/mi2ly}
cp mi2ly "$out/bin"
cp README Doc.txt COPYING Manual.txt "$out/share/doc/mi2ly"
'';
meta = {
inherit (s) version;
description = ''MIDI to Lilypond converter'';
license = stdenv.lib.licenses.gpl2Plus ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,3 @@
url http://download.savannah.gnu.org/releases/mi2ly/
ensure_choice
version '.*/mi2ly[.]([0-9.]+)[.]tar.*' '\1'

View File

@ -1,16 +1,15 @@
{ stdenv, fetchgit, pythonPackages, pygobject, gst_python
{ stdenv, fetchurl, pythonPackages, pygobject, gst_python
, gst_plugins_good, gst_plugins_base
}:
pythonPackages.buildPythonPackage rec {
name = "mopidy-${version}";
version = "0.14.1";
version = "0.14.2";
src = fetchgit {
url = "https://github.com/mopidy/mopidy.git";
rev = "refs/tags/v${version}";
sha256 = "0lgd8dpiri9m6sigpf1g1qzvz25lkb38lskgwvb8j7x64y104z0v";
src = fetchurl {
url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
sha256 = "0fqx7lk9g61d744b951cwx0szqbyji58dhw2ravnq9785nkhi7i4";
};
propagatedBuildInputs = with pythonPackages; [

View File

@ -1,14 +1,14 @@
{stdenv, fetchurl, alsaLib }:
stdenv.mkDerivation {
name = "mpg123-1.12.3";
name = "mpg123-1.15.4";
src = fetchurl {
url = mirror://sourceforge/mpg123/mpg123-1.12.3.tar.bz2;
sha256 = "1ij689s7jch3d4g0ja3jylaphallc8vgrsrm9b12254phnyy23xf";
url = mirror://sourceforge/mpg123/mpg123-1.15.4.tar.bz2;
sha256 = "05aizspky9mp1bq2lfrkjzrsnjykl7gkbrhn93xcarj5b2izv1b8";
};
buildInputs = [ alsaLib ];
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
crossAttrs = {
configureFlags = if stdenv.cross ? mpg123 then

View File

@ -1,4 +1,5 @@
{stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig}:
{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
, libiconvOrEmpty }:
stdenv.mkDerivation rec {
version = "0.5.10";
@ -9,14 +10,15 @@ stdenv.mkDerivation rec {
sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
};
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ];
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ]
++ libiconvOrEmpty;
meta = {
meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)";
homepage = http://unkart.ovh.org/ncmpcpp/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.mornfall ];
platforms = stdenv.lib.platforms.all;
homepage = http://unkart.ovh.org/ncmpcpp/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ lovek323 mornfall ];
platforms = platforms.all;
};
}

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "0.7.7";
src = fetchurl {
url = "http://savannah.nongnu.org/download/normalize/normalize-0.7.7.tar.gz";
url = "mirror://savannah/normalize/normalize-0.7.7.tar.gz";
sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0";
};

View File

@ -1,18 +1,18 @@
{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm, libsigcxx
, libglademm, libcanberra, intltool, gettext }:
{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm3
, libcanberra_gtk3, intltool, gettext }:
stdenv.mkDerivation rec {
name = "pavucontrol-1.0";
name = "pavucontrol-2.0";
src = fetchurl {
url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
sha256 = "1plcyrc7p6gqxjhxx2xh6162bkb29wixjrqrjnl9b8g3nrjjigix";
sha256 = "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2";
};
buildInputs = [ pkgconfig pulseaudio gtkmm libsigcxx libglademm libcanberra
buildInputs = [ pkgconfig pulseaudio gtkmm3 libcanberra_gtk3
intltool gettext ];
configureFlags = "--disable-lynx --disable-gtk3";
configureFlags = "--disable-lynx";
meta = {
description = "PulseAudio Volume Control";
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
easily control the volume of all clients, sinks, etc.
'';
homepage = http://0pointer.de/lennart/projects/pavucontrol/;
homepage = http://freedesktop.org/software/pulseaudio/pavucontrol/ ;
license = "GPLv2+";

View File

@ -0,0 +1,67 @@
{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
, pythonDBus, gst_python, gst_plugins_base, gst_plugins_good, gst_plugins_ugly }:
let version = "2.5"; in
buildPythonPackage {
# call the package quodlibet and just quodlibet
name = "quodlibet-${version}";
namePrefix = "";
# XXX, tests fail
doCheck = false;
src = [
(fetchurl {
url = "https://quodlibet.googlecode.com/files/quodlibet-${version}.tar.gz";
sha256 = "0qrmlz7m1jpmriy8bgycjiwzbf3annznkn4x5k32yy9bylxa7lwb";
})
(fetchurl {
url = "https://quodlibet.googlecode.com/files/quodlibet-plugins-${version}.tar.gz";
sha256 = "0kf2mkq2zk38626bn48gscvy6ir04f5b2z57ahlxlqy8imv2cjff";
})
];
sourceRoot = "quodlibet-${version}";
postUnpack = ''
# the patch searches for plugins in directory ../plugins
# so link the appropriate directory there
ln -sf quodlibet-plugins-${version} plugins
'';
patches = [ ./quodlibet-package-plugins.patch ];
buildInputs = [
gst_plugins_base gst_plugins_good gst_plugins_ugly
];
propagatedBuildInputs = [
mutagen pygtk pygobject pythonDBus gst_python
];
postInstall = ''
# Wrap quodlibet so it finds the GStreamer plug-ins
wrapProgram "$out/bin/quodlibet" --prefix \
GST_PLUGIN_PATH ":" \
"${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_plugins_ugly}/lib/gstreamer-0.10"
'';
meta = {
description = "Quod Libet is a GTK+-based audio player written in Python, using the Mutagen tagging library.";
longDescription = ''
Quod Libet is a GTK+-based audio player written in Python, using
the Mutagen tagging library. It's designed around the idea that
you know how to organize your music better than we do. It lets
you make playlists based on regular expressions (don't worry,
regular searches work too). It lets you display and edit any
tags you want in the file. And it lets you do this for all the
file formats it supports. Quod Libet easily scales to libraries
of thousands (or even tens of thousands) of songs. It also
supports most of the features you expect from a modern media
player, like Unicode support, tag editing, Replay Gain, podcasts
& internet radio, and all major audio formats.
'';
homepage = http://code.google.com/p/quodlibet/;
};
}

View File

@ -0,0 +1,18 @@
diff -Naur quodlibet-2.5.orig/setup.py quodlibet-2.5.new/setup.py
--- quodlibet-2.5.orig/setup.py 2012-12-19 08:47:41.000000000 +0000
+++ quodlibet-2.5.new/setup.py 2013-04-22 19:27:07.152631051 +0000
@@ -337,5 +338,14 @@
}
}
})
+ else:
+ from os.path import join
+
+ data_files = []
+ for type in ["playorder", "songsmenu", "editing", "events", "gstreamer"]:
+ data_files.append((join('quodlibet', 'plugins', type),
+ glob.glob(join('..', 'plugins', type, '*.py'))))
+ setup_kwargs.update({ 'data_files': data_files });
+
setup(**setup_kwargs)

View File

@ -27,7 +27,7 @@ let
in
rec {
src = fetchurl {
url = "http://downloads.sourceforge.net/snd/snd-${version}.tar.gz";
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
sha256 = "0zqgfnkvkqxby1k74mwba1r4pb520glcsz5jjmpzm9m41nqnghmm";
};

View File

@ -1,9 +1,9 @@
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng12, GConf, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer }:
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
let
version = "0.9.0.133";
version = "0.9.1.55";
qt4webkit =
if stdenv.system == "i686-linux" then
fetchurl {
@ -25,13 +25,13 @@ stdenv.mkDerivation {
src =
if stdenv.system == "i686-linux" then
fetchurl {
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gd18ed58.259-1_i386.deb";
sha256 = "15kbwll63pm99262f7xq1z0c5bwmk5cz46pkh8xd5xsqxlsvvv1n";
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_i386.deb";
sha256 = "1sls4gb85700126bbk4sz73ipa2rjcinmpnsi78q0bsdj365y2wc";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gd18ed58.259-1_amd64.deb";
sha256 = "0l3nikhf4hyj6z7639s668kd806730va005rwqcxvymxddcbcp03";
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_amd64.deb";
sha256 = "10pzj3p8bjbxh9nnm4qc5s1hn9nh7hgh3vbwm0xblj9rn71wl03y";
}
else throw "Spotify not supported on this platform.";
@ -73,7 +73,7 @@ stdenv.mkDerivation {
mkdir -p $out/libexec/spotify
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng12 cups libgcrypt sqlite gst_plugins_base gstreamer]}:$out/lib"
wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng cups libgcrypt sqlite gst_plugins_base gstreamer]}:$out/lib"
''; # */
dontStrip = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng, libXmu
, fontconfig, freetype, pam, dbus_libs }:
stdenv.mkDerivation rec {
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
];
buildInputs =
[ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
[ cmake pkgconfig x11 libjpeg libpng libXmu fontconfig freetype
pam dbus_libs
];

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "bvi-1.3.2";
src = fetchurl {
url = http://prdownloads.sourceforge.net/bvi/bvi-1.3.2.src.tar.gz;
url = mirror://sourceforge/bvi/bvi-1.3.2.src.tar.gz;
sha256 = "110wxqnyianqamxq4y53drqqxb9vp4k2fcvic45qggvlqkqhlfgz";
};

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation rec {
name = "dhex-${version}";
version = "0.68";
src = fetchurl {
url = "http://www.dettus.net/dhex/dhex_${version}.tar.gz";
sha256 = "126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08";
};
buildInputs = [ ncurses ];
installPhase = ''
ensureDir $out/bin
ensureDir $out/share/man/man1
ensureDir $out/share/man/man5
cp dhex $out/bin
cp dhex.1 $out/share/man/man1
cp dhexrc.5 $out/share/man/man5
cp dhex_markers.5 $out/share/man/man5
cp dhex_searchlog.5 $out/share/man/man5
'';
meta = {
description = "A themeable hex editor with diff mode";
homepage = http://www.dettus.net/dhex/;
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [qknight];
};
}

View File

@ -44,7 +44,7 @@ EOF
doCheck = true;
meta = {
meta = with stdenv.lib; {
description = "GNU Emacs 24, the extensible, customizable text editor";
longDescription = ''
@ -67,7 +67,7 @@ EOF
homepage = "http://www.gnu.org/software/emacs/";
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [ ludo simons chaoflow ];
platforms = stdenv.lib.platforms.all;
maintainers = with maintainers; [ chaoflow lovek323 ludo simons ];
platforms = platforms.all;
};
}

View File

@ -4,6 +4,7 @@ stdenv.mkDerivation {
name = "bbdb-2.35";
src = fetchurl {
# not using mirror:// because it produces a different file
url = http://bbdb.sourceforge.net/bbdb-2.35.tar.gz;
sha256 = "3fb1316e2ed74d47ca61187fada550e58797467bd9e8ad67343ed16da769f916";
};

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "color-theme-6.6.0";
src = fetchurl {
url = "http://download.savannah.gnu.org/releases/color-theme/${name}.tar.gz";
url = "mirror://savannah/color-theme/${name}.tar.gz";
sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn";
};

View File

@ -2,7 +2,7 @@
name = "cua-mode-2.10";
builder = ./builder.sh;
src = fetchurl {
url = http://nixos.org/tarballs/cua-mode-2.10.el;
url = http://tarballs.nixos.org/cua-mode-2.10.el;
md5 = "5bf5e43f5f38c8383868c7c6c5baca09";
};
}

View File

@ -1,15 +1,14 @@
{ stdenv, fetchurl, emacs }:
{ stdenv, fetchurl, emacs, texinfo }:
stdenv.mkDerivation rec {
name = "haskell-mode-2.9.1-102-g8d4b965";
name = "haskell-mode-13.07";
src = fetchurl {
url = "https://github.com/haskell/haskell-mode/tarball/8d4b9651a69b62fcbedbac63de29a1e87ff0e97f";
sha256 = "02sil43885xjbfqakrxkm7bjnjd930lx6845fc2rxmkq5plkq85a";
name = "${name}.tar.gz";
url = "https://github.com/haskell/haskell-mode/archive/v13.07.tar.gz";
sha256 = "15c8ncj9mykkrizy1a8l94gq37s8hj13v3p5rgyaj9z0cwgl85kx";
};
buildInputs = [emacs];
buildInputs = [ emacs texinfo ];
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "php-mode-1.5.0";
src = fetchurl {
url = "http://downloads.sourceforge.net/php-mode/${name}.tar.gz";
url = "mirror://sourceforge/php-mode/${name}.tar.gz";
sha256 = "1bffgg4rpiggxqc1hvjcby24sfyzj5728zg7r6f4v6a126a7kcfq";
};

View File

@ -4,8 +4,7 @@ stdenv.mkDerivation rec {
name = "session-management-for-emacs-2.2a";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/emacs-session/session/2.2a/session-2.2a.tar.gz";
# url = "mirror://sourceforge.net/sourceforge/emacs-session/session-2.2a.tar.gz";
url = "mirror://sourceforge/emacs-session/session-2.2a.tar.gz";
sha256 = "37dfba7420b5164eab90dafa9e8bf9a2c8f76505fe2fefa14a64e81fa76d0144";
};

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, kdelibs, cmake, gettext }:
stdenv.mkDerivation rec {
name = "kile-2.1.2";
name = "kile-2.1.3";
src = fetchurl {
url = "mirror://sourceforge/kile/${name}.tar.bz2";
sha256 = "0nx5fmjrxrndnzvknxnybd8qh15jzfxzbny2rljq3amjw02y9lc2";
sha256 = "18nfi37s46v9xav7vyki3phasddgcy4m7nywzxis198vr97yqqx0";
};
nativeBuildInputs = [ cmake gettext ];

View File

@ -0,0 +1,35 @@
--- configure.old 2013-07-30 19:42:51.000000000 +0200
+++ configure 2013-07-30 19:47:26.000000000 +0200
@@ -163,31 +163,7 @@
echo 'Fails.'
fi
-
-if [ ! -r /usr/include/term.h ]; then
- note 'term.h'
- if [ -r /usr/include/ncurses/term.h ]; then
- echo "Found in /usr/include/ncurses"
- extraflags="$extraflags -I/usr/include/ncurses"
- else
- for i in pkg local; do
- if [ -r /usr/$i/include/term.h ]; then
- echo "Found in /usr/$i/include"
- extralibs="$extralibs -L/usr/$i/lib"
- extraflags="$extraflags -I/usr/$i/include"
- break
- else
- false
- fi
- done ||
- {
- echo 'Not found!' >&2
- echo 'Do you have the ncurses devel package installed?' >&2
- echo 'If you know where term.h is, please email the author!' >&2
- exit 1
- }
- fi
-fi
+extraflags="$extraflags $NIX_CFLAGS_COMPILE"
note 'base and dirname'
if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then

View File

@ -0,0 +1,30 @@
{ fetchurl, stdenv, ncurses }:
stdenv.mkDerivation rec {
name = "mg-20110905";
src = fetchurl {
url = http://homepage.boetes.org/software/mg/mg-20110905.tar.gz;
sha256 = "0ac2c7wy5kkcflm7cmiqm5xhb5c4yfw3i33iln8civ1yd9z7vlqw";
};
dontAddPrefix = true;
patches = [ ./configure.patch ];
patchFlags = "-p0";
installPhase = ''
mkdir -p $out/bin
cp mg $out/bin
mkdir -p $out/share/man/man1
cp mg.1 $out/share/man/man1
'';
buildInputs = [ ncurses ];
meta = {
homepage = http://homepage.boetes.org/software/mg/;
description = "mg is Micro GNU/emacs, this is a portable version of the mg maintained by the OpenBSD team.";
license = "public domain";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = http://nixos.org/tarballs/monodevelop-0.6-pre2315.tar.bz2;
url = http://tarballs.nixos.org/monodevelop-0.6-pre2315.tar.bz2;
md5 = "8c33df5629b0676b7ab552854c1de6fd";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = http://nixos.org/tarballs/monodoc-1.0.6.tar.gz;
url = http://tarballs.nixos.org/monodoc-1.0.6.tar.gz;
md5 = "f2fc27e8e4717d90dc7efa2450625693";
};

View File

@ -41,8 +41,10 @@ stdenv.mkDerivation rec {
sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure
'';
meta = {
meta = with stdenv.lib; {
description = "The most popular clone of the VI editor";
homepage = http://www.vim.org;
homepage = http://www.vim.org;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.unix;
};
}

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl, jre}:
stdenv.mkDerivation {
name = "alchemy-007-alpha";
name = "alchemy-007";
enableParallelBuilding = true;
src = fetchurl {

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "batik-1.6";
builder = ./builder.sh;
src = fetchurl {
url = http://nixos.org/tarballs/batik-1.6.zip;
url = http://tarballs.nixos.org/batik-1.6.zip;
md5 = "edff288fc64f968ff96ca49763d50f3c";
};

View File

@ -8,12 +8,12 @@
assert stdenv ? glibc;
stdenv.mkDerivation rec {
version = "1.2";
version = "1.2.2";
name = "darktable-${version}";
src = fetchurl {
url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
sha256 = "0l2lrly46nda7b2y4gskqqxaajia34g487bgjcpd5ysxbhmmhlnw";
sha256 = "0nf85wjhlisbgwkfkc1wb8y7dpnx3v8zk9g3ghbd51gi7s62x40j";
};
buildInputs =

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation {
name ="openexr_viewers-1.0.1";
src = fetchurl {
url = "http://download.savannah.nongnu.org/releases/openexr/openexr_viewers-1.0.1.tar.gz";
url = "mirror://savannah/openexr/openexr_viewers-1.0.1.tar.gz";
sha256 = "1w5qbcdp7sw48z1wk2v07f7p14vqqb1m2ncxyxnbkm9f4ab0ymg6";
};

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation {
inherit makeWrapper;
src = fetchurl {
url = http://nixos.org/tarballs/f-spot-0.0.10.tar.bz2;
url = http://tarballs.nixos.org/f-spot-0.0.10.tar.bz2;
md5 = "19cc6e067ccc261b0502ff6189b79832";
};

View File

@ -1,21 +1,21 @@
{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk, glib, gdk_pixbuf
, pango, cairo, freetype, fontconfig, lcms2, libpng, libjpeg, poppler, libtiff
, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
, python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
stdenv.mkDerivation rec {
name = "gimp-2.8.4";
name = "gimp-2.8.6";
src = fetchurl {
url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
md5 = "392592e8755d046317878d226145900f";
md5 = "12b3fdf33d1f07ae79b412a9e38b9693";
};
buildInputs =
buildInputs =
[ pkgconfig intltool babl gegl gtk glib gdk_pixbuf pango cairo
freetype fontconfig lcms2 libpng libjpeg poppler libtiff webkit
freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
libmng librsvg libwmf zlib libzip ghostscript aalib jasper
python pygtk libart_lgpl libexif gettext
python pygtk libart_lgpl libexif gettext xlibs.libXpm
];
passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, pkgconfig, gtk, freetype
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng12, libexif, zlib, perl
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl_0_0_22, gegl_0_0_22
}:
stdenv.mkDerivation rec {
name = "gimp-2.6.12";
src = fetchurl {
url = "ftp://ftp.gtk.org/pub/gimp/v2.6/${name}.tar.bz2";
sha256 = "0qpcgaa4pdqqhyyy8vjvzfflxgsrrs25zk79gixzlnbzq3qwjlym";
};
buildInputs = [
pkgconfig gtk freetype fontconfig
libart_lgpl libtiff libjpeg libpng12 libexif zlib perl
libart_lgpl libtiff libjpeg libpng libexif zlib perl
perlXMLParser python pygtk gettext intltool babl_0_0_22 gegl_0_0_22
];

View File

@ -107,7 +107,7 @@ rec {
name = "texturize-2.1";
buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
src = fetchurl {
url = http://prdownloads.sourceforge.net/gimp-texturize/texturize-2.1_src.tgz;
url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
};
installPhase = "installPlugins src/texturize";
@ -148,7 +148,7 @@ rec {
name = "gmic-1.3.2.0";
buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
src = fetchurl {
url = http://dfn.dl.sourceforge.net/sourceforge/gmic/gmic_1.3.2.0.tar.gz;
url = mirror://sourceforge/gmic/gmic_1.3.2.0.tar.gz;
sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
};
preConfigure = ''

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "oiio-${version}";
version = "1.1.8";
version = "1.1.12";
src = fetchurl {
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
sha256 = "08a6qhplzs8kianqb1gjgrndg81h3il5531jn9g6i4940b1xispg";
sha256 = "196iq15waa2yyryiwhf6ynlpqnpknm4cc4azakg01xs70yiphsfl";
};
buildInputs = [
@ -31,4 +31,4 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}
}

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "pinta-1.4";
src = fetchurl {
url = "https://github.com/PintaProject/pinta/tarball/3f7ccfa93d";
url = "https://github.com/PintaProject/Pinta/tarball/3f7ccfa93d";
name = "pinta-1.4.tar.gz";
sha256 = "1kgb4gy5l6bd0akniwhiqqkvqayr5jgdsvn2pgg1038q9raafnpn";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "rapcad-${version}";
src = fetchgit {
url = "git://git.rapcad.org/rapcad";
url = "https://github.com/GilesBathgate/RapCAD.git";
rev = "refs/tags/v${version}";
sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
};

View File

@ -5,12 +5,12 @@ in
assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
stdenv.mkDerivation {
name = "sane-backends-1.0.22.482-g071f226";
name = "sane-backends-1.0.23.296-gf139120";
src = fetchgit {
url = "http://git.debian.org/git/sane/sane-backends.git";
rev = "071f2269cd68d3411cbfa05a3d028b74496db970";
sha256 = "178xkv30m6irk4k0gqnfcl5kramm1qyj24dar8gp32428z1444xf";
rev = "f139120c72db6de98be95b52c206c2a4d8071e92";
sha256 = "1b2fv19c8ijh9l0jjilli3j70n17wvcgpqq1nxmiby3ai6nrzk8d";
};
udevSupport = hotplugSupport;
@ -34,7 +34,7 @@ stdenv.mkDerivation {
meta = {
homepage = "http://www.sane-project.org/";
description = "Scanner Access Now Easy";
license = "GPLv2+";
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.linux;

View File

@ -4,7 +4,7 @@ libuuid }:
assert (stdenv ? glibc);
stdenv.mkDerivation {
name = "seg3d-1.12";
name = "seg3d-1.12_20090930";
src = fetchurl {
url = http://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
, imagemagick, libjpeg, fontconfig, podofo, qt4, icu, sqlite
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, udisks, libusb1, libmtp
, imagemagick, libjpeg, fontconfig, podofo, qt48, icu, sqlite
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp
}:
stdenv.mkDerivation rec {
name = "calibre-0.8.70";
# 0.9.* versions won't build: https://bugs.launchpad.net/calibre/+bug/1094719
name = "calibre-0.9.11";
# 0.9.12+ versions won't build due to missing qt4 private headers: https://bugs.launchpad.net/calibre/+bug/1094719
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "12avwp8r6cnrw6c32gmd2hksa9rszdb76zs6fcmr3n8r1wkwa71g";
sha256 = "0jjs2cx222pbv4nrivlxag5fxa0v9m63x7arcll6xi173zdn4gg8";
};
inherit python;
@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
buildInputs =
[ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg
fontconfig podofo qt4 pil chmlib icu
fontconfig podofo qt48 pil chmlib icu
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
pythonPackages.cssutils pythonPackages.beautifulsoup
pythonPackages.sqlite3 sqlite udisks libusb1 libmtp
pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
pythonPackages.sqlite3 pythonPackages.netifaces sqlite libusb1 libmtp
];
installPhase = ''
@ -46,11 +46,11 @@ stdenv.mkDerivation rec {
done
'';
meta = {
meta = with stdenv.lib; {
description = "Comprehensive e-book software";
homepage = http://calibre-ebook.com;
license = "GPLv3";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
license = licenses.gpl3;
maintainers = with maintainers; [ viric iElectric ];
platforms = platforms.linux;
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchgit, autoconf, automake, pkgconfig, libxml2 }:
stdenv.mkDerivation rec {
name = "evtest-1.30";
name = "evtest-1.31";
preConfigure = "autoreconf -iv";
@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "git://anongit.freedesktop.org/evtest";
rev = "1a50f2479c4775e047f234a24d95dda82441bfbd";
rev = "871371806017301373b8b0e5b7e8f168ce1ea13f";
sha256 = "1hxldlldlrb9lnnybn839a97fpqd1cixbmci2wzgr0rzhjbwhcgp";
};
meta = with stdenv.lib; {

View File

@ -1,19 +1,23 @@
{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl}:
stdenv.mkDerivation {
name = "get_iplayer-2.80";
{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}:
buildPerlPackage {
name = "get_iplayer-2.83";
buildInputs = [makeWrapper perl];
propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP];
preConfigure = "touch Makefile.PL";
doCheck = false;
installPhase = ''
mkdir -p $out/bin
cp get_iplayer $out/bin
wrapProgram $out/bin/get_iplayer --suffix PATH ${ffmpeg}/bin:${flvstreamer}/bin
sed -i 's|^update_script|#update_script|' $out/bin/get_iplayer
wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin
'';
src = fetchurl {
url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.80.tar.gz;
sha256 = "1hnadryyzca3bv1hfk2q3np9ihwvyxa3prwcrply6ywy4vnayjf8";
url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.83.tar.gz;
sha256 = "169zji0rr3z5ng6r4cyzvs89779m4iklln9gsqpryvm81ipalfga";
};
}

View File

@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
name = "gmrun-${version}";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/gmrun/gmrun/${version}/${name}.tar.gz";
md5 = "6cef37a968006d9496fc56a7099c603c";
url = "mirror://sourceforge/gmrun/${name}.tar.gz";
sha256 = "180z6hbax1qypy5cyy2z6nn7fzxla4ib47ck8mqwr714ag77na8p";
};
buildInputs = [ glib gtk2 pkgconfig popt ];

View File

@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
let
name = "ikiwiki";
version = "3.20130212";
version = "3.20130518";
lib = stdenv.lib;
in
@ -32,7 +32,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
sha256 = "1svajjhrwaq7wwgmhaxc2ld12cla3pdi9i7m8ll2rfa11cdhhf6m";
sha256 = "00mmxxlbzv6bz3cz3746r5lqwby6liwsg7m3jfba8258y52w13qp";
};
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
homepage = "http://www.lyx.org";
license = "GPL2";
maintainers = [ stdenv.lib.maintainers.neznalek ];
maintainers = [ stdenv.lib.maintainers.vcunat ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi }:
{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi
, libtool }:
stdenv.mkDerivation rec {
name = "nut-2.6.5";
@ -8,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
};
buildInputs = [ neon libusb openssl udev avahi freeipmi ];
buildInputs = [ neon libusb openssl udev avahi freeipmi libtool ];
nativeBuildInputs = [ pkgconfig ];

View File

@ -1,25 +1,32 @@
{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, x11, sqlite, gsl,
pyqt4, qwt, fcgi, python }:
pyqt4, qwt, fcgi, python, libspatialindex, libspatialite }:
stdenv.mkDerivation rec {
name = "qgis-1.6.0";
name = "qgis-1.8.0";
buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt
fcgi ];
fcgi libspatialindex libspatialite ];
nativeBuildInputs = [ cmake python];
nativeBuildInputs = [ cmake python ];
patches = [ ./r14988.diff ];
enableParallelBuilding = true;
# To handle the lack of 'local' RPATH; required, as they call one of
# their built binaries requiring their libs, in the build process.
preBuild = ''
export LD_LIBRARY_PATH=`pwd`/output/lib:$LD_LIBRARY_PATH
'';
src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "0vlz1z3scj3k6nxf3hzfiq7k2773i6xvk6dvj4axs2f4njpnx7pr";
sha256 = "1aq32ch61bqsvh39lmrxah1fmh18cd3nqyi1l0sn6ssa3kwf82vh";
};
meta = {
description = "user friendly Open Source Geographic Information System";
homepage = ttp://www.qgis.org;
# you can choose one of the following licenses:
license = [ "GPL" ];
description = "User friendly Open Source Geographic Information System";
homepage = http://www.qgis.org;
license = "GPLv2+";
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [viric];
};
}

View File

@ -1,38 +0,0 @@
Index: qgis/python/core/conversions.sip
===================================================================
--- qgis/python/core/conversions.sip (revision 14323)
+++ qgis/python/core/conversions.sip (revision 14988)
@@ -16,4 +16,5 @@
%Feature QSETINT_CONVERSION
+%Feature QSETTYPE_CONVERSION
%ModuleHeaderCode
@@ -321,5 +322,5 @@
%End
-
+%If (QSETTYPE_CONVERSION)
template <TYPE>
%MappedType QSet<TYPE>
@@ -395,6 +396,5 @@
};
-
-
+%End
template<TYPE>
Index: qgis/python/CMakeLists.txt
===================================================================
--- qgis/python/CMakeLists.txt (revision 14330)
+++ qgis/python/CMakeLists.txt (revision 14988)
@@ -44,4 +44,8 @@
ENDIF(NOT PYQT4_VERSION_NUM LESS 263941)
+IF(NOT PYQT4_VERSION_NUM LESS 264194) # 0x040802
+ SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QSETTYPE_CONVERSION)
+ENDIF(NOT PYQT4_VERSION_NUM LESS 264194)
+
# core module
FILE(GLOB sip_files_core core/*.sip)

View File

@ -1,11 +1,13 @@
{ stdenv, fetchurl, kdelibs, kdebase_workspace, gettext }:
let version = "0.11";
in
stdenv.mkDerivation rec {
name = "rsibreak-0.11";
name = "rsibreak-${version}";
src = fetchurl {
url = "${meta.homepage}/files/${name}.tar.bz2";
sha256 = "1yrf73r8mixskh8b531wb8dfs9z7rrw010xsrflhjhjmqh94h8mw";
url = "mirror://debian/pool/main/r/rsibreak/rsibreak_${version}.orig.tar.gz";
sha256 = "0g27aswh8iz5v67v1wkjny4p100vs2gm0lw0qzfkg6sw1pb4i519";
};
nativeBuildInputs = [ gettext ];
@ -13,8 +15,8 @@ stdenv.mkDerivation rec {
buildInputs = [ kdelibs kdebase_workspace ];
meta = {
homepage = http://www.rsibreak.org/;
description = "Repetitive Strain Injury prevention";
homepage = http://userbase.kde.org/RSIBreak; # http://www.rsibreak.org/ is down since 2011
description = "Utility to help prevent repetitive strain injury for KDE 4";
inherit (kdelibs.meta) platforms maintainers;
};
}

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "rxvt-2.6.4";
src = fetchurl {
url = http://downloads.sourceforge.net/rxvt/rxvt-2.6.4.tar.gz;
url = mirror://sourceforge/rxvt/rxvt-2.6.4.tar.gz;
sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg";
};

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
fontconfig, freetype, pkgconfig, libXrender }:
fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf }:
let
name = "rxvt-unicode";
@ -19,7 +19,8 @@ stdenv.mkDerivation (rec {
buildInputs =
[ libX11 libXt libXft ncurses /* required to build the terminfo file */
fontconfig freetype pkgconfig libXrender ]
++ stdenv.lib.optional perlSupport perl;
++ stdenv.lib.optional perlSupport perl
++ stdenv.lib.optional gdkPixbufSupport gdk_pixbuf;
preConfigure =
''

View File

@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
'';
NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__"
+ stdenv.lib.optionalString stdenv.isDarwin " -lintl";
}

View File

@ -0,0 +1,61 @@
{ stdenv, fetchgit, perl, makeWrapper, makeDesktopItem
# Perl modules:
, EncodeLocale, MathClipper, ExtUtilsXSpp, BoostGeometryUtils
, MathConvexHullMonotoneChain, MathGeometryVoronoi, MathPlanePath, Moo
, IOStringy, ClassXSAccessor, Wx, GrowlGNTP, NetDBus }:
stdenv.mkDerivation rec {
version = "0.9.10b";
name = "slic3r-${version}";
# Slic3r doesn't put out tarballs, only a git repository is available
src = fetchgit {
url = "git://github.com/alexrj/Slic3r";
rev = "refs/tags/${version}";
sha256 = "0j06h0z65qn4kyb2b7pnq6bcn4al60q227iz9jlrin0ffx3l0ra7";
};
buildInputs = [ perl makeWrapper
EncodeLocale MathClipper ExtUtilsXSpp BoostGeometryUtils
MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus
];
desktopItem = makeDesktopItem {
name = "slic3r";
exec = "slic3r";
icon = "slic3r";
comment = "G-code generator for 3D printers";
desktopName = "Slic3r";
genericName = "3D printer tool";
categories = "Application;Development;";
};
# Nothing to do here
buildPhase = "true";
installPhase = ''
mkdir -p "$out/share/slic3r/"
cp -r * "$out/share/slic3r/"
wrapProgram "$out/share/slic3r/slic3r.pl" --prefix PERL5LIB : $PERL5LIB
mkdir -p "$out/bin"
ln -s "$out/share/slic3r/slic3r.pl" "$out/bin/slic3r"
mkdir -p "$out/share/pixmaps/"
ln -s "$out/share/slic3r/var/Slic3r.png" "$out/share/pixmaps/slic3r.png"
mkdir -p "$out/share/applications"
cp "$desktopItem"/share/applications/* "$out/share/applications/"
'';
meta = with stdenv.lib; {
description = "G-code generator for 3D printers";
longDescription = ''
Slic3r is the tool you need to convert a digital 3D model into printing
instructions for your 3D printer. It cuts the model into horizontal
slices (layers), generates toolpaths to fill them and calculates the
amount of material to be extruded.'';
homepage = http://slic3r.org/;
license = licenses.agpl3;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View File

@ -1,13 +1,13 @@
{ fetchurl, stdenv, openssl, pcre }:
{ fetchgit, stdenv, openssl, pcre }:
stdenv.mkDerivation rec {
version = "0.21";
name = "vanitygen-${version}";
src = fetchurl {
name = "vanitygen-${version}.tar.gz";
url = "https://github.com/samr7/vanitygen/tarball/0.21";
sha256 = "1lj0gi08lg0pcby5pbpi08ysynzy24qa1n1065112shkpasi0kxv";
src = fetchgit {
url = "https://github.com/samr7/vanitygen";
rev = "refs/tags/${version}";
sha256 = "1vzfv74hhiyrrpvjca8paydx1ashgbgn5plzrx4swyzxy1xkamah";
};
buildInputs = [ openssl pcre ];

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
name = "xfontsel-1.0.2";
src = fetchurl {
url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
url = "mirror://xorg/individual/app/${name}.tar.bz2";
sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
};

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
name = "xlsfonts-1.0.2";
src = fetchurl {
url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
url = "mirror://xorg/individual/app/${name}.tar.bz2";
sha256 = "070iym754g3mf9x6xczl4gdnpvlk6rdyl1ndwhpjl21vg2dm2vnc";
};

View File

@ -14,9 +14,9 @@ let
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
version = "1.0.134";
sha256 = if stdenv.system == "x86_64-linux" then "1kyxiqjabqgsg7n0a8snh03axxzpniazp93shb2l1b6x0f7d24n7"
else if stdenv.system == "i686-linux" then "02wb8pqcb1rk108r49cqyg7s14grmjnkr6p3068pkiwdwwgi8jak"
version = "1.1.42";
sha256 = if stdenv.system == "x86_64-linux" then "07gcjzhhr8simkjjxhyzkvh3748ll81d742fz7j31nwdi34my8ri"
else if stdenv.system == "i686-linux" then "0awf5bfhb4dp4aydzrgdp3wqv1mz6ys1z45i0r1hbqszvf44xj7c"
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
in stdenv.mkDerivation {

View File

@ -18,6 +18,9 @@
# optional dependencies
, libgcrypt ? null # gnomeSupport || cupsSupport
# dependency for version 30
, file
# package customization
, channel ? "stable"
, enableSELinux ? false, libselinux ? null
@ -87,7 +90,9 @@ let
# user namespace sandbox patch
userns_patch = if versionOlder sourceInfo.version "29.0.0.0"
then ./sandbox_userns.patch
else ./sandbox_userns_29.patch;
else if versionOlder sourceInfo.version "30.0.0.0"
then ./sandbox_userns_29.patch
else ./sandbox_userns_30.patch;
in stdenv.mkDerivation rec {
name = "${packageName}-${version}";
@ -115,7 +120,8 @@ in stdenv.mkDerivation rec {
++ optionals gnomeSupport [ gconf libgcrypt ]
++ optional enableSELinux libselinux
++ optional cupsSupport libgcrypt
++ optional pulseSupport pulseaudio;
++ optional pulseSupport pulseaudio
++ optional (!versionOlder sourceInfo.version "30.0.0.0") file;
opensslPatches = optional useOpenSSL openssl.patches;
@ -145,6 +151,15 @@ in stdenv.mkDerivation rec {
use_cups = cupsSupport;
linux_sandbox_path="${libExecPath}/${packageName}_sandbox";
linux_sandbox_chrome_path="${libExecPath}/${packageName}";
werror = "";
# Google API keys, see http://www.chromium.org/developers/how-tos/api-keys.
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
# please get your own set of keys.
google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
google_default_client_id = "404761575300.apps.googleusercontent.com";
google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D";
} // optionalAttrs proprietaryCodecs {
# enable support for the H.264 codec
proprietary_codecs = true;

View File

@ -0,0 +1,287 @@
commit b9a1fa30eb3296b169f51ffa8ee05513c5c1dbae
Author: aszlig <aszlig@redmoonstudios.org>
Date: Thu May 16 14:17:56 2013 +0200
zygote: Add support for user namespaces on Linux.
The implementation is done by patching the Zygote host to execute the sandbox
binary with CLONE_NEWUSER and setting the uid and gid mapping so that the child
process is using uid 0 and gid 0 which map to the current user of the parent.
Afterwards, the sandbox will continue as if it was called as a setuid binary.
In addition, this adds new_user_namespace as an option in process_util in order
to set the UID and GID mapping correctly. The reason for this is that just
passing CLONE_NEWUSER to clone_flags doesn't help in LaunchProcess(), because
without setting the mappings exec*() will clear the process's capability sets.
If the kernel doesn't support unprivileged user namespaces and the sandbox
binary doesn't have the setuid flag, the Zygote main process will run without a
sandbox. This is to mimic the behaviour if no SUID sandbox binary path is set.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
diff --git a/base/process/launch.h b/base/process/launch.h
index 45b1053..ce71418 100644
--- a/base/process/launch.h
+++ b/base/process/launch.h
@@ -51,6 +51,7 @@ struct LaunchOptions {
new_process_group(false)
#if defined(OS_LINUX)
, clone_flags(0)
+ , new_user_namespace(false)
#endif // OS_LINUX
#if defined(OS_CHROMEOS)
, ctrl_terminal_fd(-1)
@@ -125,6 +126,9 @@ struct LaunchOptions {
#if defined(OS_LINUX)
// If non-zero, start the process using clone(), using flags as provided.
int clone_flags;
+
+ // If true, start the process in a new user namespace.
+ bool new_user_namespace;
#endif // defined(OS_LINUX)
#if defined(OS_CHROMEOS)
diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc
index 336633c..4b50a5d 100644
--- a/base/process/launch_posix.cc
+++ b/base/process/launch_posix.cc
@@ -36,6 +36,13 @@
#include "base/threading/platform_thread.h"
#include "base/threading/thread_restrictions.h"
+#if defined(OS_LINUX)
+#include <sched.h>
+#if !defined(CLONE_NEWUSER)
+#define CLONE_NEWUSER 0x10000000
+#endif
+#endif
+
#if defined(OS_CHROMEOS)
#include <sys/ioctl.h>
#endif
@@ -395,8 +402,19 @@ bool LaunchProcess(const std::vector<std::string>& argv,
pid_t pid;
#if defined(OS_LINUX)
- if (options.clone_flags) {
- pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
+ int map_pipe_fd[2];
+ int flags = options.clone_flags;
+
+ if (options.new_user_namespace) {
+ flags |= CLONE_NEWUSER;
+ if (pipe(map_pipe_fd) < 0) {
+ DPLOG(ERROR) << "user namespace pipe";
+ return false;
+ }
+ }
+
+ if (options.clone_flags || options.new_user_namespace) {
+ pid = syscall(__NR_clone, flags, 0, 0, 0);
} else
#endif
{
@@ -409,6 +427,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
} else if (pid == 0) {
// Child process
+#if defined(OS_LINUX)
+ if (options.new_user_namespace) {
+ // Close the write end of the pipe so we get an EOF when the parent closes
+ // the FD. This is to avoid race conditions when the UID/GID mappings are
+ // written _after_ execvp().
+ close(map_pipe_fd[1]);
+
+ char dummy;
+ if (HANDLE_EINTR(read(map_pipe_fd[0], &dummy, 1)) != 0) {
+ RAW_LOG(ERROR, "Unexpected input in uid/gid mapping pipe.");
+ _exit(127);
+ }
+ }
+#endif
+
// DANGER: fork() rule: in the child, if you don't end up doing exec*(),
// you call _exit() instead of exit(). This is because _exit() does not
// call any previously-registered (in the parent) exit handlers, which
@@ -523,6 +556,40 @@ bool LaunchProcess(const std::vector<std::string>& argv,
_exit(127);
} else {
// Parent process
+#if defined(OS_LINUX)
+ if (options.new_user_namespace) {
+ // We need to write UID/GID mapping here to map the current user outside
+ // the namespace to the root user inside the namespace in order to
+ // correctly "fool" the child process.
+ char buf[256];
+ int map_fd, map_len;
+
+ snprintf(buf, sizeof(buf), "/proc/%d/uid_map", pid);
+ map_fd = open(buf, O_RDWR);
+ DPCHECK(map_fd >= 0);
+ snprintf(buf, sizeof(buf), "0 %d 1", geteuid());
+ map_len = strlen(buf);
+ if (write(map_fd, buf, map_len) != map_len) {
+ RAW_LOG(WARNING, "Can't write to uid_map.");
+ }
+ close(map_fd);
+
+ snprintf(buf, sizeof(buf), "/proc/%d/gid_map", pid);
+ map_fd = open(buf, O_RDWR);
+ DPCHECK(map_fd >= 0);
+ snprintf(buf, sizeof(buf), "0 %d 1", getegid());
+ map_len = strlen(buf);
+ if (write(map_fd, buf, map_len) != map_len) {
+ RAW_LOG(WARNING, "Can't write to gid_map.");
+ }
+ close(map_fd);
+
+ // Close the pipe on the parent, so the child can continue doing the
+ // execvp() call.
+ close(map_pipe_fd[1]);
+ }
+#endif
+
if (options.wait) {
// While this isn't strictly disk IO, waiting for another process to
// finish is the sort of thing ThreadRestrictions is trying to prevent.
diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc
index bb84e62..bce0d18 100644
--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -119,25 +119,31 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
sandbox_binary_ = sandbox_cmd.c_str();
- // A non empty sandbox_cmd means we want a SUID sandbox.
- using_suid_sandbox_ = !sandbox_cmd.empty();
+ bool userns_sandbox = false;
+ const std::vector<std::string> cmd_line_unwrapped(cmd_line.argv());
- if (using_suid_sandbox_) {
+ if (!sandbox_cmd.empty()) {
struct stat st;
if (stat(sandbox_binary_.c_str(), &st) != 0) {
LOG(FATAL) << "The SUID sandbox helper binary is missing: "
<< sandbox_binary_ << " Aborting now.";
}
- if (access(sandbox_binary_.c_str(), X_OK) == 0 &&
- (st.st_uid == 0) &&
- (st.st_mode & S_ISUID) &&
- (st.st_mode & S_IXOTH)) {
+ if (access(sandbox_binary_.c_str(), X_OK) == 0) {
+ using_suid_sandbox_ = true;
+
cmd_line.PrependWrapper(sandbox_binary_);
scoped_ptr<sandbox::SetuidSandboxClient>
sandbox_client(sandbox::SetuidSandboxClient::Create());
sandbox_client->SetupLaunchEnvironment();
+
+ if (!((st.st_uid == 0) &&
+ (st.st_mode & S_ISUID) &&
+ (st.st_mode & S_IXOTH))) {
+ userns_sandbox = true;
+ sandbox_client->SetNoSuid();
+ }
} else {
LOG(FATAL) << "The SUID sandbox helper binary was found, but is not "
"configured correctly. Rather than run without sandboxing "
@@ -161,7 +167,19 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
base::ProcessHandle process = -1;
base::LaunchOptions options;
options.fds_to_remap = &fds_to_map;
+ if (userns_sandbox)
+ options.new_user_namespace = true;
base::LaunchProcess(cmd_line.argv(), options, &process);
+
+ if (process == -1 && userns_sandbox) {
+ LOG(ERROR) << "User namespace sandbox failed to start, running without "
+ << "sandbox! You need at least kernel 3.8.0 with CONFIG_USER_NS "
+ << "enabled in order to use the sandbox without setuid bit.";
+ using_suid_sandbox_ = false;
+ options.new_user_namespace = false;
+ base::LaunchProcess(cmd_line_unwrapped, options, &process);
+ }
+
CHECK(process != -1) << "Failed to launch zygote process";
if (using_suid_sandbox_) {
diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc
index dcea4c0..c06b4ae 100644
--- a/content/zygote/zygote_main_linux.cc
+++ b/content/zygote/zygote_main_linux.cc
@@ -398,6 +398,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
*has_started_new_init = true;
}
+ // Don't set non-dumpable, as it causes trouble when the host tries to find
+ // the zygote process (XXX: Not quite sure why this happens with user
+ // namespaces). Fortunately, we also have the seccomp filter sandbox which
+ // should disallow the use of ptrace.
+ if (setuid_sandbox->IsNoSuid())
+ return true;
+
#if !defined(OS_OPENBSD)
// Previously, we required that the binary be non-readable. This causes the
// kernel to mark the process as non-dumpable at startup. The thinking was
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
index 34231d4..36e3201 100644
--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
@@ -166,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const {
return env_->HasVar(kSandboxNETNSEnvironmentVarName);
}
+bool SetuidSandboxClient::IsNoSuid() const {
+ return env_->HasVar(kSandboxNoSuidVarName);
+}
+
bool SetuidSandboxClient::IsSandboxed() const {
return sandboxed_;
}
@@ -175,5 +179,9 @@ void SetuidSandboxClient::SetupLaunchEnvironment() {
SetSandboxAPIEnvironmentVariable(env_);
}
+void SetuidSandboxClient::SetNoSuid() {
+ env_->SetVar(kSandboxNoSuidVarName, "1");
+}
+
} // namespace sandbox
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h
index a9f6536..2e8113a 100644
--- a/sandbox/linux/suid/client/setuid_sandbox_client.h
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.h
@@ -39,6 +39,8 @@ class SetuidSandboxClient {
bool IsInNewPIDNamespace() const;
// Did the setuid helper create a new network namespace ?
bool IsInNewNETNamespace() const;
+ // Is sandboxed without SUID binary ?
+ bool IsNoSuid() const;
// Are we done and fully sandboxed ?
bool IsSandboxed() const;
@@ -46,6 +48,8 @@ class SetuidSandboxClient {
// helper.
void SetupLaunchEnvironment();
+ void SetNoSuid();
+
private:
// Holds the environment. Will never be NULL.
base::Environment* env_;
diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h
index aad4ff8..bd710d5 100644
--- a/sandbox/linux/suid/common/sandbox.h
+++ b/sandbox/linux/suid/common/sandbox.h
@@ -18,6 +18,7 @@ static const char kAdjustLowMemMarginSwitch[] = "--adjust-low-mem";
static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";
+static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID";
static const long kSUIDSandboxApiNumber = 1;
static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
dev = {
version = "29.0.1541.2";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1541.2.tar.xz";
sha256 = "0i3vp2zrk1sjdhkwdhig08jh0qmzahn96pm0i22r63cp8i9vny1p";
version = "30.0.1573.2";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1573.2.tar.xz";
sha256 = "1pbph4jz0svaawk06zajq73x0xm73f9kdiflhad2709f4y23gzjz";
};
beta = {
version = "28.0.1500.52";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
version = "29.0.1547.32";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.32.tar.xz";
sha256 = "14p5s1xn15mdrlf87hv4y9kczw5r8s461a56kkdzb5xzyq25ph8w";
};
stable = {
version = "28.0.1500.52";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
version = "28.0.1500.71";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.71.tar.xz";
sha256 = "1w8hkbb17bwq9myhj7fig27pn50qlwdfrqs04xjvam4ah3w6qb0r";
};
}

View File

@ -1,175 +0,0 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, # If you want the resulting program to call itself "Firefox" instead
# of "Shiretoko" or whatever, enable this option. However, those
# binaries may not be distributed without permission from the
# Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
rec {
firefoxVersion = "20.0";
xulVersion = "20.0"; # this attribute is used by other packages
src = fetchurl {
urls = [
# It is better to use this url for official releases, to take load off Mozilla's ftp server.
"http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
# Fall back to this url for versions not available at releases.mozilla.org.
"ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
];
sha1 = "6d776c29da0be0d2a50abeb504d63b06b7861218";
};
commonConfigureFlags =
[ "--enable-optimize"
#"--enable-profiling"
"--disable-debug"
"--enable-strip"
"--with-system-jpeg" # now we use recent libjpeg-turbo
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
"--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
# "--enable-system-cairo" # <-- doesn't build
"--enable-system-sqlite"
"--disable-crashreporter"
"--disable-tests"
"--disable-necko-wifi" # maybe we want to enable this at some point
"--disable-installer"
"--disable-updater"
];
xulrunner = stdenv.mkDerivation rec {
name = "xulrunner-${xulVersion}";
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
];
configureFlags =
[ "--enable-application=xulrunner"
"--disable-javaxpcom"
] ++ commonConfigureFlags;
enableParallelBuilding = true;
preConfigure =
''
export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
mkdir ../objdir
cd ../objdir
configureScript=../mozilla-release/configure
''; # */
#installFlags = "SKIP_GRE_REGISTRATION=1";
postInstall = ''
# Fix run-mozilla.sh search
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
echo libDir: $libDir
test -n "$libDir"
cd $out/bin
rm xulrunner
for i in $out/lib/$libDir/*; do
file $i;
if file $i | grep executable &>/dev/null; then
echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
chmod a+x "$out/bin/$(basename "$i")";
fi;
done
for i in $out/lib/$libDir/*.so; do
patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
done
for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
done
rm -f $out/bin/run-mozilla.sh
''; # */
meta = {
description = "Mozilla Firefox XUL runner";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = { inherit gtk; version = xulVersion; };
};
firefox = stdenv.mkDerivation rec {
name = "firefox-${firefoxVersion}";
inherit src;
enableParallelBuilding = true;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman yasm mesa sqlite file unzip pysqlite
];
propagatedBuildInputs = [xulrunner];
configureFlags =
[ "--enable-application=browser"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
"--enable-chrome-format=jar"
]
++ commonConfigureFlags
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
makeFlags = [
"SYSTEM_LIBXUL=1"
];
# Hack to work around make's idea of -lbz2 dependency
preConfigure =
''
find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
stdenv.lib.concatStringsSep ":"
(map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
}' ';'
'';
postInstall =
''
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
cd "$out/lib/"firefox-*
rm firefox
echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
chmod a+x firefox
''; # */
meta = {
description = "Mozilla Firefox - the browser, reloaded";
homepage = http://www.mozilla.com/en-US/firefox/;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
passthru = {
inherit gtk xulrunner nspr;
isFirefox3Like = true;
};
};
}

View File

@ -19,9 +19,9 @@ assert useSystemCairo -> cairo != null;
let optional = stdenv.lib.optional;
in rec {
firefoxVersion = "21.0";
firefoxVersion = "22.0";
xulVersion = "21.0"; # this attribute is used by other packages
xulVersion = "22.0"; # this attribute is used by other packages
src = fetchurl {
@ -31,7 +31,7 @@ in rec {
# Fall back to this url for versions not available at releases.mozilla.org.
"ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
];
sha1 = "e63b5488eaec1956947f59609d5839332ba7ffe1";
sha1 = "db2d5b028b6ea95b5f006b46e153f50f7a52bf80";
};
commonConfigureFlags =
@ -46,7 +46,7 @@ in rec {
"--with-system-nss"
"--with-system-libevent"
"--with-system-libvpx"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--with-system-png"
"--enable-startup-notification"
"--enable-system-ffi"
"--enable-system-hunspell"
@ -66,7 +66,7 @@ in rec {
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib bzip2
[ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
@ -82,7 +82,7 @@ in rec {
enableParallelBuilding = true;
patches = optional useSystemCairo ./system-cairo.patch; # probably in 22
patches = optional useSystemCairo ./system-cairo.patch;
preConfigure =
''
@ -136,7 +136,7 @@ in rec {
enableParallelBuilding = true;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2 python
[ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman yasm mesa sqlite file unzip pysqlite
hunspell libevent libstartup_notification libvpx

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
, libpng12, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
, libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
, dbus_glib, alsaLib, pulseaudio, udev, pango
}:
@ -14,7 +14,7 @@ let
xorg.libXt
xorg.libX11
cairo
libpng12
libpng
gtk
glib
fontconfig
@ -47,18 +47,18 @@ stdenv.mkDerivation rec {
name = "google-talk-plugin-${version}";
# Use the following to determine the current upstream version:
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | sed -nr 's/^Version: *([^ ]+)-1$/\1/p'
version = "3.17.0.0";
version = "4.2.1.0";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
sha256 = "1annx2zhxgn3wl468w7sk93k4xhmnx5bbdjr0d1ar7979hvrdl1x";
sha256 = "1g7kpz2lzzz1gri5rd3isp7cfyls6gzwcw2kc8jgrgrixq9iixfd";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
sha256 = "13fza920vg3qig2pnlr65mzcmmy3izla95zdpa3pk28qlfij0ryc";
sha256 = "1z0zbblzlky9nyifxmnl49v4zafpqp3l08b9v1486sinm35rf58r";
}
else throw "Google Talk does not support your platform.";
@ -79,13 +79,13 @@ stdenv.mkDerivation rec {
$plugins/libnpgtpo3dautoplugin.so
mkdir -p $out/libexec/google/talkplugin
cp opt/google/talkplugin/GoogleTalkPlugin $out/libexec/google/talkplugin/
cp -prd opt/google/talkplugin/{GoogleTalkPlugin,locale,windowpicker.glade} $out/libexec/google/talkplugin/
mkdir -p $out/libexec/google/talkplugin/lib
cp opt/google/talkplugin/lib/libCg* $out/libexec/google/talkplugin/lib/
patchelf --set-rpath "$out/libexec/google/talkplugin/lib" \
$out/libexec/google/talkplugin/lib/libCgGL.so
$out/libexec/google/talkplugin/lib/libCgGL.so
patchelf \
--set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
dontStrip = true;
dontPatchELF = true;
passthru.mozillaPlugin = "/lib/mozilla/plugins";
meta = {

View File

@ -12,8 +12,8 @@
#include <fcntl.h>
#include <limits.h>
char origDir [] = "/opt/google/talkplugin/GoogleTalkPlugin";
char realDir [] = OUT "/libexec/google/talkplugin/GoogleTalkPlugin";
char origDir [] = "/opt/google/talkplugin";
char realDir [] = OUT "/libexec/google/talkplugin";
const char * rewrite(const char * path, char * buf)
{
@ -29,3 +29,31 @@ int execvp(const char * path, char * const argv[])
char buf[PATH_MAX];
return _execvp(rewrite(path, buf), argv);
}
int open(const char *path, int flags, ...)
{
char buf[PATH_MAX];
int (*_open) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
mode_t mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
mode = va_arg(ap, mode_t);
va_end(ap);
}
return _open(rewrite(path, buf), flags, mode);
}
int open64(const char *path, int flags, ...)
{
char buf[PATH_MAX];
int (*_open64) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
mode_t mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
mode = va_arg(ap, mode_t);
va_end(ap);
}
return _open64(rewrite(path, buf), flags, mode);
}

View File

@ -0,0 +1,42 @@
{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json_c, ncurses
, gettext, libiconvOrEmpty, makeWrapper, perl }:
stdenv.mkDerivation rec {
name = "newsbeuter-2.6";
src = fetchurl {
url = "http://www.newsbeuter.org/downloads/${name}.tar.gz";
sha256 = "1hywz5206k0ykjklkjvnfy9fm4jfv9phz8dkzzwhfcjvqv9zv29i";
};
buildInputs
# use gettext instead of libintlOrEmpty so we have access to the msgfmt
# command
= [ pkgconfig sqlite curl libxml2 stfl json_c ncurses gettext perl ]
++ libiconvOrEmpty
++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
preBuild = ''
sed -i -e 104,108d config.sh
sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl
export LDFLAGS=-lncursesw
'';
installPhase = ''
DESTDIR=$out prefix=\"\" make install
''
+ stdenv.lib.optionalString stdenv.isDarwin ''
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${stfl}/lib"
done
'';
meta = {
homepage = http://www.newsbeuter.org;
description = "An open-source RSS/Atom feed reader for text terminals";
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -9,7 +9,7 @@ let
in
rec {
src = fetchurl {
url = http://downloads.sourceforge.net/funpidgin/carrier-2.5.0.tar.bz2;
url = mirror://sourceforge/funpidgin/carrier-2.5.0.tar.bz2;
sha256 = "0m80s7hnvz5vc2dy3xiy1zfb6incmb7p28zahzxdif2vz44riz28";
};

View File

@ -1,21 +1,23 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, libosip, libexosip
, speex, readline, mediastreamer, libsoup }:
, speex, readline, mediastreamer, libsoup, udev, libnotify }:
stdenv.mkDerivation rec {
name = "linphone-3.5.2";
name = "linphone-3.6.1";
src = fetchurl {
url = "mirror://savannah/linphone/3.5.x/sources/${name}.tar.gz";
sha256 = "0830iam7kgqphgk3q6qx93kp5wrf0gnm5air82jamy7377jxadys";
url = "mirror://savannah/linphone/3.6.x/sources/${name}.tar.gz";
sha256 = "186jm4nd4ggb0j8cs8wnpm4sy9cr7chq0c6kx2yc6y4k7qi83fh5";
};
patches = [ ./fix-deprecated.patch ];
buildInputs = [ gtk libglade libosip libexosip readline mediastreamer speex libsoup ];
buildInputs = [ gtk libglade libosip libexosip readline mediastreamer speex libsoup udev
libnotify ];
nativeBuildInputs = [ intltool pkgconfig ];
preConfigure = "rm -r mediastreamer2 oRTP";
preConfigure = ''
rm -r mediastreamer2 oRTP
sed -i s,/bin/echo,echo, coreapi/Makefile*
'';
configureFlags = "--enable-external-ortp --enable-external-mediastreamer";

View File

@ -1,7 +1,7 @@
args : with args;
rec {
src = fetchurl {
url = http://mesh.dl.sourceforge.net/sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
url = mirror://sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
sha256 = "19h76fwsx5y30l5wda2930k10r385aipngfljz5bdi7b9y52lii7";
};

View File

@ -0,0 +1,84 @@
{ stdenv, fetchurl, libyaml, alsaLib, openssl, libuuid, pkgconfig, pulseaudio, libsamplerate
, commoncpp2, ccrtp, libzrtpcpp, dbus, dbus_cplusplus, expat, pcre, gsm, speex, ilbc, libopus
, autoconf, automake, libtool, gettext, perl
, cmake, qt4
, gtk, glib, dbus_glib, libnotify, intltool, makeWrapper }:
let
name = "sflphone-1.2.3";
src = fetchurl {
url = "https://projects.savoirfairelinux.com/attachments/download/6423/${name}.tar.gz";
sha256 = "0aiwlky7mp5l51a7kkhkmaz7ivapypar291kdxzdxl1s3qy0x6fd";
};
meta = {
homepage = http://sflphone.org/;
license = "GPLv3+";
description = "Free software enterprise-class softphone for GNU/Linux";
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [viric];
};
in
rec {
daemon = stdenv.mkDerivation {
name = name + "-daemon";
inherit src;
patches = [ ./libzrtpcpp-cflags.patch ];
preConfigure = ''
cd daemon
# Post patch, required
autoreconf -vfi
cd libs
bash ./compile_pjsip.sh
cd ..
'';
configureFlags = "--with-expat --with-expat-inc=${expat}/include " +
"--with-expat-lib=-lexpat --with-opus ";
buildInputs = [ libyaml alsaLib openssl libuuid pkgconfig pulseaudio libsamplerate
commoncpp2 ccrtp libzrtpcpp dbus dbus_cplusplus expat pcre gsm speex ilbc libopus
autoconf automake libtool gettext perl ];
};
# This fails still.
# I don't know the best way to make this a KDE program (with switchable kde
# libs, like digikam for example)
/*
kde = stdenv.mkDerivation {
name = name + "-kde";
inherit src;
preConfigure = ''
cd kde
'';
buildInputs = [ daemon cmake qt4 pkgconfig ];
};
*/
gnome = stdenv.mkDerivation {
name = name + "-gnome";
inherit src;
preConfigure = ''
cd gnome
'';
# gtk3 programs have the runtime dependency on XDG_DATA_DIRS
postInstall = ''
wrapProgram $out/bin/sflphone* --prefix XDG_DATA_DIRS ":" ${gtk}/share
'';
buildInputs = [ daemon pkgconfig gtk glib dbus_glib libnotify intltool makeWrapper ];
};
}

View File

@ -0,0 +1,15 @@
diff --git a/daemon/src/audio/audiortp/Makefile.am b/daemon/src/audio/audiortp/Makefile.am
index c27eedd..fe64077 100644
--- a/daemon/src/audio/audiortp/Makefile.am
+++ b/daemon/src/audio/audiortp/Makefile.am
@@ -4,6 +4,10 @@ noinst_LTLIBRARIES = libaudiortp.la
if BUILD_ZRTP
SFL_ZRTP_SRC=audio_zrtp_session.h audio_zrtp_session.cpp zrtp_session_callback.cpp zrtp_session_callback.h
+libaudiortp_la_CXXFLAGS = \
+ @CCGNU2_CFLAGS@ \
+ @ZRTPCPP_CFLAGS@ \
+ @CCRTP_CFLAGS@
endif
libaudiortp_la_SOURCES = \

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, ncurses}:
stdenv.mkDerivation rec {
name = "iptraf-3.0.0";
name = "iptraf-3.0.1";
src = fetchurl {
url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz;
sha256 = "0qsi5f8d84mgdszvz22acyv6mjnbrpk55d54km9i5mkkapck7r4y";
url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.1.tar.gz;
md5 = "004c2c005a1b78739e22bc49d33e244d";
};
patchPhase = ''

View File

@ -11,7 +11,7 @@ assert sslSupport -> openssl != null;
assert gpgSupport -> gpgme != null;
stdenv.mkDerivation {
name = "sylpheed-3.2";
name = "sylpheed-3.2.0";
src = fetchurl {
url = http://sylpheed.sraoss.jp/sylpheed/v3.2/sylpheed-3.2.0.tar.bz2;

View File

@ -12,14 +12,14 @@
enableOfficialBranding ? false
}:
let version = "17.0.6"; in
let version = "17.0.7"; in
stdenv.mkDerivation {
name = "thunderbird-${version}";
src = fetchurl {
url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
sha1 = "cb5cb5dbfe77179b5853345c826eaa2bc634d48c";
sha1 = "d6dca3e1cc4293f2e15d6b35056bd8dc319014ee";
};
enableParallelBuilding = false;

View File

@ -1,18 +1,20 @@
{ stdenv, fetchurl, openssl, pkgconfig, gnutls, gsasl, libidn }:
stdenv.mkDerivation rec {
name = "msmtp-1.4.30";
name = "msmtp-1.4.31";
src = fetchurl {
url = "mirror://sourceforge/msmtp/${name}.tar.bz2";
sha256 = "11lq82byx9xyfkf4nrcfjjfv5k8gk3bf8zlw0kml1qrndqlvjlpi";
sha256 = "0pr29kb7qsz4q6yfw5wvmw1wm4axi8kc97qhhmp50bx2bylzjyi4";
};
buildInputs = [ openssl pkgconfig gnutls gsasl libidn ];
meta = {
description = "a MUA";
description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
homepage = "http://msmtp.sourceforge.net/";
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.garbas ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk2, gnome2 /*just GConf*/
, libsoup, libunique, libxslt, webkit_gtk2, json_glib
, libnotify /*optional*/ }:
let version = "1.8.15";
in
stdenv.mkDerivation rec {
name = "liferea-${version}";
src = fetchurl {
url = "mirror://sourceforge/liferea/Liferea%20Stable/${version}/${name}.tar.bz2";
sha256 = "12hhdl5biwcvr9ds7pdhhvlp4vggjix6xm4z5pnfaz53ai2dnc99";
};
buildInputs = [
pkgconfig intltool gtk2 gnome2.GConf
libsoup libunique libxslt webkit_gtk2 json_glib
libnotify
];
meta = {
description = "A GTK-based news feed agregator";
homepage = http://lzone.de/liferea/;
maintainers = [ stdenv.lib.maintainers.vcunat ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -4,7 +4,7 @@
, makeWrapper, autoconf, automake }:
let
rev = "27399";
rev = "27775";
in
stdenv.mkDerivation rec {
name = "gnunet-svn-${rev}";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchsvn {
url = https://gnunet.org/svn/gnunet;
inherit rev;
sha256 = "0fn7ppfnc4v6lkxwww11s0h8mdvwyv7f40f6wrbfilqpn2ncrf8c";
sha256 = "1fa2g63rrn0mmim9v62gnm2hqr556mbcafb7cs7afycbinix4spf";
};
buildInputs = [

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, openssl, libsamplerate}:
stdenv.mkDerivation rec {
name = "pjsip-1.8.10";
name = "pjsip-2.1";
src = fetchurl {
url = http://www.pjsip.org/release/1.8.10/pjproject-1.8.10.tar.bz2;
sha256 = "1v2mgbgzn7d3msb406jmg69ms97a0rqg58asykx71dmjipbaiqc0";
url = http://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2;
md5 = "310eb63638dac93095f6a1fc8ee1f578";
};
buildInputs = [ openssl libsamplerate ];

View File

@ -21,11 +21,11 @@
assert printerSupport -> cups != null;
stdenv.mkDerivation rec {
name = "freerdp-${version}";
version = "1.0.1";
version = "1.0.2";
src = fetchurl {
url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
sha256 = "1my8gamvfrn6v9gcqxsa9cgxr42shc0l826zvxj8wpcay6gd321w";
sha256 = "1w9dk7dsbppspnnms2xwwmbg7jm61i7aw5nkwzbpdyxngbgkgwf0";
};
buildInputs = [

View File

@ -0,0 +1,13 @@
diff --git a/src/dejitter.c b/src/dejitter.c
index 1904ab3..cb3624d 100644
--- a/src/dejitter.c
+++ b/src/dejitter.c
@@ -22,6 +22,8 @@
#include <errno.h>
+#include <string.h>
+#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

View File

@ -1,13 +1,15 @@
{ stdenv, fetchurl, libosip }:
stdenv.mkDerivation {
name = "siproxd-0.8.0";
stdenv.mkDerivation rec {
name = "siproxd-0.8.1";
src = fetchurl {
url = mirror://sourceforge/siproxd/siproxd-0.8.0.tar.gz;
sha256 = "0hl51z33cf68ki707jkrrjjc3a5vpaf49gbrsz3g4rfxypdhc0qs";
url = "mirror://sourceforge/siproxd/${name}.tar.gz";
sha256 = "1bcxl0h5nc28m8lcdhpbl5yc93w98xm53mfzrf04knsvmx7z0bfz";
};
patches = [ ./cheaders.patch ];
buildInputs = [ libosip ];
meta = {

View File

@ -0,0 +1,16 @@
{ cabal, Cabal, hledgerLib, statistics, time }:
cabal.mkDerivation (self: {
pname = "hledger-irr";
version = "0.1.1.2";
sha256 = "1mh1lzhnxc8ps8n5j37wrmbqafwdyap60j8rqr6xdfa2syfyq8i2";
isLibrary = false;
isExecutable = true;
buildDepends = [ Cabal hledgerLib statistics time ];
meta = {
description = "computes the internal rate of return of an investment";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.simons ];
};
})

View File

@ -1,15 +1,15 @@
{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python, texinfo }:
let
rev = "2c7ab8be";
rev = "26d7197";
in
stdenv.mkDerivation {
name = "ledger3-2013.04.${rev}";
name = "ledger3-2013.06.${rev}";
src = fetchgit {
url = "git://github.com/jwiegley/ledger.git";
url = "https://github.com/ledger/ledger.git";
inherit rev;
sha256 = "1ng5ymzqzbgdrn2ghhr7jvcjv5y7ikhyck5p1yv5j024s17xdyj5";
sha256 = "02nf4kdrd61q9rf5rrarwmx47y2ya5qix7n82cj9qi9p4v3k3m2g";
};
buildInputs = [ cmake boost gmp mpfr libedit python texinfo ];

View File

@ -6,7 +6,7 @@
, libXinerama, openssl, gperf, cppunit, GConf, ORBit2, poppler
, librsvg, gnome_vfs, gstreamer, gst_plugins_base, mesa
, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
, libwpg, dbus_glib, qt4, kde4, clucene_core_2, libcdr, lcms2, vigra
, libwpg, dbus_glib, qt4, kde4, clucene_core, libcdr, lcms, vigra
, libiodbc, mdds, saneBackends, mythes, libexttextcat, libvisio
, fontsConf
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" ]
@ -162,10 +162,10 @@ stdenv.mkDerivation rec {
];
buildInputs =
[ ant ArchiveZip autoconf automake bison boost cairo clucene_core_2
[ ant ArchiveZip autoconf automake bison boost cairo clucene_core
CompressZlib cppunit cups curl db4 dbus_glib expat file flex fontconfig
freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
hunspell icu jdk kde4.kdelibs lcms2 libcdr libexttextcat libiodbc libjpeg
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat libiodbc libjpeg
libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
libXaw libXext libXi libXinerama libxml2 libxslt libXtst mdds mesa mythes
neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler

View File

@ -2,7 +2,7 @@ args : with args;
let version = lib.attrByPath ["version"] "1.1.0" args; in
rec {
src = fetchurl {
url = http://downloads.sourceforge.net/ofset/drgeo-1.1.0.tar.gz;
url = mirror://sourceforge/ofset/drgeo-1.1.0.tar.gz;
sha256 = "05i2czgzhpzi80xxghinvkyqx4ym0gm9f38fz53idjhigiivp4wc";
};

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "${webpage}/${name}-coq8.4.tar.gz";
url = "http://ssr.msr-inria.inria.fr/FTP/${name}-coq8.4.tar.gz";
sha256 = "1ysx29xw09i86lq0d92z9cnyx133jfgq4qddy3501000fn7xwi7h";
};

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl, blas, bzip2, gfortran, liblapack, libX11, libXmu, libXt
, libjpeg, libpng, libtiff, ncurses, pango, pcre, perl, readline, tcl
, texLive, tk, xz, zlib, less, texinfo, graphviz
, texLive, tk, xz, zlib, less, texinfo, graphviz, icu, pkgconfig, bison
, imake, which, jdk, atlas
}:
stdenv.mkDerivation rec {
@ -13,15 +14,65 @@ stdenv.mkDerivation rec {
buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
libXt libjpeg libpng libtiff ncurses pango pcre perl readline tcl
texLive tk xz zlib less texinfo graphviz ];
texLive tk xz zlib less texinfo graphviz icu pkgconfig bison imake
which jdk atlas
];
patches = [ ./no-usr-local-search-paths.patch ];
preConfigure = ''
configureFlagsArray=(
--disable-lto
--with-blas="-L${atlas}/lib -lf77blas -latlas"
--with-lapack="-L${liblapack}/lib -llapack"
--with-readline
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
--with-cairo
--with-libpng
--with-jpeglib
--with-libtiff
--with-system-zlib
--with-system-bzlib
--with-system-pcre
--with-system-xz
--with-ICU
R_SHELL="${stdenv.shell}"
JAVA_HOME="${jdk}"
LDFLAGS="-L${gfortran.gcc}/lib"
)
echo "TCLLIBPATH=${tk}/lib" >>etc/Renviron.in
'';
installTargets = [ "install" "install-info" "install-pdf" ];
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "a free software environment for statistical computing and graphics";
homepage = "http://www.r-project.org/";
description = "a free software environment for statistical computing and graphics";
license = stdenv.lib.licenses.gpl2Plus;
longDescription = ''
GNU R is a language and environment for statistical computing and
graphics that provides a wide variety of statistical (linear and
nonlinear modelling, classical statistical tests, time-series
analysis, classification, clustering, ...) and graphical
techniques, and is highly extensible. One of R's strengths is the
ease with which well-designed publication-quality plots can be
produced, including mathematical symbols and formulae where
needed. R is an integrated suite of software facilities for data
manipulation, calculation and graphical display. It includes an
effective data handling and storage facility, a suite of operators
for calculations on arrays, in particular matrices, a large,
coherent, integrated collection of intermediate tools for data
analysis, graphical facilities for data analysis and display
either on-screen or on hardcopy, and a well-developed, simple and
effective programming language which includes conditionals, loops,
user-defined recursive functions and input and output facilities.
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
};

View File

@ -0,0 +1,24 @@
diff -ubr R-3.0.1-orig/configure R-3.0.1/configure
--- R-3.0.1-orig/configure 2013-07-04 10:46:42.336133947 +0200
+++ R-3.0.1/configure 2013-07-04 10:46:17.181919960 +0200
@@ -3800,13 +3800,13 @@
: ${LIBnn=$libnn}
## We provide these defaults so that headers and libraries in
## '/usr/local' are found (by the native tools, mostly).
-if test -f "/sw/etc/fink.conf"; then
- : ${CPPFLAGS="-I/sw/include -I/usr/local/include"}
- : ${LDFLAGS="-L/sw/lib -L/usr/local/lib"}
-else
- : ${CPPFLAGS="-I/usr/local/include"}
- : ${LDFLAGS="-L/usr/local/${LIBnn}"}
-fi
+# if test -f "/sw/etc/fink.conf"; then
+# : ${CPPFLAGS="-I/sw/include -I/usr/local/include"}
+# : ${LDFLAGS="-L/sw/lib -L/usr/local/lib"}
+# else
+# : ${CPPFLAGS="-I/usr/local/include"}
+# : ${LDFLAGS="-L/usr/local/${LIBnn}"}
+# fi
## take care not to override the command-line setting
if test "${libdir}" = '${exec_prefix}/lib'; then

View File

@ -1,5 +1,4 @@
{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng12, giflib }:
{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng, giflib }:
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
@ -16,7 +15,7 @@ stdenv.mkDerivation {
buildInputs = [ ocaml findlib freeglut mesa
lablgl camlimages ocaml_mysql mlgmp mpfr gmp
libtiff libjpeg libpng12 giflib ];
libtiff libjpeg libpng giflib ];
installPhase = ''
mkdir -p $out/bin $out/share/doc/glsurf

View File

@ -1,50 +1,25 @@
x@{builderDefsPackage
, perl, zlib, gmp, readline
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
{ stdenv, fetchurl, gmp, readline }:
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="pari";
version="2.5.0";
name="${baseName}-${version}";
url="http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
hash="18ipxj4hzj7s3fqz878fiypkzrkbjj8wvbygz9j8c3ya06q27jax";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
stdenv.mkDerivation rec {
name = "pari-2.5.4";
src = fetchurl {
url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
sha256 = "0gpsj5n8d1gyl7nq2y915sscs3d334ryrv8qgjdwqf3cr95f2dwz";
};
inherit (sourceInfo) name version;
inherit buildInputs;
buildInputs = [gmp readline];
configureScript = "./Configure";
configureFlags =
"--with-gmp=${gmp} " +
"--with-readline=${readline}";
/* doConfigure should be removed if not needed */
phaseNames = ["doConfigure" "doMakeInstall"];
configureCommand="./Configure";
meta = {
description = "Computer algebra system for high-performance number theory computations";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = "GPLv2+";
homepage = "http://pari.math.u-bordeaux.fr/";
homepage = "http://pari.math.u-bordeaux.fr/";
license = "GPLv2+";
maintainers = with stdenv.lib.maintainers; [ertes raskin];
platforms = stdenv.lib.platforms.linux;
};
passthru = {
updateInfo = {
downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
};
};
}) x
}

Some files were not shown because too many files have changed in this diff Show More