Updating from trunk

svn path=/nixpkgs/branches/stdenv-updates/; revision=19485
This commit is contained in:
Lluís Batlle i Rossell 2010-01-16 15:19:23 +00:00
commit 70dd97620c
25 changed files with 784 additions and 484 deletions

View File

@ -3,7 +3,7 @@ stdenv.mkDerivation {
name = "dia-0.97";
src = fetchurl {
url = mirror://gnome/pub/gnome/sources/dia/0.97/dia-0.97.tar.bz2;
url = mirror://gnome/sources/dia/0.97/dia-0.97.tar.bz2;
sha256 = "0nngdjklap3x1b7cxnwawh29axbwk8siyq7w4iinsns3slmki0wh";
};
@ -11,6 +11,9 @@ stdenv.mkDerivation {
meta = {
description = "Gnome Diagram drawing software.";
homepage = http://www.gnome.org/projects/dia;
homepage = http://live.gnome.org/Dia;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = with stdenv.lib.platforms;
linux;
};
}

View File

@ -1,10 +1,10 @@
{ fetchurl, stdenv, cmake, qt4 }:
stdenv.mkDerivation {
name = "paraview-3.6.1";
stdenv.mkDerivation rec {
name = "paraview-3.6.2";
src = fetchurl {
url = http://www.paraview.org/files/v3.6/paraview-3.6.1.tar.gz;
sha256 = "1dh0dqbdvjagy122nbwr1gg03ck2if2aqqbvzcpkx38sz12cjh7h";
url = "http://www.paraview.org/files/v3.6/${name}.tar.gz";
sha256 = "017axalkiaqd13jfbb4awcxvpndnzaq35ys7svm5rnizdwd5hbq6";
};
preConfigure = ''

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation (rec {
name = "unison-2.27.57";
name = "unison-2.32.52";
src = fetchurl {
url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/unison-2.27.57/unison-2.27.57.tar.gz";
sha256 = "49299ec14216a8467b2c6ba148f8145bec31fa787433f9ce3851c2d62f0035ae";
url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/${name}/${name}.tar.gz";
sha256 = "11844yh1gpjjapn8pvc14hla7g70spwqy6h61qk2is83mpafahhm";
};
buildInputs = [ocaml makeWrapper];
@ -22,4 +22,12 @@ stdenv.mkDerivation (rec {
done
'';
meta = {
homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
description = "Bidirectional file synchronizer";
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
})

View File

@ -2,12 +2,12 @@
, cluceneCore
}:
stdenv.mkDerivation {
name = "strigi-0.6.4";
stdenv.mkDerivation rec {
name = "strigi-0.7.1";
src = fetchurl {
url = mirror://sourceforge/strigi/strigi-0.6.4.tar.bz2;
md5 = "324fd9606ac77765501717ff92c04f9a";
url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2";
sha256 = "1cra4jlpd7cdvckwalfjrf2224qvhbkmxdd3sn02q9jhv830b0yi";
};
includeAllQtDirs = true;

View File

@ -2,9 +2,12 @@ source $stdenv/setup
tar xf $src
tarballdir=$(pwd)
for i in *.tar; do tar xf $i; done
for i in *.tar; do tar xvf $i; done
echo "Deploying binaries.."
mkdir $out
cd $out
for i in $tarballdir/*.gz; do tar xf $i; done
ln -fs $out/lib/fpc/*/ppc386 $out/bin
for i in $tarballdir/*.gz; do tar xvf $i; done
echo 'Creating ppc* symlink..'
for i in $out/lib/fpc/*/ppc*; do
ln -fs $i $out/bin/$(basename $i)
done

View File

@ -25,7 +25,9 @@ stdenv.mkDerivation rec {
installFlags = "INSTALL_PREFIX=\${out}";
postInstall = ''
ln -fs $out/lib/fpc/*/ppc386 $out/bin
for i in $out/lib/fpc/*/ppc*; do
ln -fs $i $out/bin/$(basename $i)
done
mkdir -p $out/lib/fpc/etc/
$out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/
'';

View File

@ -1,5 +1,5 @@
diff --git a/lib/rubygems/command_manager.rb b/lib/rubygems/command_manager.rb
index 0a19016..ef66d30 100644
index 0a19016..ef66d30 100755
--- a/lib/rubygems/command_manager.rb
+++ b/lib/rubygems/command_manager.rb
@@ -70,6 +70,7 @@ class Gem::CommandManager
@ -10,12 +10,13 @@ index 0a19016..ef66d30 100644
end
##
diff --git a/lib/rubygems/commands/nix_command.rb b/lib/rubygems/commands/nix_command.rb
new file mode 100644
index 0000000..005d5a9
index 0000000..24f3479
--- /dev/null
+++ b/lib/rubygems/commands/nix_command.rb
@@ -0,0 +1,226 @@
@@ -0,0 +1,229 @@
+require 'net/http'
+require 'rubygems/command'
+require 'rubygems/doc_manager'
@ -102,7 +103,7 @@ index 0000000..005d5a9
+ raise Gem::CommandLineError, "could'nt parse arg. expected: name or name-version"
+ end
+
+ print "adding gem_name\n"
+ puts "adding #{gem_name}\n"
+
+ adddep(Gem::Dependency.new gem_name, version)
+ }
@ -183,8 +184,8 @@ index 0000000..005d5a9
+ return if @seen[full_name]
+ @seen[full_name] = true # there maybe circular dependencies. thus mark this gem seen as early as possible
+
+ # distinguish runtime / buildtime deps? (TODO)
+ deps = gem[0].dependencies
+ # development deps can't be found. Some are old. Thus only add rutime dependencies
+ deps = gem[0].dependencies.find_all { |d| d.type == :runtime }
+
+ print " total deps of #{full_name}: #{deps.length}\n"
+
@ -227,13 +228,16 @@ index 0000000..005d5a9
+
+ if cash[src].nil? then
+ tmp="/tmp/ruby-gems-nix-tmp-file"
+ raise Gem::DependencyError("could'nt nix-prefetch #{src}") \
+ if (not system("nix-prefetch-url #{src.gsub(/([:= `$;])/,'\\\\\1')} > #{tmp} 2>/dev/null")) || $? != 0
+ system("nix-prefetch-url #{src.gsub(/([:= `$;])/,'\\\\\1')} > #{tmp} 2>/dev/null")
+ if $? == 0
+ file = File.new(tmp)
+ hash = file.readlines().first().split("\n")[0] # remove trailing \n
+ file.close()
+ File.delete(tmp)
+ cash[src] = hash
+ else
+ cash[src] = "no hash"
+ end
+
+ File.open(cashfile, "w+") do |f| Marshal.dump(cash, f) end
+ end
@ -242,3 +246,22 @@ index 0000000..005d5a9
+ end
+
+end
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index d1ef3cb..bf15652 100755
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -545,6 +545,13 @@ Results logged to #{File.join(Dir.pwd, 'gem_make.out')}
say path if Gem.configuration.really_verbose
end
+
+ if !ENV['NIX_POST_EXTRACT_FILES_HOOK'].nil?
+ print "\nrunning NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}\n"
+ print `#{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}`
+ print "\nrunning NIX_POST_EXTRACT_FILES_HOOK done\n"
+ end
+
end
##

View File

@ -4,22 +4,24 @@ rec {
# some packages (eg ruby-debug) still require 1.8. So let's stick to that for
# now if nobody has different requirements
version = "1.3.4";
version = "1.3.5";
src = fetchurl {
url = "http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz";
sha256 = "1z5vvwdf7cwiq669amfxzqd88bn576yq6d9c5c6c92fm9sib1d0y";
url = "http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz";
sha256 = "1b26fn9kmyd6394m1gqppi10xyf1hac85lvsynsxzpjlmv0qr4n0";
};
buildInputs = [ruby makeWrapper];
configureFlags = [];
doInstall = fullDepEntry (''
ruby setup.rb --prefix=$out/
wrapProgram $out/bin/gem --prefix RUBYLIB : $out/lib:$out/lib
find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
/* doConfigure should be specified separately */
phaseNames = ["doInstall"];
phaseNames = ["doPatch" "doInstall"];
name = "rubygems-" + version;
meta = {

View File

@ -15,26 +15,69 @@
{pkgs, stdenv}:
let libs =
let
inherit (pkgs) fetchurl;
inherit (pkgs) fetchurl sourceFromHead writeScript makeWrapper;
ruby = pkgs.ruby; # select ruby version here
rubygems = pkgs.rubygemsFun ruby; # for bootstrapping
inherit (pkgs.lib) mergeAttrsByFuncDefaults optional;
inherit (builtins) hasAttr getAttr;
patchUsrBinEnv = writeScript "path-usr-bin-env" ''
#!/bin/sh
set -x
echo "==================="
find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
'';
# these settings are merged into the automatically generated settings
# either the nameNoVersion or name must match
patches = {
sup = {
buildInputs = [ pkgs.ncurses libs.rubygems_update ];
buildInputs = [ pkgs.ncurses pkgs.xapianBindings ];
};
ncurses = { buildInputs = [ pkgs.ncurses ]; };
nokogiri = {
buildFlags=["--with-xml2-dir=${pkgs.libxml2} --with-xml2-include=${pkgs.libxml2}/include/libxml2"
"--with-xslt-dir=${pkgs.libxslt}" ]; };
"--with-xslt-dir=${pkgs.libxslt}" ];
};
gemcutter = {
propagatedBuildInputs = [ libs.rubygems_update ];
};
ffi = {
postUnpack = "onetuh";
propagatedBuildInputs = [ libs.rake libs.rubygems_update ];
buildFlags=["--with-ffi-dir=${pkgs.libffi}"];
NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
};
rake = {
propagatedBuildInputs = [ libs.rubygems_update ];
};
rubygems_update = {
# gems is using --env-shebang by default
# replace env lines by $out/../bin/env
postInstall = ''
cd $out/gems/*; patch -p 1 < ${./gem_nix_command.patch}; echo
cd $out/gems/*;
patch -p 1 < ${./gem_nix_command.patch}; echo
find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
'';
};
xrefresh_server =
let patch = fetchurl {
url = "http://mawercer.de/~nix/xrefresh.diff.gz";
sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
};
in {
propagatedBuildInputs = [ libs.rb_inotify libs.rubygems_update ];
# monitor implementation for Linux
postInstall = ''
cd $out/gems/*;
cat ${patch} | gunzip | patch -p 1;
'';
};
};
@ -42,19 +85,20 @@ let libs =
rubyDerivation = args :
let completeArgs = (mergeAttrsByFuncDefaults
([{
buildInputs = [rubygems pkgs.makeWrapper];
buildInputs = [rubygems ruby pkgs.makeWrapper];
unpackPhase = ":";
configurePhase=":";
bulidPhase=":";
# TODO add some abstraction for this kind of env path concatenation. It's used multiple times
installPhase = ''
ensureDir "$out/nix-support"
export HOME=$TMP/home; mkdir "$HOME"
gem install -E -i "$out" "$src" -- $buildFlags
gem install --ignore-dependencies --env-shebang -E -i "$out" "$src" -- $buildFlags
rm -fr $out/cache # don't keep the .gem file here
THIS_RUBY_LIB=$out/gems/$name/lib
THIS_RUBY_LIB=$(echo $out/gems/*/lib)
THIS_GEM_PATH=$out
cat >> $out/nix-support/setup-hook << EOF
@ -67,24 +111,36 @@ let libs =
done
GEM_PATH_HASH["$THIS_GEM_PATH"]=
for path in \''${!GEM_PATH_HASH[@]}; do
export GEM_PATH=\''${GEM_PATH_HASH}\''${GEM_PATH:+:}\$path
export GEM_PATH=\''${GEM_PATH}\''${GEM_PATH:+:}\$path
done
EOF
. $out/nix-support/setup-hook
for prog in $out/bin/*; do
wrapProgram "$prog" \
--prefix RUBYLIB : "$RUBYLIB" \
--prefix GEM_PATH : "$GEM_PATH" \
--set RUBYOPT 'rubygems'
done
for prog in $out/gems/*/bin/*; do
[ -e "$out/bin/$(basename $prog)" ] && continue || true
sed -i '1s@.*@#! ${ruby}/bin/ruby@' "$prog"
t="$out/bin/$(basename "$prog")"
cat >> "$t" << EOF
#!/bin/sh
export GEM_PATH=$GEM_PATH:\$GEM_PATH
#export RUBYLIB=$RUBYLIB:\$RUBYLIB
exec ruby $prog "\$@"
exec $(type -p ruby) $prog "\$@"
EOF
chmod +x "$t"
done
runHook postInstall
'';
} args ]
++ optional (hasAttr args.name patches) (getAttr args.name patches)
++ optional (hasAttr args.nameNoVersion patches) (getAttr args.nameNoVersion patches)
@ -93,66 +149,9 @@ let libs =
rec {
# ================ START automatically generated code ================
# WARNING: automatically generated CODE
# This section has been generated by
# $ gem nix sup chronic rubygems-update
# both rubygems (all-packages.nix) and rubygems_update are patched
# adding the nix command
rubygems_update_1_3_4 = rubyDerivation {
name = "ruby-rubygems-update-1.3.4"; # full_name
nameNoVersion = "rubygems_update";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.4.gem";
sha256 = "1y7svhxpr1bfzdpwlaqymm71sbvbhyf3yyifnxadkwd0zqp3chqp";
};
meta = {
homepage = "http://rubygems.rubyforge.org";
license = []; # one of ?
description = "RubyGems is a package management framework for Ruby This gem is an update for the RubyGems software. You must have an i"; # cut to 120 chars
longDescription = "RubyGems is a package management framework for Ruby.
This gem is an update for the RubyGems software. You must have an
installation of RubyGems before this update can be applied.
";
};
};
rexical_1_0_4 = rubyDerivation {
name = "ruby-rexical-1.0.4"; # full_name
nameNoVersion = "rexical";
propagatedBuildInputs = [ hoe_2_3_2 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rexical-1.0.4.gem";
sha256 = "1jfhrlnilb422jvhlbc6dqs25ba45hb2wz5yxdpk27yb0dn9ihid";
};
meta = {
homepage = "http://github.com/tenderlove/rexical/tree/master";
license = []; # one of ?
description = "Rexical is a lexical scanner generator It is written in Ruby itself, and generates Ruby program. It is designed for use w"; # cut to 120 chars
longDescription = "Rexical is a lexical scanner generator.
It is written in Ruby itself, and generates Ruby program.
It is designed for use with Racc.";
};
};
ferret_0_11_6 = rubyDerivation {
name = "ruby-ferret-0.11.6"; # full_name
nameNoVersion = "ferret";
propagatedBuildInputs = [ rake_0_8_7 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/ferret-0.11.6.gem";
sha256 = "0q0zdrmfm41ijf1n19s85vg34b1a558x5cnwmbb8fc8kzxklzbih";
};
meta = {
homepage = "http://ferret.davebalmain.com/trac";
license = []; # one of ?
description = "Ferret is a port of the Java Lucene project[...]";
longDescription = "Ferret is a port of the Java Lucene project. It is a powerful indexing and search library.";
};
};
# This section has been generated by gem nix sup chronic rubygems-update xrefresh-server rb-inotify jeweler
# the gem nix command has been added by a nix patch to ruby gems
rake_0_8_7 = rubyDerivation {
name = "ruby-rake-0.8.7"; # full_name
@ -170,19 +169,129 @@ let libs =
};
};
racc_1_4_6 = rubyDerivation {
name = "ruby-racc-1.4.6"; # full_name
nameNoVersion = "racc";
ferret_0_11_6 = rubyDerivation {
name = "ruby-ferret-0.11.6"; # full_name
nameNoVersion = "ferret";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/racc-1.4.6.gem";
sha256 = "0y43s36bbn96pksf7dbpgjyyd9qsyyn77cl7hnfjwldhfvbfcxsq";
url = "http://gems.rubyforge.org/gems/ferret-0.11.6.gem";
sha256 = "0q0zdrmfm41ijf1n19s85vg34b1a558x5cnwmbb8fc8kzxklzbih";
};
meta = {
homepage = "http://racc.rubyforge.org/";
homepage = "http://ferret.davebalmain.com/trac";
license = []; # one of ?
description = "Racc is a LALR(1) parser generator[...]";
longDescription = "Racc is a LALR(1) parser generator. It is written in Ruby itself, and generates Ruby program.";
description = "Ferret is a port of the Java Lucene project[...]";
longDescription = "Ferret is a port of the Java Lucene project. It is a powerful indexing and search library.";
};
};
git_1_2_5 = rubyDerivation {
name = "ruby-git-1.2.5"; # full_name
nameNoVersion = "git";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/git-1.2.5.gem";
sha256 = "19dy8sakv4x7pnvjddqjyd4j74cji14wikhz95iaqqrc9n4z43hk";
};
meta = {
homepage = "http://github.com/schacon/ruby-git";
license = []; # one of ?
description = "[...]";
longDescription = "";
};
};
rubygems_update_1_3_5 = rubyDerivation {
name = "ruby-rubygems-update-1.3.5"; # full_name
nameNoVersion = "rubygems_update";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.5.gem";
sha256 = "1idzrbnl24ldxz8dmn8lz466avsn1w0rbc35lyp92fd3ar2b23qj";
};
meta = {
homepage = "http://rubygems.rubyforge.org/";
license = []; # one of ?
description = "RubyGems is a package management framework for Ruby This gem is an update for the RubyGems software. You must have an in"; # cut to 120 chars
longDescription = "RubyGems is a package management framework for Ruby.
This gem is an update for the RubyGems software. You must have an
installation of RubyGems before this update can be applied.
See Gem for information on RubyGems (or `ri Gem`)
To upgrade to the latest RubyGems, run:
$ gem install --system # you might need to be an administrator or root
NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no
rubygems-update installed. You will need to use the following instructions
if you see &quot;Nothing to update&quot;.
If you have an older version of RubyGems installed, then you can still
do it in two steps:
$ gem install rubygems-update # again, might need to be admin/root
$ update_rubygems # ... here too
If you don't have any RubyGems install, there is still the pre-gem approach to
getting software, doing it manually:
1. Download from: http://rubyforge.org/frs/?group_id=126
2. Unpack into a directory and cd there
3. Install with: ruby setup.rb # you may need admin/root privilege
For more details and other options, see:
ruby setup.rb --help";
};
};
net_ssh_2_0_17 = rubyDerivation {
name = "ruby-net-ssh-2.0.17"; # full_name
nameNoVersion = "net_ssh";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/net-ssh-2.0.17.gem";
sha256 = "0qswvcmq91sfii3cfr6myws2ncch9l4yzd09070yn5a3wsx4i6r5";
};
meta = {
homepage = "http://rubyforge.org/projects/net-ssh/";
license = []; # one of ?
description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol[...]";
longDescription = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.";
};
};
rb_inotify_0_4_0 = rubyDerivation {
name = "ruby-rb-inotify-0.4.0"; # full_name
nameNoVersion = "rb_inotify";
propagatedBuildInputs = [ ffi_0_5_4 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rb-inotify-0.4.0.gem";
sha256 = "17wanfs4jmp8c3sslb7a947ay9k78fhm1nls87cgpssmynpsmbvl";
};
meta = {
homepage = "http://github.com/nex3/rb-notify";
license = []; # one of ?
description = "A Ruby wrapper for Linux's inotify, using FFI[...]";
longDescription = "A Ruby wrapper for Linux's inotify, using FFI";
};
};
term_ansicolor_1_0_4 = rubyDerivation {
name = "ruby-term-ansicolor-1.0.4"; # full_name
nameNoVersion = "term_ansicolor";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/term-ansicolor-1.0.4.gem";
sha256 = "0pvyr3f0kk17nap1bm0myziskd8wn3kwba7zmp3zxks8icn0sa5j";
};
meta = {
homepage = "http://term-ansicolor.rubyforge.org";
license = []; # one of ?
description = "[...]";
longDescription = "";
};
};
@ -202,65 +311,13 @@ let libs =
};
};
nokogiri_1_3_2 = rubyDerivation {
name = "ruby-nokogiri-1.3.2"; # full_name
nameNoVersion = "nokogiri";
propagatedBuildInputs = [ racc_1_4_6 rexical_1_0_4 rake_compiler_0_5_0 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/nokogiri-1.3.2.gem";
sha256 = "1j5w39nriyw8ly1pzn7giw6wd9r5wclj4r1933z5ximss7l7ih15";
};
meta = {
homepage = "http://nokogiri.org/";
license = []; # one of ?
description = "Nokogiri (&#37624;) is an HTML, XML, SAX, and Reader parser many features is the ability to search documents via XPath or"; # cut to 120 chars
longDescription = "Nokogiri (&#37624;) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's
many features is the ability to search documents via XPath or CSS3 selectors.
XML is like violence - if it doesn&#8217;t solve your problems, you are not using
enough of it.";
};
};
archive_tar_minitar_0_5_2 = rubyDerivation {
name = "ruby-archive-tar-minitar-0.5.2"; # full_name
nameNoVersion = "archive_tar_minitar";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/archive-tar-minitar-0.5.2.gem";
sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
};
meta = {
homepage = "http://rubyforge.org/projects/ruwiki/";
license = []; # one of ?
description = "Archive::Tar::Minitar is a pure-Ruby library and command-line utility that provides the ability to deal with POSIX tar(1)"; # cut to 120 chars
longDescription = "Archive::Tar::Minitar is a pure-Ruby library and command-line utility that provides the ability to deal with POSIX tar(1) archive files. The implementation is based heavily on Mauricio Ferna'ndez's implementation in rpa-base, but has been reorganised to promote reuse in other projects.";
};
};
rubyforge_1_0_3 = rubyDerivation {
name = "ruby-rubyforge-1.0.3"; # full_name
nameNoVersion = "rubyforge";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rubyforge-1.0.3.gem";
sha256 = "0pwhb8mrnmcr5yybh13csfn658s1r1y978wj5m3mn85cbvwrrkyz";
};
meta = {
homepage = "http://codeforpeople.rubyforge.org/rubyforge/";
license = []; # one of ?
description = "A script which automates a limited set of rubyforge operations[...]";
longDescription = "A script which automates a limited set of rubyforge operations. * Run 'rubyforge help' for complete usage. * Setup: For first time users AND upgrades to 0.4.0: * rubyforge setup (deletes your username and password, so run sparingly!) * edit ~/.rubyforge/user-config.yml * rubyforge config * For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest. * Don't forget to login! logging in will store a cookie in your .rubyforge directory which expires after a time. always run the login command before any operation that requires authentication, such as uploading a package.";
};
};
ncurses_0_9_1 = rubyDerivation {
name = "ruby-ncurses-0.9.1"; # full_name
nameNoVersion = "ncurses";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/ncurses-0.9.1.gem";
sha256 = "18qxp33imgrp337p7zrk0c008ydw08g73x1gxiqclhgvyqxa42v3";
sha256 = "0j9k3rfxglkivwnpdkbfk4acfnivfisyj8f0msf3zkid4hnj4r2h";
};
meta = {
homepage = "http://ncurses-ruby.berlios.de/";
@ -270,6 +327,26 @@ let libs =
};
};
ffi_0_5_4 = rubyDerivation {
name = "ruby-ffi-0.5.4"; # full_name
nameNoVersion = "ffi";
propagatedBuildInputs = [ rake_0_8_7 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/ffi-0.5.4.gem";
sha256 = "1kxa1ljcl1907kav400w43n9fdw535qr7klj06wx1bnyaq7bfnik";
};
meta = {
homepage = "http://wiki.github.com/ffi/ffi";
license = []; # one of ?
description = "Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling t"; # cut to 120 chars
longDescription = "Ruby-FFI is a ruby extension for programmatically loading dynamic
libraries, binding functions within them, and calling those functions
from Ruby code. Moreover, a Ruby-FFI extension works without changes
on Ruby and JRuby. Discover why should you write your next extension
using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
};
};
fastthread_1_0_7 = rubyDerivation {
name = "ruby-fastthread-1.0.7"; # full_name
nameNoVersion = "fastthread";
@ -286,55 +363,38 @@ let libs =
};
};
hoe_2_3_2 = rubyDerivation {
name = "ruby-hoe-2.3.2"; # full_name
nameNoVersion = "hoe";
gemcutter_0_3_0 = rubyDerivation {
name = "ruby-gemcutter-0.3.0"; # full_name
nameNoVersion = "gemcutter";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/hoe-2.3.2.gem";
sha256 = "1asip0l73cp6xxn5dx4vxzsq3qlw5asdnj6jr0cs00nf8a5k341s";
url = "http://gems.rubyforge.org/gems/gemcutter-0.3.0.gem";
sha256 = "07rm04lj5rb093gf1w87rzkj9gr1pkyd5frs716wn5gd4c1silik";
};
meta = {
homepage = "http://rubyforge.org/projects/seattlerb/";
homepage = "http://gemcutter.org";
license = []; # one of ?
description = "Hoe is a rake/rubygems helper for project Rakefiles rubygems and includes a dynamic plug-in system allowing for easy exte"; # cut to 120 chars
longDescription = "Hoe is a rake/rubygems helper for project Rakefiles. It helps generate
rubygems and includes a dynamic plug-in system allowing for easy
extensibility. Hoe ships with plug-ins for all your usual project
tasks including rdoc generation, testing, packaging, and deployment.
Plug-ins Provided:
* Hoe::Clean
* Hoe::Debug
* Hoe::Deps
* Hoe::Flay
* Hoe::Flog
* Hoe::Inline
* Hoe::Package
* Hoe::Publish
* Hoe::RCov
* Hoe::Signing
* Hoe::Test
See class rdoc for help. Hint: ri Hoe";
description = "Adds several commands to RubyGems for managing gems and more on Gemcutter[...]";
longDescription = "Adds several commands to RubyGems for managing gems and more on Gemcutter.org.";
};
};
rake_compiler_0_5_0 = rubyDerivation {
name = "ruby-rake-compiler-0.5.0"; # full_name
nameNoVersion = "rake_compiler";
propagatedBuildInputs = [ ];
gettext_2_1_0 = rubyDerivation {
name = "ruby-gettext-2.1.0"; # full_name
nameNoVersion = "gettext";
propagatedBuildInputs = [ locale_2_0_5 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rake-compiler-0.5.0.gem";
sha256 = "03l6hgyv9z2bc1p16c2mai5n1ylhzcnw053x0x0nc94p4297m2jv";
url = "http://gems.rubyforge.org/gems/gettext-2.1.0.gem";
sha256 = "17g048gp7gh3c311l5jw2sbanma2havj4yqhaaa50b3rx72y4xwz";
};
meta = {
homepage = "http://github.com/luislavena/rake-compiler";
homepage = "http://gettext.rubyforge.org/";
license = []; # one of ?
description = "Provide a standard and simplified way to build and package Ruby C extensions using Rake as glue[...]";
longDescription = "Provide a standard and simplified way to build and package
Ruby C extensions using Rake as glue.";
description = " Ruby-GetText-Package is a GNU GetText-like program for Ruby The catalog file(po-file) is same format with"; # cut to 120 chars
longDescription = " Ruby-GetText-Package is a GNU GetText-like program for Ruby.
The catalog file(po-file) is same format with GNU GetText.
So you can use GNU GetText tools for maintaining.
";
};
};
@ -354,58 +414,66 @@ let libs =
};
};
locale_2_0_4 = rubyDerivation {
name = "ruby-locale-2.0.4"; # full_name
rubyforge_2_0_3 = rubyDerivation {
name = "ruby-rubyforge-2.0.3"; # full_name
nameNoVersion = "rubyforge";
propagatedBuildInputs = [ json_pure_1_2_0 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rubyforge-2.0.3.gem";
sha256 = "1ck9hkad55dy25819v4gd1nmnpvcrb3i4np3hc03h1j6q8qpxg5p";
};
meta = {
homepage = "http://codeforpeople.rubyforge.org/rubyforge/";
license = []; # one of ?
description = "A script which automates a limited set of rubyforge operations * Run 'rubyforge help' for complete usage. * Setup: For f"; # cut to 120 chars
longDescription = "A script which automates a limited set of rubyforge operations.
* Run 'rubyforge help' for complete usage.
* Setup: For first time users AND upgrades to 0.4.0:
* rubyforge setup (deletes your username and password, so run sparingly!)
* edit ~/.rubyforge/user-config.yml
* rubyforge config
* For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.";
};
};
xrefresh_server_0_3_0 = rubyDerivation {
name = "ruby-xrefresh-server-0.3.0"; # full_name
nameNoVersion = "xrefresh_server";
propagatedBuildInputs = [ json_1_2_0 term_ansicolor_1_0_4 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/xrefresh-server-0.3.0.gem";
sha256 = "1k80hadnmaxi8q8fw879xaj0ragy4bmqjqm7zjkv9bq8njb3i0c5";
};
meta = {
homepage = "http://github.com/darwin/xrefresh-server";
license = []; # one of ?
description = "XRefresh is browser refresh automation for web developers[...]";
longDescription = "XRefresh is browser refresh automation for web developers";
};
};
locale_2_0_5 = rubyDerivation {
name = "ruby-locale-2.0.5"; # full_name
nameNoVersion = "locale";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/locale-2.0.4.gem";
sha256 = "1fy0bsrxmskmsw3wrl2dis57rgs1jr1dmlp3xm9z8w1phaqh3c8v";
url = "http://gems.rubyforge.org/gems/locale-2.0.5.gem";
sha256 = "007yx9rx52as4ykkcm1aw29vgm6rk5xz8012814ynhlp1i0z1fi8";
};
meta = {
homepage = "http://locale.rubyforge.org/";
license = []; # one of ?
description = "Ruby-Locale is the pure ruby library which provides basic APIs for localization[...]";
longDescription = "Ruby-Locale is the pure ruby library which provides basic APIs for localization.";
};
};
rcov_0_8_1_2_0 = rubyDerivation {
name = "ruby-rcov-0.8.1.2.0"; # full_name
nameNoVersion = "rcov";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/rcov-0.8.1.2.0.gem";
sha256 = "0mbm0n48yvgiibyvdc3gn4h70c82pn7z3hns9jinak7hyfmb5q5p";
};
meta = {
homepage = "http://eigenclass.org/hiki.rb?rcov";
license = []; # one of ?
description = "rcov is a code coverage tool for Ruby[...]";
longDescription = "rcov is a code coverage tool for Ruby. It is commonly used for viewing overall test unit coverage of target code. It features fast execution (20-300 times faster than previous tools), multiple analysis modes, XHTML and several kinds of text reports, easy automation with Rake via a RcovTask, fairly accurate coverage information through code linkage inference using simple heuristics, colorblind-friendliness...";
};
};
echoe_3_1_1 = rubyDerivation {
name = "ruby-echoe-3.1.1"; # full_name
nameNoVersion = "echoe";
propagatedBuildInputs = [ rubyforge_1_0_3 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/echoe-3.1.1.gem";
sha256 = "1vy4jc8j8fq89r7fg2x37ybagghpw82qbqivc9pjk5fwyrxcvqha";
};
meta = {
homepage = "http://blog.evanweaver.com/files/doc/fauna/echoe/";
license = []; # one of ?
description = "A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment[...]";
longDescription = "A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.";
description = " Ruby-Locale is the pure ruby library which provides basic APIs for localization [...]";
longDescription = " Ruby-Locale is the pure ruby library which provides basic APIs for localization.
";
};
};
mime_types_1_16 = rubyDerivation {
name = "ruby-mime-types-1.16"; # full_name
nameNoVersion = "mime_types";
propagatedBuildInputs = [ archive_tar_minitar_0_5_2 nokogiri_1_3_2 rcov_0_8_1_2_0 ];
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/mime-types-1.16.gem";
sha256 = "1slp7g2xv9ygcapqv13qgh3g6ipx5k5c3imb5sdyh0b9ip5s34y3";
@ -418,22 +486,6 @@ let libs =
};
};
net_ssh_2_0_11 = rubyDerivation {
name = "ruby-net-ssh-2.0.11"; # full_name
nameNoVersion = "net_ssh";
propagatedBuildInputs = [ echoe_3_1_1 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/net-ssh-2.0.11.gem";
sha256 = "1j1mpnhpnb0d9l3jfk7g02syqjanc51lm076llzmjydy30x2n2f7";
};
meta = {
homepage = "http://net-ssh.rubyforge.org/ssh";
license = []; # one of ?
description = "a pure-Ruby implementation of the SSH2 client protocol[...]";
longDescription = "a pure-Ruby implementation of the SSH2 client protocol";
};
};
highline_1_5_1 = rubyDerivation {
name = "ruby-highline-1.5.1"; # full_name
nameNoVersion = "highline";
@ -450,29 +502,61 @@ let libs =
};
};
gettext_2_0_4 = rubyDerivation {
name = "ruby-gettext-2.0.4"; # full_name
nameNoVersion = "gettext";
propagatedBuildInputs = [ locale_2_0_4 ];
json_pure_1_2_0 = rubyDerivation {
name = "ruby-json_pure-1.2.0"; # full_name
nameNoVersion = "json_pure";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/gettext-2.0.4.gem";
sha256 = "1hdj91qg5858ss3wsdjbi4yxmwixqin5vv550fkvf4514yyc9gk0";
url = "http://gems.rubyforge.org/gems/json_pure-1.2.0.gem";
sha256 = "162lzzbadp62q1fjf5zyg45qly9pryjh7f6xhnf04zbjiq815pc5";
};
meta = {
homepage = "http://gettext.rubyforge.org/";
homepage = "http://json.rubyforge.org";
license = []; # one of ?
description = "Ruby-GetText-Package is a GNU GetText-like program for Ruby[...]";
longDescription = "Ruby-GetText-Package is a GNU GetText-like program for Ruby. The catalog file(po-file) is same format with GNU GetText. So you can use GNU GetText tools for maintaining.";
description = "This is a JSON implementation in pure Ruby[...]";
longDescription = "This is a JSON implementation in pure Ruby.";
};
};
sup_0_8_1 = rubyDerivation {
name = "ruby-sup-0.8.1"; # full_name
nameNoVersion = "sup";
propagatedBuildInputs = [ ferret_0_11_6 ncurses_0_9_1 rmail_1_0_0 highline_1_5_1 net_ssh_2_0_11 trollop_1_14 lockfile_1_4_3 mime_types_1_16 gettext_2_0_4 fastthread_1_0_7 ];
jeweler_1_4_0 = rubyDerivation {
name = "ruby-jeweler-1.4.0"; # full_name
nameNoVersion = "jeweler";
propagatedBuildInputs = [ git_1_2_5 rubyforge_2_0_3 gemcutter_0_3_0 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/sup-0.8.1.gem";
sha256 = "0q7s63s43mf35j0372g3qpfhsnsys4fbsb8xkshpwrjsd4lb90l2";
url = "http://gems.rubyforge.org/gems/jeweler-1.4.0.gem";
sha256 = "0hsz38wc37k1zzmy1jjvsqj6am14n410bbxk1dhq55cgapnwm3kb";
};
meta = {
homepage = "http://github.com/technicalpickles/jeweler";
license = []; # one of ?
description = "Simple and opinionated helper for creating Rubygem projects on GitHub[...]";
longDescription = "Simple and opinionated helper for creating Rubygem projects on GitHub";
};
};
json_1_2_0 = rubyDerivation {
name = "ruby-json-1.2.0"; # full_name
nameNoVersion = "json";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/json-1.2.0.gem";
sha256 = "0srfhr38g322l4lcnzsa6kzp64i9p24ai2bmh5wl0xx2g925b7n7";
};
meta = {
homepage = "http://json.rubyforge.org";
license = []; # one of ?
description = "This is a JSON implementation as a Ruby extension in C[...]";
longDescription = "This is a JSON implementation as a Ruby extension in C.";
};
};
sup_0_9_1 = rubyDerivation {
name = "ruby-sup-0.9.1"; # full_name
nameNoVersion = "sup";
propagatedBuildInputs = [ ferret_0_11_6 ncurses_0_9_1 rmail_1_0_0 highline_1_5_1 net_ssh_2_0_17 trollop_1_15 lockfile_1_4_3 mime_types_1_16 gettext_2_1_0 fastthread_1_0_7 ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/sup-0.9.1.gem";
sha256 = "0hifzcvfsbcyjszyyryfi60qiysn0i47f8jlwj3p7v7agxy5hm5a";
};
meta = {
homepage = "http://sup.rubyforge.org/";
@ -482,19 +566,40 @@ let libs =
};
};
trollop_1_14 = rubyDerivation {
name = "ruby-trollop-1.14"; # full_name
trollop_1_15 = rubyDerivation {
name = "ruby-trollop-1.15"; # full_name
nameNoVersion = "trollop";
propagatedBuildInputs = [ ];
src = fetchurl {
url = "http://gems.rubyforge.org/gems/trollop-1.14.gem";
sha256 = "15jsdlnq6fj3q3g47qswi73gx91rw1yvssi8zkwf6svkd55ri3f7";
url = "http://gems.rubyforge.org/gems/trollop-1.15.gem";
sha256 = "0xxd96xpnxmm4195qwawpjqgnsbzw4s70jf0wz32ynmya7flgdhk";
};
meta = {
homepage = "http://trollop.rubyforge.org";
license = []; # one of ?
description = "Documentation quickstart: See Trollop::options (for some reason rdoc isn't linking that; it's in the top right of the scr"; # cut to 120 chars
longDescription = "Documentation quickstart: See Trollop::options (for some reason rdoc isn't linking that; it's in the top right of the screen if you're browsing online) and then Trollop::Parser#opt. Also see the examples at http://trollop.rubyforge.org/. == DESCRIPTION == REQUIREMENTS * A burning desire to write less code. == INSTALL * gem install trollop == LICENSE Copyright (c) 2008 William Morgan. Trollop is distributed under the same terms as Ruby.";
longDescription = "Documentation quickstart: See Trollop::options (for some reason rdoc isn't
linking that; it's in the top right of the screen if you're browsing online)
and then Trollop::Parser#opt. Also see the examples at
http://trollop.rubyforge.org/.
== DESCRIPTION
== REQUIREMENTS
* A burning desire to write less code.
== INSTALL
* gem install trollop
== LICENSE
Copyright (c) 2008--2009 William Morgan. Trollop is distributed under the same
terms as Ruby.
";
};
};
@ -515,30 +620,31 @@ let libs =
};
# aliases
rmail=rmail_1_0_0;
fastthread=fastthread_1_0_7;
highline=highline_1_5_1;
rake=rake_0_8_7;
rubygems_update=rubygems_update_1_3_4;
sup=sup_0_8_1;
mime_types=mime_types_1_16;
echoe=echoe_3_1_1;
rubyforge=rubyforge_1_0_3;
rake_compiler=rake_compiler_0_5_0;
ferret=ferret_0_11_6;
net_ssh=net_ssh_2_0_11;
rcov=rcov_0_8_1_2_0;
ncurses=ncurses_0_9_1;
trollop=trollop_1_14;
gettext=gettext_2_0_4;
archive_tar_minitar=archive_tar_minitar_0_5_2;
locale=locale_2_0_4;
hoe=hoe_2_3_2;
chronic=chronic_0_2_3;
racc=racc_1_4_6;
lockfile=lockfile_1_4_3;
nokogiri=nokogiri_1_3_2;
rexical=rexical_1_0_4;
rmail=rmail_1_0_0;
term_ansicolor=term_ansicolor_1_0_4;
fastthread=fastthread_1_0_7;
rb_inotify=rb_inotify_0_4_0;
highline=highline_1_5_1;
rubygems_update=rubygems_update_1_3_5;
rake=rake_0_8_7;
sup=sup_0_9_1;
mime_types=mime_types_1_16;
rubyforge=rubyforge_2_0_3;
gemcutter=gemcutter_0_3_0;
ferret=ferret_0_11_6;
json=json_1_2_0;
xrefresh_server=xrefresh_server_0_3_0;
ncurses=ncurses_0_9_1;
net_ssh=net_ssh_2_0_17;
trollop=trollop_1_15;
jeweler=jeweler_1_4_0;
gettext=gettext_2_1_0;
git=git_1_2_5;
json_pure=json_pure_1_2_0;
locale=locale_2_0_5;
chronic=chronic_0_2_3;
lockfile=lockfile_1_4_3;
ffi=ffi_0_5_4;
# ================ END automatically generated code ================
}; in libs

View File

@ -5,7 +5,7 @@ zlib}:
assert opensc.name == "opensc-0.11.7";
stdenv.mkDerivation rec {
name = "opensc-dnie-1.4.6-2";
name = "libopensc-dnie-1.4.6-2";
src = if (stdenv.system == "i686-linux") then (fetchurl {
url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_32/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar;
@ -39,6 +39,11 @@ stdenv.mkDerivation rec {
cp -R usr/share $out
'';
passthru = {
# This will help keeping the proper opensc version when using this libopensc-dnie library
inherit opensc;
};
meta = {
homepage = http://www.dnielectronico.es/descargas/;
description = "Opensc plugin to access the Spanish national ID smartcard";

View File

@ -0,0 +1,16 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "libyaml";
src = fetchurl {
url = http://pyyaml.org/download/libyaml/yaml-0.1.3.tar.gz;
sha256 = "a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a";
};
meta = {
homepage = http://pyyaml.org/;
description = "A YAML 1.1 parser and emitter written in C";
license = "free";
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, python, setuptools, ... }:
stdenv.mkDerivation rec {
name = "flup-r2311";
name = "flup-1.0.2";
src = fetchurl {
url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz";
sha256 = "15wyn6d6wla1ag91yxmlh9b4m0w1i0c2lm8ka4qfv4ijqcqakdx3";
sha256 = "1nbx174g40l1z3a8arw72qz05a1qxi3didp9wm7kvkn1bxx33bab";
};
buildInputs = [ python setuptools ];

View File

@ -0,0 +1,19 @@
args: with args;
stdenv.mkDerivation {
name = "inotify-tools-3.13";
src = fetchurl {
url = mirror://sourceforge/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz;
sha256 = "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6";
};
buildInputs = [];
meta = {
description = "";
homepage = http://sourceforge.net/projects/inotify-tools/;
license = "GPLv2";
maintainers = [args.lib.maintainers.marcweber];
platforms = args.lib.platforms.linux;
};
}

View File

@ -1,17 +1,18 @@
a :
let
fetchurl = a.fetchurl;
fetchsvn = a.fetchsvn;
version = a.lib.attrByPath ["version"] "r8541" a;
buildInputs = with a; [
gtk glib pkgconfig libX11
gtk glib pkgconfig libX11 perl
];
in
rec {
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
sha256 = "1m6fybbvlx33786hmgraqxgm1hakfj9bqqszzzpi2ka4spfzj3xl";
};
src = fetchsvn {
url = svn://svn.tartarus.org/sgt/puzzles;
rev = "8842";
sha256 = "0rx3pxd1ci9x1mlw1jfmwd0fpcyv76vv6jraxfrxcykxx62qg479";
} + "/";
inherit buildInputs;
configureFlags = [];
@ -20,8 +21,12 @@ rec {
neededDirs = ["$out/bin" "$out/share" ""];
extraDoc = ["puzzles.txt"];
mkMakefiles = a.fullDepEntry ''
perl mkfiles.pl
'' ["minInit" "doUnpack" "addInputs"];
/* doConfigure should be removed if not needed */
phaseNames = ["addInputs" "doExport" "doMakeInstall"];
phaseNames = ["addInputs" "doExport" "mkMakefiles" "doMakeInstall"];
doExport = a.noDepEntry ''
export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11"

View File

@ -8,6 +8,10 @@ stdenv.mkDerivation {
md5 = "c63bf7b0bb5f530cf3c08715db721cd3";
};
preConfigure = ''
sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/gtkglue.c
'';
buildInputs = [saneBackends libX11 gtk pkgconfig] ++
(if (libusb != null) then [libusb] else []);
}

View File

@ -54,7 +54,7 @@ args: with args; {
# tagCmd = "${toString ghcsAndLibs.ghc68.ghc}/bin/hasktags --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; }
# *.*hs.* to catch gtk2hs .hs.pp files
tagCmd = "
srcs=\"`find . -type f -name \"*.*hs\"; find . -type f -name \"*.*hs.*\";`\"
srcs=\"`find . -type f -name \"*.*hs\"; find . -type f -name \"*.*hs*\";`\"
[ -z \"$srcs\" ] || {
${toString hasktags}/bin/hasktags-modified --ignore-close-implementation --ctags $srcs
sort tags > \$TAG_FILE

View File

@ -8,6 +8,10 @@ stdenv.mkDerivation {
sha256 = "0zddar0y76iv4c55qzfmnm819z5hzisr2jwjb60x36v6bdrhcjx5";
};
preConfigure = ''
sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/xsane-back-gtk.c
'';
buildInputs = [saneBackends saneFrontends libX11 gtk pkgconfig ] ++
(if (libusb != null) then [libusb] else []);
}

View File

@ -32,7 +32,7 @@ rec {
noPAE = ''
HIGHMEM64G? n
PAE n
PAE? n
'';
usefulSubsystems = ''

View File

@ -19,6 +19,7 @@ import ../kernel/generic.nix (
kernelPatches = [
{
name = "zen4";
patch = runCommand "2.6.32-zen4.patch" {} "${xz}/bin/lzma -d < ${ fetchurl {
name = "2.6.32-zen4";
url = "http://downloads.zen-kernel.org/2.6.32/2.6.32-zen4.patch.lzma";

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, cmake, libcap, zlib, bzip2}:
stdenv.mkDerivation rec {
name = "cdrkit-1.1.9";
name = "cdrkit-1.1.10";
src = fetchurl {
url = "http://cdrkit.org/releases/${name}.tar.gz";
sha256 = "18pgak1qh2xsb3sjikfh1hqn27v2ax72nx7r7sjkdw5yqys8mmfm";
sha256 = "1r87n4293lk2xgik9x1lvjr86rdsbaldf0d5flx6zb4c0ss90vlb";
};
buildInputs = [cmake libcap zlib bzip2];

View File

@ -0,0 +1,67 @@
{stdenv, makeWrapper, ed, libopensc_dnie}:
let
opensc = libopensc_dnie.opensc;
in
stdenv.mkDerivation rec {
name = "${opensc.name}-dnie-wrapper";
buildInputs = [ makeWrapper ];
phases = [ "installPhase" ];
installPhase = ''
ensureDir $out/etc
cp ${opensc}/etc/opensc.conf $out/etc
chmod +w $out/etc/opensc.conf
# NOTE: The libopensc-dnie.so driver requires /usr/bin/pinentry available, to sign
${ed}/bin/ed $out/etc/opensc.conf << EOF
/card_drivers
a
card_drivers = dnie;
card_driver dnie {
module = ${libopensc_dnie}/lib/libopensc-dnie.so;
}
.
w
q
EOF
# Disable pkcs15 file caching, otherwise the card does not work
sed -i 's/use_caching = true/use_caching = false/' $out/etc/opensc.conf
for a in ${opensc}/bin/*; do
makeWrapper $a $out/bin/`basename $a` \
--set OPENSC_CONF $out/etc/opensc.conf
done
# Special wrapper for pkcs11-tool, which needs an additional parameter
rm $out/bin/pkcs11-tool
makeWrapper ${opensc}/bin/pkcs11-tool $out/bin/pkcs11-tool \
--set OPENSC_CONF $out/etc/opensc.conf \
--add-flags "--module ${opensc}/lib/opensc-pkcs11.so"
# Add, as bonus, a wrapper for the firefox in the PATH, that loads the
# proper opensc configuration.
cat > $out/bin/firefox-dnie << EOF
#!${stdenv.shell}
export OPENSC_CONF=$out/etc/opensc.conf
exec firefox
EOF
chmod +x $out/bin/firefox-dnie
'';
meta = {
description = "Access to the opensc tools and firefox using the Spanish national ID SmartCard";
longDescription = ''
Opensc needs a special configuration and special drivers to use the SmartCard
the Spanish governement provides to the citizens as ID card.
Some wrapper scripts take care for the proper opensc configuration to be used, in order
to access the certificates in the SmartCard through the opensc tools or firefox.
Opensc will require a pcscd daemon running, managing the access to the card reader.
'';
maintainers = with stdenv.lib.maintainers; [viric];
};
}

View File

@ -1,5 +1,5 @@
{stdenv, fetchurl, libtool, readline, zlib, openssl, libiconv, pcsclite, libassuan, pkgconfig,
libXt}:
libXt, pinentry}:
stdenv.mkDerivation rec {
name = "opensc-0.11.7";
@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
};
configureFlags = [ "--enable-pcsc" "--enable-nsplugin"
"--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1" ];
"--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1"
"--with-pinentry=${pinentry}/bin/pinentry" ];
buildInputs = [ libtool readline zlib openssl pcsclite libassuan pkgconfig
libXt ] ++

View File

@ -1,12 +1,12 @@
{ fetchurl, stdenv, bison, flex, pam, ssmtp }:
stdenv.mkDerivation {
name = "at-3.1.11";
name = "at-3.1.12";
src = fetchurl {
# Debian is apparently the last location where it can be found.
url = mirror://debian/pool/main/a/at/at_3.1.11.orig.tar.gz;
sha256 = "0n995h57x87xg10n8rkq06lynnb3syynfngwspfg91cp22cphycb";
url = mirror://debian/pool/main/a/at/at_3.1.12.orig.tar.gz;
sha256 = "1wqqrj4lg2ix79ib5kz7lk4hbs1zpw72n6zkd2gdv2my9ymwcmbw";
};
patches = [ ./install.patch ];

View File

@ -1191,12 +1191,16 @@ let
opensc_0_11_7 = import ../tools/security/opensc/0.11.7.nix {
inherit fetchurl stdenv libtool readline zlib openssl libiconv pcsclite
libassuan pkgconfig;
libassuan pkgconfig pinentry;
inherit (xlibs) libXt;
};
opensc = opensc_0_11_7;
opensc_dnie_wrapper = import ../tools/security/opensc-dnie-wrapper {
inherit stdenv makeWrapper ed libopensc_dnie;
};
openssh = import ../tools/networking/openssh {
inherit fetchurl stdenv zlib openssl pam perl;
pamSupport = getPkgConfig "openssh" "pam" true;
@ -2969,6 +2973,10 @@ let
inherit fetchurl stdenv;
};
inotifyTools = import ../development/tools/misc/inotify-tools {
inherit fetchurl stdenv lib;
};
jikespg = import ../development/tools/parsing/jikespg {
inherit fetchurl stdenv;
};
@ -4396,6 +4404,10 @@ let
inherit fetchurl stdenv;
});
libyaml = import ../development/libraries/libyaml {
inherit fetchurl stdenv;
};
libzip = import ../development/libraries/libzip {
inherit fetchurl stdenv zlib;
};
@ -4557,7 +4569,7 @@ let
pkgconfig;
};
opensc_dnie = import ../development/libraries/opensc-dnie {
libopensc_dnie = import ../development/libraries/libopensc-dnie {
inherit fetchurl stdenv patchelf writeScript openssl openct
libtool pcsclite zlib;
inherit (gtkLibs) glib;
@ -4675,7 +4687,8 @@ let
inputproto fixesproto libXfixes;
inherit (gnome) glib;
};
qtscriptgenerator = import ../development/libraries/qtscriptgenerator {
qtscriptgenerator = makeOverridable (import ../development/libraries/qtscriptgenerator) {
inherit stdenv fetchurl;
qt4 = qt45;
};
@ -8339,7 +8352,7 @@ let
sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
inherit (gtkLibs) gtk glib;
inherit pkgconfig;
inherit pkgconfig fetchsvn perl;
inherit (xlibs) libX11;
};

View File

@ -57,7 +57,7 @@ rec {
name = "dateutil-1.4.1";
src = fetchurl {
url = "http://pypi.python.org/packages/source/p/python-dateutil/${name}.tar.gz";
url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
sha256 = "0mrkh932k8s74h4rpgksvpmwbrrkq8zn78gbgwc22i2vlp31bdkl";
};
@ -409,6 +409,24 @@ rec {
};
});
pyyaml = buildPythonPackage (rec {
name = "PyYAML-3.09";
src = fetchurl {
url = "http://pyyaml.org/download/pyyaml/PyYAML-3.09.zip";
sha256 = "204aca8b42dbe90e460794d743dd16182011da85507bfd4f092f9f76e0688040";
};
buildInputs = [ pkgs.unzip pkgs.pyrex ];
propagatedBuildInputs = [ pkgs.libyaml ];
meta = {
description = "The next generation YAML parser and emitter for Python";
homepage = http://pyyaml.org;
license = "free"; # !?
};
});
setuptoolsDarcs = buildPythonPackage {
name = "setuptools-darcs-1.2.8";