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:
commit
625f40151b
@ -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 doesn’t 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
|
||||
|
@ -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;
|
||||
|
22
maintainers/scripts/nixpkgs-lint.nix
Normal file
22
maintainers/scripts/nixpkgs-lint.nix
Normal 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";
|
||||
};
|
||||
}
|
165
maintainers/scripts/nixpkgs-lint.pl
Executable file
165
maintainers/scripts/nixpkgs-lint.pl
Executable 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";
|
@ -61,7 +61,7 @@ in
|
||||
|
||||
meta = {
|
||||
homepage = "http://lly.org/~rcw/abcde/page/";
|
||||
licence = "GPLv2+";
|
||||
license = "GPLv2+";
|
||||
description = "A Better CD Encoder (ABCDE)";
|
||||
|
||||
longDescription = ''
|
||||
|
@ -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.
|
||||
'';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
38
pkgs/applications/audio/mi2ly/default.nix
Normal file
38
pkgs/applications/audio/mi2ly/default.nix
Normal 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;
|
||||
};
|
||||
}
|
3
pkgs/applications/audio/mi2ly/default.upstream
Normal file
3
pkgs/applications/audio/mi2ly/default.upstream
Normal file
@ -0,0 +1,3 @@
|
||||
url http://download.savannah.gnu.org/releases/mi2ly/
|
||||
ensure_choice
|
||||
version '.*/mi2ly[.]([0-9.]+)[.]tar.*' '\1'
|
@ -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; [
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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+";
|
||||
|
||||
|
67
pkgs/applications/audio/quodlibet/default.nix
Normal file
67
pkgs/applications/audio/quodlibet/default.nix
Normal 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/;
|
||||
};
|
||||
}
|
@ -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)
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
32
pkgs/applications/editors/dhex/default.nix
Normal file
32
pkgs/applications/editors/dhex/default.nix
Normal 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];
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 ];
|
||||
|
35
pkgs/applications/editors/mg/configure.patch
Normal file
35
pkgs/applications/editors/mg/configure.patch
Normal 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
|
30
pkgs/applications/editors/mg/default.nix
Normal file
30
pkgs/applications/editors/mg/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{stdenv, fetchurl, jre}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "alchemy-007-alpha";
|
||||
name = "alchemy-007";
|
||||
enableParallelBuilding = true;
|
||||
|
||||
src = fetchurl {
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 =
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 ?
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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 = ''
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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; {
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
@ -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)
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 =
|
||||
''
|
||||
|
@ -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";
|
||||
}
|
||||
|
||||
|
61
pkgs/applications/misc/slic3r/default.nix
Normal file
61
pkgs/applications/misc/slic3r/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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";
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
@ -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
|
@ -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 = {
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
@ -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 = \
|
@ -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 = ''
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
27
pkgs/applications/networking/newsreaders/liferea/default.nix
Normal file
27
pkgs/applications/networking/newsreaders/liferea/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
13
pkgs/applications/networking/siproxd/cheaders.patch
Normal file
13
pkgs/applications/networking/siproxd/cheaders.patch
Normal 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>
|
@ -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 = {
|
||||
|
16
pkgs/applications/office/hledger-irr/default.nix
Normal file
16
pkgs/applications/office/hledger-irr/default.nix
Normal 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 ];
|
||||
};
|
||||
})
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user