Merge remote-tracking branch 'origin/master' into multiple-outputs
Conflicts: pkgs/development/libraries/gtk+/2.x.nix pkgs/development/libraries/libsamplerate/default.nix pkgs/development/libraries/libsndfile/default.nix pkgs/misc/cups/default.nix pkgs/top-level/all-packages.nix
This commit is contained in:
commit
10cb4a8cf2
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<para>The standard build environment in the Nix Packages collection
|
<para>The standard build environment in the Nix Packages collection
|
||||||
provides a environment for building Unix packages that does a lot of
|
provides an environment for building Unix packages that does a lot of
|
||||||
common build tasks automatically. In fact, for Unix packages that use
|
common build tasks automatically. In fact, for Unix packages that use
|
||||||
the standard <literal>./configure; make; make install</literal> build
|
the standard <literal>./configure; make; make install</literal> build
|
||||||
interface, you don’t need to write a build script at all; the standard
|
interface, you don’t need to write a build script at all; the standard
|
||||||
|
@ -41,7 +41,7 @@ NB:
|
|||||||
|
|
||||||
Keep in mind that many programs are not very well suited for cross
|
Keep in mind that many programs are not very well suited for cross
|
||||||
compilation. Either they are not intended to run on other platforms,
|
compilation. Either they are not intended to run on other platforms,
|
||||||
because the code is highly platform specific, or the configuration proces
|
because the code is highly platform specific, or the configuration process
|
||||||
is not written with cross compilation in mind.
|
is not written with cross compilation in mind.
|
||||||
|
|
||||||
Nix will not solve these problems for you!
|
Nix will not solve these problems for you!
|
||||||
@ -290,7 +290,7 @@ this compiler and verified to be working on a HP Jornada 820 running Linux
|
|||||||
are "patch", "make" and "wget".
|
are "patch", "make" and "wget".
|
||||||
|
|
||||||
If we want to build C++ programs it gets a lot more difficult. GCC has a
|
If we want to build C++ programs it gets a lot more difficult. GCC has a
|
||||||
three step compilation proces. In the first step a simple compiler, called
|
three step compilation process. In the first step a simple compiler, called
|
||||||
xgcc, that can compile only C programs is built. With that compiler it
|
xgcc, that can compile only C programs is built. With that compiler it
|
||||||
compiles itself two more times: one time to build a full compiler, and another
|
compiles itself two more times: one time to build a full compiler, and another
|
||||||
time to build a full compiler once again with the freshly built compiler from
|
time to build a full compiler once again with the freshly built compiler from
|
||||||
@ -318,7 +318,7 @@ with compilation flags. This is still work in progress for Nix.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
After succesfully completing the whole toolchain you can start building
|
After successfully completing the whole toolchain you can start building
|
||||||
packages with the newly built tools. To make everything build correctly
|
packages with the newly built tools. To make everything build correctly
|
||||||
you will need a stdenv for your target platform. Setting up this platform
|
you will need a stdenv for your target platform. Setting up this platform
|
||||||
will take some effort. Right now there is a very experimental setup for
|
will take some effort. Right now there is a very experimental setup for
|
||||||
|
@ -51,15 +51,21 @@ print STDERR "unpacked to: $pkg_path\n";
|
|||||||
my $meta;
|
my $meta;
|
||||||
if (-e "$pkg_path/META.yml") {
|
if (-e "$pkg_path/META.yml") {
|
||||||
eval {
|
eval {
|
||||||
$meta = YAML::XS::LoadFile("$pkg_path/META.yml");
|
$meta = YAML::XS::LoadFile("$pkg_path/META.yml");
|
||||||
};
|
};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
system("iconv -f windows-1252 -t utf-8 '$pkg_path/META.yml' > '$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");
|
$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
|
# Map a module to the attribute corresponding to its package
|
||||||
# (e.g. HTML::HeadParser will be mapped to HTMLParser, because that
|
# (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;
|
print STDERR "homepage: $homepage\n" if defined $homepage;
|
||||||
|
|
||||||
my $description = $meta->{abstract};
|
my $description = $meta->{abstract};
|
||||||
$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
|
if (defined $description) {
|
||||||
$description =~ s/\.$//; # remove period at the end
|
$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
|
||||||
$description =~ s/\s*$//;
|
$description =~ s/\.$//; # remove period at the end
|
||||||
$description =~ s/^\s*//;
|
$description =~ s/\s*$//;
|
||||||
print STDERR "description: $description\n";
|
$description =~ s/^\s*//;
|
||||||
|
print STDERR "description: $description\n";
|
||||||
|
}
|
||||||
|
|
||||||
my $license = $meta->{license};
|
my $license = $meta->{license};
|
||||||
if (defined $license) {
|
if (defined $license) {
|
||||||
@ -156,7 +164,7 @@ EOF
|
|||||||
print <<EOF if defined $homepage;
|
print <<EOF if defined $homepage;
|
||||||
homepage = $homepage;
|
homepage = $homepage;
|
||||||
EOF
|
EOF
|
||||||
print <<EOF;
|
print <<EOF if defined $description;
|
||||||
description = "$description";
|
description = "$description";
|
||||||
EOF
|
EOF
|
||||||
print <<EOF if defined $license;
|
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 = {
|
meta = {
|
||||||
homepage = "http://lly.org/~rcw/abcde/page/";
|
homepage = "http://lly.org/~rcw/abcde/page/";
|
||||||
licence = "GPLv2+";
|
license = "GPLv2+";
|
||||||
description = "A Better CD Encoder (ABCDE)";
|
description = "A Better CD Encoder (ABCDE)";
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
|
|||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
pname = "amarok";
|
pname = "amarok";
|
||||||
version = "2.6.0";
|
version = "2.7.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
|
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
|
||||||
sha256 = "1h6jzl0jnn8g05pz4mw01kz20wjjxwwz6iki7lvgj70qi3jq04m9";
|
sha256 = "12dvqnx6jniykbi6sz94xxlnxzafjsaxlf0mppk9w5wn61jwc3cy";
|
||||||
};
|
};
|
||||||
|
|
||||||
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
|
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
|
||||||
|
@ -19,7 +19,7 @@ in
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://lly.org/~rcw/cd-discid/;
|
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";
|
description = "cd-discid, a command-line utility to retrieve a disc's CDDB ID";
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@ -28,4 +28,4 @@ in
|
|||||||
abcde), but can be used for any purpose requiring CDDB data.
|
abcde), but can be used for any purpose requiring CDDB data.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation {
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
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
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
version = "2.1.7";
|
|
||||||
sha256 = "bfed34cbdce96aca299a0db2b531dbc66feb489b911a34f0a9c67f2eb6ee9301";
|
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
name = "easytag-${version}";
|
name = "easytag-${version}";
|
||||||
|
version = "2.1.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/easytag/easytag-${version}.tar.bz2";
|
url = "mirror://gnome/sources/easytag/2.1/${name}.tar.xz";
|
||||||
inherit sha256;
|
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 = {
|
meta = {
|
||||||
description = "an utility for viewing and editing tags for various audio files";
|
description = "View and edit tags for various audio files";
|
||||||
homepage = http://http://easytag.sourceforge.net/;
|
homepage = "http://projects.gnome.org/easytag/";
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl2Plus;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,24 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1x73a5rsyvfmh1j0484kzgnk251q61g1g2jdja673l8fizi0xd24";
|
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; {
|
meta = with stdenv.lib; {
|
||||||
description = "real-time software synthesizer based on the SoundFont 2 specifications";
|
description = "Real-time software synthesizer based on the SoundFont 2 specifications";
|
||||||
homepage = http://www.fluidsynth.org;
|
homepage = http://www.fluidsynth.org;
|
||||||
license = licenses.lgpl2;
|
license = licenses.lgpl2;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = with maintainers; [ goibhniu lovek323 ];
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
|||||||
name = "lingot-0.9.0";
|
name = "lingot-0.9.0";
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
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
|
, gst_plugins_good, gst_plugins_base
|
||||||
}:
|
}:
|
||||||
|
|
||||||
pythonPackages.buildPythonPackage rec {
|
pythonPackages.buildPythonPackage rec {
|
||||||
name = "mopidy-${version}";
|
name = "mopidy-${version}";
|
||||||
|
|
||||||
version = "0.14.1";
|
version = "0.14.2";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchurl {
|
||||||
url = "https://github.com/mopidy/mopidy.git";
|
url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
|
||||||
rev = "refs/tags/v${version}";
|
sha256 = "0fqx7lk9g61d744b951cwx0szqbyji58dhw2ravnq9785nkhi7i4";
|
||||||
sha256 = "0lgd8dpiri9m6sigpf1g1qzvz25lkb38lskgwvb8j7x64y104z0v";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with pythonPackages; [
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{stdenv, fetchurl, alsaLib }:
|
{stdenv, fetchurl, alsaLib }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "mpg123-1.12.3";
|
name = "mpg123-1.15.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/mpg123/mpg123-1.12.3.tar.bz2;
|
url = mirror://sourceforge/mpg123/mpg123-1.15.4.tar.bz2;
|
||||||
sha256 = "1ij689s7jch3d4g0ja3jylaphallc8vgrsrm9b12254phnyy23xf";
|
sha256 = "05aizspky9mp1bq2lfrkjzrsnjykl7gkbrhn93xcarj5b2izv1b8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ alsaLib ];
|
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
configureFlags = if stdenv.cross ? mpg123 then
|
configureFlags = if stdenv.cross ? mpg123 then
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "mpg321, a command-line MP3 player";
|
description = "mpg321, a command-line MP3 player";
|
||||||
homepage = http://mpg321.sourceforge.net/;
|
homepage = http://mpg321.sourceforge.net/;
|
||||||
license = "GPLv2";
|
license = "GPLv2";
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.gnu;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.5.10";
|
version = "0.5.10";
|
||||||
@ -9,14 +10,15 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
|
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)";
|
description = "Curses-based interface for MPD (music player daemon)";
|
||||||
homepage = http://unkart.ovh.org/ncmpcpp/;
|
homepage = http://unkart.ovh.org/ncmpcpp/;
|
||||||
license = "GPLv2+";
|
license = licenses.gpl2Plus;
|
||||||
maintainers = [ stdenv.lib.maintainers.mornfall ];
|
maintainers = with maintainers; [ lovek323 mornfall ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
|||||||
version = "0.7.7";
|
version = "0.7.7";
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm, libsigcxx
|
{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm3
|
||||||
, libglademm, libcanberra, intltool, gettext }:
|
, libcanberra_gtk3, intltool, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "pavucontrol-1.0";
|
name = "pavucontrol-2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
|
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 ];
|
intltool gettext ];
|
||||||
|
|
||||||
configureFlags = "--disable-lynx --disable-gtk3";
|
configureFlags = "--disable-lynx";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "PulseAudio Volume Control";
|
description = "PulseAudio Volume Control";
|
||||||
@ -23,11 +23,11 @@ stdenv.mkDerivation rec {
|
|||||||
easily control the volume of all clients, sinks, etc.
|
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+";
|
license = "GPLv2+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,24 @@
|
|||||||
{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
|
{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
|
||||||
, pkgconfig, libdiscid, libofa, ffmpeg }:
|
, pkgconfig, libdiscid, libofa, ffmpeg, acoustidFingerprinter
|
||||||
|
}:
|
||||||
|
|
||||||
pythonPackages.buildPythonPackage rec {
|
pythonPackages.buildPythonPackage rec {
|
||||||
name = "picard-${version}";
|
name = "picard-${version}";
|
||||||
namePrefix = "";
|
namePrefix = "";
|
||||||
version = "1.1";
|
version = "1.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
|
url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
|
||||||
md5 = "57abb76632a423760f336ac11da5c149";
|
md5 = "d1086687b7f7b0d359a731b1a25e7b66";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = let
|
||||||
|
fpr = "${acoustidFingerprinter}/bin/acoustid_fpcalc";
|
||||||
|
in ''
|
||||||
|
sed -ri -e 's|(TextOption.*"acoustid_fpcalc"[^"]*")[^"]*|\1${fpr}|' \
|
||||||
|
picard/ui/options/fingerprinting.py
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pkgconfig
|
pkgconfig
|
||||||
ffmpeg
|
ffmpeg
|
||||||
|
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
|
in
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://downloads.sourceforge.net/snd/snd-${version}.tar.gz";
|
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
||||||
sha256 = "0zqgfnkvkqxby1k74mwba1r4pb520glcsz5jjmpzm9m41nqnghmm";
|
sha256 = "0zqgfnkvkqxby1k74mwba1r4pb520glcsz5jjmpzm9m41nqnghmm";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ 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";
|
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ stdenv.mkDerivation {
|
|||||||
mkdir -p $out/libexec/spotify
|
mkdir -p $out/libexec/spotify
|
||||||
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
|
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;
|
dontStrip = true;
|
||||||
|
@ -1,23 +1,43 @@
|
|||||||
{ stdenv, fetchurl, lightdm, pkgconfig, gtk3, intltool }:
|
{ stdenv, fetchurl, lightdm, pkgconfig, intltool
|
||||||
|
, hicolor_icon_theme, makeWrapper
|
||||||
|
, useGTK2 ? false, gtk2, gtk3 # gtk3 seems better supported
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
#ToDo: bad icons with gtk2;
|
||||||
name = "lightdm-gtk-greeter";
|
# avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from
|
||||||
|
|
||||||
|
#ToDo: Failed to open sessions directory: Error opening directory '${lightdm}/share/lightdm/remote-sessions': No such file or directory
|
||||||
|
|
||||||
|
let
|
||||||
|
ver_branch = "1.6";
|
||||||
|
version = "1.5.1"; # 1.5.2 and 1.6.0 result into infinite cycling of X in restarts
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "lightdm-gtk-greeter-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://launchpad.net/lightdm-gtk-greeter/1.6/1.5.1/+download/lightdm-gtk-greeter-1.5.1.tar.gz";
|
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz";
|
||||||
sha256 = "ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621";
|
sha256 = "08fnsbnay5jhd7ps8n91i6c227zq6xizpyn34qhqzykrga8pxkpc";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig gtk3 lightdm intltool ];
|
patches = [ ./lightdm-gtk-greeter.patch ];
|
||||||
|
|
||||||
patches =
|
|
||||||
[ ./lightdm-gtk-greeter.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
patchFlags = "-p0";
|
patchFlags = "-p0";
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig lightdm intltool ]
|
||||||
|
++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]);
|
||||||
|
|
||||||
|
configureFlags = stdenv.lib.optional useGTK2 "--with-gtk2";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
|
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
|
||||||
--replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
|
--replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
|
||||||
|
'' + stdenv.lib.optionalString useGTK2 ''
|
||||||
|
wrapProgram "$out/sbin/lightdm-gtk-greeter" \
|
||||||
|
--prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://launchpad.net/lightdm-gtk-greeter;
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,31 @@
|
|||||||
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2, intltool, x11, libxklavier, libgcrypt, makeWrapper }:
|
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
|
||||||
|
, intltool, x11, libxklavier, libgcrypt, dbus/*for tests*/ }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
let
|
||||||
name = "lightdm-1.5.1";
|
ver_branch = "1.8";
|
||||||
|
version = "1.7.0";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "lightdm-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = https://launchpad.net/lightdm/1.6/1.5.1/+download/lightdm-1.5.1.tar.xz;
|
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
|
||||||
sha256 = "645db2d763cc514d6aecb1838f4a9c33c3dcf0c94567a7ef36c6b23d8aa56c86";
|
sha256 = "0nwwjgc9xvwili6714ag88wsrf0lr5hv1i6z9f0xvin4ym18cbs5";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt makeWrapper ];
|
patches = [ ./lightdm.patch ];
|
||||||
|
|
||||||
configureFlags = [ "--enable-liblightdm-gobject" ];
|
|
||||||
|
|
||||||
patches =
|
|
||||||
[ ./lightdm.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
patchFlags = "-p0";
|
patchFlags = "-p0";
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
|
||||||
|
] ++ stdenv.lib.optional doCheck dbus.daemon;
|
||||||
|
|
||||||
|
configureFlags = [ "--enable-liblightdm-gobject" "--localstatedir=/var" ];
|
||||||
|
|
||||||
|
doCheck = false; # some tests fail, don't know why
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://launchpad.net/lightdm;
|
homepage = http://launchpad.net/lightdm;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 }:
|
, fontconfig, freetype, pam, dbus_libs }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
|
[ cmake pkgconfig x11 libjpeg libpng libXmu fontconfig freetype
|
||||||
pam dbus_libs
|
pam dbus_libs
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
|||||||
name = "bvi-1.3.2";
|
name = "bvi-1.3.2";
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
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];
|
||||||
|
};
|
||||||
|
}
|
@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
homepage = http://www.gnu.org/software/ed/;
|
homepage = http://www.gnu.org/software/ed/;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ EOF
|
|||||||
homepage = http://www.gnu.org/software/emacs/;
|
homepage = http://www.gnu.org/software/emacs/;
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ludo simons chaoflow ];
|
maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -26,8 +26,10 @@ stdenv.mkDerivation rec {
|
|||||||
++ stdenv.lib.optional stdenv.isLinux dbus;
|
++ stdenv.lib.optional stdenv.isLinux dbus;
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft"]
|
(if gtk != null then
|
||||||
|
[ "--with-x-toolkit=gtk" "--with-xft"]
|
||||||
|
else
|
||||||
|
[ "--with-x-toolkit=no" ])
|
||||||
# On NixOS, help Emacs find `crt*.o'.
|
# On NixOS, help Emacs find `crt*.o'.
|
||||||
++ stdenv.lib.optional (stdenv ? glibc)
|
++ stdenv.lib.optional (stdenv ? glibc)
|
||||||
[ "--with-crt-dir=${stdenv.glibc}/lib" ];
|
[ "--with-crt-dir=${stdenv.glibc}/lib" ];
|
||||||
@ -44,7 +46,7 @@ EOF
|
|||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "GNU Emacs 24, the extensible, customizable text editor";
|
description = "GNU Emacs 24, the extensible, customizable text editor";
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@ -67,7 +69,7 @@ EOF
|
|||||||
homepage = "http://www.gnu.org/software/emacs/";
|
homepage = "http://www.gnu.org/software/emacs/";
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ludo simons chaoflow ];
|
maintainers = with maintainers; [ chaoflow lovek323 simons ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ stdenv.mkDerivation {
|
|||||||
name = "bbdb-2.35";
|
name = "bbdb-2.35";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
# not using mirror:// because it produces a different file
|
||||||
url = http://bbdb.sourceforge.net/bbdb-2.35.tar.gz;
|
url = http://bbdb.sourceforge.net/bbdb-2.35.tar.gz;
|
||||||
sha256 = "3fb1316e2ed74d47ca61187fada550e58797467bd9e8ad67343ed16da769f916";
|
sha256 = "3fb1316e2ed74d47ca61187fada550e58797467bd9e8ad67343ed16da769f916";
|
||||||
};
|
};
|
||||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
|
|||||||
name = "color-theme-6.6.0";
|
name = "color-theme-6.6.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.savannah.gnu.org/releases/color-theme/${name}.tar.gz";
|
url = "mirror://savannah/color-theme/${name}.tar.gz";
|
||||||
sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn";
|
sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
homepage = http://ecb.sourceforge.net/;
|
homepage = http://ecb.sourceforge.net/;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
homepage = http://emacs-w3m.namazu.org/;
|
homepage = http://emacs-w3m.namazu.org/;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
{ stdenv, fetchurl, emacs }:
|
{ stdenv, fetchurl, emacs, texinfo }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "haskell-mode-2.9.1-102-g8d4b965";
|
name = "haskell-mode-13.07";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/haskell/haskell-mode/tarball/8d4b9651a69b62fcbedbac63de29a1e87ff0e97f";
|
url = "https://github.com/haskell/haskell-mode/archive/v13.07.tar.gz";
|
||||||
sha256 = "02sil43885xjbfqakrxkm7bjnjd930lx6845fc2rxmkq5plkq85a";
|
sha256 = "15c8ncj9mykkrizy1a8l94gq37s8hj13v3p5rgyaj9z0cwgl85kx";
|
||||||
name = "${name}.tar.gz";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [emacs];
|
buildInputs = [ emacs texinfo ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out/share/emacs/site-lisp"
|
mkdir -p "$out/share/emacs/site-lisp"
|
||||||
|
@ -91,7 +91,7 @@ in
|
|||||||
|
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
maintainers = with stdenv.lib.maintainers; [ simons ludo ];
|
maintainers = with stdenv.lib.maintainers; [ simons ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ludo chaoflow ];
|
maintainers = with stdenv.lib.maintainers; [ chaoflow ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.gnu;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
|
|||||||
name = "php-mode-1.5.0";
|
name = "php-mode-1.5.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://downloads.sourceforge.net/php-mode/${name}.tar.gz";
|
url = "mirror://sourceforge/php-mode/${name}.tar.gz";
|
||||||
sha256 = "1bffgg4rpiggxqc1hvjcby24sfyzj5728zg7r6f4v6a126a7kcfq";
|
sha256 = "1bffgg4rpiggxqc1hvjcby24sfyzj5728zg7r6f4v6a126a7kcfq";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,6 +27,6 @@ stdenv.mkDerivation {
|
|||||||
description = "Enhanced Emacs support for editing and running Scheme code";
|
description = "Enhanced Emacs support for editing and running Scheme code";
|
||||||
homepage = http://www.neilvandyke.org/quack/;
|
homepage = http://www.neilvandyke.org/quack/;
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
|
|||||||
# non-copyleft, BSD-style
|
# non-copyleft, BSD-style
|
||||||
license = "permissive";
|
license = "permissive";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,7 @@ stdenv.mkDerivation rec {
|
|||||||
name = "session-management-for-emacs-2.2a";
|
name = "session-management-for-emacs-2.2a";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://downloads.sourceforge.net/project/emacs-session/session/2.2a/session-2.2a.tar.gz";
|
url = "mirror://sourceforge/emacs-session/session-2.2a.tar.gz";
|
||||||
# url = "mirror://sourceforge.net/sourceforge/emacs-session/session-2.2a.tar.gz";
|
|
||||||
sha256 = "37dfba7420b5164eab90dafa9e8bf9a2c8f76505fe2fefa14a64e81fa76d0144";
|
sha256 = "37dfba7420b5164eab90dafa9e8bf9a2c8f76505fe2fefa14a64e81fa76d0144";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
20
pkgs/applications/editors/flpsed/default.nix
Normal file
20
pkgs/applications/editors/flpsed/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{stdenv, fetchurl, fltk13, ghostscript}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "flpsed-0.7.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.0.tar.gz";
|
||||||
|
sha1 = "7966fd3b6fb3aa2a376386533ed4421ebb66ad62";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ fltk13 ghostscript ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A WYSIWYG PostScript annotator.";
|
||||||
|
homepage = "http://http://flpsed.org/flpsed.html";
|
||||||
|
license = "GPLv3";
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
{stdenv, fetchurl, kdelibs, cmake, gettext }:
|
{stdenv, fetchurl, kdelibs, cmake, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "kile-2.1.2";
|
name = "kile-2.1.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/kile/${name}.tar.bz2";
|
url = "mirror://sourceforge/kile/${name}.tar.bz2";
|
||||||
sha256 = "0nx5fmjrxrndnzvknxnybd8qh15jzfxzbny2rljq3amjw02y9lc2";
|
sha256 = "18nfi37s46v9xav7vyki3phasddgcy4m7nywzxis198vr97yqqx0";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake gettext ];
|
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;
|
||||||
|
};
|
||||||
|
}
|
35
pkgs/applications/editors/nvpy/default.nix
Normal file
35
pkgs/applications/editors/nvpy/default.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{ pkgs, fetchurl, tk, buildPythonPackage, pythonPackages }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
version = "0.9.2";
|
||||||
|
name = "nvpy-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/cpbotha/nvpy/archive/v${version}.tar.gz";
|
||||||
|
sha256 = "78e41b80fc5549cba8cfd92b52d6530e8dfc8e8f37e96e4b219f30c266af811d";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [tk];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
pythonPackages.markdown
|
||||||
|
pythonPackages.tkinter
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
install -dm755 "$out/share/licenses/nvpy/"
|
||||||
|
install -m644 LICENSE.txt "$out/share/licenses/nvpy/LICENSE"
|
||||||
|
|
||||||
|
install -dm755 "$out/share/doc/nvpy/"
|
||||||
|
install -m644 README.rst "$out/share/doc/nvpy/README"
|
||||||
|
|
||||||
|
wrapProgram $out/bin/nvpy --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
description = "A simplenote-syncing note-taking tool inspired by Notational Velocity";
|
||||||
|
homepage = "https://github.com/cpbotha/nvpy";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
};
|
||||||
|
}
|
@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
homepage = http://texmacs.org/;
|
homepage = http://texmacs.org/;
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.roconnor ];
|
maintainers = [ stdenv.lib.maintainers.roconnor ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
24
pkgs/applications/editors/tiled-qt/default.nix
Normal file
24
pkgs/applications/editors/tiled-qt/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchurl, qt }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "tiled-qt-0.9.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/tiled/${name}.tar.gz";
|
||||||
|
sha256 = "09xm6ry56zsqbfl9fvlvc5kq9ikzdskm283r059q6rlc7crzhs38";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ qt ];
|
||||||
|
|
||||||
|
preConfigure = "qmake -r PREFIX=$out";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A free, easy to use and flexible tile map editor";
|
||||||
|
homepage = "http://www.mapeditor.org/";
|
||||||
|
# libtiled and tmxviewer is licensed under 2-calause BSD license.
|
||||||
|
# The rest is GPL2 or later.
|
||||||
|
license = stdenv.lib.licenses.gpl2Plus;
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ iyzsong ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
|
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
|
||||||
# but I have gvim with python support now :) - Marc
|
# but I have gvim with python support now :) - Marc
|
||||||
args@{source ? "latest", ...}: with args;
|
args@{source ? "default", ...}: with args;
|
||||||
|
|
||||||
|
|
||||||
let inherit (args.composableDerivation) composableDerivation edf; in
|
let inherit (args.composableDerivation) composableDerivation edf; in
|
||||||
@ -11,7 +11,7 @@ composableDerivation {
|
|||||||
else stdenv ).mkDerivation;
|
else stdenv ).mkDerivation;
|
||||||
} (fix: {
|
} (fix: {
|
||||||
|
|
||||||
name = "vim_configurable-7.3";
|
name = "vim_configurable-7.4";
|
||||||
|
|
||||||
enableParallelBuilding = true; # test this
|
enableParallelBuilding = true; # test this
|
||||||
|
|
||||||
@ -20,8 +20,8 @@ composableDerivation {
|
|||||||
"default" =
|
"default" =
|
||||||
# latest release
|
# latest release
|
||||||
args.fetchurl {
|
args.fetchurl {
|
||||||
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2;
|
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2;
|
||||||
sha256 = "079201qk8g9yisrrb0dn52ch96z3lzw6z473dydw9fzi0xp5spaw";
|
sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh";
|
||||||
};
|
};
|
||||||
"vim-nox" =
|
"vim-nox" =
|
||||||
{
|
{
|
||||||
@ -31,14 +31,7 @@ composableDerivation {
|
|||||||
name = "vim-nox-hg-2082fc3";
|
name = "vim-nox-hg-2082fc3";
|
||||||
# END
|
# END
|
||||||
}.src;
|
}.src;
|
||||||
"latest" = {
|
};
|
||||||
# vim latest usually is vim + bug fixes. So it should be very stable
|
|
||||||
# REGION AUTO UPDATE: { name="vim"; type="hg"; url="https://vim.googlecode.com/hg"; }
|
|
||||||
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-hg-7f98896.tar.bz2"; sha256 = "efcb8cc5924b530631a8e5fc2a0622045c2892210d32d300add24aded51866f1"; });
|
|
||||||
name = "vim-hg-7f98896";
|
|
||||||
# END
|
|
||||||
}.src;
|
|
||||||
};
|
|
||||||
|
|
||||||
# if darwin support is enabled, we want to make sure we're not building with
|
# if darwin support is enabled, we want to make sure we're not building with
|
||||||
# OS-installed python framework
|
# OS-installed python framework
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{ stdenv, fetchurl, ncurses, gettext, pkgconfig }:
|
{ stdenv, fetchurl, ncurses, gettext, pkgconfig }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "vim-7.3";
|
name = "vim-7.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.vim.org/pub/vim/unix/${name}.tar.bz2";
|
url = "ftp://ftp.vim.org/pub/vim/unix/${name}.tar.bz2";
|
||||||
sha256 = "079201qk8g9yisrrb0dn52ch96z3lzw6z473dydw9fzi0xp5spaw";
|
sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [ ncurses pkgconfig ];
|
buildInputs = [ ncurses pkgconfig ];
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
@ -41,8 +43,10 @@ stdenv.mkDerivation rec {
|
|||||||
sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure
|
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";
|
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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{stdenv, fetchurl, jre}:
|
{stdenv, fetchurl, jre}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "alchemy-007-alpha";
|
name = "alchemy-007";
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
@ -8,12 +8,12 @@
|
|||||||
assert stdenv ? glibc;
|
assert stdenv ? glibc;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.2";
|
version = "1.2.2";
|
||||||
name = "darktable-${version}";
|
name = "darktable-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
|
url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
|
||||||
sha256 = "0l2lrly46nda7b2y4gskqqxaajia34g487bgjcpd5ysxbhmmhlnw";
|
sha256 = "0nf85wjhlisbgwkfkc1wb8y7dpnx3v8zk9g3ghbd51gi7s62x40j";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
|||||||
name ="openexr_viewers-1.0.1";
|
name ="openexr_viewers-1.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
sha256 = "1w5qbcdp7sw48z1wk2v07f7p14vqqb1m2ncxyxnbkm9f4ab0ymg6";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
homepage = http://geeqie.sourceforge.net;
|
homepage = http://geeqie.sourceforge.net;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.gnu;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk, glib, gdk_pixbuf
|
{ 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
|
, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
|
||||||
, python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
|
, python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gimp-2.8.4";
|
name = "gimp-2.8.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
|
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
|
[ 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
|
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 ?
|
passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, gtk, freetype
|
{ 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
|
, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl_0_0_22, gegl_0_0_22
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gimp-2.6.12";
|
name = "gimp-2.6.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gtk.org/pub/gimp/v2.6/${name}.tar.bz2";
|
url = "ftp://ftp.gtk.org/pub/gimp/v2.6/${name}.tar.bz2";
|
||||||
sha256 = "0qpcgaa4pdqqhyyy8vjvzfflxgsrrs25zk79gixzlnbzq3qwjlym";
|
sha256 = "0qpcgaa4pdqqhyyy8vjvzfflxgsrrs25zk79gixzlnbzq3qwjlym";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pkgconfig gtk freetype fontconfig
|
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
|
perlXMLParser python pygtk gettext intltool babl_0_0_22 gegl_0_0_22
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ rec {
|
|||||||
name = "texturize-2.1";
|
name = "texturize-2.1";
|
||||||
buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
|
buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
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";
|
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
|
||||||
};
|
};
|
||||||
installPhase = "installPlugins src/texturize";
|
installPhase = "installPlugins src/texturize";
|
||||||
@ -148,7 +148,7 @@ rec {
|
|||||||
name = "gmic-1.3.2.0";
|
name = "gmic-1.3.2.0";
|
||||||
buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
|
buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
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";
|
sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
|
||||||
};
|
};
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
|||||||
name = "pinta-1.4";
|
name = "pinta-1.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/PintaProject/pinta/tarball/3f7ccfa93d";
|
url = "https://github.com/PintaProject/Pinta/tarball/3f7ccfa93d";
|
||||||
name = "pinta-1.4.tar.gz";
|
name = "pinta-1.4.tar.gz";
|
||||||
sha256 = "1kgb4gy5l6bd0akniwhiqqkvqayr5jgdsvn2pgg1038q9raafnpn";
|
sha256 = "1kgb4gy5l6bd0akniwhiqqkvqayr5jgdsvn2pgg1038q9raafnpn";
|
||||||
};
|
};
|
||||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
|||||||
name = "rapcad-${version}";
|
name = "rapcad-${version}";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.rapcad.org/rapcad";
|
url = "https://github.com/GilesBathgate/RapCAD.git";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
|
sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
|
||||||
};
|
};
|
||||||
|
@ -5,12 +5,12 @@ in
|
|||||||
assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
|
assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "sane-backends-1.0.22.482-g071f226";
|
name = "sane-backends-1.0.23.296-gf139120";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "http://git.debian.org/git/sane/sane-backends.git";
|
url = "http://git.debian.org/git/sane/sane-backends.git";
|
||||||
rev = "071f2269cd68d3411cbfa05a3d028b74496db970";
|
rev = "f139120c72db6de98be95b52c206c2a4d8071e92";
|
||||||
sha256 = "178xkv30m6irk4k0gqnfcl5kramm1qyj24dar8gp32428z1444xf";
|
sha256 = "1b2fv19c8ijh9l0jjilli3j70n17wvcgpqq1nxmiby3ai6nrzk8d";
|
||||||
};
|
};
|
||||||
|
|
||||||
udevSupport = hotplugSupport;
|
udevSupport = hotplugSupport;
|
||||||
@ -34,7 +34,7 @@ stdenv.mkDerivation {
|
|||||||
meta = {
|
meta = {
|
||||||
homepage = "http://www.sane-project.org/";
|
homepage = "http://www.sane-project.org/";
|
||||||
description = "Scanner Access Now Easy";
|
description = "Scanner Access Now Easy";
|
||||||
license = "GPLv2+";
|
license = stdenv.lib.licenses.gpl2Plus;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.simons ];
|
maintainers = [ stdenv.lib.maintainers.simons ];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
@ -4,7 +4,7 @@ libuuid }:
|
|||||||
assert (stdenv ? glibc);
|
assert (stdenv ? glibc);
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "seg3d-1.12";
|
name = "seg3d-1.12_20090930";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
|
url = http://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
|
||||||
sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";
|
sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";
|
||||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # needs GTK+
|
platforms = stdenv.lib.platforms.gnu; # needs GTK+
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
|
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
|
||||||
, imagemagick, libjpeg, fontconfig, podofo, qt4, icu, sqlite
|
, imagemagick, libjpeg, fontconfig, podofo, qt48, icu, sqlite
|
||||||
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, udisks, libusb1, libmtp
|
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "calibre-0.8.70";
|
name = "calibre-0.9.11";
|
||||||
# 0.9.* versions won't build: https://bugs.launchpad.net/calibre/+bug/1094719
|
# 0.9.12+ versions won't build due to missing qt4 private headers: https://bugs.launchpad.net/calibre/+bug/1094719
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/calibre/${name}.tar.xz";
|
url = "mirror://sourceforge/calibre/${name}.tar.xz";
|
||||||
sha256 = "12avwp8r6cnrw6c32gmd2hksa9rszdb76zs6fcmr3n8r1wkwa71g";
|
sha256 = "0jjs2cx222pbv4nrivlxag5fxa0v9m63x7arcll6xi173zdn4gg8";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit python;
|
inherit python;
|
||||||
@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg
|
[ 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.mechanize pythonPackages.lxml pythonPackages.dateutil
|
||||||
pythonPackages.cssutils pythonPackages.beautifulsoup
|
pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
|
||||||
pythonPackages.sqlite3 sqlite udisks libusb1 libmtp
|
pythonPackages.sqlite3 pythonPackages.netifaces sqlite libusb1 libmtp
|
||||||
];
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -46,11 +46,11 @@ stdenv.mkDerivation rec {
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "Comprehensive e-book software";
|
description = "Comprehensive e-book software";
|
||||||
homepage = http://calibre-ebook.com;
|
homepage = http://calibre-ebook.com;
|
||||||
license = "GPLv3";
|
license = licenses.gpl3;
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
maintainers = with maintainers; [ viric iElectric ];
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
{ stdenv, fetchurl, coreutils , unzip, which, pkgconfig , dbus
|
{ stdenv, fetchgit, coreutils , unzip, which, pkgconfig , dbus
|
||||||
, freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify
|
, freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify
|
||||||
, libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf
|
, libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.0.0";
|
rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
|
||||||
name = "dunst-${version}";
|
name = "dunst-${rev}";
|
||||||
|
|
||||||
src = fetchurl {
|
# 1.0.0 release doesn't include 100% CPU fix
|
||||||
url = "https://github.com/knopwob/dunst/archive/v${version}.zip";
|
# https://github.com/knopwob/dunst/issues/98
|
||||||
sha256 = "1x6k6jrf219v8hmhqhnnfjycldvsnp7ag8a2y8adp5rhfmgyn671";
|
src = fetchgit {
|
||||||
|
inherit rev;
|
||||||
|
url = "https://github.com/knopwob/dunst.git";
|
||||||
|
sha256 = "0m7yki16d72xm9n2m2fjszd8phqpn5b95q894cz75pmd0sv1j6bj";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
@ -23,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
libXScrnSaver xproto libXinerama perl];
|
libXScrnSaver xproto libXinerama perl];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
export VERSION=${version};
|
export VERSION=${rev};
|
||||||
export PREFIX=$out;
|
export PREFIX=$out;
|
||||||
make dunst;
|
make dunst;
|
||||||
'';
|
'';
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchgit, autoconf, automake, pkgconfig, libxml2 }:
|
{ stdenv, fetchgit, autoconf, automake, pkgconfig, libxml2 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "evtest-1.30";
|
name = "evtest-1.31";
|
||||||
|
|
||||||
preConfigure = "autoreconf -iv";
|
preConfigure = "autoreconf -iv";
|
||||||
|
|
||||||
@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://anongit.freedesktop.org/evtest";
|
url = "git://anongit.freedesktop.org/evtest";
|
||||||
rev = "1a50f2479c4775e047f234a24d95dda82441bfbd";
|
rev = "871371806017301373b8b0e5b7e8f168ce1ea13f";
|
||||||
|
sha256 = "1hxldlldlrb9lnnybn839a97fpqd1cixbmci2wzgr0rzhjbwhcgp";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -1,19 +1,23 @@
|
|||||||
{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl}:
|
{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}:
|
||||||
|
buildPerlPackage {
|
||||||
stdenv.mkDerivation {
|
name = "get_iplayer-2.83";
|
||||||
name = "get_iplayer-2.80";
|
|
||||||
|
|
||||||
buildInputs = [makeWrapper perl];
|
buildInputs = [makeWrapper perl];
|
||||||
|
propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP];
|
||||||
|
|
||||||
|
preConfigure = "touch Makefile.PL";
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp get_iplayer $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 {
|
src = fetchurl {
|
||||||
url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.80.tar.gz;
|
url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.83.tar.gz;
|
||||||
sha256 = "1hnadryyzca3bv1hfk2q3np9ihwvyxa3prwcrply6ywy4vnayjf8";
|
sha256 = "169zji0rr3z5ng6r4cyzvs89779m4iklln9gsqpryvm81ipalfga";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
|
|||||||
name = "gmrun-${version}";
|
name = "gmrun-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://downloads.sourceforge.net/project/gmrun/gmrun/${version}/${name}.tar.gz";
|
url = "mirror://sourceforge/gmrun/${name}.tar.gz";
|
||||||
md5 = "6cef37a968006d9496fc56a7099c603c";
|
sha256 = "180z6hbax1qypy5cyy2z6nn7fzxla4ib47ck8mqwr714ag77na8p";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ glib gtk2 pkgconfig popt ];
|
buildInputs = [ glib gtk2 pkgconfig popt ];
|
||||||
|
@ -31,7 +31,7 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
license = "GPLv3+";
|
license = "GPLv3+";
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
|
|||||||
|
|
||||||
let
|
let
|
||||||
name = "ikiwiki";
|
name = "ikiwiki";
|
||||||
version = "3.20130212";
|
version = "3.20130518";
|
||||||
|
|
||||||
lib = stdenv.lib;
|
lib = stdenv.lib;
|
||||||
in
|
in
|
||||||
@ -32,7 +32,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
|
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
|
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
|
description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
|
||||||
homepage = "http://www.lyx.org";
|
homepage = "http://www.lyx.org";
|
||||||
license = "GPL2";
|
license = "GPL2";
|
||||||
maintainers = [ stdenv.lib.maintainers.neznalek ];
|
maintainers = [ stdenv.lib.maintainers.vcunat ];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
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 {
|
stdenv.mkDerivation rec {
|
||||||
name = "nut-2.6.5";
|
name = "nut-2.6.5";
|
||||||
@ -8,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
|
sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ neon libusb openssl udev avahi freeipmi ];
|
buildInputs = [ neon libusb openssl udev avahi freeipmi libtool ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
|
@ -1,18 +1,25 @@
|
|||||||
{ stdenv, fetchurl, postgresql, wxGTK, libxml2, libxslt, openssl }:
|
{ stdenv, fetchurl, postgresql, wxGTK, libxml2, libxslt, openssl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "pgadmin3-1.10.0";
|
name = "pgadmin3-${version}";
|
||||||
|
version = "1.16.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://ftp3.de.postgresql.org/pub/Mirrors/ftp.postgresql.org/pgadmin3/release/v1.10.0/src/pgadmin3-1.10.0.tar.gz";
|
url = "http://ftp.postgresql.org/pub/pgadmin3/release/v${version}/src/pgadmin3-${version}.tar.gz";
|
||||||
sha256 = "1ndi951da3jw5800fjdgkbvl8n6k71x7x16ghihi1l88bilf2a16";
|
sha256 = "13n2nyjnbmjbz9n0xp6627n3pavkqfp4n45l1mnqxhjdq8yj9fnl";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
|
buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
|
||||||
|
|
||||||
meta = {
|
preConfigure = ''
|
||||||
|
substituteInPlace pgadmin/ver_svn.sh --replace "bin/bash" "$shell"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
description = "PostgreSQL administration GUI tool";
|
description = "PostgreSQL administration GUI tool";
|
||||||
homepage = http://www.pgadmin.org;
|
homepage = http://www.pgadmin.org;
|
||||||
license = "GPL2";
|
license = licenses.gpl2;
|
||||||
|
maintainers = [ maintainers.iElectric ];
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,32 @@
|
|||||||
{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, x11, sqlite, gsl,
|
{ 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 {
|
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
|
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 {
|
src = fetchurl {
|
||||||
url = "http://qgis.org/downloads/${name}.tar.bz2";
|
url = "http://qgis.org/downloads/${name}.tar.bz2";
|
||||||
sha256 = "0vlz1z3scj3k6nxf3hzfiq7k2773i6xvk6dvj4axs2f4njpnx7pr";
|
sha256 = "1aq32ch61bqsvh39lmrxah1fmh18cd3nqyi1l0sn6ssa3kwf82vh";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "user friendly Open Source Geographic Information System";
|
description = "User friendly Open Source Geographic Information System";
|
||||||
homepage = ttp://www.qgis.org;
|
homepage = http://www.qgis.org;
|
||||||
# you can choose one of the following licenses:
|
license = "GPLv2+";
|
||||||
license = [ "GPL" ];
|
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)
|
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "redshift";
|
pname = "redshift";
|
||||||
version = "1.6";
|
version = "1.7";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2";
|
url = "http://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "0g46zhqnx3y2fssmyjgaardzhjw1j29l1dbc2kmccw9wxqfla1wi";
|
sha256 = "1j0hs0vnlic90cf4bryn11n4ani1x2s5l8z6ll3fmrlw98ykrylv";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libX11 libXrandr libXxf86vm libxcb pkgconfig python
|
buildInputs = [ libX11 libXrandr libXxf86vm libxcb pkgconfig python
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
{ stdenv, fetchurl, kdelibs, kdebase_workspace, gettext }:
|
{ stdenv, fetchurl, kdelibs, kdebase_workspace, gettext }:
|
||||||
|
|
||||||
|
let version = "0.11";
|
||||||
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "rsibreak-0.11";
|
name = "rsibreak-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/files/${name}.tar.bz2";
|
url = "mirror://debian/pool/main/r/rsibreak/rsibreak_${version}.orig.tar.gz";
|
||||||
sha256 = "1yrf73r8mixskh8b531wb8dfs9z7rrw010xsrflhjhjmqh94h8mw";
|
sha256 = "0g27aswh8iz5v67v1wkjny4p100vs2gm0lw0qzfkg6sw1pb4i519";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
@ -13,8 +15,8 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ kdelibs kdebase_workspace ];
|
buildInputs = [ kdelibs kdebase_workspace ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.rsibreak.org/;
|
homepage = http://userbase.kde.org/RSIBreak; # http://www.rsibreak.org/ is down since 2011
|
||||||
description = "Repetitive Strain Injury prevention";
|
description = "Utility to help prevent repetitive strain injury for KDE 4";
|
||||||
inherit (kdelibs.meta) platforms maintainers;
|
inherit (kdelibs.meta) platforms maintainers;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
|||||||
name = "rxvt-2.6.4";
|
name = "rxvt-2.6.4";
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
|
{ stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
|
||||||
fontconfig, freetype, pkgconfig, libXrender }:
|
fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf }:
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "rxvt-unicode";
|
name = "rxvt-unicode";
|
||||||
@ -19,7 +19,8 @@ stdenv.mkDerivation (rec {
|
|||||||
buildInputs =
|
buildInputs =
|
||||||
[ libX11 libXt libXft ncurses /* required to build the terminfo file */
|
[ libX11 libXt libXft ncurses /* required to build the terminfo file */
|
||||||
fontconfig freetype pkgconfig libXrender ]
|
fontconfig freetype pkgconfig libXrender ]
|
||||||
++ stdenv.lib.optional perlSupport perl;
|
++ stdenv.lib.optional perlSupport perl
|
||||||
|
++ stdenv.lib.optional gdkPixbufSupport gdk_pixbuf;
|
||||||
|
|
||||||
preConfigure =
|
preConfigure =
|
||||||
''
|
''
|
||||||
|
@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
|
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 {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.21";
|
version = "0.21";
|
||||||
name = "vanitygen-${version}";
|
name = "vanitygen-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchgit {
|
||||||
name = "vanitygen-${version}.tar.gz";
|
url = "https://github.com/samr7/vanitygen";
|
||||||
url = "https://github.com/samr7/vanitygen/tarball/0.21";
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "1lj0gi08lg0pcby5pbpi08ysynzy24qa1n1065112shkpasi0kxv";
|
sha256 = "1vzfv74hhiyrrpvjca8paydx1ashgbgn5plzrx4swyzxy1xkamah";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openssl pcre ];
|
buildInputs = [ openssl pcre ];
|
||||||
|
@ -1,48 +1,31 @@
|
|||||||
x@{builderDefsPackage
|
{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11 }:
|
||||||
, ncurses
|
|
||||||
, ...}:
|
|
||||||
builderDefsPackage
|
|
||||||
(a :
|
|
||||||
let
|
|
||||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
|
||||||
[];
|
|
||||||
|
|
||||||
buildInputs = map (n: builtins.getAttr n x)
|
let
|
||||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
name = "vifm-${version}";
|
||||||
sourceInfo = rec {
|
version = "0.7.5";
|
||||||
baseName="vifm";
|
|
||||||
version="0.6.3";
|
in stdenv.mkDerivation {
|
||||||
name="${baseName}-${version}";
|
inherit name;
|
||||||
url="mirror://sourceforge/project/${baseName}/${baseName}/${name}.tar.bz2";
|
|
||||||
hash="1v5kiifjk7iyqrzjd94wn6a5dz4j3krl06pbp1ps9g3zdq2w2skv";
|
src = fetchurl {
|
||||||
};
|
url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
|
||||||
in
|
sha256 ="1r1d92zrff94rfx011dw2qsgdwd2ksqlz15la74d6h7sfcsnyd01";
|
||||||
rec {
|
|
||||||
src = a.fetchurl {
|
|
||||||
url = sourceInfo.url;
|
|
||||||
sha256 = sourceInfo.hash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (sourceInfo) name version;
|
#phaseNames = ["doConfigure" "doMakeInstall"];
|
||||||
inherit buildInputs;
|
buildInputs = [ utillinux ncurses file libX11 ];
|
||||||
|
|
||||||
/* doConfigure should be removed if not needed */
|
|
||||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A vi-like file manager";
|
description = "A vi-like file manager";
|
||||||
maintainers = with a.lib.maintainers;
|
maintainers = with pkgs.lib.maintainers; [ raskin garbas ];
|
||||||
[
|
platforms = pkgs.lib.platforms.linux;
|
||||||
raskin
|
license = pkgs.lib.licenses.gpl2;
|
||||||
];
|
|
||||||
platforms = with a.lib.platforms;
|
|
||||||
linux;
|
|
||||||
license = a.lib.licenses.gpl2;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateInfo = {
|
updateInfo = {
|
||||||
downloadPage = "http://vifm.sf.net";
|
downloadPage = "http://vifm.sf.net";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}) x
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
homepage = http://wordnet.princeton.edu/;
|
homepage = http://wordnet.princeton.edu/;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ ];
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||||||
name = "xfontsel-1.0.2";
|
name = "xfontsel-1.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
|
url = "mirror://xorg/individual/app/${name}.tar.bz2";
|
||||||
sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
|
sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||||||
name = "xlsfonts-1.0.2";
|
name = "xlsfonts-1.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
|
url = "mirror://xorg/individual/app/${name}.tar.bz2";
|
||||||
sha256 = "070iym754g3mf9x6xczl4gdnpvlk6rdyl1ndwhpjl21vg2dm2vnc";
|
sha256 = "070iym754g3mf9x6xczl4gdnpvlk6rdyl1ndwhpjl21vg2dm2vnc";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
|
{ cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
|
||||||
, utf8String, wirelesstools, X11, X11Xft
|
, utf8String, X11, X11Xft
|
||||||
}:
|
}:
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
@ -11,8 +11,8 @@ cabal.mkDerivation (self: {
|
|||||||
buildDepends = [
|
buildDepends = [
|
||||||
filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
|
filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
|
||||||
];
|
];
|
||||||
extraLibraries = [ libXrandr wirelesstools ];
|
extraLibraries = [ libXrandr ];
|
||||||
configureFlags = "-fwith_xft -fwith_iwlib";
|
configureFlags = "-fwith_xft";
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://projects.haskell.org/xmobar/";
|
homepage = "http://projects.haskell.org/xmobar/";
|
||||||
description = "A Minimalistic Text Based Status Bar";
|
description = "A Minimalistic Text Based Status Bar";
|
||||||
|
@ -14,9 +14,9 @@ let
|
|||||||
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
|
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
|
||||||
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
|
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
|
||||||
|
|
||||||
version = "1.0.134";
|
version = "1.1.42";
|
||||||
sha256 = if stdenv.system == "x86_64-linux" then "1kyxiqjabqgsg7n0a8snh03axxzpniazp93shb2l1b6x0f7d24n7"
|
sha256 = if stdenv.system == "x86_64-linux" then "07gcjzhhr8simkjjxhyzkvh3748ll81d742fz7j31nwdi34my8ri"
|
||||||
else if stdenv.system == "i686-linux" then "02wb8pqcb1rk108r49cqyg7s14grmjnkr6p3068pkiwdwwgi8jak"
|
else if stdenv.system == "i686-linux" then "0awf5bfhb4dp4aydzrgdp3wqv1mz6ys1z45i0r1hbqszvf44xj7c"
|
||||||
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
|
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
diff --git a/printing/printing.gyp b/printing/printing.gyp
|
|
||||||
index 19fa1b2..f11d76e 100644
|
|
||||||
--- a/printing/printing.gyp
|
|
||||||
+++ b/printing/printing.gyp
|
|
||||||
@@ -26,6 +26,9 @@
|
|
||||||
'include_dirs': [
|
|
||||||
'..',
|
|
||||||
],
|
|
||||||
+ 'cflags': [
|
|
||||||
+ '-Wno-deprecated-declarations',
|
|
||||||
+ ],
|
|
||||||
'sources': [
|
|
||||||
'backend/print_backend.cc',
|
|
||||||
'backend/print_backend.h',
|
|
@ -18,6 +18,9 @@
|
|||||||
# optional dependencies
|
# optional dependencies
|
||||||
, libgcrypt ? null # gnomeSupport || cupsSupport
|
, libgcrypt ? null # gnomeSupport || cupsSupport
|
||||||
|
|
||||||
|
# dependency for version 30
|
||||||
|
, file
|
||||||
|
|
||||||
# package customization
|
# package customization
|
||||||
, channel ? "stable"
|
, channel ? "stable"
|
||||||
, enableSELinux ? false, libselinux ? null
|
, enableSELinux ? false, libselinux ? null
|
||||||
@ -87,7 +90,9 @@ let
|
|||||||
# user namespace sandbox patch
|
# user namespace sandbox patch
|
||||||
userns_patch = if versionOlder sourceInfo.version "29.0.0.0"
|
userns_patch = if versionOlder sourceInfo.version "29.0.0.0"
|
||||||
then ./sandbox_userns.patch
|
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 {
|
in stdenv.mkDerivation rec {
|
||||||
name = "${packageName}-${version}";
|
name = "${packageName}-${version}";
|
||||||
@ -115,20 +120,23 @@ in stdenv.mkDerivation rec {
|
|||||||
++ optionals gnomeSupport [ gconf libgcrypt ]
|
++ optionals gnomeSupport [ gconf libgcrypt ]
|
||||||
++ optional enableSELinux libselinux
|
++ optional enableSELinux libselinux
|
||||||
++ optional cupsSupport libgcrypt
|
++ optional cupsSupport libgcrypt
|
||||||
++ optional pulseSupport pulseaudio;
|
++ optional pulseSupport pulseaudio
|
||||||
|
++ optional (!versionOlder sourceInfo.version "30.0.0.0") file;
|
||||||
|
|
||||||
opensslPatches = optional useOpenSSL openssl.patches;
|
opensslPatches = optional useOpenSSL openssl.patches;
|
||||||
|
|
||||||
prePatch = "patchShebangs .";
|
prePatch = "patchShebangs .";
|
||||||
|
|
||||||
patches = [ userns_patch ]
|
patches = [ userns_patch ];
|
||||||
++ optional cupsSupport ./cups_allow_deprecated.patch;
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i -r -e 's/-f(stack-protector)(-all)?/-fno-\1/' build/common.gypi
|
sed -i -r -e 's/-f(stack-protector)(-all)?/-fno-\1/' build/common.gypi
|
||||||
sed -i -e 's|/usr/bin/gcc|gcc|' third_party/WebKit/Source/core/core.gypi
|
sed -i -e 's|/usr/bin/gcc|gcc|' third_party/WebKit/Source/core/core.gypi
|
||||||
'' + optionalString useOpenSSL ''
|
'' + optionalString useOpenSSL ''
|
||||||
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
|
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
|
||||||
|
'' + optionalString (versionOlder sourceInfo.version "29.0.0.0") ''
|
||||||
|
sed -i -e '/struct SECItemArray/,/^};/d' \
|
||||||
|
net/third_party/nss/ssl/bodge/secitem_array.c
|
||||||
'';
|
'';
|
||||||
|
|
||||||
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
|
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
|
||||||
@ -145,6 +153,15 @@ in stdenv.mkDerivation rec {
|
|||||||
use_cups = cupsSupport;
|
use_cups = cupsSupport;
|
||||||
linux_sandbox_path="${libExecPath}/${packageName}_sandbox";
|
linux_sandbox_path="${libExecPath}/${packageName}_sandbox";
|
||||||
linux_sandbox_chrome_path="${libExecPath}/${packageName}";
|
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 {
|
} // optionalAttrs proprietaryCodecs {
|
||||||
# enable support for the H.264 codec
|
# enable support for the H.264 codec
|
||||||
proprietary_codecs = true;
|
proprietary_codecs = true;
|
||||||
@ -198,7 +215,7 @@ in stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Chromium, an open source web browser";
|
description = "An open source web browser from Google";
|
||||||
homepage = http://www.chromium.org/;
|
homepage = http://www.chromium.org/;
|
||||||
maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
|
maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
|
@ -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.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
dev = {
|
dev = {
|
||||||
version = "29.0.1541.2";
|
version = "30.0.1588.0";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1541.2.tar.xz";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1588.0.tar.xz";
|
||||||
sha256 = "0i3vp2zrk1sjdhkwdhig08jh0qmzahn96pm0i22r63cp8i9vny1p";
|
sha256 = "1jwc2pkd75gax8vj8wzahhpzl6ilgrlj3bcbah975yy67m7c8p13";
|
||||||
};
|
};
|
||||||
beta = {
|
beta = {
|
||||||
version = "28.0.1500.52";
|
version = "29.0.1547.49";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.49.tar.xz";
|
||||||
sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
|
sha256 = "03r64rydi2kbxgi2dcpslmpb716ppadqy1jzrbw39icz5xpgmg3k";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
version = "28.0.1500.52";
|
version = "28.0.1500.95";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.95.tar.xz";
|
||||||
sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
|
sha256 = "0d6pj57nyx7wfgxws98f6ly749flcyv7zg5sc3w16ggdxf5qhf1w";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
{ stdenv, fetchurl, unzip, xulrunner, makeWrapper }:
|
{ stdenv, fetchgit, unzip, xulrunner, makeWrapper }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "conkeror-1.0pre-20130401";
|
name = "conkeror-1.0pre-20130817-1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchgit {
|
||||||
url = http://repo.or.cz/w/conkeror.git/snapshot/0341e791c78653a2f5bbbff9a1dac04bf898dd65.zip;
|
url = git://repo.or.cz/conkeror.git;
|
||||||
sha256 = "11v7p40lcz6r5z0w54f8pk6hyn9mqjcw44fqszjyz25rkhx951ry";
|
rev = "refs/tags/debian-1.0--pre+git130817-1";
|
||||||
|
sha256 = "aef3c782ac98c031e7b99852f42538e225e151cd226cde3094823a5cae015fcf";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ unzip makeWrapper ];
|
buildInputs = [ unzip makeWrapper ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/libexec/conkeror
|
mkdir -p $out/libexec/conkeror
|
||||||
cp -r * $out/libexec/conkeror
|
cp -r * $out/libexec/conkeror
|
||||||
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user