Merge remote-tracking branch 'origin/master' into multiple-outputs
Conflicts: pkgs/development/libraries/atk/default.nix pkgs/development/libraries/cairo/default.nix pkgs/development/libraries/freetype/default.nix pkgs/development/libraries/glib/default.nix pkgs/development/libraries/gmime/default.nix pkgs/development/libraries/pango/default.nix pkgs/servers/x11/xorg/default.nix pkgs/top-level/all-packages.nix
This commit is contained in:
commit
552fd3d599
6
.gitignore
vendored
6
.gitignore
vendored
@ -2,6 +2,8 @@
|
||||
,*
|
||||
.*.swp
|
||||
.*.swo
|
||||
cpan-info
|
||||
cpan_tmp/
|
||||
result
|
||||
doc/NEWS.html
|
||||
doc/NEWS.txt
|
||||
doc/manual.html
|
||||
doc/manual.pdf
|
||||
|
@ -21,7 +21,7 @@ standard <varname>Makefile.PL</varname>. It’s implemented in <link
|
||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
|
||||
|
||||
<para>Perl packages from CPAN are defined in <link
|
||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/perl-packages.nix</filename></link>,
|
||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>,
|
||||
rather than <filename>pkgs/all-packages.nix</filename>. Most Perl
|
||||
packages are so straight-forward to build that they are defined here
|
||||
directly, rather than having a separate function for each package
|
||||
@ -151,6 +151,43 @@ ClassC3Componentised = buildPerlPackage rec {
|
||||
|
||||
</para>
|
||||
|
||||
<section><title>Generation from CPAN</title>
|
||||
|
||||
<para>Nix expressions for Perl packages can be generated (almost)
|
||||
automatically from CPAN. This is done by the program
|
||||
<command>nix-generate-from-cpan</command>, which can be installed
|
||||
as follows:</para>
|
||||
|
||||
<screen>
|
||||
$ nix-env -i nix-generate-from-cpan
|
||||
</screen>
|
||||
|
||||
<para>This program takes a Perl module name, looks it up on CPAN,
|
||||
fetches and unpacks the corresponding package, and prints a Nix
|
||||
expression on standard output. For example:
|
||||
|
||||
<screen>
|
||||
$ nix-generate-from-cpan XML::Simple
|
||||
XMLSimple = buildPerlPackage {
|
||||
name = "XML-Simple-2.20";
|
||||
src = fetchurl {
|
||||
url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz;
|
||||
sha256 = "5cff13d0802792da1eb45895ce1be461903d98ec97c9c953bc8406af7294434a";
|
||||
};
|
||||
propagatedBuildInputs = [ XMLNamespaceSupport XMLSAX XMLSAXExpat ];
|
||||
meta = {
|
||||
description = "Easily read/write XML (esp config files)";
|
||||
license = "perl";
|
||||
};
|
||||
};
|
||||
</screen>
|
||||
|
||||
The output can be pasted into
|
||||
<filename>pkgs/top-level/perl-packages.nix</filename> or wherever else
|
||||
you need it.</para>
|
||||
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
@ -237,12 +237,12 @@ fetchurl {
|
||||
|
||||
<function>fetchurl</function> will first try to download this file
|
||||
from <link
|
||||
xlink:href="http://nixos.org/tarballs/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
|
||||
xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
|
||||
If that file doesn’t exist, it will try the original URL. In
|
||||
general, the “content-addressed” location is
|
||||
<replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
|
||||
There is currently only one content-addressable mirror (<link
|
||||
xlink:href="http://nixos.org/tarballs"/>), but more can be
|
||||
xlink:href="http://tarballs.nixos.org"/>), but more can be
|
||||
specified in the <varname>hashedMirrors</varname> attribute in
|
||||
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
|
||||
setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable
|
||||
|
@ -1,120 +0,0 @@
|
||||
#! /bin/sh -e
|
||||
|
||||
name="$1"
|
||||
[ -n "$name" ] || { echo "no name"; exit 1; }
|
||||
|
||||
cpan -D "$name" > cpan-info
|
||||
|
||||
url="$(echo $(cat cpan-info | sed '6!d'))"
|
||||
[ -n "$url" ] || { echo "no URL"; exit 1; }
|
||||
url="mirror://cpan/authors/id/$url"
|
||||
echo "URL = $url" >&2
|
||||
|
||||
version=$(cat cpan-info | grep 'CPAN: ' | awk '{ print $2 }')
|
||||
echo "VERSION = $version"
|
||||
|
||||
declare -a xs=($(PRINT_PATH=1 nix-prefetch-url "$url"))
|
||||
hash=${xs[0]}
|
||||
path=${xs[1]}
|
||||
echo "HASH = $hash" >&2
|
||||
|
||||
namedash="$(echo $name | sed s/::/-/g)-$version"
|
||||
|
||||
attr=$(echo $name | sed s/:://g)
|
||||
|
||||
rm -rf cpan_tmp
|
||||
mkdir cpan_tmp
|
||||
tar xf "$path" -C cpan_tmp
|
||||
|
||||
shopt -s nullglob
|
||||
meta=$(echo cpan_tmp/*/META.json)
|
||||
if [ -z "$meta" ]; then
|
||||
yaml=$(echo cpan_tmp/*/META.yml)
|
||||
[ -n "$yaml" ] || { echo "no meta file"; exit 1; }
|
||||
meta=$(echo $yaml | sed s/\.yml$/.json/)
|
||||
perl -e '
|
||||
use YAML;
|
||||
use JSON;
|
||||
local $/;
|
||||
$x = YAML::Load(<>);
|
||||
print encode_json $x;
|
||||
' < $yaml > $meta
|
||||
fi
|
||||
|
||||
description="$(json abstract < $meta | perl -e '$x = <>; print uc(substr($x, 0, 1)), substr($x, 1);')"
|
||||
homepage="$(json resources.homepage < $meta)"
|
||||
if [ -z "$homepage" ]; then
|
||||
#homepage="$(json meta-spec.url < $meta)"
|
||||
true
|
||||
fi
|
||||
|
||||
license="$(json license < $meta | json -a 2> /dev/null || true)"
|
||||
if [ -z "$license" ]; then
|
||||
license="$(json -a license < $meta)"
|
||||
fi
|
||||
license="$(echo $license | sed s/perl_5/perl5/)"
|
||||
|
||||
f() {
|
||||
local type="$1"
|
||||
perl -e '
|
||||
use JSON;
|
||||
local $/;
|
||||
$x = decode_json <>;
|
||||
if (defined $x->{prereqs}) {
|
||||
$x2 = $x->{prereqs}->{'$type'}->{requires};
|
||||
} elsif ("'$type'" eq "runtime") {
|
||||
$x2 = $x->{requires};
|
||||
} elsif ("'$type'" eq "configure") {
|
||||
$x2 = $x->{configure_requires};
|
||||
} elsif ("'$type'" eq "build") {
|
||||
$x2 = $x->{build_requires};
|
||||
}
|
||||
foreach my $y (keys %{$x2}) {
|
||||
next if $y eq "perl";
|
||||
eval "use $y;";
|
||||
if (!$@) {
|
||||
print STDERR "skipping Perl-builtin module $y\n";
|
||||
next;
|
||||
}
|
||||
print $y, "\n";
|
||||
};
|
||||
' < $meta | sed s/:://g
|
||||
}
|
||||
|
||||
confdeps=$(f configure)
|
||||
builddeps=$(f build)
|
||||
testdeps=$(f test)
|
||||
runtimedeps=$(f runtime)
|
||||
|
||||
buildInputs=$(echo $(for i in $confdeps $builddeps $testdeps; do echo $i; done | sort | uniq))
|
||||
propagatedBuildInputs=$(echo $(for i in $runtimedeps; do echo $i; done | sort | uniq))
|
||||
|
||||
echo "===" >&2
|
||||
|
||||
cat <<EOF
|
||||
$attr = buildPerlPackage {
|
||||
name = "$namedash";
|
||||
src = fetchurl {
|
||||
url = $url;
|
||||
sha256 = "$hash";
|
||||
};
|
||||
EOF
|
||||
if [ -n "$buildInputs" ]; then
|
||||
cat <<EOF
|
||||
buildInputs = [ $buildInputs ];
|
||||
EOF
|
||||
fi
|
||||
if [ -n "$propagatedBuildInputs" ]; then
|
||||
cat <<EOF
|
||||
propagatedBuildInputs = [ $propagatedBuildInputs ];
|
||||
EOF
|
||||
fi
|
||||
cat <<EOF
|
||||
meta = {
|
||||
homepage = $homepage;
|
||||
description = "$description";
|
||||
license = "$license";
|
||||
};
|
||||
};
|
||||
EOF
|
||||
|
22
maintainers/scripts/nix-generate-from-cpan.nix
Normal file
22
maintainers/scripts/nix-generate-from-cpan.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{ stdenv, makeWrapper, perl, perlPackages }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nix-generate-from-cpan-1";
|
||||
|
||||
buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON ];
|
||||
|
||||
unpackPhase = "true";
|
||||
buildPhase = "true";
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
cp ${./nix-generate-from-cpan.pl} $out/bin/nix-generate-from-cpan
|
||||
wrapProgram $out/bin/nix-generate-from-cpan --set PERL5LIB $PERL5LIB
|
||||
'';
|
||||
|
||||
meta = {
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
description = "Utility to generate a Nix expression for a Perl package from CPAN";
|
||||
};
|
||||
}
|
168
maintainers/scripts/nix-generate-from-cpan.pl
Executable file
168
maintainers/scripts/nix-generate-from-cpan.pl
Executable file
@ -0,0 +1,168 @@
|
||||
#! /run/current-system/sw/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use CPANPLUS::Backend;
|
||||
use YAML::XS;
|
||||
use JSON;
|
||||
|
||||
my $module_name = $ARGV[0];
|
||||
die "syntax: $0 <MODULE-NAME>\n" unless defined $module_name;
|
||||
|
||||
my $cb = CPANPLUS::Backend->new;
|
||||
|
||||
my @modules = $cb->search(type => "name", allow => [$module_name]);
|
||||
die "module $module_name not found\n" if scalar @modules == 0;
|
||||
die "multiple packages that match module $module_name\n" if scalar @modules > 1;
|
||||
my $module = $modules[0];
|
||||
|
||||
sub pkg_to_attr {
|
||||
my ($pkg_name) = @_;
|
||||
my $attr_name = $pkg_name;
|
||||
$attr_name =~ s/-\d.*//; # strip version
|
||||
return "LWP" if $attr_name eq "libwww-perl";
|
||||
$attr_name =~ s/-//g;
|
||||
return $attr_name;
|
||||
}
|
||||
|
||||
sub get_pkg_name {
|
||||
my ($module) = @_;
|
||||
my $pkg_name = $module->package;
|
||||
$pkg_name =~ s/\.tar.*//;
|
||||
$pkg_name =~ s/\.zip//;
|
||||
return $pkg_name;
|
||||
}
|
||||
|
||||
my $pkg_name = get_pkg_name $module;
|
||||
my $attr_name = pkg_to_attr $pkg_name;
|
||||
|
||||
print STDERR "attribute name: ", $attr_name, "\n";
|
||||
print STDERR "module: ", $module->module, "\n";
|
||||
print STDERR "version: ", $module->version, "\n";
|
||||
print STDERR "package: ", $module->package, , " (", $pkg_name, ", ", $attr_name, ")\n";
|
||||
print STDERR "path: ", $module->path, "\n";
|
||||
|
||||
my $tar_path = $module->fetch();
|
||||
print STDERR "downloaded to: $tar_path\n";
|
||||
print STDERR "sha-256: ", $module->status->checksum_value, "\n";
|
||||
|
||||
my $pkg_path = $module->extract();
|
||||
print STDERR "unpacked to: $pkg_path\n";
|
||||
|
||||
my $meta;
|
||||
if (-e "$pkg_path/META.yml") {
|
||||
eval {
|
||||
$meta = YAML::XS::LoadFile("$pkg_path/META.yml");
|
||||
};
|
||||
if ($@) {
|
||||
system("iconv -f windows-1252 -t utf-8 '$pkg_path/META.yml' > '$pkg_path/META.yml.tmp'");
|
||||
$meta = YAML::XS::LoadFile("$pkg_path/META.yml.tmp");
|
||||
}
|
||||
}
|
||||
|
||||
print STDERR "metadata: ", encode_json($meta), "\n";
|
||||
|
||||
# Map a module to the attribute corresponding to its package
|
||||
# (e.g. HTML::HeadParser will be mapped to HTMLParser, because that
|
||||
# module is in the HTML-Parser package).
|
||||
sub module_to_pkg {
|
||||
my ($module_name) = @_;
|
||||
my @modules = $cb->search(type => "name", allow => [$module_name]);
|
||||
if (scalar @modules == 0) {
|
||||
# Fallback.
|
||||
$module_name =~ s/:://g;
|
||||
return $module_name;
|
||||
}
|
||||
my $module = $modules[0];
|
||||
my $attr_name = pkg_to_attr(get_pkg_name $module);
|
||||
print STDERR "mapped dep $module_name to $attr_name\n";
|
||||
return $attr_name;
|
||||
}
|
||||
|
||||
sub get_deps {
|
||||
my ($type) = @_;
|
||||
my $deps;
|
||||
if (defined $meta->{prereqs}) {
|
||||
die "unimplemented";
|
||||
} elsif ($type eq "runtime") {
|
||||
$deps = $meta->{requires};
|
||||
} elsif ($type eq "configure") {
|
||||
$deps = $meta->{configure_requires};
|
||||
} elsif ($type eq "build") {
|
||||
$deps = $meta->{build_requires};
|
||||
}
|
||||
my @res;
|
||||
foreach my $n (keys %{$deps}) {
|
||||
next if $n eq "perl";
|
||||
# Hacky way to figure out if this module is part of Perl.
|
||||
if ($n !~ /^JSON/ && $n !~ /^YAML/) {
|
||||
eval "use $n;";
|
||||
if (!$@) {
|
||||
print STDERR "skipping Perl-builtin module $n\n";
|
||||
next;
|
||||
}
|
||||
}
|
||||
push @res, module_to_pkg($n);
|
||||
}
|
||||
return @res;
|
||||
}
|
||||
|
||||
sub uniq {
|
||||
return keys %{{ map { $_ => 1 } @_ }};
|
||||
}
|
||||
|
||||
my @build_deps = sort(uniq(get_deps("configure"), get_deps("build"), get_deps("test")));
|
||||
print STDERR "build deps: @build_deps\n";
|
||||
|
||||
my @runtime_deps = sort(uniq(get_deps("runtime")));
|
||||
print STDERR "runtime deps: @runtime_deps\n";
|
||||
|
||||
my $homepage = $meta->{resources}->{homepage};
|
||||
print STDERR "homepage: $homepage\n" if defined $homepage;
|
||||
|
||||
my $description = $meta->{abstract};
|
||||
$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
|
||||
$description =~ s/\.$//; # remove period at the end
|
||||
$description =~ s/\s*$//;
|
||||
$description =~ s/^\s*//;
|
||||
print STDERR "description: $description\n";
|
||||
|
||||
my $license = $meta->{license};
|
||||
if (defined $license) {
|
||||
$license = "perl5" if $license eq "perl_5";
|
||||
print STDERR "license: $license\n";
|
||||
}
|
||||
|
||||
my $build_fun = -e "$pkg_path/Build.PL" && ! -e "$pkg_path/Makefile.PL" ? "buildPerlModule" : "buildPerlPackage";
|
||||
|
||||
print STDERR "===\n";
|
||||
|
||||
print <<EOF;
|
||||
$attr_name = $build_fun {
|
||||
name = "$pkg_name";
|
||||
src = fetchurl {
|
||||
url = mirror://cpan/${\$module->path}/${\$module->package};
|
||||
sha256 = "${\$module->status->checksum_value}";
|
||||
};
|
||||
EOF
|
||||
print <<EOF if scalar @build_deps > 0;
|
||||
buildInputs = [ @build_deps ];
|
||||
EOF
|
||||
print <<EOF if scalar @runtime_deps > 0;
|
||||
propagatedBuildInputs = [ @runtime_deps ];
|
||||
EOF
|
||||
print <<EOF;
|
||||
meta = {
|
||||
EOF
|
||||
print <<EOF if defined $homepage;
|
||||
homepage = $homepage;
|
||||
EOF
|
||||
print <<EOF;
|
||||
description = "$description";
|
||||
EOF
|
||||
print <<EOF if defined $license;
|
||||
license = "$license";
|
||||
EOF
|
||||
print <<EOF;
|
||||
};
|
||||
};
|
||||
EOF
|
@ -1,29 +1,26 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, gtk, libmowgli, libmcs
|
||||
{ stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs
|
||||
, gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg
|
||||
, libvorbis, libcdio, libcddb, flac, ffmpeg
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.2.2";
|
||||
version = "3.3.4";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "audacious-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
|
||||
sha256 = "1vj2f3jq67r9wc3s8p51w8338cjhidj3lpxmzyh31lrfikj21766";
|
||||
sha256 = "19zw4yj8g4fvxkv0ql8v8vgxzldxl1fzig239zzv88mpnvwxn737";
|
||||
};
|
||||
|
||||
pluginsSrc = fetchurl {
|
||||
url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
|
||||
sha256 = "1z5p4ny0kzszaki4f1fgrvcr0q1j6i19847jhplc07nl1rvycdy6";
|
||||
sha256 = "1l5g0zq73qp1hlrf4xsaj0n3hg0asrp7169531jgpncjn15dhvdn";
|
||||
};
|
||||
|
||||
# `--enable-amidiplug' is to prevent configure from looking in /proc/asound.
|
||||
configureFlags = "--enable-amidiplug --disable-oss";
|
||||
|
||||
buildInputs =
|
||||
[ gettext pkgconfig glib gtk libmowgli libmcs libxml2 dbus_glib
|
||||
[ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib
|
||||
libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio
|
||||
libcddb ffmpeg
|
||||
];
|
||||
@ -54,6 +51,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
description = "Audacious, a media player forked from the Beep Media Player, which was itself an XMMS fork";
|
||||
homepage = http://audacious-media-player.org/;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ];
|
||||
maintainers = with stdenv.lib.maintainers; [ eelco simons ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,29 +1,24 @@
|
||||
{ stdenv, fetchurl, libogg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "flac-1.2.1";
|
||||
name = "flac-1.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/flac/flac-1.2.1.tar.gz;
|
||||
sha256 = "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn";
|
||||
url = "http://downloads.xiph.org/releases/flac/${name}.tar.xz";
|
||||
sha256 = "1p0hh190kqvpkbk1bbajd81jfbmkyl4fn2i7pggk2zppq6m68bgs";
|
||||
};
|
||||
|
||||
buildInputs = [ libogg ];
|
||||
|
||||
patches =
|
||||
[ # Fix for building on GCC 4.3.
|
||||
(fetchurl {
|
||||
url = "http://sourceforge.net/p/flac/patches/_discuss/thread/9d4c7504/d8ea/attachment/flac-1.2.1-gcc-4.3-includes.patch";
|
||||
sha256 = "1m6ql5vyjb2jlp5qiqp6w0drq1m6x6y3i1dnl5ywywl3zd36k0mr";
|
||||
})
|
||||
];
|
||||
doCheck = true; # takes lots of time but will be run rarely (small build-time closure)
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "dev" "out" "bin" "doc" ];
|
||||
|
||||
meta = {
|
||||
homepage = http://flac.sourceforge.net;
|
||||
homepage = http://xiph.org/flac/;
|
||||
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
26
pkgs/applications/audio/pianobar/default.nix
Normal file
26
pkgs/applications/audio/pianobar/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ fetchurl, stdenv, pkgconfig, libao, faad2, libmad, readline, json_c, libgcrypt, gnutls }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pianobar-2013.05.19";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://6xq.net/projects/pianobar/${name}.tar.bz2";
|
||||
sha256 = "cf88e82663d2b0aa4d73e761506eac4f3e7bc789b57d92377acd994d785e1046";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig libao faad2 libmad json_c libgcrypt gnutls
|
||||
];
|
||||
|
||||
makeFlags="PREFIX=$(out)";
|
||||
|
||||
CC = "gcc";
|
||||
CFLAGS = "-std=c99";
|
||||
|
||||
meta = {
|
||||
description = "A console front-end for Pandora.com";
|
||||
homepage = "http://6xq.net/projects/pianobar/";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
};
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
||||
|
||||
let
|
||||
version = "0.9.0.133";
|
||||
version = "0.9.1.55";
|
||||
qt4webkit =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
@ -25,13 +25,13 @@ stdenv.mkDerivation {
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gd18ed58.259-1_i386.deb";
|
||||
sha256 = "15kbwll63pm99262f7xq1z0c5bwmk5cz46pkh8xd5xsqxlsvvv1n";
|
||||
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_i386.deb";
|
||||
sha256 = "1sls4gb85700126bbk4sz73ipa2rjcinmpnsi78q0bsdj365y2wc";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gd18ed58.259-1_amd64.deb";
|
||||
sha256 = "0l3nikhf4hyj6z7639s668kd806730va005rwqcxvymxddcbcp03";
|
||||
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_amd64.deb";
|
||||
sha256 = "10pzj3p8bjbxh9nnm4qc5s1hn9nh7hgh3vbwm0xblj9rn71wl03y";
|
||||
}
|
||||
else throw "Spotify not supported on this platform.";
|
||||
|
||||
|
@ -8,7 +8,7 @@ assert stdenv ? glibc;
|
||||
let
|
||||
|
||||
buildEclipse =
|
||||
{ name, src, description }:
|
||||
{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name src;
|
||||
@ -131,16 +131,15 @@ in {
|
||||
eclipse_sdk_37 = buildEclipse {
|
||||
name = "eclipse-sdk-3.7";
|
||||
description = "Eclipse Classic";
|
||||
src =
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk-x86_64.tar.gz;
|
||||
sha256 = "00ig3ww98r8imf32sx5npm6csn5nx288gvdk6w653nijni0di16j";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz;
|
||||
sha256 = "08rgw85cam51l98mzb39fdc3ykb369v8pap93qhknbs6a3f5dnff";
|
||||
sources = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz;
|
||||
sha256 = "0nf4nv7awhp1k8b1hjb7chpjyjrqnyszsjbc4dlk9phpjv3j4wg5";
|
||||
};
|
||||
"i686-linux" = fetchurl {
|
||||
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk.tar.gz;
|
||||
sha256 = "1isn7i45l9kyn2yx6vm88jl1gnxph8ynank0aaa218cg8kdygk7j";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -176,8 +175,8 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
eclipse_sdk_42 = buildEclipse {
|
||||
name = "eclipse-sdk-4.2";
|
||||
eclipse_sdk_421 = buildEclipse {
|
||||
name = "eclipse-sdk-4.2.1";
|
||||
description = "Eclipse Classic";
|
||||
src =
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
@ -191,4 +190,19 @@ in {
|
||||
sha256 = "1av6qm9wkbyk123qqf38f0jq4jv2bj9wp6fmpnl55zg6qr463c1w";
|
||||
};
|
||||
};
|
||||
|
||||
eclipse_sdk_422 = buildEclipse {
|
||||
name = "eclipse-sdk-4.2.2";
|
||||
description = "Eclipse Classic";
|
||||
sources = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-linux-gtk-x86_64.tar.gz;
|
||||
sha256 = "0ysa6ymk4h3k1vn59dc909iy197kmx132671kbzfwbim87jmgnqb";
|
||||
};
|
||||
"i686-linux" = fetchurl {
|
||||
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-linux-gtk.tar.gz;
|
||||
sha256 = "038yibbrcia38wi72qrdl03g7l35mpvl5nxdfdnvpqxrkfffb826";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
name = "cua-mode-2.10";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/cua-mode-2.10.el;
|
||||
url = http://tarballs.nixos.org/cua-mode-2.10.el;
|
||||
md5 = "5bf5e43f5f38c8383868c7c6c5baca09";
|
||||
};
|
||||
}
|
||||
|
20
pkgs/applications/editors/emacs-modes/ess/default.nix
Normal file
20
pkgs/applications/editors/emacs-modes/ess/default.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ stdenv, fetchurl, emacs, texinfo }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ess-13.05";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ess.r-project.org/downloads/ess/ess-13.05.tgz";
|
||||
sha256 = "007rd8hg1aclr2i8178ym5c4bi7vgmwkp802v1mkgr85h50zlfdk";
|
||||
};
|
||||
|
||||
buildInputs = [ emacs texinfo ];
|
||||
|
||||
configurePhase = "makeFlags=PREFIX=$out";
|
||||
|
||||
meta = {
|
||||
description = "Emacs Speaks Statistics";
|
||||
homepage = "http://ess.r-project.org/";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
};
|
||||
}
|
@ -11,7 +11,7 @@ in
|
||||
src = fetchsvn {
|
||||
url = "https://jdee.svn.sourceforge.net/svnroot/jdee/trunk/jdee";
|
||||
rev = revision;
|
||||
sha256 = "1qj5cv74dp6nf6060jyvnlcbmc4sz8a09806gwa1zfiwz6mm9zrs";
|
||||
sha256 = "1z1y957glbqm7z3dhah9h4jysw3173pq1gpx5agfwcw614n516xz";
|
||||
};
|
||||
|
||||
patchFlags = "-p1 --ignore-whitespace";
|
||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation {
|
||||
src = fetchurl {
|
||||
# XXX: Upstream URL is not versioned, which might eventually break this.
|
||||
url = "http://www.neilvandyke.org/quack/quack.el";
|
||||
sha256 = "1w3p03f1f3l2nldxc7dig1kkgbbvy5j7zid0cfmkcrpp1qrcsqic";
|
||||
sha256 = "1q5bsllxkibiddwp32306flqm8s3caffnpbqz5ka260avllp4jj5";
|
||||
};
|
||||
|
||||
buildInputs = [ emacs ];
|
||||
|
@ -4,8 +4,9 @@ stdenv.mkDerivation rec {
|
||||
name = "session-management-for-emacs-2.2a";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge.net/sourceforge/emacs-session/session-2.2a.tar.gz";
|
||||
sha256 = "0i01dnkizs349ahyybzy0mjzgj52z65rxynsj2mlw5mm41sbmprp";
|
||||
url = "http://downloads.sourceforge.net/project/emacs-session/session/2.2a/session-2.2a.tar.gz";
|
||||
# url = "mirror://sourceforge.net/sourceforge/emacs-session/session-2.2a.tar.gz";
|
||||
sha256 = "37dfba7420b5164eab90dafa9e8bf9a2c8f76505fe2fefa14a64e81fa76d0144";
|
||||
};
|
||||
|
||||
buildInputs = [emacs];
|
||||
|
27
pkgs/applications/editors/emacs-modes/tuareg/default.nix
Normal file
27
pkgs/applications/editors/emacs-modes/tuareg/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchurl, emacs }:
|
||||
|
||||
# this package installs the emacs-mode which
|
||||
# resides in the ocaml compiler sources.
|
||||
|
||||
let version = "2.0.6";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "tuareg-mode-${version}";
|
||||
src = fetchurl {
|
||||
url = https://forge.ocamlcore.org/frs/download.php/882/tuareg-2.0.6.tar.gz;
|
||||
sha256 = "ea79ac24623b82ab8047345f8504abca557a537e639d16ce1ac3e5b27f5b1189";
|
||||
};
|
||||
|
||||
buildInputs = [ emacs ];
|
||||
|
||||
installPhase = ''
|
||||
ensureDir "$out/share/emacs/site-lisp"
|
||||
cp *.el *.elc "$out/share/emacs/site-lisp"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://caml.inria.fr;
|
||||
description = "OCaml mode package for Emacs";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -1,15 +1,15 @@
|
||||
{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
|
||||
|
||||
let
|
||||
version = "1.22";
|
||||
version = "1.23";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "geany-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.geany.org/${name}.tar.gz";
|
||||
md5 = "1cb7f6cea8e301c416211786cec474fa";
|
||||
url = "http://download.geany.org/${name}.tar.bz2";
|
||||
sha256 = "1c78rggjaz9fa8gj25wka1sa3argvixnzrarmqvwh0s8d5ragm6d";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 which pkgconfig intltool ];
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/monodevelop-0.6-pre2315.tar.bz2;
|
||||
url = http://tarballs.nixos.org/monodevelop-0.6-pre2315.tar.bz2;
|
||||
md5 = "8c33df5629b0676b7ab552854c1de6fd";
|
||||
};
|
||||
|
||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation {
|
||||
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/monodoc-1.0.6.tar.gz;
|
||||
url = http://tarballs.nixos.org/monodoc-1.0.6.tar.gz;
|
||||
md5 = "f2fc27e8e4717d90dc7efa2450625693";
|
||||
};
|
||||
|
||||
|
@ -1,21 +1,60 @@
|
||||
# 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
|
||||
args: with args;
|
||||
args@{source ? "latest", ...}: with args;
|
||||
|
||||
|
||||
let inherit (args.composableDerivation) composableDerivation edf; in
|
||||
composableDerivation {} {
|
||||
composableDerivation {
|
||||
# use gccApple to compile on darwin
|
||||
mkDerivation = ( if stdenv.isDarwin
|
||||
then stdenvAdapters.overrideGCC stdenv gccApple
|
||||
else stdenv ).mkDerivation;
|
||||
} (fix: {
|
||||
|
||||
name = "vim_configurable-7.3";
|
||||
|
||||
src = args.fetchurl {
|
||||
enableParallelBuilding = true; # test this
|
||||
|
||||
src =
|
||||
builtins.getAttr source {
|
||||
"default" =
|
||||
# latest release
|
||||
args.fetchurl {
|
||||
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2;
|
||||
sha256 = "079201qk8g9yisrrb0dn52ch96z3lzw6z473dydw9fzi0xp5spaw";
|
||||
};
|
||||
"vim-nox" =
|
||||
{
|
||||
# vim nox branch: client-server without X by uing sockets
|
||||
# REGION AUTO UPDATE: { name="vim-nox"; type="hg"; url="https://code.google.com/r/yukihironakadaira-vim-cmdsrv-nox/"; branch="cmdsrv-nox"; }
|
||||
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-nox-hg-2082fc3.tar.bz2"; sha256 = "293164ca1df752b7f975fd3b44766f5a1db752de6c7385753f083499651bd13a"; });
|
||||
name = "vim-nox-hg-2082fc3";
|
||||
# END
|
||||
}.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;
|
||||
};
|
||||
|
||||
configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"];
|
||||
# if darwin support is enabled, we want to make sure we're not building with
|
||||
# OS-installed python framework
|
||||
preConfigure
|
||||
= stdenv.lib.optionalString
|
||||
(stdenv.isDarwin && (config.vim.darwin or true)) ''
|
||||
sed -i "5387,5390d" src/auto/configure
|
||||
sed -i "5394d" src/auto/configure
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ncurses pkgconfig]
|
||||
++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib
|
||||
libICE ];
|
||||
configureFlags
|
||||
= [ "--enable-gui=${args.gui}" "--with-features=${args.features}" ];
|
||||
|
||||
nativeBuildInputs
|
||||
= [ ncurses pkgconfig gtk libX11 libXext libSM libXpm libXt libXaw libXau
|
||||
libXmu glib libICE ];
|
||||
|
||||
# most interpreters aren't tested yet.. (see python for example how to do it)
|
||||
flags = {
|
||||
@ -28,7 +67,19 @@ composableDerivation {} {
|
||||
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
|
||||
// edf { name = "mzscheme"; } #Include MzScheme interpreter.
|
||||
// edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
|
||||
// edf { name = "python"; feat = "pythoninterp"; enable = { nativeBuildInputs = [python]; }; } #Include Python interpreter.
|
||||
|
||||
// edf {
|
||||
name = "python";
|
||||
feat = "pythoninterp";
|
||||
enable = {
|
||||
nativeBuildInputs = [ python ];
|
||||
} // lib.optionalAttrs stdenv.isDarwin {
|
||||
configureFlags
|
||||
= [ "--enable-pythoninterp=yes"
|
||||
"--with-python-config-dir=${python}/lib" ];
|
||||
};
|
||||
}
|
||||
|
||||
// edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
|
||||
// edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
|
||||
// edf { name = "lua" ; feat = "luainterp"; enable = { nativeBuildInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};}
|
||||
@ -47,11 +98,17 @@ composableDerivation {} {
|
||||
|
||||
cfg = {
|
||||
pythonSupport = config.vim.python or true;
|
||||
darwinSupport = config.vim.darwin or false;
|
||||
rubySupport = config.vim.ruby or true;
|
||||
nlsSupport = config.vim.nls or false;
|
||||
tclSupport = config.vim.tcl or false;
|
||||
multibyteSupport = config.vim.multibyte or false;
|
||||
cscopeSupport = config.vim.cscope or false;
|
||||
netbeansSupport = config.netbeans or true; # eg envim is using it
|
||||
|
||||
# by default, compile with darwin support if we're compiling on darwin, but
|
||||
# allow this to be disabled by setting config.vim.darwin to false
|
||||
darwinSupport = stdenv.isDarwin && (config.vim.darwin or true);
|
||||
|
||||
# add .nix filetype detection and minimal syntax highlighting support
|
||||
ftNixSupport = config.vim.ftNix or true;
|
||||
};
|
||||
@ -68,21 +125,23 @@ composableDerivation {} {
|
||||
// edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
|
||||
*/
|
||||
|
||||
postInstall = "
|
||||
rpath=`patchelf --print-rpath \$out/bin/vim`;
|
||||
for i in \$nativeBuildInputs; do
|
||||
echo adding \$i/lib
|
||||
rpath=\$rpath:\$i/lib
|
||||
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
|
||||
rpath=`patchelf --print-rpath $out/bin/vim`;
|
||||
for i in $nativeBuildInputs; do
|
||||
echo adding $i/lib
|
||||
rpath=$rpath:$i/lib
|
||||
done
|
||||
echo \$nativeBuildInputs
|
||||
echo \$rpath
|
||||
patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
|
||||
";
|
||||
dontStrip =1;
|
||||
echo $nativeBuildInputs
|
||||
echo $rpath
|
||||
patchelf --set-rpath $rpath $out/bin/{vim,gvim}
|
||||
'';
|
||||
|
||||
dontStrip = 1;
|
||||
|
||||
meta = {
|
||||
description = "The most popular clone of the VI editor";
|
||||
homepage = "www.vim.org";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "batik-1.6";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/batik-1.6.zip;
|
||||
url = http://tarballs.nixos.org/batik-1.6.zip;
|
||||
md5 = "edff288fc64f968ff96ca49763d50f3c";
|
||||
};
|
||||
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
||||
inherit makeWrapper;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/f-spot-0.0.10.tar.bz2;
|
||||
url = http://tarballs.nixos.org/f-spot-0.0.10.tar.bz2;
|
||||
md5 = "19cc6e067ccc261b0502ff6189b79832";
|
||||
};
|
||||
|
||||
|
@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
preConfigure = ''
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "oiio-${version}";
|
||||
version = "1.1.8";
|
||||
version = "1.1.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
|
||||
sha256 = "08a6qhplzs8kianqb1gjgrndg81h3il5531jn9g6i4940b1xispg";
|
||||
sha256 = "196iq15waa2yyryiwhf6ynlpqnpknm4cc4azakg01xs70yiphsfl";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, cmake, pixman, libpthreadstubs, gtkmm, libXau
|
||||
, libXdmcp, lcms2, libiptcdata, libcanberra, fftw
|
||||
, libXdmcp, lcms2, libiptcdata, libcanberra, fftw, expat
|
||||
, mercurial # Not really needed for anything, but it fails if it does not find 'hg'
|
||||
}:
|
||||
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk cmake pixman libpthreadstubs gtkmm libXau libXdmcp
|
||||
lcms2 libiptcdata mercurial libcanberra fftw ];
|
||||
lcms2 libiptcdata mercurial libcanberra fftw expat ];
|
||||
|
||||
# Disable the use of the RAWZOR propietary libraries
|
||||
cmakeFlags = [ "-DWITH_RAWZOR=OFF" ];
|
||||
|
@ -1,28 +1,33 @@
|
||||
{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff }:
|
||||
|
||||
let
|
||||
majVersion = "3.02";
|
||||
version = "${majVersion}.02";
|
||||
|
||||
f = lang : sha256 : let
|
||||
src = fetchurl {
|
||||
url = "http://tesseract-ocr.googlecode.com/files/${lang}.traineddata.gz";
|
||||
url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${majVersion}.${lang}.tar.gz";
|
||||
inherit sha256;
|
||||
};
|
||||
in
|
||||
"gunzip -c ${src} > $out/share/tessdata/${lang}.traineddata";
|
||||
"tar xfvz ${src} -C $out/share/ --strip=1";
|
||||
|
||||
extraLanguages = ''
|
||||
${f "cat" "1qndk8qygw9bq7nzn7kzgxkm3jhlq7jgvdqpj5id4rrcaavjvifw"}
|
||||
${f "rus" "0yjzks189bgcmi2vr4v0l0fla11qdrw3cb1nvpxl9mdis8qr9vcc"}
|
||||
${f "spa" "1q1hw3qi95q5ww3l02fbhjqacxm34cp65fkbx10wjdcg0s5p9q2x"}
|
||||
${f "nld" "0cbqfhl2rwb1mg4y1140nw2vhhcilc0nk7bfbnxw6bzj1y5n49i8"}
|
||||
${f "cat" "0d1smiv1b3k9ay2s05sl7q08mb3ln4w5iiiymv2cs8g8333z8jl9"}
|
||||
${f "rus" "059336mkhsj9m3hwfb818xjlxkcdpy7wfgr62qwz65cx914xl709"}
|
||||
${f "spa" "1c9iza5mbahd9pa7znnq8yv09v5kz3gbd2sarcgcgc1ps1jc437l"}
|
||||
${f "nld" "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy"}
|
||||
${f "eng" "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461"}
|
||||
${f "slv" "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr"}
|
||||
'';
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "tesseract-3.0.1";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tesseract-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://tesseract-ocr.googlecode.com/files/tesseract-3.01.tar.gz;
|
||||
sha256 = "c24b0bd278291bc93ab242f93841c1d8743689c943bd804afbc5b898dc0a1c9b";
|
||||
url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${version}.tar.gz";
|
||||
sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
|
||||
};
|
||||
|
||||
buildInputs = [ autoconf automake libtool leptonica libpng libtiff ];
|
||||
|
12
pkgs/applications/misc/blender/fix-include.patch
Normal file
12
pkgs/applications/misc/blender/fix-include.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h
|
||||
index fce901b..1f73c5e 100644
|
||||
--- a/intern/smoke/intern/WAVELET_NOISE.h
|
||||
+++ b/intern/smoke/intern/WAVELET_NOISE.h
|
||||
@@ -43,6 +43,7 @@
|
||||
#ifndef WAVELET_NOISE_H
|
||||
#define WAVELET_NOISE_H
|
||||
|
||||
+#include <string.h>
|
||||
#include <MERSENNETWISTER.h>
|
||||
|
||||
#ifdef WIN32
|
@ -1,17 +1,15 @@
|
||||
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
|
||||
, imagemagick, libjpeg, fontconfig, podofo, qt4, icu, sqlite
|
||||
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz
|
||||
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, udisks, libusb1, libmtp
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "calibre-0.8.51";
|
||||
name = "calibre-0.8.70";
|
||||
# 0.9.* versions won't build: https://bugs.launchpad.net/calibre/+bug/1094719
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"http://calibre-ebook.googlecode.com/files/${name}.tar.xz"
|
||||
"mirror://sourceforge/calibre/${name}.tar.xz"
|
||||
];
|
||||
sha256 = "1grcc0k9qpfpwp863x52rl9wj4wz61hcz67l8h2jmli0wxiq44z1";
|
||||
url = "mirror://sourceforge/calibre/${name}.tar.xz";
|
||||
sha256 = "12avwp8r6cnrw6c32gmd2hksa9rszdb76zs6fcmr3n8r1wkwa71g";
|
||||
};
|
||||
|
||||
inherit python;
|
||||
@ -23,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
fontconfig podofo qt4 pil chmlib icu
|
||||
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
|
||||
pythonPackages.cssutils pythonPackages.beautifulsoup
|
||||
pythonPackages.sqlite3 sqlite
|
||||
pythonPackages.sqlite3 sqlite udisks libusb1 libmtp
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
|
44
pkgs/applications/misc/cgminer/default.nix
Normal file
44
pkgs/applications/misc/cgminer/default.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ fetchgit, stdenv, pkgconfig, libtool, autoconf, automake,
|
||||
curl, ncurses, amdappsdk, amdadlsdk, xorg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.11.4";
|
||||
name = "cgminer-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/ckolivas/cgminer.git";
|
||||
rev = "96c8ff5f10f2d8f0cf4d1bd889e8eeac2e4aa715";
|
||||
sha256 = "1vf9agy4vw50cap03qig2y65hdrsdy7cknkzyagv89w5xb230r9a";
|
||||
};
|
||||
|
||||
buildInputs = [ autoconf automake pkgconfig libtool curl ncurses amdappsdk amdadlsdk xorg.libX11 xorg.libXext xorg.libXinerama ];
|
||||
configureScript = "./autogen.sh";
|
||||
configureFlags = "--enable-scrypt";
|
||||
NIX_LDFLAGS = "-lgcc_s -lX11 -lXext -lXinerama";
|
||||
|
||||
preConfigure = ''
|
||||
ln -s ${amdadlsdk}/include/* ADL_SDK/
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
gcc api-example.c -I compat/jansson -o cgminer-api
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
cp cgminer-api $out/bin/
|
||||
chmod 444 $out/bin/*.cl
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "CPU/GPU miner in c for bitcoin";
|
||||
longDescription= ''
|
||||
This is a multi-threaded multi-pool GPU, FPGA and ASIC miner with ATI GPU
|
||||
monitoring, (over)clocking and fanspeed support for bitcoin and derivative
|
||||
coins. Do not use on multiple block chains at the same time!
|
||||
'';
|
||||
homepage = "https://github.com/ckolivas/cgminer";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.offline ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
@ -1,16 +1,14 @@
|
||||
{ stdenv, fetchurl, libjpeg, libtiff, libpng, ghostscript, libungif, zlib }:
|
||||
{ stdenv, fetchurl, libjpeg, libtiff, librsvg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "djvulibre-3.5.24";
|
||||
name = "djvulibre-3.5.25.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/djvu/${name}.tar.gz";
|
||||
sha256 = "0d1592cmc7scg2jzah47mnvbqldhxb1x9vxm7y64a3iasa0lqwy0";
|
||||
sha256 = "1q5i5ha4zmj2ahjfhi8cv1rah80vm43m9ads46ji38rgvpb7x3c9";
|
||||
};
|
||||
|
||||
buildInputs = [ libjpeg libtiff libpng ghostscript zlib libungif ];
|
||||
|
||||
patches = [ ./gcc-4.6.patch ];
|
||||
buildInputs = [ libjpeg libtiff librsvg ];
|
||||
|
||||
meta = {
|
||||
description = "A library and viewer for the DJVU file format for scanned images";
|
||||
|
@ -1,658 +0,0 @@
|
||||
commit 3341545edba359b292a8ef6db1b7d342caf3dcf1
|
||||
Author: Leon Bottou <leon@bottou.org>
|
||||
Date: Wed May 4 21:25:35 2011 -0700
|
||||
|
||||
Added include <stddef.h> for gcc-4.6
|
||||
|
||||
diff --git a/libdjvu/BSByteStream.cpp b/libdjvu/BSByteStream.cpp
|
||||
index b762ccf..d662ab0 100644
|
||||
--- a/libdjvu/BSByteStream.cpp
|
||||
+++ b/libdjvu/BSByteStream.cpp
|
||||
@@ -62,6 +62,7 @@
|
||||
|
||||
// - Author: Leon Bottou, 07/1998
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/BSEncodeByteStream.cpp b/libdjvu/BSEncodeByteStream.cpp
|
||||
index 5d80e51..68bc3e3 100644
|
||||
--- a/libdjvu/BSEncodeByteStream.cpp
|
||||
+++ b/libdjvu/BSEncodeByteStream.cpp
|
||||
@@ -71,6 +71,7 @@
|
||||
#include "GOS.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/ByteStream.cpp b/libdjvu/ByteStream.cpp
|
||||
index 158c33c..be01847 100644
|
||||
--- a/libdjvu/ByteStream.cpp
|
||||
+++ b/libdjvu/ByteStream.cpp
|
||||
@@ -73,6 +73,7 @@
|
||||
#include "GOS.h"
|
||||
#include "GURL.h"
|
||||
#include "DjVuMessage.h"
|
||||
+#include <stddef.h>
|
||||
#include <fcntl.h>
|
||||
#if defined(WIN32) || defined(__CYGWIN32__)
|
||||
# include <io.h>
|
||||
diff --git a/libdjvu/DjVuFileCache.cpp b/libdjvu/DjVuFileCache.cpp
|
||||
index 6b1e85d..7d7a192 100644
|
||||
--- a/libdjvu/DjVuFileCache.cpp
|
||||
+++ b/libdjvu/DjVuFileCache.cpp
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "DjVuFileCache.h"
|
||||
#include "debug.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
diff --git a/libdjvu/DjVuGlobal.cpp b/libdjvu/DjVuGlobal.cpp
|
||||
index e6d3cec..df9278e 100644
|
||||
--- a/libdjvu/DjVuGlobal.cpp
|
||||
+++ b/libdjvu/DjVuGlobal.cpp
|
||||
@@ -76,6 +76,8 @@
|
||||
#include "GThreads.h"
|
||||
#include "GException.h"
|
||||
#include "GContainer.h"
|
||||
+
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/DjVuGlobalMemory.cpp b/libdjvu/DjVuGlobalMemory.cpp
|
||||
index 3c6012c..c8ba309 100644
|
||||
--- a/libdjvu/DjVuGlobalMemory.cpp
|
||||
+++ b/libdjvu/DjVuGlobalMemory.cpp
|
||||
@@ -67,6 +67,8 @@
|
||||
|
||||
#include "DjVuGlobal.h"
|
||||
#include "GException.h"
|
||||
+
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "debug.h"
|
||||
diff --git a/libdjvu/DjVuMessage.cpp b/libdjvu/DjVuMessage.cpp
|
||||
index 6f5a735..1726025 100644
|
||||
--- a/libdjvu/DjVuMessage.cpp
|
||||
+++ b/libdjvu/DjVuMessage.cpp
|
||||
@@ -71,6 +71,7 @@
|
||||
#include "debug.h"
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#ifdef WIN32
|
||||
# include <tchar.h>
|
||||
diff --git a/libdjvu/DjVuMessageLite.cpp b/libdjvu/DjVuMessageLite.cpp
|
||||
index b8c1010..5daa9d9 100644
|
||||
--- a/libdjvu/DjVuMessageLite.cpp
|
||||
+++ b/libdjvu/DjVuMessageLite.cpp
|
||||
@@ -73,8 +73,8 @@
|
||||
#include "debug.h"
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
-// #include <stdio.h>
|
||||
#ifdef WIN32
|
||||
#include <tchar.h>
|
||||
#include <windows.h>
|
||||
diff --git a/libdjvu/DjVuPalette.cpp b/libdjvu/DjVuPalette.cpp
|
||||
index c489f7b..76b0bf4 100644
|
||||
--- a/libdjvu/DjVuPalette.cpp
|
||||
+++ b/libdjvu/DjVuPalette.cpp
|
||||
@@ -64,6 +64,8 @@
|
||||
#include "ByteStream.h"
|
||||
#include "BSByteStream.h"
|
||||
#include "DjVuPalette.h"
|
||||
+
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
diff --git a/libdjvu/DjVuPort.h b/libdjvu/DjVuPort.h
|
||||
index f6a92f6..e2b3125 100644
|
||||
--- a/libdjvu/DjVuPort.h
|
||||
+++ b/libdjvu/DjVuPort.h
|
||||
@@ -65,6 +65,7 @@
|
||||
|
||||
#include "GThreads.h"
|
||||
#include "GURL.h"
|
||||
+#include "stddef.h"
|
||||
|
||||
#ifdef HAVE_NAMESPACES
|
||||
namespace DJVU {
|
||||
diff --git a/libdjvu/DjVuToPS.cpp b/libdjvu/DjVuToPS.cpp
|
||||
index 5517bf3..6914ff9 100644
|
||||
--- a/libdjvu/DjVuToPS.cpp
|
||||
+++ b/libdjvu/DjVuToPS.cpp
|
||||
@@ -72,6 +72,7 @@
|
||||
#include "GPixmap.h"
|
||||
#include "debug.h"
|
||||
#include <stdarg.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp
|
||||
index ab5c0de..797edcc 100644
|
||||
--- a/libdjvu/GBitmap.cpp
|
||||
+++ b/libdjvu/GBitmap.cpp
|
||||
@@ -66,6 +66,8 @@
|
||||
#include "GString.h"
|
||||
#include "GThreads.h"
|
||||
#include "GException.h"
|
||||
+#include <stddef.h>
|
||||
+#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
// - Author: Leon Bottou, 05/1997
|
||||
diff --git a/libdjvu/GException.cpp b/libdjvu/GException.cpp
|
||||
index 2ea179a..89da70f 100644
|
||||
--- a/libdjvu/GException.cpp
|
||||
+++ b/libdjvu/GException.cpp
|
||||
@@ -60,6 +60,7 @@
|
||||
# pragma implementation
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/GOS.cpp b/libdjvu/GOS.cpp
|
||||
index e784932..d2088e2 100644
|
||||
--- a/libdjvu/GOS.cpp
|
||||
+++ b/libdjvu/GOS.cpp
|
||||
@@ -65,6 +65,7 @@
|
||||
#include "GOS.h"
|
||||
#include "GURL.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
diff --git a/libdjvu/GPixmap.cpp b/libdjvu/GPixmap.cpp
|
||||
index 392df54..4bf6f57 100644
|
||||
--- a/libdjvu/GPixmap.cpp
|
||||
+++ b/libdjvu/GPixmap.cpp
|
||||
@@ -75,6 +75,8 @@
|
||||
#include "GThreads.h"
|
||||
#include "Arrays.h"
|
||||
#include "JPEGDecoder.h"
|
||||
+
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <assert.h>
|
||||
diff --git a/libdjvu/GSmartPointer.cpp b/libdjvu/GSmartPointer.cpp
|
||||
index 6e523e7..58aef5b 100644
|
||||
--- a/libdjvu/GSmartPointer.cpp
|
||||
+++ b/libdjvu/GSmartPointer.cpp
|
||||
@@ -67,6 +67,7 @@
|
||||
// Our original implementation consisted of multiple classes.
|
||||
// <http://prdownloads.sourceforge.net/djvu/DjVu2_2b-src.tgz>.
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <string.h>
|
||||
#if PARANOID_DEBUG
|
||||
# include <assert.h>
|
||||
diff --git a/libdjvu/GSmartPointer.h b/libdjvu/GSmartPointer.h
|
||||
index 82781bd..8a8bb8a 100644
|
||||
--- a/libdjvu/GSmartPointer.h
|
||||
+++ b/libdjvu/GSmartPointer.h
|
||||
@@ -97,6 +97,8 @@
|
||||
#include "DjVuGlobal.h"
|
||||
#include "atomic.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
+
|
||||
#ifdef HAVE_NAMESPACES
|
||||
namespace DJVU {
|
||||
# ifdef NOT_DEFINED // Just to fool emacs c++ mode
|
||||
diff --git a/libdjvu/GString.cpp b/libdjvu/GString.cpp
|
||||
index 03f6226..350b11b 100644
|
||||
--- a/libdjvu/GString.cpp
|
||||
+++ b/libdjvu/GString.cpp
|
||||
@@ -73,6 +73,7 @@
|
||||
#include "GThreads.h"
|
||||
#include "debug.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/GString.h b/libdjvu/GString.h
|
||||
index b63b753..3aa1f76 100644
|
||||
--- a/libdjvu/GString.h
|
||||
+++ b/libdjvu/GString.h
|
||||
@@ -108,6 +108,7 @@
|
||||
#include "DjVuGlobal.h"
|
||||
#include "GContainer.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#ifdef WIN32
|
||||
diff --git a/libdjvu/GThreads.cpp b/libdjvu/GThreads.cpp
|
||||
index d81f3c3..253fed8 100644
|
||||
--- a/libdjvu/GThreads.cpp
|
||||
+++ b/libdjvu/GThreads.cpp
|
||||
@@ -71,6 +71,8 @@
|
||||
#include "GThreads.h"
|
||||
#include "GException.h"
|
||||
#include "DjVuMessageLite.h"
|
||||
+
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
diff --git a/libdjvu/GURL.cpp b/libdjvu/GURL.cpp
|
||||
index c37bf52..a80078c 100644
|
||||
--- a/libdjvu/GURL.cpp
|
||||
+++ b/libdjvu/GURL.cpp
|
||||
@@ -72,6 +72,7 @@
|
||||
#include "GURL.h"
|
||||
#include "debug.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
diff --git a/libdjvu/GUnicode.cpp b/libdjvu/GUnicode.cpp
|
||||
index 415c081..a8b25b8 100644
|
||||
--- a/libdjvu/GUnicode.cpp
|
||||
+++ b/libdjvu/GUnicode.cpp
|
||||
@@ -62,6 +62,8 @@
|
||||
|
||||
#include "GString.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
+
|
||||
#if HAS_ICONV
|
||||
#include <iconv.h>
|
||||
#endif
|
||||
diff --git a/libdjvu/IFFByteStream.h b/libdjvu/IFFByteStream.h
|
||||
index a653f8c..e31b216 100644
|
||||
--- a/libdjvu/IFFByteStream.h
|
||||
+++ b/libdjvu/IFFByteStream.h
|
||||
@@ -124,6 +124,7 @@
|
||||
|
||||
|
||||
#include "DjVuGlobal.h"
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
|
||||
index 8d7b12c..49081b7 100644
|
||||
--- a/libdjvu/IW44EncodeCodec.cpp
|
||||
+++ b/libdjvu/IW44EncodeCodec.cpp
|
||||
@@ -76,6 +76,7 @@
|
||||
#include "IFFByteStream.h"
|
||||
#include "GRect.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
diff --git a/libdjvu/IW44Image.cpp b/libdjvu/IW44Image.cpp
|
||||
index 9476726..4a19fb5 100644
|
||||
--- a/libdjvu/IW44Image.cpp
|
||||
+++ b/libdjvu/IW44Image.cpp
|
||||
@@ -76,6 +76,7 @@
|
||||
#include "IFFByteStream.h"
|
||||
#include "GRect.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
diff --git a/libdjvu/JPEGDecoder.h b/libdjvu/JPEGDecoder.h
|
||||
index bd430a0..fad1d4c 100644
|
||||
--- a/libdjvu/JPEGDecoder.h
|
||||
+++ b/libdjvu/JPEGDecoder.h
|
||||
@@ -64,6 +64,7 @@
|
||||
|
||||
#ifdef NEED_JPEG_DECODER
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
diff --git a/libdjvu/MMX.cpp b/libdjvu/MMX.cpp
|
||||
index 5ab60bb..528dab6 100644
|
||||
--- a/libdjvu/MMX.cpp
|
||||
+++ b/libdjvu/MMX.cpp
|
||||
@@ -62,6 +62,7 @@
|
||||
|
||||
#include "MMX.h"
|
||||
#include <stdio.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
diff --git a/libdjvu/UnicodeByteStream.h b/libdjvu/UnicodeByteStream.h
|
||||
index 0ae112b..9b49a17 100644
|
||||
--- a/libdjvu/UnicodeByteStream.h
|
||||
+++ b/libdjvu/UnicodeByteStream.h
|
||||
@@ -88,6 +88,7 @@
|
||||
#include "GString.h"
|
||||
#include "ByteStream.h"
|
||||
|
||||
+#include <stddef.h>
|
||||
|
||||
#ifdef HAVE_NAMESPACES
|
||||
namespace DJVU {
|
||||
diff --git a/libdjvu/XMLParser.cpp b/libdjvu/XMLParser.cpp
|
||||
index 84386c5..7da923a 100644
|
||||
--- a/libdjvu/XMLParser.cpp
|
||||
+++ b/libdjvu/XMLParser.cpp
|
||||
@@ -75,6 +75,7 @@
|
||||
#include "debug.h"
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
diff --git a/libdjvu/ZPCodec.cpp b/libdjvu/ZPCodec.cpp
|
||||
index f6e971d..ff5b9bf 100644
|
||||
--- a/libdjvu/ZPCodec.cpp
|
||||
+++ b/libdjvu/ZPCodec.cpp
|
||||
@@ -66,6 +66,8 @@
|
||||
#include "ZPCodec.h"
|
||||
#include "ByteStream.h"
|
||||
#include "GException.h"
|
||||
+
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
diff --git a/libdjvu/atomic.cpp b/libdjvu/atomic.cpp
|
||||
index bdc193e..63fd483 100644
|
||||
--- a/libdjvu/atomic.cpp
|
||||
+++ b/libdjvu/atomic.cpp
|
||||
@@ -28,6 +28,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include "atomic.h"
|
||||
diff --git a/libdjvu/ddjvuapi.cpp b/libdjvu/ddjvuapi.cpp
|
||||
index b18b84b..f40f5aa 100644
|
||||
--- a/libdjvu/ddjvuapi.cpp
|
||||
+++ b/libdjvu/ddjvuapi.cpp
|
||||
@@ -60,6 +60,7 @@
|
||||
# pragma implementation "ddjvuapi.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
diff --git a/libdjvu/ddjvuapi.h b/libdjvu/ddjvuapi.h
|
||||
index d0ed48f..841f223 100644
|
||||
--- a/libdjvu/ddjvuapi.h
|
||||
+++ b/libdjvu/ddjvuapi.h
|
||||
@@ -64,6 +64,7 @@ extern "C" {
|
||||
}
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp
|
||||
index e0fb087..fc51297 100644
|
||||
--- a/libdjvu/miniexp.cpp
|
||||
+++ b/libdjvu/miniexp.cpp
|
||||
@@ -23,6 +23,7 @@
|
||||
# pragma implementation "miniexp.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
diff --git a/libdjvu/miniexp.h b/libdjvu/miniexp.h
|
||||
index 91e345d..993005b 100644
|
||||
--- a/libdjvu/miniexp.h
|
||||
+++ b/libdjvu/miniexp.h
|
||||
@@ -38,7 +38,8 @@ extern "C" {
|
||||
#ifndef MINILISPAPI
|
||||
# define MINILISPAPI /**/
|
||||
#endif
|
||||
-
|
||||
+
|
||||
+#include <stddef.h>
|
||||
|
||||
/* -------------------------------------------------- */
|
||||
/* LISP EXPRESSIONS */
|
||||
diff --git a/tools/bzz.cpp b/tools/bzz.cpp
|
||||
index ca092e1..2ebc7b9 100644
|
||||
--- a/tools/bzz.cpp
|
||||
+++ b/tools/bzz.cpp
|
||||
@@ -94,6 +94,7 @@
|
||||
#include "GURL.h"
|
||||
#include "DjVuMessage.h"
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static const char *program = "(unknown)";
|
||||
diff --git a/tools/c44.cpp b/tools/c44.cpp
|
||||
index 6f23b53..855504b 100644
|
||||
--- a/tools/c44.cpp
|
||||
+++ b/tools/c44.cpp
|
||||
@@ -226,6 +226,7 @@
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
// command line data
|
||||
diff --git a/tools/cjb2.cpp b/tools/cjb2.cpp
|
||||
index 8cf89b9..11eb662 100644
|
||||
--- a/tools/cjb2.cpp
|
||||
+++ b/tools/cjb2.cpp
|
||||
@@ -120,6 +120,7 @@
|
||||
#include "jb2tune.h"
|
||||
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#if HAVE_TIFF
|
||||
#include <tiffio.h>
|
||||
diff --git a/tools/cpaldjvu.cpp b/tools/cpaldjvu.cpp
|
||||
index 111cbd3..b640a7a 100644
|
||||
--- a/tools/cpaldjvu.cpp
|
||||
+++ b/tools/cpaldjvu.cpp
|
||||
@@ -118,6 +118,7 @@
|
||||
#include "jb2tune.h"
|
||||
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
diff --git a/tools/csepdjvu.cpp b/tools/csepdjvu.cpp
|
||||
index cd721f8..d5203d5 100644
|
||||
--- a/tools/csepdjvu.cpp
|
||||
+++ b/tools/csepdjvu.cpp
|
||||
@@ -162,6 +162,7 @@
|
||||
#include "jb2tune.h"
|
||||
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#undef MIN
|
||||
diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp
|
||||
index 817e045..981a270 100644
|
||||
--- a/tools/ddjvu.cpp
|
||||
+++ b/tools/ddjvu.cpp
|
||||
@@ -62,6 +62,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
diff --git a/tools/djvm.cpp b/tools/djvm.cpp
|
||||
index 951bd66..6ea88c2 100644
|
||||
--- a/tools/djvm.cpp
|
||||
+++ b/tools/djvm.cpp
|
||||
@@ -135,9 +135,9 @@
|
||||
#include "DjVuMessage.h"
|
||||
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
-#include <stdlib.h>
|
||||
|
||||
static const char * progname;
|
||||
|
||||
diff --git a/tools/djvmcvt.cpp b/tools/djvmcvt.cpp
|
||||
index 9ca1c54..20b468a 100644
|
||||
--- a/tools/djvmcvt.cpp
|
||||
+++ b/tools/djvmcvt.cpp
|
||||
@@ -144,6 +144,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static const char * progname;
|
||||
diff --git a/tools/djvudump.cpp b/tools/djvudump.cpp
|
||||
index 6a0215a..2dddbdf 100644
|
||||
--- a/tools/djvudump.cpp
|
||||
+++ b/tools/djvudump.cpp
|
||||
@@ -119,6 +119,7 @@ xxx
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void
|
||||
diff --git a/tools/djvuextract.cpp b/tools/djvuextract.cpp
|
||||
index 4a9f381..907b99c 100644
|
||||
--- a/tools/djvuextract.cpp
|
||||
+++ b/tools/djvuextract.cpp
|
||||
@@ -105,6 +105,7 @@
|
||||
#include "GOS.h"
|
||||
#include "DjVuMessage.h"
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
diff --git a/tools/djvumake.cpp b/tools/djvumake.cpp
|
||||
index 7020484..4c5fc0f 100644
|
||||
--- a/tools/djvumake.cpp
|
||||
+++ b/tools/djvumake.cpp
|
||||
@@ -153,6 +153,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
|
||||
diff --git a/tools/djvups.cpp b/tools/djvups.cpp
|
||||
index 51aa999..632b832 100644
|
||||
--- a/tools/djvups.cpp
|
||||
+++ b/tools/djvups.cpp
|
||||
@@ -57,6 +57,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
diff --git a/tools/djvused.cpp b/tools/djvused.cpp
|
||||
index de84dcd..687fdca 100644
|
||||
--- a/tools/djvused.cpp
|
||||
+++ b/tools/djvused.cpp
|
||||
@@ -61,6 +61,7 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
diff --git a/tools/djvuserve.cpp b/tools/djvuserve.cpp
|
||||
index 19a17da..818fe78 100644
|
||||
--- a/tools/djvuserve.cpp
|
||||
+++ b/tools/djvuserve.cpp
|
||||
@@ -73,6 +73,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
diff --git a/tools/djvutxt.cpp b/tools/djvutxt.cpp
|
||||
index ba2c745..9e9124c 100644
|
||||
--- a/tools/djvutxt.cpp
|
||||
+++ b/tools/djvutxt.cpp
|
||||
@@ -61,6 +61,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
diff --git a/tools/tiff2pdf.h b/tools/tiff2pdf.h
|
||||
index 082f5fb..656dc43 100644
|
||||
--- a/tools/tiff2pdf.h
|
||||
+++ b/tools/tiff2pdf.h
|
||||
@@ -22,6 +22,7 @@
|
||||
# endif
|
||||
# if HAVE_TIFF
|
||||
# include <stdio.h>
|
||||
+# include <stddef.h>
|
||||
# include <stdlib.h>
|
||||
# include <tiff.h>
|
||||
# include <tiffio.h>
|
||||
diff --git a/xmltools/djvutoxml.cpp b/xmltools/djvutoxml.cpp
|
||||
index 17c769b..b40535e 100644
|
||||
--- a/xmltools/djvutoxml.cpp
|
||||
+++ b/xmltools/djvutoxml.cpp
|
||||
@@ -71,6 +71,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
#include <assert.h>
|
||||
diff --git a/xmltools/djvuxmlparser.cpp b/xmltools/djvuxmlparser.cpp
|
||||
index bdc5768..6679a9d 100644
|
||||
--- a/xmltools/djvuxmlparser.cpp
|
||||
+++ b/xmltools/djvuxmlparser.cpp
|
||||
@@ -70,6 +70,7 @@
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <locale.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static void
|
@ -1,59 +0,0 @@
|
||||
{ fetchurl, stdenv, perl, perlXMLParser, gettext, intltool
|
||||
, pkgconfig, glib, gtk, gnomedocutils, gnomeicontheme
|
||||
, libgnome, libgnomeui, scrollkeeper, libxslt
|
||||
, libglade, libgnome_keyring, dbus, dbus_glib
|
||||
, poppler, libspectre, djvulibre, shared_mime_info
|
||||
, makeWrapper, which, ghostscript
|
||||
, recentListSize ? null # 5 is not enough, allow passing a different number
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "evince-2.32.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.gnome.org/pub/GNOME/sources/evince/2.32/${name}.tar.bz2";
|
||||
sha256 = "2a4c91ae38f8b5028cebb91b9da9ddc50ea8ae3f3d429df89ba351da2d787ff7";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
perl perlXMLParser gettext intltool pkgconfig glib gtk
|
||||
gnomedocutils gnomeicontheme libgnome libgnomeui libglade
|
||||
scrollkeeper libgnome_keyring
|
||||
libxslt # for `xsltproc'
|
||||
dbus dbus_glib poppler libspectre djvulibre makeWrapper which
|
||||
ghostscript
|
||||
];
|
||||
|
||||
configureFlags = "--with-libgnome --enable-dbus --enable-pixbuf "
|
||||
|
||||
# Do not use nautilus
|
||||
+ " --disable-nautilus "
|
||||
# Do not update Scrollkeeper's database (GNOME's help system).
|
||||
+ "--disable-scrollkeeper";
|
||||
|
||||
postUnpack = if recentListSize != null then ''
|
||||
sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' */shell/ev-open-recent-action.c
|
||||
sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' */shell/ev-window.c
|
||||
'' else "";
|
||||
|
||||
postInstall = ''
|
||||
# Tell Glib/GIO about the MIME info directory, which is used
|
||||
# by `g_file_info_get_content_type ()'.
|
||||
wrapProgram "$out/bin/evince" \
|
||||
--prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gnome.org/projects/evince/;
|
||||
description = "Evince, GNOME's document viewer";
|
||||
|
||||
longDescription = ''
|
||||
Evince is a document viewer for multiple document formats. It
|
||||
currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
|
||||
of Evince is to replace the multiple document viewers that exist
|
||||
on the GNOME Desktop with a single simple application.
|
||||
'';
|
||||
|
||||
license = "GPLv2+";
|
||||
};
|
||||
}
|
45
pkgs/applications/misc/keepass/default.nix
Normal file
45
pkgs/applications/misc/keepass/default.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{ stdenv, fetchurl, unzip, makeDesktopItem, mono }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "keepass-${version}";
|
||||
version = "2.22";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
|
||||
sha256 = "0mman7r1jmirfwzix5qww0yn4rrgzcg7546basxjvvfc8flp43j0";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "keepass";
|
||||
exec = "keepass";
|
||||
comment = "Password manager";
|
||||
desktopName = "Keepass";
|
||||
genericName = "Password manager";
|
||||
categories = "Application;Other;";
|
||||
};
|
||||
|
||||
|
||||
installPhase = ''
|
||||
ensureDir "$out/bin"
|
||||
echo "${mono}/bin/mono $out/KeePass.exe" > $out/bin/keepass
|
||||
chmod +x $out/bin/keepass
|
||||
echo $out
|
||||
cp -r ./* $out/
|
||||
ensureDir "$out/share/applications"
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||
'';
|
||||
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
meta = {
|
||||
description = "GUI password manager with strong cryptography";
|
||||
homepage = http://www.keepass.info/;
|
||||
maintainers = with stdenv.lib.maintainers; [amorsillo];
|
||||
platforms = with stdenv.lib.platforms; all;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
31
pkgs/applications/misc/sdcv/default.nix
Normal file
31
pkgs/applications/misc/sdcv/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, gettext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name= "sdcv-0.4.2";
|
||||
|
||||
meta = {
|
||||
homepage = http://sdcv.sourceforge.net/;
|
||||
description = "Console version of StarDict program";
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/sdcv/${name}.tar.bz2";
|
||||
sha256 = "1cnyv7gd1qvz8ma8545d3aq726wxrx4km7ykl97831irx5wz0r51";
|
||||
};
|
||||
|
||||
patches = ( if stdenv.isDarwin
|
||||
then [ ./sdcv.cpp.patch-darwin ./utils.hpp.patch ]
|
||||
else [ ./sdcv.cpp.patch ] );
|
||||
|
||||
buildInputs = [ pkgconfig glib gettext ];
|
||||
|
||||
preBuild = ''
|
||||
sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
|
||||
}
|
||||
|
12
pkgs/applications/misc/sdcv/sdcv.cpp.patch
Normal file
12
pkgs/applications/misc/sdcv/sdcv.cpp.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/src/utils.hpp
|
||||
+++ b/src/utils.hpp
|
||||
@@ -2,6 +2,9 @@
|
||||
#define _UTILS_HPP_
|
||||
|
||||
#include <string>
|
||||
+#include <stdio.h>
|
||||
+#include <cstdlib>
|
||||
+
|
||||
using std::string;
|
||||
|
||||
extern bool stdio_getline(FILE *in, string &str);
|
19
pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin
Normal file
19
pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin
Normal file
@ -0,0 +1,19 @@
|
||||
--- a/src/sdcv.cpp
|
||||
+++ b/src/sdcv.cpp
|
||||
@@ -27,13 +27,13 @@
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
#include <clocale>
|
||||
+#include <string>
|
||||
+#include <vector>
|
||||
+#include <memory>
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <glib/gstdio.h>
|
||||
#include <getopt.h>
|
||||
-#include <string>
|
||||
-#include <vector>
|
||||
-#include <memory>
|
||||
|
||||
#include "libwrapper.hpp"
|
||||
#include "readline.hpp"
|
10
pkgs/applications/misc/sdcv/utils.hpp.patch
Normal file
10
pkgs/applications/misc/sdcv/utils.hpp.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/src/utils.hpp
|
||||
+++ b/src/utils.hpp
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _UTILS_HPP_
|
||||
|
||||
#include <string>
|
||||
+#include <cstdlib>
|
||||
using std::string;
|
||||
|
||||
extern bool stdio_getline(FILE *in, string &str);
|
54
pkgs/applications/misc/synergy/cryptopp.patch
Normal file
54
pkgs/applications/misc/synergy/cryptopp.patch
Normal file
@ -0,0 +1,54 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 3b61fc0..2206646 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -133,6 +133,9 @@ if (UNIX)
|
||||
check_type_size(long SIZEOF_LONG)
|
||||
check_type_size(short SIZEOF_SHORT)
|
||||
|
||||
+ # let's just assume cryptopp exists (provided by the Nix expression)
|
||||
+ list(APPEND libs cryptopp)
|
||||
+
|
||||
# pthread is used on both Linux and Mac
|
||||
check_library_exists("pthread" pthread_create "" HAVE_PTHREAD)
|
||||
if (HAVE_PTHREAD)
|
||||
@@ -303,7 +306,6 @@ if (VNC_SUPPORT)
|
||||
endif()
|
||||
|
||||
add_subdirectory(src)
|
||||
-add_subdirectory(tools)
|
||||
|
||||
if (WIN32)
|
||||
# add /analyze in order to unconver potential bugs in the source code
|
||||
diff --git a/src/lib/synergy/CCryptoMode.h b/src/lib/synergy/CCryptoMode.h
|
||||
index 9b7e8ad..0d659ac 100644
|
||||
--- a/src/lib/synergy/CCryptoMode.h
|
||||
+++ b/src/lib/synergy/CCryptoMode.h
|
||||
@@ -17,9 +17,9 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
-#include <cryptopp562/gcm.h>
|
||||
-#include <cryptopp562/modes.h>
|
||||
-#include <cryptopp562/aes.h>
|
||||
+#include <cryptopp/gcm.h>
|
||||
+#include <cryptopp/modes.h>
|
||||
+#include <cryptopp/aes.h>
|
||||
#include "ECryptoMode.h"
|
||||
#include "CString.h"
|
||||
|
||||
diff --git a/src/lib/synergy/CCryptoStream.h b/src/lib/synergy/CCryptoStream.h
|
||||
index 104b1f6..09c4dc4 100644
|
||||
--- a/src/lib/synergy/CCryptoStream.h
|
||||
+++ b/src/lib/synergy/CCryptoStream.h
|
||||
@@ -20,8 +20,8 @@
|
||||
#include "BasicTypes.h"
|
||||
#include "CStreamFilter.h"
|
||||
#include "CCryptoMode.h"
|
||||
-#include <cryptopp562/osrng.h>
|
||||
-#include <cryptopp562/sha.h>
|
||||
+#include <cryptopp/osrng.h>
|
||||
+#include <cryptopp/sha.h>
|
||||
|
||||
class CCryptoOptions;
|
||||
|
@ -1,19 +1,34 @@
|
||||
{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst }:
|
||||
{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput
|
||||
, cryptopp ? null, unzip ? null }:
|
||||
|
||||
assert stdenv.isLinux -> cryptopp != null;
|
||||
assert !stdenv.isLinux -> unzip != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "synergy-1.4.10";
|
||||
name = "synergy-1.4.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz";
|
||||
sha256 = "1ghgf96gbk4sdw8sqlc3pjschkmmqybihi12mg6hi26gnk7a5m86";
|
||||
sha256 = "0j884skwqy8r8ckj9a4rlwsbjwb1yrj9wqma1nwhr2inff6hrdim";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake x11 libX11 libXi libXtst ];
|
||||
patches = optional stdenv.isLinux ./cryptopp.patch;
|
||||
|
||||
postPatch = if stdenv.isLinux then ''
|
||||
sed -i -e '/HAVE_X11_EXTENSIONS_XRANDR_H/c \
|
||||
set(HAVE_X11_EXTENSIONS_XRANDR_H true)' CMakeLists.txt
|
||||
'' else ''
|
||||
${unzip}/bin/unzip -d tools/cryptopp562 tools/cryptopp562.zip
|
||||
'';
|
||||
|
||||
buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput ]
|
||||
++ optional stdenv.isLinux cryptopp;
|
||||
|
||||
# At this moment make install doesn't work for synergy
|
||||
# http://synergy-foss.org/spit/issues/details/3317/
|
||||
|
||||
|
||||
installPhase = ''
|
||||
ensureDir $out/bin
|
||||
cp ../bin/synergyc $out/bin
|
||||
@ -21,10 +36,14 @@ stdenv.mkDerivation rec {
|
||||
cp ../bin/synergyd $out/bin
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "../bin/unittests";
|
||||
|
||||
meta = {
|
||||
description = "Tool to share the mouse keyboard and the clipboard between computers";
|
||||
homepage = http://synergy-foss.org;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.aszlig ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -84,6 +84,11 @@ let
|
||||
buildPath = "out/${buildType}";
|
||||
libExecPath = "$out/libexec/${packageName}";
|
||||
|
||||
# user namespace sandbox patch
|
||||
userns_patch = if versionOlder sourceInfo.version "29.0.0.0"
|
||||
then ./sandbox_userns.patch
|
||||
else ./sandbox_userns_29.patch;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${packageName}-${version}";
|
||||
inherit packageName;
|
||||
@ -116,18 +121,14 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
prePatch = "patchShebangs .";
|
||||
|
||||
patches = [ ./sandbox_userns.patch ]
|
||||
patches = [ userns_patch ]
|
||||
++ optional cupsSupport ./cups_allow_deprecated.patch;
|
||||
|
||||
postPatch = ''
|
||||
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
|
||||
'' + optionalString useOpenSSL ''
|
||||
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
|
||||
'' + ''
|
||||
sed -i -e 's|/usr/bin/gcc|gcc|' \
|
||||
third_party/WebKit/Source/${if !versionOlder sourceInfo.version "28.0.0.0"
|
||||
then "core/core.gypi"
|
||||
else "WebCore/WebCore.gyp/WebCore.gyp"}
|
||||
'';
|
||||
|
||||
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
|
||||
|
@ -0,0 +1,287 @@
|
||||
commit 557daf9cc9c02b8f17e6ee84f9b1ae6e6132d478
|
||||
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_util.h b/base/process_util.h
|
||||
index 0bec8e0..6b6f566 100644
|
||||
--- a/base/process_util.h
|
||||
+++ b/base/process_util.h
|
||||
@@ -175,6 +175,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)
|
||||
@@ -249,6 +250,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_util_posix.cc b/base/process_util_posix.cc
|
||||
index 83afe44..e529b2b 100644
|
||||
--- a/base/process_util_posix.cc
|
||||
+++ b/base/process_util_posix.cc
|
||||
@@ -34,6 +34,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
|
||||
@@ -621,8 +628,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
|
||||
{
|
||||
@@ -635,6 +653,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
|
||||
@@ -749,6 +782,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 130f44a..c1232d4 100644
|
||||
--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
|
||||
+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
|
||||
@@ -118,25 +118,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 "
|
||||
@@ -160,7 +166,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 7d01722..2f445ef 100644
|
||||
--- a/content/zygote/zygote_main_linux.cc
|
||||
+++ b/content/zygote/zygote_main_linux.cc
|
||||
@@ -395,6 +395,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
|
||||
*has_started_new_init = true;
|
||||
}
|
||||
|
||||
+ // Don't set non-dumpable, as it causes trouble when the host tries to find
|
||||
+ // the zygote process (XXX: Not quite sure why this happens with user
|
||||
+ // namespaces). Fortunately, we also have the seccomp filter sandbox which
|
||||
+ // should disallow the use of ptrace.
|
||||
+ if (setuid_sandbox->IsNoSuid())
|
||||
+ return true;
|
||||
+
|
||||
#if !defined(OS_OPENBSD)
|
||||
// Previously, we required that the binary be non-readable. This causes the
|
||||
// kernel to mark the process as non-dumpable at startup. The thinking was
|
||||
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
|
||||
index 34231d4..36e3201 100644
|
||||
--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
|
||||
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
|
||||
@@ -166,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const {
|
||||
return env_->HasVar(kSandboxNETNSEnvironmentVarName);
|
||||
}
|
||||
|
||||
+bool SetuidSandboxClient::IsNoSuid() const {
|
||||
+ return env_->HasVar(kSandboxNoSuidVarName);
|
||||
+}
|
||||
+
|
||||
bool SetuidSandboxClient::IsSandboxed() const {
|
||||
return sandboxed_;
|
||||
}
|
||||
@@ -175,5 +179,9 @@ void SetuidSandboxClient::SetupLaunchEnvironment() {
|
||||
SetSandboxAPIEnvironmentVariable(env_);
|
||||
}
|
||||
|
||||
+void SetuidSandboxClient::SetNoSuid() {
|
||||
+ env_->SetVar(kSandboxNoSuidVarName, "1");
|
||||
+}
|
||||
+
|
||||
} // namespace sandbox
|
||||
|
||||
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h
|
||||
index a9f6536..2e8113a 100644
|
||||
--- a/sandbox/linux/suid/client/setuid_sandbox_client.h
|
||||
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.h
|
||||
@@ -39,6 +39,8 @@ class SetuidSandboxClient {
|
||||
bool IsInNewPIDNamespace() const;
|
||||
// Did the setuid helper create a new network namespace ?
|
||||
bool IsInNewNETNamespace() const;
|
||||
+ // Is sandboxed without SUID binary ?
|
||||
+ bool IsNoSuid() const;
|
||||
// Are we done and fully sandboxed ?
|
||||
bool IsSandboxed() const;
|
||||
|
||||
@@ -46,6 +48,8 @@ class SetuidSandboxClient {
|
||||
// helper.
|
||||
void SetupLaunchEnvironment();
|
||||
|
||||
+ void SetNoSuid();
|
||||
+
|
||||
private:
|
||||
// Holds the environment. Will never be NULL.
|
||||
base::Environment* env_;
|
||||
diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h
|
||||
index aad4ff8..bd710d5 100644
|
||||
--- a/sandbox/linux/suid/common/sandbox.h
|
||||
+++ b/sandbox/linux/suid/common/sandbox.h
|
||||
@@ -18,6 +18,7 @@ static const char kAdjustLowMemMarginSwitch[] = "--adjust-low-mem";
|
||||
|
||||
static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
|
||||
static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";
|
||||
+static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID";
|
||||
|
||||
static const long kSUIDSandboxApiNumber = 1;
|
||||
static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
|
@ -1,18 +1,18 @@
|
||||
# This file is autogenerated from update.sh in the same directory.
|
||||
{
|
||||
dev = {
|
||||
version = "29.0.1516.3";
|
||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1516.3.tar.xz";
|
||||
sha256 = "0pdn9c6v0v55d7g4amivxrv132bpj9sfqywk5b8l6kqfjq28mw5k";
|
||||
version = "29.0.1541.2";
|
||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1541.2.tar.xz";
|
||||
sha256 = "0i3vp2zrk1sjdhkwdhig08jh0qmzahn96pm0i22r63cp8i9vny1p";
|
||||
};
|
||||
beta = {
|
||||
version = "28.0.1500.36";
|
||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.36.tar.xz";
|
||||
sha256 = "1bz9w46ps8gj056hfwbcj4myyxyr7y759nagz9idraia8116m3pp";
|
||||
version = "28.0.1500.52";
|
||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
|
||||
sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
|
||||
};
|
||||
stable = {
|
||||
version = "27.0.1453.110";
|
||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-27.0.1453.110.tar.xz";
|
||||
sha256 = "1y61shbzrkcv70x9zyj559g2yyp40hi9y59f7wwx5g076lsaxsw5";
|
||||
version = "28.0.1500.52";
|
||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.52.tar.xz";
|
||||
sha256 = "1d0q8lsvwqkaninmnyc8jjj0pnqxc5rr3lr3mgzj37avksxvyg3v";
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
channels_url="http://omahaproxy.appspot.com/all?csv=1";
|
||||
history_url="http://omahaproxy.appspot.com/history";
|
||||
bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
|
||||
output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix";
|
||||
|
||||
@ -41,6 +42,17 @@ sha_insert()
|
||||
ver_sha_table="$ver_sha_table $version:$sha256";
|
||||
}
|
||||
|
||||
get_newest_ver()
|
||||
{
|
||||
versions="$(for v in $@; do echo "$v"; done)";
|
||||
if oldest="$(echo "$versions" | sort -V 2> /dev/null | tail -n1)";
|
||||
then
|
||||
echo "$oldest";
|
||||
else
|
||||
echo "$versions" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n1;
|
||||
fi;
|
||||
}
|
||||
|
||||
if [ -e "$output_file" ];
|
||||
then
|
||||
get_sha256()
|
||||
@ -53,38 +65,55 @@ then
|
||||
|
||||
echo -n "Checking if $oldver ($channel) is up to date..." >&2;
|
||||
|
||||
if [ "x$version" != "x$oldver" ];
|
||||
if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ];
|
||||
then
|
||||
echo " no, getting sha256 for new version $version:" >&2;
|
||||
sha256="$(nix-prefetch-url "$url")";
|
||||
sha256="$(nix-prefetch-url "$url")" || return 1;
|
||||
else
|
||||
echo " yes, keeping old sha256." >&2;
|
||||
sha256="$(nix_getattr "$output_file" "$channel.sha256")";
|
||||
sha256="$(nix_getattr "$output_file" "$channel.sha256")" \
|
||||
|| return 1;
|
||||
fi;
|
||||
|
||||
sha_insert "$version" "$sha256";
|
||||
echo "$sha256";
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
get_sha256()
|
||||
{
|
||||
nix-prefetch-url "$url";
|
||||
nix-prefetch-url "$3";
|
||||
}
|
||||
fi;
|
||||
|
||||
fetch_filtered_history()
|
||||
{
|
||||
curl -s "$history_url" | sed -nr 's/^'"linux,$1"',([^,]+).*$/\1/p';
|
||||
}
|
||||
|
||||
get_prev_sha256()
|
||||
{
|
||||
channel="$1";
|
||||
current_version="$2";
|
||||
|
||||
for version in $(fetch_filtered_history "$channel");
|
||||
do
|
||||
[ "x$version" = "x$current_version" ] && continue;
|
||||
url="${bucket_url%/}/chromium-$version.tar.xz";
|
||||
sha256="$(get_sha256 "$channel" "$version" "$url")" || continue;
|
||||
echo "$sha256:$version:$url";
|
||||
return 0;
|
||||
done;
|
||||
}
|
||||
|
||||
get_channel_exprs()
|
||||
{
|
||||
for chline in $(echo "$1" | cut -d, -f-2);
|
||||
for chline in $1;
|
||||
do
|
||||
channel="${chline%%,*}";
|
||||
version="${chline##*,}";
|
||||
|
||||
# XXX: Remove case after version 26 is stable:
|
||||
if [ "${version%%.*}" -ge 26 ]; then
|
||||
url="${bucket_url%/}/chromium-$version.tar.xz";
|
||||
else
|
||||
url="${bucket_url%/}/chromium-$version.tar.bz2";
|
||||
fi;
|
||||
|
||||
echo -n "Checking if sha256 of version $version is cached..." >&2;
|
||||
if sha256="$(sha_lookup "$version")";
|
||||
@ -93,6 +122,17 @@ get_channel_exprs()
|
||||
else
|
||||
echo " no." >&2;
|
||||
sha256="$(get_sha256 "$channel" "$version" "$url")";
|
||||
if [ $? -ne 0 ];
|
||||
then
|
||||
echo "Whoops, failed to fetch $version, trying previous" \
|
||||
"versions:" >&2;
|
||||
|
||||
sha_ver_url="$(get_prev_sha256 "$channel" "$version")";
|
||||
sha256="${sha_ver_url%%:*}";
|
||||
ver_url="${sha_ver_url#*:}";
|
||||
version="${ver_url%%:*}";
|
||||
url="${ver_url#*:}";
|
||||
fi;
|
||||
fi;
|
||||
|
||||
sha_insert "$version" "$sha256";
|
||||
@ -108,7 +148,7 @@ get_channel_exprs()
|
||||
cd "$(dirname "$0")";
|
||||
|
||||
omaha="$(curl -s "$channels_url")";
|
||||
versions="$(echo "$omaha" | sed -n -e 's/^linux,\(\([^,]\+,\)\{2\}\).*$/\1/p')";
|
||||
versions="$(echo "$omaha" | sed -nr -e 's/^linux,([^,]+,[^,]+).*$/\1/p')";
|
||||
channel_exprs="$(get_channel_exprs "$versions")";
|
||||
|
||||
cat > "$output_file" <<-EOF
|
||||
|
@ -35,7 +35,7 @@ rec {
|
||||
#"--enable-profiling"
|
||||
"--disable-debug"
|
||||
"--enable-strip"
|
||||
# "--with-system-jpeg" # Too old in nixpkgs
|
||||
"--with-system-jpeg" # now we use recent libjpeg-turbo
|
||||
"--with-system-zlib"
|
||||
"--with-system-bz2"
|
||||
"--with-system-nspr"
|
||||
@ -135,7 +135,6 @@ rec {
|
||||
[ "--enable-application=browser"
|
||||
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
|
||||
"--enable-chrome-format=jar"
|
||||
"--disable-elf-hack"
|
||||
]
|
||||
++ commonConfigureFlags
|
||||
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
|
||||
|
@ -1,8 +1,10 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
|
||||
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
|
||||
, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
|
||||
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
|
||||
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
|
||||
|
||||
, hunspell, libevent, libstartup_notification, libvpx
|
||||
, cairo ? null
|
||||
, useSystemCairo ? false
|
||||
, # 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
|
||||
@ -12,8 +14,10 @@
|
||||
}:
|
||||
|
||||
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
|
||||
assert useSystemCairo -> cairo != null;
|
||||
|
||||
rec {
|
||||
let optional = stdenv.lib.optional;
|
||||
in rec {
|
||||
|
||||
firefoxVersion = "21.0";
|
||||
|
||||
@ -35,20 +39,25 @@ rec {
|
||||
#"--enable-profiling"
|
||||
"--disable-debug"
|
||||
"--enable-strip"
|
||||
# "--with-system-jpeg" # Too old in nixpkgs
|
||||
"--with-system-jpeg"
|
||||
"--with-system-zlib"
|
||||
"--with-system-bz2"
|
||||
"--with-system-nspr"
|
||||
"--with-system-nss"
|
||||
"--with-system-libevent"
|
||||
"--with-system-libvpx"
|
||||
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
|
||||
# "--enable-system-cairo" # <-- doesn't build
|
||||
"--enable-startup-notification"
|
||||
"--enable-system-ffi"
|
||||
"--enable-system-hunspell"
|
||||
"--enable-system-pixman"
|
||||
"--enable-system-sqlite"
|
||||
"--disable-crashreporter"
|
||||
"--disable-tests"
|
||||
"--disable-necko-wifi" # maybe we want to enable this at some point
|
||||
"--disable-installer"
|
||||
"--disable-updater"
|
||||
];
|
||||
] ++ optional useSystemCairo "--enable-system-cairo";
|
||||
|
||||
|
||||
xulrunner = stdenv.mkDerivation rec {
|
||||
@ -57,13 +66,14 @@ rec {
|
||||
inherit src;
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib bzip2
|
||||
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
|
||||
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
|
||||
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
|
||||
xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
|
||||
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
|
||||
];
|
||||
hunspell libevent libstartup_notification libvpx
|
||||
] ++ optional useSystemCairo cairo;
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=xulrunner"
|
||||
@ -72,6 +82,8 @@ rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = optional useSystemCairo ./system-cairo.patch; # probably in 22
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
|
||||
@ -124,9 +136,14 @@ rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2 python
|
||||
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
|
||||
xlibs.pixman yasm mesa sqlite file unzip pysqlite
|
||||
hunspell libevent libstartup_notification libvpx
|
||||
] ++ optional useSystemCairo cairo;
|
||||
|
||||
patches = [
|
||||
./disable-reporter.patch # fixes "search box not working when built on xulrunner"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [xulrunner];
|
||||
@ -135,7 +152,6 @@ rec {
|
||||
[ "--enable-application=browser"
|
||||
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
|
||||
"--enable-chrome-format=jar"
|
||||
"--disable-elf-hack"
|
||||
]
|
||||
++ commonConfigureFlags
|
||||
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
|
||||
|
@ -0,0 +1,20 @@
|
||||
# from:
|
||||
# - https://www.linuxquestions.org/questions/linux-from-scratch-13/blfs-xulrunner-firefox-21-0-and-search-4175462532/
|
||||
# - http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg17359.html
|
||||
|
||||
--- mozilla-release/browser/base/content/browser.js.orig 2013-05-11 16:19:21.000000000 -0300
|
||||
+++ mozilla-release/browser/base/content/browser.js 2013-06-07 00:39:16.114862388 -0300
|
||||
@@ -3559,10 +3559,12 @@
|
||||
*/
|
||||
recordSearchInHealthReport: function (engine, source) {
|
||||
#ifdef MOZ_SERVICES_HEALTHREPORT
|
||||
- let reporter = Cc["@mozilla.org/datareporting/service;1"]
|
||||
+ /*let reporter = Cc["@mozilla.org/datareporting/service;1"]
|
||||
.getService()
|
||||
.wrappedJSObject
|
||||
.healthReporter;
|
||||
+ */
|
||||
+ return;
|
||||
|
||||
// This can happen if the FHR component of the data reporting service is
|
||||
// disabled. This is controlled by a pref that most will never use.
|
@ -0,0 +1,73 @@
|
||||
# HG changeset patch
|
||||
# From: https://hg.mozilla.org/mozilla-central/rev/52b02042b27f
|
||||
# User Connor Behan <connor.behan@gmail.com>
|
||||
# Date 1370038985 -7200
|
||||
# Node ID 52b02042b27f75acbcb2bd4822bedb00ab680e67
|
||||
# Parent 08ed531fed70978385cf9253bbc8389b0abe76ca
|
||||
Bug 722975: Unbreak builds using --with-system-cairo. r=bas
|
||||
|
||||
diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
|
||||
--- a/gfx/thebes/gfxPlatform.cpp
|
||||
+++ b/gfx/thebes/gfxPlatform.cpp
|
||||
@@ -548,23 +548,31 @@ struct SourceSurfaceUserData
|
||||
BackendType mBackendType;
|
||||
};
|
||||
|
||||
void SourceBufferDestroy(void *srcSurfUD)
|
||||
{
|
||||
delete static_cast<SourceSurfaceUserData*>(srcSurfUD);
|
||||
}
|
||||
|
||||
+#if MOZ_TREE_CAIRO
|
||||
void SourceSnapshotDetached(cairo_surface_t *nullSurf)
|
||||
{
|
||||
gfxImageSurface* origSurf =
|
||||
static_cast<gfxImageSurface*>(cairo_surface_get_user_data(nullSurf, &kSourceSurface));
|
||||
|
||||
origSurf->SetData(&kSourceSurface, NULL, NULL);
|
||||
}
|
||||
+#else
|
||||
+void SourceSnapshotDetached(void *nullSurf)
|
||||
+{
|
||||
+ gfxImageSurface* origSurf = static_cast<gfxImageSurface*>(nullSurf);
|
||||
+ origSurf->SetData(&kSourceSurface, NULL, NULL);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
RefPtr<SourceSurface>
|
||||
gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurface)
|
||||
{
|
||||
void *userData = aSurface->GetData(&kSourceSurface);
|
||||
|
||||
if (userData) {
|
||||
SourceSurfaceUserData *surf = static_cast<SourceSurfaceUserData*>(userData);
|
||||
@@ -667,24 +675,28 @@ gfxPlatform::GetSourceSurfaceForSurface(
|
||||
}
|
||||
|
||||
srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(),
|
||||
imgSurface->Stride(),
|
||||
size, format);
|
||||
|
||||
}
|
||||
|
||||
+#if MOZ_TREE_CAIRO
|
||||
cairo_surface_t *nullSurf =
|
||||
cairo_null_surface_create(CAIRO_CONTENT_COLOR_ALPHA);
|
||||
cairo_surface_set_user_data(nullSurf,
|
||||
&kSourceSurface,
|
||||
imgSurface,
|
||||
NULL);
|
||||
cairo_surface_attach_snapshot(imgSurface->CairoSurface(), nullSurf, SourceSnapshotDetached);
|
||||
cairo_surface_destroy(nullSurf);
|
||||
+#else
|
||||
+ cairo_surface_set_mime_data(imgSurface->CairoSurface(), "mozilla/magic", (const unsigned char*) "data", 4, SourceSnapshotDetached, imgSurface.get());
|
||||
+#endif
|
||||
}
|
||||
|
||||
SourceSurfaceUserData *srcSurfUD = new SourceSurfaceUserData;
|
||||
srcSurfUD->mBackendType = aTarget->GetType();
|
||||
srcSurfUD->mSrcSurface = srcBuffer;
|
||||
aSurface->SetData(&kSourceSurface, srcSurfUD, SourceBufferDestroy);
|
||||
|
||||
return srcBuffer;
|
||||
|
@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
|
||||
preConfigure = ''
|
||||
sed -e 's@/usr/bin/@@g' -i configure
|
||||
sed -e '/gthread[.]h/d' -i src/npw-player.c
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lgthread-2.0"
|
||||
export configureFlags="$configureFlags --target-cpu=$(uname -m)"
|
||||
'';
|
||||
|
||||
|
@ -1,11 +1,12 @@
|
||||
{ stdenv, coreutils, fetchurl, python }:
|
||||
{ stdenv, coreutils, fetchurl, python, dropbox }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "dropbox-cli";
|
||||
|
||||
src = fetchurl {
|
||||
# Note: dropbox doesn't version this file. Annoying.
|
||||
url = "https://linux.dropbox.com/packages/dropbox.py";
|
||||
sha256 = "1x46i0aplah4a2nqglb8byl3c60w7h1cjja62myxj2dpxyv7fydy";
|
||||
sha256 = "0p1pg8bw6mlhqi5k8y3pgs7byg0kfvq57s53sh188lb5sxvlg7yz";
|
||||
};
|
||||
|
||||
buildInputs = [ coreutils python ];
|
||||
@ -20,7 +21,8 @@ stdenv.mkDerivation {
|
||||
fixupPhase = ''
|
||||
substituteInPlace $out/bin/dropbox-cli \
|
||||
--replace "/usr/bin/python" ${python}/bin/python \
|
||||
--replace "use dropbox help" "use dropbox-cli help"
|
||||
--replace "use dropbox help" "use dropbox-cli help" \
|
||||
--replace "~/.dropbox-dist/dropboxd" ${dropbox}/bin/dropbox
|
||||
|
||||
chmod +x $out/bin/dropbox-cli
|
||||
'';
|
||||
@ -29,8 +31,8 @@ stdenv.mkDerivation {
|
||||
homepage = http://dropbox.com;
|
||||
description = "Command line client for the dropbox daemon.";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
# NOTE: Dropbox itself only works on linux, so this is ok.
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = "--enable-external-ortp --enable-external-mediastreamer";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # I'm lazy to fix these for them
|
||||
|
||||
meta = {
|
||||
homepage = http://www.linphone.org/;
|
||||
description = "Open Source video SIP softphone";
|
||||
|
@ -5,11 +5,11 @@
|
||||
assert stdenv.system == "i686-linux";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "skype-4.1.0.20";
|
||||
name = "skype-4.2.0.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.skype.com/linux/${name}.tar.bz2";
|
||||
sha256 = "1qhcxkfmlpblpy9rqimzdl79rm781swbldkzi6nyw56bbp6lf7n3";
|
||||
sha256 = "0kh66p50m3x4ql6j8ciz73c30npcizd00ya9qrhid711rar0mlw7";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl}:
|
||||
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "irssi-0.8.15";
|
||||
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig ncurses glib openssl perl];
|
||||
buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
|
||||
|
||||
NIX_LDFLAGS = "-lncurses";
|
||||
|
||||
@ -16,5 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
homepage = http://irssi.org;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
|
||||
};
|
||||
}
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ stdenv, fetchurl, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }:
|
||||
|
||||
let
|
||||
rev = "59ddcbe66a";
|
||||
rev = "cab3fc915c";
|
||||
in
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "irssi-otr-20130315-${rev}";
|
||||
name = "irssi-otr-20130601-${rev}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cryptodotis/irssi-otr/tarball/${rev}";
|
||||
name = "${name}.tar.gz";
|
||||
sha256 = "095dak0d10j6cpkwlqmk967p1wypwzvqr4wdqvb30w14dbn8dy0d";
|
||||
sha256 = "0kn9c562zfh36gpcrbpslwjjr78baagdwphczz2d608ndczm1vrk";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -3,12 +3,12 @@
|
||||
, pythonPackages, cacert, cmake, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
name = "weechat-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://weechat.org/files/src/${name}.tar.gz";
|
||||
sha256 = "17jxknam1bbakmdfqy1b2cfc8l9ag90l3z1gcxdvwg358wasv9dc";
|
||||
sha256 = "0gsn0mp921j7jpvrxc74h0gs0bn0w808j2zqghm1w7xbjw9hl49w";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
64
pkgs/applications/networking/mailreaders/sup/default.nix
Normal file
64
pkgs/applications/networking/mailreaders/sup/default.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
|
||||
, xapian_ruby, gpgme, libiconvOrEmpty, rmail, mime_types, chronic, trollop
|
||||
, lockfile, gettext, iconv, locale, text, highline }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "sup-896ab66c0263e5ce0fa45857fb08e0fb78fcb6bd";
|
||||
|
||||
meta = {
|
||||
homepage = http://supmua.org;
|
||||
description = "A curses threads-with-tags style email client";
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/sup-heliotrope/sup/archive/896ab66c0263e5ce0fa45857fb08e0fb78fcb6bd.tar.gz";
|
||||
sha256 = "0sknf4ha13m2478fa27qnm43bcn59g6qbd8f2nmv64k2zs7xnwmk";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ ruby rake rubygems makeWrapper gpgme ncursesw_sup xapian_ruby
|
||||
libiconvOrEmpty ];
|
||||
|
||||
buildPhase = "rake gem";
|
||||
|
||||
# TODO: Move gem dependencies out
|
||||
|
||||
installPhase = ''
|
||||
export HOME=$TMP/home; mkdir -pv "$HOME"
|
||||
|
||||
GEM_PATH="$GEM_PATH:$out/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${chronic}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${gettext}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${gpgme}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${iconv}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${locale}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${lockfile}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${mime_types}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${rmail}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${text}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${xapian_ruby}/${ruby.gemPath}"
|
||||
GEM_PATH="$GEM_PATH:${highline}/${ruby.gemPath}"
|
||||
|
||||
# Don't install some dependencies -- we have already installed
|
||||
# the dependencies but gem doesn't acknowledge this
|
||||
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
|
||||
--bindir "$out/bin" --no-rdoc --no-ri pkg/sup-999.gem \
|
||||
--ignore-dependencies
|
||||
|
||||
for prog in $out/bin/*; do
|
||||
wrapProgram "$prog" --prefix GEM_PATH : "$GEM_PATH"
|
||||
done
|
||||
|
||||
for prog in $out/gems/*/bin/*; do
|
||||
[[ -e "$out/bin/$(basename $prog)" ]]
|
||||
done
|
||||
'';
|
||||
}
|
||||
|
@ -6,16 +6,14 @@ jackaudio ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mumble-" + version;
|
||||
version = "1.2.3";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mumble/${name}.tar.gz";
|
||||
sha256 = "0p4as6bcmbzkiff1gvc0f277dzbz2sfys97gcbxw7gjamqi53285";
|
||||
sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
sed -e s/qt_ja_JP.qm// -i src/mumble/mumble.pro src/mumble11x/mumble11x.pro
|
||||
sed -e /qt_ja_JP.qm/d -i src/mumble/mumble_qt.qrc src/mumble11x/mumble_qt.qrc
|
||||
patch -p1 < ${ ./mumble-jack-support.patch }
|
||||
'';
|
||||
|
||||
|
@ -4,15 +4,15 @@
|
||||
, makeWrapper, autoconf, automake }:
|
||||
|
||||
let
|
||||
rev = "27317";
|
||||
rev = "27399";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnunet-svn-${rev}";
|
||||
|
||||
src = fetchsvn {
|
||||
url = https://gnunet.org/svn/gnunet;
|
||||
rev = "27317";
|
||||
sha256 = "1l7jypm57wjhzlwdj8xzhfppjdpy6wbph4nqgwxxb9q056wwf9zy";
|
||||
inherit rev;
|
||||
sha256 = "0fn7ppfnc4v6lkxwww11s0h8mdvwyv7f40f6wrbfilqpn2ncrf8c";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, openssl, protobufc, libconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "umurmur-0.2.12";
|
||||
name = "umurmur-0.2.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://umurmur.googlecode.com/files/${name}.tar.gz";
|
||||
sha1 = "5be3c765af3c5f518d1e1bbd828b3582ad4097cd";
|
||||
sha1 = "c9345b67213f52688fef2113132c62d2edbf4bea";
|
||||
};
|
||||
|
||||
buildInputs = [ openssl protobufc libconfig ];
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
|
||||
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
|
||||
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper
|
||||
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
|
||||
, libgsf, libart_lgpl
|
||||
}:
|
||||
|
||||
/* If you experience GConf errors when running GnuCash on NixOS, see
|
||||
@ -9,17 +10,17 @@
|
||||
*/
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnucash-2.4.11";
|
||||
name = "gnucash-2.4.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
|
||||
sha256 = "0qbpgd6spclkmwryi66cih0igi5a6pmsnk41mmnscpfpz1mddhwk";
|
||||
sha256 = "0j4m00a3r1hcrhkfjkx3sgi2r4id4wrc639i4s00j35rx80540pn";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
|
||||
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
|
||||
swig isocodes bzip2 makeWrapper libofx
|
||||
swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
|
||||
];
|
||||
|
||||
configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
|
||||
@ -65,7 +66,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
homepage = http://www.gnucash.org/;
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
|
||||
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons stdenv.lib.maintainers.iElectric ];
|
||||
platforms = stdenv.lib.platforms.gnu;
|
||||
};
|
||||
}
|
||||
|
16
pkgs/applications/office/hledger-irr/default.nix
Normal file
16
pkgs/applications/office/hledger-irr/default.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ cabal, Cabal, hledgerLib, statistics, time }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "hledger-irr";
|
||||
version = "0.1.1.2";
|
||||
sha256 = "1mh1lzhnxc8ps8n5j37wrmbqafwdyap60j8rqr6xdfa2syfyq8i2";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [ Cabal hledgerLib statistics time ];
|
||||
meta = {
|
||||
description = "computes the internal rate of return of an investment";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = [ self.stdenv.lib.maintainers.simons ];
|
||||
};
|
||||
})
|
@ -1,5 +1,6 @@
|
||||
{ stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
|
||||
, lua, mesa, pkgconfig, perl, automake, autoconf, libtool, gettext
|
||||
, lua, mesa, pkgconfig, perl, automake, autoconf, libtool, gettext, glib, cairo
|
||||
, pango, gdk_pixbuf, atk
|
||||
}:
|
||||
|
||||
let
|
||||
@ -7,25 +8,31 @@ let
|
||||
|
||||
gcc46Patch = fetchurl {
|
||||
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-gcc46.patch?h=packages/celestia";
|
||||
sha256 = "1q840ip5h2q93r0d68jwrvf40ns5qzqss9vzd6xnwvs3wa77m5wp";
|
||||
sha256 = "0my7dpyh5wpz5df7bjhwb4db3ci2rn8ib1nkjv15fbp1g76bxfaz";
|
||||
name = "celestia-1.6.1-gcc46.patch";
|
||||
};
|
||||
|
||||
libpng15Patch = fetchurl {
|
||||
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-libpng15.patch?h=packages/celestia";
|
||||
sha256 = "19yqbi5k944d3jm0q2mvcfg52kicy4j347gj62dyaijzj505x4pm";
|
||||
sha256 = "1jrmbwmvs9b6k2b2g4104q22v4vqi0wfpz6hmfhniaq34626jcms";
|
||||
name = "celestia-1.6.1-libpng15.patch";
|
||||
};
|
||||
|
||||
libpng16Patch = fetchurl {
|
||||
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-libpng16.patch?h=packages/celestia";
|
||||
sha256 = "1q85prw4ci6d50lri8w1jm19pghxw96qizf5dl4g0j86rlhlkc8f";
|
||||
name = "celestia-1.6.1-libpng16.patch";
|
||||
};
|
||||
|
||||
linkingPatch = fetchurl {
|
||||
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-linking.patch?h=packages/celestia";
|
||||
sha256 = "1qzv18b2prqbhy21js5bnf7vwkmrq1dmrq8r0wab7v10axjqdv35";
|
||||
sha256 = "1m8xyq26nm352828bp12c3b8f6m9bys9fwfxbfzqppllk7il2f24";
|
||||
name = "celestia-1.6.1-linking.patch";
|
||||
};
|
||||
|
||||
gcc47Patch = fetchurl {
|
||||
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/gcc-4.7-fixes.diff?h=packages/celestia";
|
||||
sha256 = "1jqkafwrg1829cwqvlxxkqbf42zqfsgpqd8a5b2qlzma5napdmg5";
|
||||
sha256 = "1na26c7pv9qfv8a981m1zvglhv05r3h8513xqjra91qhhzx8wr8n";
|
||||
name = "gcc-4.7-fixes.diff";
|
||||
};
|
||||
in
|
||||
@ -43,10 +50,19 @@ stdenv.mkDerivation {
|
||||
patchPhase = ''
|
||||
patch -Np0 -i "${gcc46Patch}"
|
||||
patch -Np0 -i "${libpng15Patch}"
|
||||
patch -Np2 -i "${libpng16Patch}"
|
||||
patch -Np1 -i "${linkingPatch}"
|
||||
patch -Np1 -i "${gcc47Patch}"
|
||||
autoreconf
|
||||
configureFlagsArray=( --with-gtk --with-lua=${lua} CFLAGS="-O2 -fsigned-char" CXXFLAGS="-O2 -fsigned-char" )
|
||||
configureFlagsArray=(
|
||||
--with-gtk
|
||||
--with-lua=${lua}
|
||||
CPPFLAGS="-DNDEBUG"
|
||||
CFLAGS="-O2 -fsigned-char"
|
||||
CXXFLAGS="-O2 -fsigned-char"
|
||||
GTK_CFLAGS="-I${gtk2}/include/gtk-2.0 -I${gtk2}/lib/gtk-2.0/include -I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${cairo}/include/cairo -I${pango}/include/pango-1.0 -I${gdk_pixbuf}/include/gdk-pixbuf-2.0 -I${atk}/include/atk-1.0 -I${gtkglext}/include/gtkglext-1.0 -I${gtkglext}/lib/gtkglext-1.0/include"
|
||||
GTK_LIBS="-lgtk-x11-2.0 -lgtkglext-x11-1.0 -lcairo -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0"
|
||||
)
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -3,7 +3,7 @@
|
||||
{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
|
||||
|
||||
let
|
||||
version = "8.4";
|
||||
version = "8.4pl2";
|
||||
buildIde = lablgtk != null;
|
||||
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
|
||||
idePath = if buildIde then ''
|
||||
@ -15,8 +15,8 @@ stdenv.mkDerivation {
|
||||
name = "coq-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pauillac.inria.fr/~herbelin/coq/distrib/V${version}/files/coq-${version}.tar.gz";
|
||||
sha256 = "0ka2lak9il4hlblk461awf0hbi3mxqhc1wz6kllxradyy2vfaspl";
|
||||
url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
|
||||
sha256 = "1n52pky7bb45irk2jw6f4rd3kvy8lm2yfldjwdhiic0kyqw9lwgv";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
|
||||
|
32
pkgs/applications/science/math/glsurf/default.nix
Normal file
32
pkgs/applications/science/math/glsurf/default.nix
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng12, giflib }:
|
||||
|
||||
let
|
||||
ocaml_version = (builtins.parseDrvName ocaml.name).version;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "glsurf-3.3";
|
||||
|
||||
src = fetchdarcs {
|
||||
url = "http://lama.univ-savoie.fr/~raffalli/GlSurf";
|
||||
tag = "3.3";
|
||||
sha256 = ""; md5="";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib freeglut mesa
|
||||
lablgl camlimages ocaml_mysql mlgmp mpfr gmp
|
||||
libtiff libjpeg libpng12 giflib ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/doc/glsurf
|
||||
cp ./src/glsurf.opt $out/bin/glsurf
|
||||
cp ./doc/doc.pdf $out/share/doc/glsurf
|
||||
cp -r ./examples $out/share/doc/glsurf
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
|
||||
description = "GlSurf: a program to draw implicit surfaces and curves";
|
||||
};
|
||||
}
|
32
pkgs/applications/science/math/weka/default.nix
Normal file
32
pkgs/applications/science/math/weka/default.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ stdenv, fetchurl, jre, unzip }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "weka-3.6.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/weka/weka-3-6-9.zip";
|
||||
sha256 = "0rnis4vvihhdcdvpp79hkmklcnn897paa0qrs95cbjnpgvxzbczs";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
# The -Xmx1000M comes suggested from their download page:
|
||||
# http://www.cs.waikato.ac.nz/ml/weka/downloading.html
|
||||
installPhase = ''
|
||||
mkdir -pv $out/share/weka $out/bin
|
||||
cp -Rv * $out/share/weka
|
||||
|
||||
cat > $out/bin/weka << EOF
|
||||
#!${stdenv.shell}
|
||||
${jre}/bin/java -Xmx1000M -jar $out/share/weka/weka.jar
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/weka
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.cs.waikato.ac.nz/ml/weka/";
|
||||
description = "Collection of machine learning algorithms for data mining tasks";
|
||||
license = "GPLv2+";
|
||||
};
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
{ fetchurl, stdenv, libxml2, freetype, mesa, glew, qt4
|
||||
, cmake, makeWrapper, libjpeg }:
|
||||
|
||||
let version = "3.7.0"; in
|
||||
let version = "4.1.0"; in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tulip-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/auber/tulip/tulip-3.7.0/${name}-src.tar.gz";
|
||||
sha256 = "150fj9pdxblvl5sby61cb2kq98r6h8yljk3vq5xizn198d3fz4jq";
|
||||
url = "mirror://sourceforge/auber/${name}_src.tar.gz";
|
||||
sha256 = "1js1f8xdm9g2m66xbhfxa8ixzw6h4gjynxsm83p54l3i0hs3biig";
|
||||
};
|
||||
|
||||
buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ];
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Tulip, a visualization framework for the analysis and visualization of relational data";
|
||||
description = "A visualization framework for the analysis and visualization of relational data";
|
||||
|
||||
longDescription =
|
||||
'' Tulip is an information visualization framework dedicated to the
|
||||
|
@ -7,8 +7,8 @@
|
||||
, monadControl, mtl, network, networkInfo, networkMulticast
|
||||
, networkProtocolXmpp, openssh, QuickCheck, random, regexTdfa
|
||||
, rsync, SafeSemaphore, SHA, stm, text, time, transformers
|
||||
, unixCompat, utf8String, uuid, wai, waiLogger, warp, xmlConduit
|
||||
, xmlTypes, yesod, yesodDefault, yesodForm, yesodStatic
|
||||
, unixCompat, utf8String, uuid, wai, waiLogger, warp, which
|
||||
, xmlConduit, xmlTypes, yesod, yesodDefault, yesodForm, yesodStatic
|
||||
}:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
@ -28,7 +28,7 @@ cabal.mkDerivation (self: {
|
||||
uuid wai waiLogger warp xmlConduit xmlTypes yesod yesodDefault
|
||||
yesodForm yesodStatic
|
||||
];
|
||||
buildTools = [ bup curl git gnupg1 lsof openssh rsync ];
|
||||
buildTools = [ bup curl git gnupg1 lsof openssh rsync which ];
|
||||
configureFlags = "-fS3
|
||||
-fWebDAV
|
||||
-fInotify
|
||||
@ -41,6 +41,7 @@ cabal.mkDerivation (self: {
|
||||
-fProduction
|
||||
-fTDFA";
|
||||
preConfigure = "patchShebangs .";
|
||||
installPhase = "make PREFIX=$out CABAL=./Setup docs install";
|
||||
checkPhase = ''
|
||||
export HOME="$NIX_BUILD_TOP/tmp"
|
||||
mkdir "$HOME"
|
||||
|
@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://jonas.nitro.dk/tig/";
|
||||
description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
|
||||
maintainers = [ maintainers.garbas maintainers.bjornfor ];
|
||||
maintainers = [ maintainers.garbas maintainers.bjornfor maintainers.iElectric ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs }:
|
||||
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs, expat }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kdesvn-1.5.5";
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
patches = [ ./docbook.patch ./virtual_inheritance.patch ];
|
||||
|
||||
|
||||
buildInputs = [ apr aprutil subversion db4 kdelibs ];
|
||||
buildInputs = [ apr aprutil subversion db4 kdelibs expat ];
|
||||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
|
@ -21,13 +21,13 @@ assert compressionSupport -> neon.compressionSupport;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
version = "1.7.9";
|
||||
version = "1.7.10";
|
||||
|
||||
name = "subversion-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/subversion//${name}.tar.bz2";
|
||||
sha1 = "453757bae78a800997559f2232483ab99238ec1e";
|
||||
sha1 = "a4f3de0a13b034b0eab4d35512c6c91a4abcf4f5";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib apr aprutil sqlite ]
|
||||
|
@ -3,7 +3,7 @@
|
||||
, gst_ffmpeg, speex
|
||||
, libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
|
||||
, boost, freetype, agg, dbus, curl, pkgconfig, gettext
|
||||
, glib, gtk, gtkglext, x11, ming, dejagnu, python, perl
|
||||
, glib, gtk, gtkglext, pangox_compat, x11, ming, dejagnu, python, perl
|
||||
, freefont_ttf, haxe, swftools
|
||||
, lib, makeWrapper
|
||||
, xulrunner }:
|
||||
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
|
||||
gst_ffmpeg speex libtool
|
||||
libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
|
||||
dbus curl pkgconfig glib gtk gtkglext
|
||||
dbus curl pkgconfig glib gtk gtkglext pangox_compat
|
||||
xulrunner
|
||||
makeWrapper
|
||||
]
|
||||
|
@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
# Old kind of URL:
|
||||
# url = http://nixos.org/tarballs/mplayer-snapshot-20101227.tar.bz2;
|
||||
# url = http://tarballs.nixos.org/mplayer-snapshot-20101227.tar.bz2;
|
||||
# Snapshot I took on 20110423
|
||||
|
||||
#Transient
|
||||
|
23
pkgs/applications/video/smplayer/default.nix
Normal file
23
pkgs/applications/video/smplayer/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchurl, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "smplayer-0.8.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
||||
sha256 = "0vbfvaqg5c25vabq1mf9xg6kzgvxnpd0i172y1gjznnlpcw2fxrw";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 ];
|
||||
|
||||
preConfigure = ''
|
||||
makeFlags="PREFIX=$out"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A complete front-end for MPlayer";
|
||||
homepage = "http://smplayer.sourceforge.net/";
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -10,13 +10,18 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vlc-${version}";
|
||||
version = "2.0.6";
|
||||
version = "2.0.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
|
||||
sha256 = "0qqrpry41vawihhggcx00vibbn73hxdal1gim1qnrqrcbq1rik1i";
|
||||
sha256 = "052kfkpd0r2fwkyz97qhz2a368xqxa905qacrd1bkl2bkvahfc94";
|
||||
};
|
||||
|
||||
postPatch = /* flac 1.3.0 fix */ ''
|
||||
sed -i -e 's:stream_decoder.h:FLAC/stream_decoder.h:' modules/codec/flac.c
|
||||
sed -i -e 's:stream_encoder.h:FLAC/stream_encoder.h:' modules/codec/flac.c
|
||||
'';
|
||||
|
||||
buildInputs =
|
||||
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
|
||||
libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt
|
||||
|
@ -68,6 +68,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace xbmc/linux/LinuxTimezone.cpp \
|
||||
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--enable-external-libraries"
|
||||
"--disable-webserver"
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv, fetchurl, python, zlib, pkgconfig, glib, SDL, ncurses, perl, pixman }:
|
||||
{ stdenv, fetchurl, python, zlib, pkgconfig, glib, SDL, ncurses, perl, pixman
|
||||
, attr, libcap }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qemu-1.4.0";
|
||||
@ -8,10 +9,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1a7d11vjs1p6i1ck2ff9annmkhpkbjl73hl9i1cbg3s0fznrfqh6";
|
||||
};
|
||||
|
||||
buildInputs = [ python zlib pkgconfig glib SDL ncurses perl pixman ];
|
||||
buildInputs = [
|
||||
python zlib pkgconfig glib SDL ncurses perl pixman attr libcap
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-virtfs"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "QEmu processor emulator";
|
||||
license = "GPLv2+";
|
||||
|
@ -11,8 +11,7 @@ with stdenv.lib;
|
||||
|
||||
let
|
||||
|
||||
version = "4.2.12";
|
||||
extpackRevision = "84980";
|
||||
version = "4.2.14"; # changes ./guest-additions as well
|
||||
|
||||
forEachModule = action: ''
|
||||
for mod in \
|
||||
@ -31,12 +30,10 @@ let
|
||||
done
|
||||
'';
|
||||
|
||||
extensionPack = requireFile {
|
||||
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}"
|
||||
+ ".vbox-extpack";
|
||||
extensionPack = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
|
||||
# Has to be base16 because it's used as an input to VBoxExtPackHelperApp!
|
||||
sha256 = "ad15a92e49095c2115bd1793b3b957d3eaf44af0f5d24bb53d6b4fc81c3e2fc4";
|
||||
url = "https://www.virtualbox.org/wiki/Downloads";
|
||||
sha256 = "5813cae72790de4893cadb839ffbd148290a44ec6913d901d84c9b3740ab1b1e";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
@ -44,7 +41,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
||||
sha256 = "eb65ecac94f63d6292a967d39cb5e28326404c10d0e8c2c50399eedb59c17ee6";
|
||||
sha256 = "038k65cdvr80da5nfan5r3rjrnxqab2fbf2pr2jq8g1gc4cxrxpq";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@ -137,6 +134,8 @@ in stdenv.mkDerivation {
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = { inherit version; /* for guest additions */ };
|
||||
|
||||
meta = {
|
||||
description = "PC emulator";
|
||||
homepage = http://www.virtualbox.org/;
|
||||
|
@ -1,15 +1,18 @@
|
||||
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernelDev, which, makeWrapper
|
||||
, libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
|
||||
, dbus }:
|
||||
, xorg, dbus, virtualbox }:
|
||||
|
||||
let version = "4.2.12"; in
|
||||
let
|
||||
version = virtualbox.version;
|
||||
xserverVListFunc = builtins.elemAt (stdenv.lib.splitString "." xorg.xorgserver.version);
|
||||
xserverABI = xserverVListFunc 0 + xserverVListFunc 1;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "aed4730b643aca8daa0829e1122b7c8d592b9f6cea902a98e390c4d22373dfb8";
|
||||
sha256 = "9f08f13bbd818fb3ef9916658542ad0999c35e11afc1f6e8ff0b944405486e8a";
|
||||
};
|
||||
|
||||
KERN_DIR = "${kernelDev}/lib/modules/*/build";
|
||||
@ -22,7 +25,7 @@ stdenv.mkDerivation {
|
||||
|
||||
'';
|
||||
|
||||
buildCommand = ''
|
||||
buildCommand = with xorg; ''
|
||||
${if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then ''
|
||||
isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
|
||||
chmod 755 ./VBoxLinuxAdditions.run
|
||||
@ -104,7 +107,7 @@ stdenv.mkDerivation {
|
||||
|
||||
# Install Xorg drivers
|
||||
mkdir -p $out/lib/xorg/modules/{drivers,input}
|
||||
install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_112.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
|
||||
install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
|
||||
|
||||
# Install kernel modules
|
||||
cd src
|
||||
|
31
pkgs/applications/window-managers/weston/default.nix
Normal file
31
pkgs/applications/window-managers/weston/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
|
||||
, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
|
||||
, libjpeg, pam, autoconf, automake, libtool }:
|
||||
|
||||
let version = "1.0.5"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "weston-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
|
||||
sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig wayland mesa libxkbcommon
|
||||
cairo libxcb libXcursor x11 udev libdrm mtdev
|
||||
libjpeg pam autoconf automake libtool ];
|
||||
|
||||
preConfigure = "autoreconf -vfi";
|
||||
|
||||
# prevent install target to chown root weston-launch, which fails
|
||||
configureFlags = ''
|
||||
--disable-setuid-install
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Reference implementation of a Wayland compositor";
|
||||
homepage = http://wayland.freedesktop.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
};
|
||||
}
|
@ -91,7 +91,7 @@ stdenv.mkDerivation {
|
||||
urls = urls_;
|
||||
|
||||
# If set, prefer the content-addressable mirrors
|
||||
# (http://nixos.org/tarballs) over the original URLs.
|
||||
# (http://tarballs.nixos.org) over the original URLs.
|
||||
preferHashedMirrors = true;
|
||||
|
||||
# New-style output content requirements.
|
||||
|
@ -2,7 +2,7 @@ rec {
|
||||
|
||||
# Content-addressable Nix mirrors.
|
||||
hashedMirrors = [
|
||||
http://nixos.org/tarballs
|
||||
http://tarballs.nixos.org
|
||||
];
|
||||
|
||||
# Mirrors for mirror://site/filename URIs, where "site" is
|
||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation {
|
||||
name = "bakoma-ttf";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/bakoma-ttf.tar.bz2;
|
||||
url = http://tarballs.nixos.org/bakoma-ttf.tar.bz2;
|
||||
sha256 = "1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km";
|
||||
};
|
||||
|
||||
|
@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
|
||||
name = "cacert-20121229";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://nixos.org/tarballs/${name}.pem.bz2";
|
||||
url = "http://tarballs.nixos.org/${name}.pem.bz2";
|
||||
sha256 = "031s86pqvn620zkj6w97hqgjvkp6vsvlymzz7rwvkv25zvrjsgif";
|
||||
};
|
||||
|
||||
|
@ -1,17 +0,0 @@
|
||||
{ stdenv, fetchurl, glib, pkgconfig, intltool }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gsettings-desktop-schemas-3.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://gnome/sources/gsettings-desktop-schemas/3.2/gsettings-desktop-schemas-3.2.0.tar.xz;
|
||||
sha256 = "0772axkd1nlf3j1lcg0zi5x5jh4zmr25k98dhn7pzppahljaj3hi";
|
||||
};
|
||||
|
||||
buildInputs = [ glib ];
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
meta = {
|
||||
inherit (glib.meta) maintainers platforms;
|
||||
};
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{ fetchurl, stdenv, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "poppler-data-0.4.5";
|
||||
name = "poppler-data-0.4.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://poppler.freedesktop.org/${name}.tar.gz";
|
||||
sha256 = "1zbh1zd083wfwrcw7vxc2bn32h42y6iyh24syxcb3r5ggd2vr41i";
|
||||
sha256 = "1yhaz74b50hjkz3ii077kmq3qg3p3kdyxm33cv6r1njvz8fr01pk";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://poppler.freedesktop.org/;
|
||||
description = "Encoding files for Poppler, a PDF rendering library";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
license = "free"; # more free licenses combined
|
||||
maintainers = [ stdenv.lib.maintainers.urkud ];
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +1,14 @@
|
||||
{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python }:
|
||||
{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python, gtk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.32";
|
||||
ver_maj = "2.32";
|
||||
ver_min = "0";
|
||||
version = "${ver_maj}.${ver_min}";
|
||||
name = "python-rsvg-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-python-desktop/${version}/gnome-python-desktop-${version}.0.tar.gz";
|
||||
sha256 = "1xhh3h1qdnimydvv55pmqwyzjchhjwfvp951sjlq0180kskqrlj5";
|
||||
url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2";
|
||||
sha256 = "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
@ -18,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = "python waf install";
|
||||
|
||||
buildInputs = [ gnome.gnome_python librsvg pkgconfig pygtk python ];
|
||||
buildInputs = [ gtk gnome.gnome_python librsvg pkgconfig pygtk python ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://www.pygtk.org";
|
||||
|
@ -29,8 +29,6 @@
|
||||
|
||||
libgtkhtml = callPackage ./platform/libgtkhtml { };
|
||||
|
||||
intltool = callPackage ./platform/intltool { };
|
||||
|
||||
GConf = callPackage ./platform/GConf { };
|
||||
|
||||
gconfmm = callPackage ./platform/gconfmm { };
|
||||
|
@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
propagatedBuildInputs = [ glib libIDL ];
|
||||
}
|
||||
|
@ -16,4 +16,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ GConf glib ];
|
||||
|
||||
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, mesa, pango }:
|
||||
{ stdenv, fetchurl, pkgconfig, glib, gtk, mesa, pango, pangox_compat, xlibs }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gtkglext-1.2.0";
|
||||
@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0lbz96jwz57hnn52b8rfj54inwpwcc9fkdq6ya043cgnfih77g8n";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gtk mesa pango ];
|
||||
buildInputs = with xlibs;
|
||||
[ pkgconfig glib gtk mesa pango pangox_compat libX11 libXmu ];
|
||||
|
||||
# The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
|
||||
# `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.
|
||||
|
@ -1,13 +0,0 @@
|
||||
{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gettext}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "intltool-0.40.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://gnome/sources/intltool/0.40/intltool-0.40.6.tar.bz2;
|
||||
sha256 = "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ];
|
||||
propagatedBuildInputs = [ perl perlXMLParser gettext ];
|
||||
}
|
@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
|
||||
};
|
||||
|
||||
preConfigure = "export USER=`whoami`";
|
||||
preConfigure = # still using stuff deprecated in new glib versions
|
||||
"sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";
|
||||
|
||||
nativeBuildInputs = [ flex bison pkgconfig intltool procps ];
|
||||
buildInputs = [ libxml2 ];
|
||||
propagatedBuildInputs = [ popt glib ORBit2 ];
|
||||
|
@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
|
||||
};
|
||||
|
||||
patches = [ ./new-glib.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
|
||||
propagatedBuildInputs = [ glib libbonobo ];
|
||||
|
65
pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch
Normal file
65
pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch
Normal file
@ -0,0 +1,65 @@
|
||||
Porting libgnome to newer glib:
|
||||
* remove g_thread_init and g_thread_supported, which are longer needed
|
||||
https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#g-thread-init
|
||||
* replace GStaticRecMutex by GRecMutex
|
||||
https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#GStaticRecMutex
|
||||
|
||||
diff --git a/libgnome/gnome-i18n.c b/libgnome/gnome-i18n.c
|
||||
index 531c56c..f13d61e 100644
|
||||
--- a/libgnome/gnome-i18n.c
|
||||
+++ b/libgnome/gnome-i18n.c
|
||||
@@ -55,12 +55,14 @@
|
||||
const GList *
|
||||
gnome_i18n_get_language_list (const gchar *ignored)
|
||||
{
|
||||
- static GStaticRecMutex lang_list_lock = G_STATIC_REC_MUTEX_INIT;
|
||||
+ static GRecMutex lang_list_lock;
|
||||
+ g_rec_mutex_init (&lang_list_lock);
|
||||
+
|
||||
static GList *list = NULL;
|
||||
const char * const* langs;
|
||||
int i;
|
||||
|
||||
- g_static_rec_mutex_lock (&lang_list_lock);
|
||||
+ g_rec_mutex_lock (&lang_list_lock);
|
||||
|
||||
if (list == NULL) {
|
||||
langs = g_get_language_names ();
|
||||
@@ -71,7 +73,7 @@ gnome_i18n_get_language_list (const gchar *ignored)
|
||||
list = g_list_reverse (list);
|
||||
}
|
||||
|
||||
- g_static_rec_mutex_unlock (&lang_list_lock);
|
||||
+ g_rec_mutex_unlock (&lang_list_lock);
|
||||
|
||||
return list;
|
||||
}
|
||||
diff --git a/libgnome/gnome-init.c b/libgnome/gnome-init.c
|
||||
index fe3efd4..c6619af 100644
|
||||
--- a/libgnome/gnome-init.c
|
||||
+++ b/libgnome/gnome-init.c
|
||||
@@ -115,9 +115,6 @@ gnome_bonobo_module_info_get (void)
|
||||
static void
|
||||
bonobo_activation_pre_args_parse (GnomeProgram *program, GnomeModuleInfo *mod_info)
|
||||
{
|
||||
- if (!g_thread_supported ())
|
||||
- g_thread_init (NULL);
|
||||
-
|
||||
if (!bonobo_activation_is_initialized ())
|
||||
bonobo_activation_preinit (program, mod_info);
|
||||
}
|
||||
diff --git a/libgnome/gnome-program.c b/libgnome/gnome-program.c
|
||||
index 739765e..cd14999 100644
|
||||
--- a/libgnome/gnome-program.c
|
||||
+++ b/libgnome/gnome-program.c
|
||||
@@ -1878,10 +1878,6 @@ gnome_program_init (const char *app_id, const char *app_version,
|
||||
GnomeProgram *program;
|
||||
va_list args;
|
||||
|
||||
- /* g_thread_init() has to be the first GLib function called ever */
|
||||
- if (!g_threads_got_initialized)
|
||||
- g_thread_init (NULL);
|
||||
-
|
||||
g_type_init ();
|
||||
|
||||
va_start(args, first_property_name);
|
@ -14,4 +14,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ pkgconfig gtk gettext intltool libart_lgpl libgnomecups bison flex ];
|
||||
|
||||
propagatedBuildInputs = [ libxml2 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
17
pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
Normal file
17
pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xlibs, libXi
|
||||
, intltool, dbus_glib, at_spi2_core, libSM }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
versionMajor = "2.8";
|
||||
versionMinor = "0";
|
||||
moduleName = "at-spi2-atk";
|
||||
name = "${moduleName}-${versionMajor}.${versionMinor}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
|
||||
sha256 = "085sqww174vl3i9ccb477v706rkjs2d107rl96ma1kbl2jyar226";
|
||||
};
|
||||
|
||||
buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
|
||||
intltool dbus_glib at_spi2_core libSM ];
|
||||
}
|
23
pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
Normal file
23
pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib
|
||||
, libX11, xextproto, libSM, libICE, libXtst, libXi }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
versionMajor = "2.8";
|
||||
versionMinor = "0";
|
||||
moduleName = "at-spi2-core";
|
||||
name = "${moduleName}-${versionMajor}.${versionMinor}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
|
||||
sha256 = "0n64h6j10sn90ds9y70d9wlvvsbwnrym9fm0cyjxb0zmqw7s6q8q";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
python pkgconfig popt intltool dbus_glib
|
||||
libX11 xextproto libSM libICE libXtst libXi
|
||||
];
|
||||
|
||||
# ToDo: on non-NixOS we create a symlink from there?
|
||||
configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
|
||||
}
|
62
pkgs/desktops/gnome-3/core/evince/default.nix
Normal file
62
pkgs/desktops/gnome-3/core/evince/default.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
|
||||
, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
|
||||
, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
|
||||
, poppler, ghostscriptX, djvulibre, libspectre
|
||||
, makeWrapper #, python /*just for tests*/
|
||||
, recentListSize ? null # 5 is not enough, allow passing a different number
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "evince-3.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.gnome.org/pub/GNOME/sources/evince/3.6/${name}.tar.xz";
|
||||
sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig intltool perl perlXMLParser libxml2
|
||||
glib gtk3 pango atk gdk_pixbuf
|
||||
itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
|
||||
poppler ghostscriptX djvulibre libspectre
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-nautilus" # Do not use nautilus
|
||||
"--disable-dbus" # strange compilation error
|
||||
];
|
||||
|
||||
preConfigure = with stdenv.lib;
|
||||
optionalString doCheck ''
|
||||
for file in test/*.py; do
|
||||
echo "patching $file"
|
||||
sed '1s,/usr,${python},' -i "$file"
|
||||
done
|
||||
'' + optionalString (recentListSize != null) ''
|
||||
sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
|
||||
sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Tell Glib/GIO about the MIME info directory, which is used
|
||||
# by `g_file_info_get_content_type ()'.
|
||||
wrapProgram "$out/bin/evince" \
|
||||
--prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
|
||||
'' + gsettings_desktop_schemas.doCompileSchemas;
|
||||
doCheck = false; # would need pythonPackages.dogTail, which is missing
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gnome.org/projects/evince/;
|
||||
description = "GNOME's document viewer";
|
||||
|
||||
longDescription = ''
|
||||
Evince is a document viewer for multiple document formats. It
|
||||
currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
|
||||
of Evince is to replace the multiple document viewers that exist
|
||||
on the GNOME Desktop with a single simple application.
|
||||
'';
|
||||
|
||||
license = "GPLv2+";
|
||||
};
|
||||
}
|
29
pkgs/desktops/gnome-3/core/gconf/default.nix
Normal file
29
pkgs/desktops/gnome-3/core/gconf/default.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchurl, pkgconfig, dbus_glib, gtk, glib, libxml2
|
||||
, intltool, polkit, orbit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
versionMajor = "3.2";
|
||||
versionMinor = "5";
|
||||
moduleName = "GConf";
|
||||
|
||||
origName = "${moduleName}-${versionMajor}.${versionMinor}";
|
||||
|
||||
name = "gconf-${versionMajor}.${versionMinor}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
|
||||
sha256 = "1ijqks0jxc4dyfxg4vnbqds4aj6miyahlsmlqlkf2bi1798akpjd";
|
||||
};
|
||||
|
||||
buildInputs = [ libxml2 polkit gtk orbit ];
|
||||
propagatedBuildInputs = [ glib dbus_glib ];
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
# ToDo: ldap reported as not found but afterwards reported as supported
|
||||
|
||||
meta = {
|
||||
homepage = http://projects.gnome.org/gconf/;
|
||||
description = "A system for storing application preferences";
|
||||
};
|
||||
}
|
18
pkgs/desktops/gnome-3/core/gcr/default.nix
Normal file
18
pkgs/desktops/gnome-3/core/gcr/default.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
|
||||
, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gcr-3.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gcr/3.6/${name}.tar.xz";
|
||||
sha256 = "16xyqxv2hxl3a4m8ahilqcf1ps58w1ijh8dav1l5nqz36ljdn2gp";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig intltool gnupg p11_kit glib
|
||||
libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk
|
||||
];
|
||||
|
||||
#doCheck = true;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user