Merge remote-tracking branch 'origin/master' into multiple-outputs

Conflicts:
	pkgs/development/libraries/acl/default.nix
	pkgs/development/libraries/atk/2.6.x.nix
	pkgs/development/libraries/attr/default.nix
	pkgs/development/libraries/cairo/default.nix
	pkgs/development/libraries/freetype/default.nix
	pkgs/development/libraries/glib/2.34.x.nix
	pkgs/development/libraries/gtk+/2.24.x.nix
	pkgs/development/libraries/libtiff/default.nix
	pkgs/development/libraries/openssl/default.nix
	pkgs/development/libraries/pango/1.30.x.nix
	pkgs/misc/cups/default.nix
	pkgs/os-specific/linux/util-linux/default.nix
	pkgs/servers/x11/xorg/builder.sh
	pkgs/servers/x11/xorg/default.nix
	pkgs/top-level/all-packages.nix
This commit is contained in:
Eelco Dolstra 2013-06-09 00:41:27 +02:00
commit 99b88cfb53
3321 changed files with 87541 additions and 48046 deletions

5
.gitignore vendored
View File

@ -1,2 +1,7 @@
*~
,*
.*.swp
.*.swo
cpan-info
cpan_tmp/
result

View File

@ -18,10 +18,10 @@ such as Perl or Haskell. These are described in this chapter.</para>
<para>Nixpkgs provides a function <varname>buildPerlPackage</varname>,
a generic package builder function for any Perl package that has a
standard <varname>Makefile.PL</varname>. Its implemented in <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
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://svn.nixos.org/repos/nix/nixpkgs/trunk/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/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
@ -162,7 +162,7 @@ ClassC3Componentised = buildPerlPackage rec {
which many Python packages do nowadays, can be built very simply using
the <varname>buildPythonPackage</varname> function. This function is
implemented
in <link xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/python-modules/generic/default.nix"><filename>pkgs/development/python-modules/generic/default.nix</filename></link>
in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix"><filename>pkgs/development/python-modules/generic/default.nix</filename></link>
and works similarly to <varname>buildPerlPackage</varname>. (See
<xref linkend="ssec-language-perl"/> for details.)
</para>
@ -170,7 +170,7 @@ ClassC3Componentised = buildPerlPackage rec {
<para>
Python packages that use <varname>buildPythonPackage</varname> are
defined
in <link xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/python-packages.nix"><filename>pkgs/top-level/python-packages.nix</filename></link>.
in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/python-packages.nix"><filename>pkgs/top-level/python-packages.nix</filename></link>.
Most of them are simple. For example:
<programlisting>
@ -196,17 +196,18 @@ twisted = buildPythonPackage {
</section>
<!--
<section><title>Haskell</title>
<section><title>Java</title>
<para>TODO</para>
<para>Java packages should install JAR files in
<filename>$out/lib/java</filename>.</para>
</section>
<section><title>Java</title>
<!--
<section><title>Haskell</title>
<para>TODO; Java support needs lots of improvement</para>
<para>TODO</para>
</section>

View File

@ -103,7 +103,7 @@ interpretation:</para>
&lt;alice@example.org>" "Bob &lt;bob@example.com>"]</literal>. If
you are the maintainer of multiple packages, you may want to add
yourself to <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/lib/maintainers.nix"><filename>pkgs/lib/maintainers.nix</filename></link>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/maintainers.nix"><filename>pkgs/lib/maintainers.nix</filename></link>
and write something like <literal>[stdenv.lib.maintainers.alice
stdenv.lib.maintainers.bob]</literal>.</para></listitem>
</varlistentry>
@ -176,6 +176,12 @@ following:
(“MIT”) License</link>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>perl5</varname></term>
<listitem><para>The Perl 5 license (Artistic License, version 1
and GPL, version 1 or later).</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>free</varname></term>
<listitem><para>Catch-all for free software licenses not listed

View File

@ -16,7 +16,7 @@ Linux kernel or X.org.</para>
<title>Linux kernel</title>
<para>The Nix expressions to build the Linux kernel are in <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.</para>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.</para>
<para>The function that builds the kernel has an argument
<varname>kernelPatches</varname> which should be a list of
@ -49,7 +49,7 @@ modulesTree = [kernel]
<orderedlist>
<listitem>
<para>Copy (<command>svn cp</command>) the old Nix expression
<para>Copy the old Nix expression
(e.g. <filename>linux-2.6.21.nix</filename>) to the new one
(e.g. <filename>linux-2.6.22.nix</filename>) and update it.</para>
</listitem>
@ -69,7 +69,7 @@ modulesTree = [kernel]
<orderedlist>
<listitem>
<para>Make an <command>svn copy</command> from the old
<para>Make an copy from the old
config (e.g. <filename>config-2.6.21-i686-smp</filename>) to
the new one
(e.g. <filename>config-2.6.22-i686-smp</filename>).</para>

View File

@ -12,7 +12,7 @@
<para>Checkout the Nixpkgs source tree:
<screen>
$ svn checkout https://svn.nixos.org/repos/nix/nixpkgs/trunk nixpkgs
$ git clone git://github.com/NixOS/nixpkgs.git
$ cd nixpkgs</screen>
</para>
@ -29,7 +29,7 @@ $ cd nixpkgs</screen>
organisation. Create a directory for your package, e.g.
<screen>
$ svn mkdir pkgs/development/libraries/libfoo</screen>
$ mkdir pkgs/development/libraries/libfoo</screen>
</para>
</listitem>
@ -44,7 +44,7 @@ $ svn mkdir pkgs/development/libraries/libfoo</screen>
<screen>
$ emacs pkgs/development/libraries/libfoo/default.nix
$ svn add pkgs/development/libraries/libfoo/default.nix</screen>
$ git add pkgs/development/libraries/libfoo/default.nix</screen>
</para>
@ -56,7 +56,7 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>GNU cpio: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/tools/archivers/cpio/default.nix"><filename>pkgs/tools/archivers/cpio/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/archivers/cpio/default.nix"><filename>pkgs/tools/archivers/cpio/default.nix</filename></link>.
The simplest possible package. The generic builder in
<varname>stdenv</varname> does everything for you. It has
no dependencies beyond <varname>stdenv</varname>.</para>
@ -64,21 +64,21 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>GNU Hello: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/applications/misc/hello/ex-2/default.nix"><filename>pkgs/applications/misc/hello/ex-2/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/hello/ex-2/default.nix"><filename>pkgs/applications/misc/hello/ex-2/default.nix</filename></link>.
Also trivial, but it specifies some <varname>meta</varname>
attributes which is good practice.</para>
</listitem>
<listitem>
<para>GNU Multiple Precision arithmetic library (GMP): <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/libraries/gmp/default.nix"><filename>pkgs/development/libraries/gmp/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/default.nix"><filename>pkgs/development/libraries/gmp/default.nix</filename></link>.
Also done by the generic builder, but has a dependency on
<varname>m4</varname>.</para>
</listitem>
<listitem>
<para>Pan, a GTK-based newsreader: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/applications/networking/newsreaders/pan/default.nix"><filename>pkgs/applications/networking/newsreaders/pan/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix"><filename>pkgs/applications/networking/newsreaders/pan/default.nix</filename></link>.
Has an optional dependency on <varname>gtkspell</varname>,
which is only built if <varname>spellCheck</varname> is
<literal>true</literal>.</para>
@ -86,7 +86,7 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Apache HTTPD: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/servers/http/apache-httpd/default.nix"><filename>pkgs/servers/http/apache-httpd/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/default.nix"><filename>pkgs/servers/http/apache-httpd/default.nix</filename></link>.
A bunch of optional features, variable substitutions in the
configure flags, a post-install hook, and miscellaneous
hackery.</para>
@ -94,9 +94,9 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>BitTorrent (wxPython-based): <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/tools/networking/p2p/bittorrent/default.nix"><filename>pkgs/tools/networking/p2p/bittorrent/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/networking/p2p/bittorrent/default.nix"><filename>pkgs/tools/networking/p2p/bittorrent/default.nix</filename></link>.
Uses an external <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/tools/networking/p2p/bittorrent/builder.sh">build
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/networking/p2p/bittorrent/builder.sh">build
script</link>, which can be useful if you have lots of code
that you dont want cluttering up the Nix expression. But
external builders are mostly obsolete.
@ -105,22 +105,22 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Thunderbird: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix"><filename>pkgs/applications/networking/mailreaders/thunderbird/3.x.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix"><filename>pkgs/applications/networking/mailreaders/thunderbird/3.x.nix</filename></link>.
Lots of dependencies.</para>
</listitem>
<listitem>
<para>JDiskReport, a Java utility: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link>
(and the <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>).
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>).
Nixpkgs doesnt have a decent <varname>stdenv</varname> for
Java yet so this is pretty ad-hoc.</para>
</listitem>
<listitem>
<para>XML::Simple, a Perl module: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/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>
(search for the <varname>XMLSimple</varname> attribute).
Most Perl modules are so simple to build that they are
defined directly in <filename>perl-packages.nix</filename>;
@ -129,10 +129,10 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Adobe Reader: <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/applications/misc/adobe-reader/default.nix"><filename>pkgs/applications/misc/adobe-reader/default.nix</filename></link>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/default.nix"><filename>pkgs/applications/misc/adobe-reader/default.nix</filename></link>.
Shows how binary-only packages can be supported. In
particular the <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/applications/misc/adobe-reader/builder.sh">builder</link>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh">builder</link>
uses <command>patchelf</command> to set the RUNPATH and ELF
interpreter of the executables so that the right libraries
are found at runtime.</para>
@ -163,7 +163,7 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>A list of schemes for <literal>mirror://</literal>
URLs can be found in <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/build-support/fetchurl/mirrors.nix"><filename>pkgs/build-support/fetchurl/mirrors.nix</filename></link>.</para>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix"><filename>pkgs/build-support/fetchurl/mirrors.nix</filename></link>.</para>
</listitem>
</itemizedlist>
@ -173,7 +173,7 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<para>The exact syntax and semantics of the Nix expression
language, including the built-in function, are described in the
Nix manual in the <link
xlink:href="http://nixos.org/releases/nix/unstable/manual/#chap-writing-nix-expressions">chapter
xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter
on writing Nix expressions</link>.</para>
</listitem>
@ -181,7 +181,7 @@ $ svn add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Add a call to the function defined in the previous step to
<link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/all-packages.nix"><filename>pkgs/top-level/all-packages.nix</filename></link>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix"><filename>pkgs/top-level/all-packages.nix</filename></link>
with some descriptive name for the variable,
e.g. <varname>libfoo</varname>.
@ -220,8 +220,7 @@ $ nix-env -f . -iA libfoo</screen>
</listitem>
<listitem>
<para>Optionally commit the new package (<command>svn
ci</command>) or send a patch to
<para>Optionally commit the new package, or send a patch to
<literal>nix-dev@cs.uu.nl</literal>.</para>
</listitem>
@ -230,7 +229,7 @@ $ nix-env -f . -iA libfoo</screen>
package and make them available in the <link
xlink:href="http://nixos.org/releases/nixpkgs/channels/nixpkgs-unstable/"><literal>nixpkgs</literal>
channel</link>, add it to <link
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/release.nix"><filename>pkgs/top-level/release.nix</filename></link>.</para>
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/release.nix"><filename>pkgs/top-level/release.nix</filename></link>.</para>
</listitem>
</orderedlist>

View File

@ -568,6 +568,11 @@ nothing.</para>
<variablelist>
<title>Variables controlling the build phase</title>
<varlistentry>
<term><varname>dontBuild</varname></term>
<listitem><para>Set to true to skip the build phase.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>makefile</varname></term>
<listitem><para>The file name of the Makefile.</para></listitem>

View File

@ -1,6 +1,6 @@
#! /bin/sh -e
distDir=/data/webserver/tarballs
distDir=${NIX_TARBALLS_CACHE:-/tarballs}
url="$1"
file="$2"
@ -10,25 +10,25 @@ base="$(basename "$url")"
if [ -z "$base" ]; then echo "bad URL"; exit 1; fi
dstPath="$distDir/$base"
if [ -e "$dstPath" ]; then echo "$dstPath already exists"; exit 0; fi
if [ -e "$dstPath" ]; then if [ -n "$VERBOSE" ]; then echo "$dstPath already exists"; fi; exit 0; fi
if [ -z "$file" ]; then
echo "downloading $url to $dstPath"
if [ -n "$dryRun" ]; then exit 0; fi
if [ -n "$DRY_RUN" ]; then exit 0; fi
declare -a res
if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
continue
exit
fi
storePath=${res[1]}
else
storePath="$file"
fi
cp $storePath "$dstPath.tmp.$$"
mv -f "$dstPath.tmp.$$" "$dstPath"

View File

@ -8,7 +8,19 @@ urls=$(nix-instantiate --eval-only --xml --strict '<nixpkgs/maintainers/scripts/
for url in $urls; do
if echo "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then continue; fi
if ! echo "$url" | grep -q -E "\-.*[0-9].*"; then echo "skipping $url"; continue; fi
# Check the URL scheme.
if ! echo "$url" | grep -q -E "^[a-z]+://"; then echo "skipping $url (no URL scheme)"; continue; fi
# Check the basename. It should include something resembling a version.
base="$(basename "$url")"
#if ! echo "$base" | grep -q -E "[-_].*[0-9].*"; then echo "skipping $url (no version)"; continue; fi
if ! echo "$base" | grep -q -E "[a-zA-Z]"; then echo "skipping $url (no letter in name)"; continue; fi
if ! echo "$base" | grep -q -E "[0-9]"; then echo "skipping $url (no digit in name)"; continue; fi
if ! echo "$base" | grep -q -E "[-_\.]"; then echo "skipping $url (no dot/underscore in name)"; continue; fi
if echo "$base" | grep -q -E "[&?=%]"; then echo "skipping $url (bad character in name)"; continue; fi
if [ "${base:0:1}" = "." ]; then echo "skipping $url (starts with a dot)"; continue; fi
$(dirname $0)/copy-tarball.sh "$url"
done

View File

@ -1,32 +1,23 @@
# Evaluate `release.nix' like Hydra would (i.e. call each job
# attribute with the expected `system' argument). Too bad
# nix-instantiate can't to do this.
# Evaluate `release.nix' like Hydra would. Too bad nix-instantiate
# can't to do this.
with import ../../pkgs/lib;
let
trace = if (builtins.getEnv "VERBOSE") == "1" then builtins.trace else (x: y: y);
trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y);
rel = removeAttrs (import ../../pkgs/top-level/release.nix) [ "tarball" "xbursttools" ];
seqList = xs: res: fold (x: xs: seq x xs) res xs;
strictAttrs = as: seqList (attrValues as) as;
maybe = as: let y = builtins.tryEval (strictAttrs as); in if y.success then y.value else builtins.trace "FAIL" null;
call = attrs: flip mapAttrs attrs
(n: v: trace n (
if builtins.isFunction v then maybe (v { system = "x86_64-linux"; })
else if builtins.isAttrs v then call v
else null
));
rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" "xbursttools" ];
# Add the recurseForDerivations attribute to ensure that
# nix-instantiate recurses into nested attribute sets.
recurse = attrs:
if isDerivation attrs
then attrs
else { recurseForDerivations = true; } // mapAttrs (n: v: recurse v) attrs;
if (builtins.tryEval attrs).success then
if isDerivation attrs
then
if (builtins.tryEval attrs.outPath).success
then attrs
else { }
else { recurseForDerivations = true; } // mapAttrs (n: v: recurse v) attrs
else { };
in recurse (call rel)
in recurse rel

View File

@ -0,0 +1,120 @@
#! /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

View File

@ -5,7 +5,6 @@ hydra_eval_jobs \
--argstr system x86_64-linux \
--argstr system i686-linux \
--argstr system x86_64-darwin \
--argstr system i686-darwin \
--argstr system i686-cygwin \
--argstr system i686-freebsd \
--arg officialRelease false \

View File

@ -0,0 +1,30 @@
Two changes:
* Add an alias for `which', so abcde can find things in store
* Choose the right CDROM reader syntax for `cd-paranoia'
--- abcde-2.5.4/abcde~ 2012-09-18 06:09:31.000000000 -0700
+++ abcde-2.5.4/abcde 2012-10-27 00:08:48.000862364 -0700
@@ -17,6 +17,11 @@
VERSION='2.5.4'
+which ()
+{
+ type -P $1
+}
+
usage ()
{
echo "This is abcde v$VERSION."
@@ -3497,6 +3502,10 @@
for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do
if new_checkexec $DEFAULT_CDROMREADER; then
CDROMREADERSYNTAX=$DEFAULT_CDROMREADER
+ case "$DEFAULT_CDROMREADER" in
+ cd-paranoia) CDROMREADERSYNTAX=cdparanoia;;
+ *) CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;;
+ esac
break
fi
done

View File

@ -1,16 +0,0 @@
Choose the right CDROM reader syntax for `cd-paranoia'.
--- abcde-2.3.99.6/abcde 2006-08-05 21:14:00.000000000 +0200
+++ abcde-2.3.99.6/abcde 2008-10-29 22:55:38.000000000 +0100
@@ -3184,7 +3184,10 @@ if [ -n "$DISCID" ] || [ "$CDROMREADERSY
if [ "$CDROMREADERSYNTAX" = "" ]; then
for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do
if new_checkexec $DEFAULT_CDROMREADER; then
- CDROMREADERSYNTAX=$DEFAULT_CDROMREADER
+ case "$DEFAULT_CDROMREADER" in
+ cd-paranoia) CDROMREADERSYNTAX=cdparanoia;;
+ *) CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;;
+ esac
break
fi
done

View File

@ -1,19 +1,20 @@
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue
, perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
, makeWrapper }:
let version = "2.3.99.6";
let version = "2.5.4";
in
stdenv.mkDerivation {
name = "abcde-${version}";
src = fetchurl {
url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz";
sha256 = "1wl4ygj1cf1d6g05gwwygsd5g83l039fzi011r30ma5lnm763lyb";
sha256 = "14g5lsgh53hza9848351kwpygc0yqpvvzp3s923aja77f2wpkdl5";
};
# FIXME: This package does not support MP3 encoding (only Ogg),
# nor `distmp3', `eject', etc.
patches = [ ./install.patch ./which.patch ./cd-paranoia.patch ];
patches = [ ./abcde.patch ];
configurePhase = ''
sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
@ -29,25 +30,37 @@ in
substituteInPlace "abcde" \
--replace "/etc/abcde.conf" "$out/etc/abcde.conf"
'';
# no ELFs in this package, only scripts
dontStrip = true;
dontPatchELF = true;
buildInputs = [ makeWrapper ];
postInstall = ''
substituteInPlace "$out/bin/cddb-tool" \
--replace '#!/bin/sh' '#!${bash}/bin/sh'
substituteInPlace "$out/bin/abcde" \
--replace '#!/bin/bash' '#!${bash}/bin/bash'
# substituteInPlace "$out/bin/cddb-tool" \
# --replace '#!/bin/sh' '#!${bash}/bin/sh'
# substituteInPlace "$out/bin/abcde" \
# --replace '#!/bin/bash' '#!${bash}/bin/bash'
# generic fixup script should be doing this, but it ignores this file for some reason
substituteInPlace "$out/bin/abcde-musicbrainz-tool" \
--replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
wrapProgram "$out/bin/abcde" --prefix PATH ":" \
"$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${lame}/bin"
wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \
"${wget}/bin"
wrapProgram "$out/bin/abcde-musicbrainz-tool" --prefix PATH ":" \
"${wget}/bin"
'';
meta = {
homepage = http://www.hispalinux.es/~data/abcde.php;
homepage = "http://lly.org/~rcw/abcde/page/";
licence = "GPLv2+";
description = "A Better CD Encoder (ABCDE)";

View File

@ -1,21 +0,0 @@
--- abcde-2.3.3/Makefile~ 2005-08-26 00:43:27.000000000 +0200
+++ abcde-2.3.3/Makefile 2008-05-26 22:20:17.000000000 +0200
@@ -14,13 +14,13 @@ clean:
install:
$(INSTALL) -d -m 755 $(bindir)
- $(INSTALL) -m 755 -o 0 abcde $(bindir)
- $(INSTALL) -m 755 -o 0 cddb-tool $(bindir)
+ $(INSTALL) -m 755 abcde $(bindir)
+ $(INSTALL) -m 755 cddb-tool $(bindir)
$(INSTALL) -d -m 755 $(mandir)
- $(INSTALL) -m 644 -o 0 abcde.1 $(mandir)
- $(INSTALL) -m 644 -o 0 cddb-tool.1 $(mandir)
+ $(INSTALL) -m 644 abcde.1 $(mandir)
+ $(INSTALL) -m 644 cddb-tool.1 $(mandir)
$(INSTALL) -d -m 755 $(etcdir)
- $(INSTALL) -m 644 -o 0 abcde.conf $(etcdir)
+ $(INSTALL) -m 644 abcde.conf $(etcdir)
tarball:
@cd .. && tar czvf abcde_$(VERSION).orig.tar.gz \

View File

@ -1,16 +0,0 @@
Add an alias for `which'.
--- abcde-2.3.99.6/abcde 2006-08-05 21:14:00.000000000 +0200
+++ abcde-2.3.99.6/abcde 2008-10-29 22:49:16.000000000 +0100
@@ -15,6 +15,11 @@
VERSION='2.3.99-$Revision: 222M $'
+which ()
+{
+ type -P $1
+}
+
usage ()
{
echo "This is abcde v$VERSION."

View File

@ -1,28 +1,32 @@
{ stdenv, fetchurl, lib, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs
, qca2, libmtp, liblastfm, libgpod, pkgconfig, automoc4, phonon
, strigi, soprano }:
, strigi, soprano, qjson, ffmpeg, libofa }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "amarok";
version = "2.5.0";
version = "2.6.0";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
sha256 = "0jc8fsrhshgfv441b2dgqk0wz3ms5bzjqchcj5ydxphg57dr3l8y";
sha256 = "1h6jzl0jnn8g05pz4mw01kz20wjjxwwz6iki7lvgj70qi3jq04m9";
};
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
patches = ./find-mysql.patch;
buildInputs = [ qtscriptgenerator stdenv.gcc.libc gettext curl
libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
soprano qca2 libmtp liblastfm libgpod pkgconfig ];
soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa ];
cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";
postInstall = ''
mkdir -p $out/nix-support
echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages
'';
meta = {
description = "Popular music player for KDE";
license = "GPL";

View File

@ -0,0 +1,46 @@
commit 9979970f05f25329100168d85a5c4cdc8c084b7a
Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
Date: Thu Aug 30 12:32:53 2012 +0400
FindMySQLAmarok.cmake: use PATH_SUFFIXES
diff --git a/cmake/modules/FindMySQLAmarok.cmake b/cmake/modules/FindMySQLAmarok.cmake
index 910b434..4c8b8e8 100644
--- a/cmake/modules/FindMySQLAmarok.cmake
+++ b/cmake/modules/FindMySQLAmarok.cmake
@@ -13,18 +13,17 @@
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if(NOT WIN32)
- find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 PATHS ${BIN_INSTALL_DIR} ~/usr/bin /usr/local/bin)
+ find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 HINTS ${BIN_INSTALL_DIR})
endif(NOT WIN32)
find_path(MYSQL_INCLUDE_DIR mysql.h
- /opt/local/include/mysql5/mysql
+ PATHS
+ /opt/local/include
/opt/mysql/mysql/include
- /opt/mysqle/include/mysql
- /opt/ports/include/mysql5/mysql
- /usr/include/mysql
- /usr/local/include/mysql
- /usr/mysql/include/mysql
- ~/usr/include/mysql
+ /opt/mysqle/include
+ /opt/ports/include
+ /usr/mysql/include
+ PATH_SUFFIXES mysql mysql5/mysql
)
if(MYSQLCONFIG_EXECUTABLE)
@@ -40,8 +39,7 @@ if(MYSQLCONFIG_EXECUTABLE)
find_library(MYSQLD_PIC_SEPARATE
mysqld_pic
- PATHS
- /usr/lib/mysql
+ PATH_SUFFIXES mysql
)
if(MYSQLD_PIC_SEPARATE)

View File

@ -1,37 +0,0 @@
{ stdenv, fetchgit, fetchgitrevision
, lib, cmake, qt4, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs, automoc4, phonon
, strigi, soprano, qca2, libmtp, liblastfm, libgpod, pkgconfig
, repository ? "git://git.kde.org/amarok"
, branch ? "heads/master"
, rev ? fetchgitrevision repository branch
, src ? fetchgit {
url = repository;
rev = rev;
}
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "amarok";
version = "live";
inherit src;
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
buildInputs = [ cmake qt4 qtscriptgenerator perl stdenv.gcc.libc gettext curl
libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
soprano qca2 libmtp liblastfm libgpod pkgconfig ];
postInstall = ''
mkdir -p $out/nix-support
echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages
'';
meta = {
description = "Popular music player for KDE";
license = "GPL";
homepage = http://amarok.kde.org;
inherit (kdelibs.meta) maintainers;
};
}

View File

@ -1,50 +1,51 @@
{ stdenv, fetchsvn, alsaLib, aubio, boost, cairomm, curl, fftw
, fftwSinglePrec, flac, glib, glibmm, gtk, gtkmm, jackaudio
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw
, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
, perl, pkgconfig, python, serd, sord, sratom, suil }:
let
# Ardour 3 Beta 5
rev = "13072";
# Ardour 3.0 tag
rev = "79db9422";
in
stdenv.mkDerivation {
name = "ardour3-svn-${rev}";
name = "ardour-3.0";
src = fetchsvn {
url = http://subversion.ardour.org/svn/ardour2/branches/3.0;
src = fetchgit {
url = git://git.ardour.org/ardour/ardour.git;
inherit rev;
sha256 = "17k990kdb5q17z6jcz5b60imvvfbjw9zfxzy9fk0vg8gd6yq7736";
sha256 = "cdbe4ca6d4b639fcd66a3d1cf9c2816b4755655c9d81bdd2417263f413aa7096";
};
buildInputs =
[ alsaLib aubio boost cairomm curl fftw fftwSinglePrec
flac glib glibmm gtk gtkmm jackaudio libgnomecanvas
libgnomecanvasmm liblo libmad libogg librdf librdf_raptor
librdf_rasqal libsamplerate libsigcxx libsndfile libusb libuuid
libxml2 libxslt lilv lv2 pango perl pkgconfig python serd sord
sratom suil
[ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc
glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
makeWrapper pango perl pkgconfig python serd sord sratom suil
];
patchPhase = ''
printf '#include "ardour/svn_revision.h"\nnamespace ARDOUR { const char* svn_revision = \"${rev}\"; }\n' > libs/ardour/svn_revision.cc
sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
'';
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
postInstall = ''
mkdir -pv $out/gtk-2.0/2.10.0/engines
mv lib/ardour3/libclearlooks.so $out/gtk-2.0/2.10.0/engines/
wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk-2.0
'';
# For the custom ardour clearlooks gtk-engine to work, it must be
# moved to a directory called "engines" and added to GTK_PATH
installPhase = ''
python waf install
mkdir -pv $out/gtk2/engines
mv $out/lib/ardour3/libclearlooks.so $out/gtk2/engines/
wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2
'';
meta = with stdenv.lib; {
description = "Multi-track hard disk recording software";

View File

@ -1,49 +1,42 @@
{ stdenv, fetchsvn, scons, boost, pkgconfig, fftw, librdf_raptor
{ stdenv, fetchurl, scons, boost, pkgconfig, fftw, librdf_raptor2
, librdf_rasqal, jackaudio, flac, libsamplerate, alsaLib, libxml2
, lilv, lv2, serd, sord, sratom, suil # these are probably optional
, libxslt, libsndfile, libsigcxx, libusb, cairomm, glib, pango
, gtk, glibmm, gtkmm, libgnomecanvas, liblo, aubio
, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf }:
, gtk, glibmm, gtkmm, libgnomecanvas, libgnomecanvasmm, liblo, aubio
, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf, curl }:
stdenv.mkDerivation rec {
name = "ardour-${version}";
version = "2.8.12";
version = "2.8.16";
# svn is the source to get official releases from their site?
# alternative: wget --data-urlencode 'key=7c4b2e1df903aae5ff5cc4077cda801e' http://ardour.org/downloader
# but hash is changing ?
# TODO: see if this is also true when using a tag (~goibhniu)
# This version does not run it exits with the following error:
# raptor_new_uri_for_rdf_concept called with Raptor V1 world object
# raptor_general.c:240:raptor_init: fatal error: raptor_init() failedAborted
src = fetchsvn {
url = "http://subversion.ardour.org/svn/ardour2/tags/${version}";
sha256 = "0d4y8bv12kb0yd2srvxn5388sa4cl5d5rk381saj9f3jgpiciyky";
src = fetchurl {
url = "mirror://gentoo/distfiles/${name}.tar.bz2";
sha256 = "0h2y0x4yznalllja53anjil2gmgcb26f39zshc4gl1d1kc8k5vip";
};
patchPhase = ''
sed -e "s#/usr/bin/which#type -P#" -i libs/glibmm2/autogen.sh
postPatch = ''
#sed -e "s#/usr/bin/which#type -P#" -i libs/glibmm2/autogen.sh
echo '#include "ardour/svn_revision.h"' > libs/ardour/svn_revision.cc
echo -e 'namespace ARDOUR {\n extern const char* svn_revision = "2.8.12";\n }\n' >> libs/ardour/svn_revision.cc
'';
buildInputs = [
scons boost pkgconfig fftw librdf_raptor librdf_rasqal jackaudio
scons boost pkgconfig fftw librdf_raptor2 librdf_rasqal jackaudio
flac libsamplerate alsaLib libxml2 libxslt libsndfile libsigcxx
libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas liblrdf
liblo aubio fftwSinglePrec libmad autoconf automake libtool
#lilv lv2 serd sord sratom suil
libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas libgnomecanvasmm liblrdf
liblo aubio fftwSinglePrec libmad autoconf automake libtool curl
];
buildPhase = ''
mkdir -p $out
export CXX=g++
scons PREFIX=$out install
scons PREFIX=$out SYSLIBS=1 install
'';
installPhase = ":";
meta = {
meta = {
description = "Multi-track hard disk recording software";
longDescription = ''
Broken: use ardour3-svn instead

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation {
# Then build the plugins.
(
buildNativeInputs="$out $buildNativeInputs" # to find audacious
nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
source $stdenv/setup
rm -rfv audacious-*
src=$pluginsSrc

View File

@ -1,20 +1,32 @@
{ stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib, perl, intltool,
libogg, libvorbis, libmad, alsaLib, libsndfile, libsamplerate, flac, lame,
expat, id3lib, ffmpeg, portaudio
libogg, libvorbis, libmad, alsaLib, libsndfile, soxr, flac, lame,
expat, libid3tag, ffmpeg /*, portaudio - given up fighting their portaudio.patch */
}:
stdenv.mkDerivation rec {
version = "2.0.0";
version = "2.0.3";
name = "audacity-${version}";
src = fetchurl {
url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.bz2";
sha256 = "0spbib3f86b4qri0g13idyxvysg28hkpsglmjza681zrln62hjfq";
url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.xz";
sha256 = "1k4bbxhpfl80vm3gm3jxqly0syqjij5kwziy4xyq2c8aj2miwj1f";
};
buildInputs = [ pkgconfig wxGTK libsndfile expat alsaLib libsamplerate
libvorbis libmad flac id3lib ffmpeg gettext ];
preConfigure = /* we prefer system-wide libs */ ''
mv lib-src lib-src-rm
mkdir lib-src
mv lib-src-rm/{Makefile*,lib-widget-extra,portaudio-v19,portmixer,portsmf,FileDialog,sbsms} lib-src/
rm -r lib-src-rm/
'';
buildInputs = [
pkgconfig gettext wxGTK gtk expat alsaLib
libsndfile soxr libid3tag
ffmpeg libmad lame libvorbis flac
]; #ToDo: soundtouch, detach sbsms
dontDisableStatic = true;
doCheck = true;
meta = {
description = "Sound editor with graphical UI";

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, alsaLib, jackaudio, pkgconfig, pulseaudio, xlibs }:
stdenv.mkDerivation rec {
name = "bristol-${version}";
version = "0.60.10";
src = fetchurl {
url = "mirror://sourceforge/bristol/${name}.tar.gz";
sha256 = "070rn5zdx6vrqmq7w1rrpxig3bxlylbsw82nlmkjnhjrgm6yx753";
};
buildInputs = [
alsaLib jackaudio pkgconfig pulseaudio xlibs.libX11 xlibs.libXext
xlibs.xproto
];
preInstall = ''
sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol
sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
'';
meta = with stdenv.lib; {
description = "A range of synthesiser, electric piano and organ emulations";
homepage = http://bristol.sourceforge.net;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -1,22 +1,25 @@
{ stdenv, fetchurl, cairo, expat, glib, gtk, jackaudio, ladspaH
, libglade, lv2, pkgconfig }:
{ stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib
, gtk, jackaudio, ladspaH , libglade, lv2, pkgconfig }:
stdenv.mkDerivation rec {
name = "calf-${version}";
version = "0.0.18.6";
version = "0.0.19";
src = fetchurl {
url = "mirror://sourceforge/calf/${name}.tar.gz";
sha256 = "03w6jjkrr6w8da6qzd0x4dlkg295c6jxby500x4cj07wpbpk6irh";
sha256 = "1v1cjbxv5wg6rsa2nfz1f8r7cykcpx6jm5ccqmzx866dggiff1hi";
};
buildInputs =
[ cairo jackaudio gtk glib expat libglade ladspaH lv2 pkgconfig ];
buildInputs = [
cairo expat fftwSinglePrec fluidsynth glib gtk jackaudio ladspaH
libglade lv2 pkgconfig
];
meta = with stdenv.lib; {
homepage = http://calf.sourceforge.net;
description = "A set of high quality open source audio plugins for musicians";
license = licenses.lgpl2;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "caps-${version}";
version = "0.9.7";
src = fetchurl {
url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2";
sha256 = "0ks98r3j404s9h88x50lj5lj4l64ijj29fz5i08iyq8jrb7r0zm0";
};
configurePhase = ''
echo "PREFIX = $out" > defines.make
'';
meta = {
description = "A selection of LADSPA plugins implementing classic effects";
longDescription = ''
The C* Audio Plugin Suite is a selection of classic effects,
unique filters and signal generators. The digital guitarist
finds in CAPS a range of processors recreating key aspects of
the formation of tone in traditional electronic instrument
amplification. Beyond sound quality, central design
considerations are latency-free realtime operation, modesty of
resource demands and meaningful control interfaces.
'';
homepage = http://www.quitte.de/dsp/caps.html;
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.astsmtl ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -2,17 +2,17 @@
stdenv.mkDerivation rec {
name = "cmus-${version}";
version = "2.3.3";
version = "2.5.0";
src = fetchurl {
url = "mirror://sourceforge/cmus/cmus-v${version}.tar.bz2";
sha256 = "1pwd3jifv12yr0yr77hsv5c9y8ay6kn2b5a3s5i8v2c882vgl890";
};
configurePhase = "./configure prefix=$out";
buildInputs = [ ncurses pkgconfig alsaLib flac libmad ffmpeg libvorbis mpc mp4v2 ];
src = fetchurl {
url = "mirror://sourceforge/cmus/cmus-v${version}.tar.bz2";
sha256 = "13hc5d7h2ayjwnip345hc59rpjj9fgrp1i5spjw3s14prdqr733v";
};
meta = {
description = "cmus is a small, fast and powerful console music player for Linux and *BSD";
homepage = http://cmus.sourceforge.net;

View File

@ -0,0 +1,34 @@
{ stdenv, fetchurl, cmake, libsndfile, flex, bison
, alsaLib ? null
, pulseaudio ? null
, tcltk ? null
# maybe csound can be compiled with support for those, see configure output
# , ladspa ? null
# , fluidsynth ? null
# , jack ? null
# , gmm ? null
# , wiiuse ? null
}:
stdenv.mkDerivation {
name = "csound-5.18.02";
enableParallelBuilding = true;
src = fetchurl {
url = http://netcologne.dl.sourceforge.net/project/csound/csound5/csound5.18/Csound5.18.02.tar.gz;
sha256 = "4c461cf3bf60b83671224949dd33805379b7121bf2c0ad6af5e191e7f6f8adc8";
};
buildInputs = [ cmake libsndfile flex bison alsaLib pulseaudio tcltk ];
meta = {
description = "sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
homepage = http://www.csounds.com/;
license = stdenv.lib.licenses.gpl2;
maintainers = [stdenv.lib.maintainers.marcweber];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,54 @@
{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jackaudio
, libxslt, lv2, pkgconfig, premake3, xlibs }:
let
rev = "99efbf0b";
in
stdenv.mkDerivation rec {
name = "distrho-${rev}";
src = fetchgit {
url = "https://github.com/falkTX/DISTRHO.git";
inherit rev;
sha256 = "ed26a6edca19ebb8260b3dc042f69c32162e1d91179fb9d22da42ec7131936f9";
};
patchPhase = ''
sed -e "s#@./scripts#sh scripts#" -i Makefile
'';
buildInputs = [
alsaLib fftwSinglePrec freetype jackaudio pkgconfig premake3
xlibs.libX11 xlibs.libXcomposite xlibs.libXcursor xlibs.libXext
xlibs.libXinerama xlibs.libXrender
];
buildPhase = ''
sh ./scripts/premake-update.sh linux
make standalone
make lv2
'';
installPhase = ''
mkdir -p $out/bin
cp bin/standalone/* $out/bin/
mkdir -p $out/lib/lv2
cp -a bin/lv2/* $out/lib/lv2/
'';
meta = with stdenv.lib; {
homepage = http://distrho.sourceforge.net;
description = "A collection of cross-platform audio effects and plugins";
longDescription = ''
Includes:
3BandEQ bitmangler drowaudio-distortion drowaudio-flanger
drowaudio-tremolo eqinox juce_pitcher sDelay TAL-Filter
TAL-NoiseMaker TAL-Reverb-2 TAL-Vocoder-2 ThePilgrim
Wolpertinger argotlunar capsaicin drowaudio-distortionshaper
drowaudio-reverb drumsynth highlife JuceDemoPlugin PingPongPan
TAL-Dub-3 TAL-Filter-2 TAL-Reverb TAL-Reverb-3 TheFunction vex
'';
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
stdenv.mkDerivation rec {
name = "drumkv1-${version}";
version = "0.3.2";
src = fetchurl {
url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
sha256 = "0bafg06iavri9dmg7hpz554kpqf1iv9crcdq46y4n4wyyxd7kajl";
};
buildInputs = [ jackaudio libsndfile lv2 qt4 ];
meta = with stdenv.lib; {
description = "An old-school drum-kit sampler synthesizer with stereo fx";
homepage = http://drumkv1.sourceforge.net/;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, unzip, portaudio }:
stdenv.mkDerivation {
name = "espeak-1.44.03";
name = "espeak-1.46.02";
src = fetchurl {
url = mirror://sourceforge/espeak/espeak-1.44.03-source.zip;
sha256 = "0lnv89xmsq3bax0qpabd0z2adaag7mdl973bkw3gdszidafmfyx4";
url = mirror://sourceforge/espeak/espeak-1.46.02-source.zip;
sha256 = "1fjlv5fm0gzvr5wzy1dp4nspw04k0bqv3jymha2p2qfjbfifp2zg";
};
buildInputs = [ unzip portaudio ];
@ -18,7 +18,7 @@ stdenv.mkDerivation {
configurePhase = ''
cd src
makeFlags="PREFIX=$out"
makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
'';
meta = {

View File

@ -0,0 +1,31 @@
{stdenv, fetchurl, unzip, portaudio, wxGTK}:
stdenv.mkDerivation {
name = "espeakedit-1.46.02";
src = fetchurl {
url = mirror://sourceforge/espeak/espeakedit-1.46.02.zip;
sha256 = "1cc5r89sn8zz7b8wj4grx9xb7aqyi0ybj0li9hpy7hd67r56kqkl";
};
buildInputs = [ unzip portaudio wxGTK ];
patchPhase = if portaudio.api_version == 19 then ''
cp src/portaudio19.h src/portaudio.h
'' else "";
buildPhase = ''
cd src
gcc -o espeakedit *.cpp `wx-config --cxxflags --libs`
'';
installPhase = ''
ensureDir $out/bin
cp espeakedit $out/bin
'';
meta = {
description = "Phoneme editor for espeak";
homepage = http://espeak.sourceforge.net/;
license = "GPLv3+";
};
}

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
patches =
[ # Fix for building on GCC 4.3.
(fetchurl {
url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-libs/flac/files/flac-1.2.1-gcc-4.3-includes.patch?rev=1.1";
url = "http://sourceforge.net/p/flac/patches/_discuss/thread/9d4c7504/d8ea/attachment/flac-1.2.1-gcc-4.3-includes.patch";
sha256 = "1m6ql5vyjb2jlp5qiqp6w0drq1m6x6y3i1dnl5ywywl3zd36k0mr";
})
];

View File

@ -0,0 +1,51 @@
{ stdenv, fetchurl, libtool, intltool, pkgconfig, glib
, gtk, curl, mpd_clientlib, libsoup, gob2, vala
}:
stdenv.mkDerivation rec {
name = "gmpc-${version}";
version = "11.8.16";
libmpd = stdenv.mkDerivation {
name = "libmpd-11.8.17";
src = fetchurl {
url = http://download.sarine.nl/Programs/gmpc/11.8/libmpd-11.8.17.tar.gz;
sha256 = "10vspwsgr8pwf3qp2bviw6b2l8prgdiswgv7qiqiyr0h1mmk487y";
};
buildInputs = [ pkgconfig glib ];
};
libunique = stdenv.mkDerivation {
name = "libunique-1.1.6";
src = fetchurl {
url = http://ftp.gnome.org/pub/GNOME/sources/libunique/1.1/libunique-1.1.6.tar.gz;
sha256 = "2cb918dde3554228a211925ba6165a661fd782394bd74dfe15e3853dc9c573ea";
};
buildInputs = [ pkgconfig glib gtk ];
patches = [
(fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/remove_G_CONST_RETURN.patch?h=packages/libunique";
sha256 = "0da2qi7cyyax4rr1p25drlhk360h8d3lapgypi5w95wj9k6bykhr";
})
];
};
src = fetchurl {
url = "http://download.sarine.nl/Programs/gmpc/11.8/gmpc-11.8.16.tar.gz";
sha256 = "0b3bnxf98i5lhjyljvgxgx9xmb6p46cn3a9cccrng14nagri9556";
};
buildInputs = [
libtool intltool pkgconfig glib gtk curl mpd_clientlib libsoup
libunique libmpd gob2 vala
];
meta = with stdenv.lib; {
homepage = http://gmpclient.org;
description = "A GTK2 frontend for Music Player Daemon";
license = licenses.gpl2;
maintainers = [ maintainers.rickynils ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,53 @@
{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, jackaudio, libsndfile
, glib, gtk, glibmm, gtkmm, fftw, librdf, ladspaH, boost }:
stdenv.mkDerivation rec {
name = "guitarix-${version}";
version = "0.25.2";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
sha256 = "1wcg3yc2iy72hj6z9l88393f00by0iwhhn8xrc3q55p4rj0mnrga";
};
buildInputs =
[ python gettext intltool pkgconfig jackaudio libsndfile glib gtk glibmm
gtkmm fftw librdf ladspaH boost
];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
meta = {
description = "A virtual guitar amplifier for Linux running with JACK";
longDescription = ''
guitarix is a virtual guitar amplifier for Linux running with
JACK (Jack Audio Connection Kit). It is free as in speech and
free as in beer. Its free sourcecode allows to build it for
other UNIX-like systems also, namely for BSD and for MacOSX.
It takes the signal from your guitar as any real amp would do:
as a mono-signal from your sound card. Your tone is processed by
a main amp and a rack-section. Both can be routed separately and
deliver a processed stereo-signal via JACK. You may fill the
rack with effects from more than 25 built-in modules spanning
from a simple noise-gate to brain-slashing modulation-fx like
flanger, phaser or auto-wah. Your signal is processed with
minimum latency. On any properly set-up Linux-system you do not
need to wait for more than 10 milli-seconds for your playing to
be delivered, processed by guitarix.
guitarix offers the range of sounds you would expect from a
full-featured universal guitar-amp. You can get crisp
clean-sounds, nice overdrive, fat distortion and a diversity of
crazy sounds never heard before.
'';
homepage = http://guitarix.sourceforge.net/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.astsmtl ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -e 's#/usr/lib/ladspa#${ladspaPlugins}/lib/ladspa#' -i libs/hydrogen/src/preferences.cpp
sed '/\/usr/d' -i libs/hydrogen/src/preferences.cpp
'';
sed "s#pkg_ver.rstrip().split('.')#pkg_ver.rstrip().split('.')[:3]#" -i Sconstruct
'';
# why doesn't scons find librdf?
buildPhase = ''

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
patches = [ ./id3v2-0.1.11-track-bad-free.patch ];
buildNativeInputs = [ groff ];
nativeBuildInputs = [ groff ];
buildInputs = [ id3lib ];
configurePhase = ''

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, jackaudio, libsndfile, pkgconfig }:
stdenv.mkDerivation rec {
name = "jack_capture-${version}";
version = "0.9.69";
src = fetchurl {
url = "http://archive.notam02.no/arkiv/src/${name}.tar.gz";
sha256 = "0sk7b92my1v1g7rhkpl1c608rb0rdb28m9zqfll95kflxajd16zv";
};
buildInputs = [ jackaudio libsndfile pkgconfig ];
buildPhase = "PREFIX=$out make jack_capture";
installPhase = ''
mkdir -p $out/bin
cp jack_capture $out/bin/
'';
meta = with stdenv.lib; {
description = "A program for recording soundfiles with jack";
homepage = http://archive.notam02.no/arkiv/src;
license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl, SDL, jackaudio, mesa, pkgconfig }:
stdenv.mkDerivation rec {
name = "jack_oscrolloscope-${version}";
version = "0.7";
src = fetchurl {
url = "http://das.nasophon.de/download/${name}.tar.gz";
sha256 = "1pl55in0sj7h5r06n1v91im7d18pplvhbjhjm1fdl39zwnyxiash";
};
buildInputs = [ SDL jackaudio mesa pkgconfig ];
installPhase = ''
mkdir -p $out/bin
mv jack_oscrolloscope $out/bin/
'';
meta = with stdenv.lib; {
description = "A simple waveform viewer for JACK";
homepage = http://das.nasophon.de/jack_oscrolloscope;
license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, pkgconfig, jackaudio, ladspaH, gtk, alsaLib, libxml2, librdf }:
stdenv.mkDerivation rec {
name = "jack-rack-1.4.7";
src = fetchurl {
url = "mirror://sourceforge/jack-rack/${name}.tar.bz2";
sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045";
};
buildInputs = [ pkgconfig jackaudio ladspaH gtk alsaLib libxml2 librdf ];
meta = {
description = ''An effects "rack" for the JACK low latency audio API'';
longDescription = ''
JACK Rack is an effects "rack" for the JACK low latency audio
API. The rack can be filled with LADSPA effects plugins and can
be controlled using the ALSA sequencer. It's phat; it turns your
computer into an effects box.
'';
homepage = http://jack-rack.sourceforge.net/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.astsmtl ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, gtk, jackaudio, lilv, lv2, pkgconfig, python
, serd, sord , sratom, suil }:
stdenv.mkDerivation rec {
name = "jalv-${version}";
version = "1.4.0";
src = fetchurl {
url = "http://download.drobilla.net/${name}.tar.bz2";
sha256 = "1hq968fhiz86428krqhjl3vlw71bigc9bsfcv97zgvsjh0fh6qa0";
};
buildInputs = [
gtk jackaudio lilv lv2 pkgconfig python serd sord sratom suil
];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
description = "A simple but fully featured LV2 host for Jack";
homepage = http://drobilla.net/software/jalv;
license = licenses.isc;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, nasm}:
stdenv.mkDerivation rec {
name = "lame-3.98.4";
name = "lame-3.99.5";
src = fetchurl {
url = "mirror://sourceforge/lame/${name}.tar.gz";
sha256 = "1j3jywv6ic2cy0x0q1a1h6rcl6xmcs5f58xawjdkl8hpcv3l8cdc";
sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14";
};
buildInputs = [ nasm ];

View File

@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "05kc4brcx8mncai0rj2gz4s4bsrsy9q8xlnaddf75i0m8jl7snhh";
};
patches = [ ./socket.patch ];
# http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346
patches = [ ./socket.patch ./gcc-47.patch ];
buildInputs = [ alsaLib gtk jackaudio libuuid libxml2 makeWrapper
pkgconfig readline ];

View File

@ -0,0 +1,11 @@
diff -rupN liblash/lash.c lash-0.5.4/liblash/lash.c
--- a/liblash/lash.c 2007-03-09 10:34:40.000000000 -0500
+++ b/liblash/lash.c 2012-07-22 18:17:46.003963521 -0400
@@ -22,6 +22,7 @@
#include <string.h>
#include <strings.h>
#include <pthread.h>
+#include <sys/resource.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/socket.h>

View File

@ -0,0 +1,29 @@
{ stdenv, fetchgit, pythonPackages }:
pythonPackages.buildPythonPackage rec {
name = "lastwatch-${version}";
namePrefix = "";
version = "0.4.1";
src = fetchgit {
url = "git://github.com/aszlig/LastWatch.git";
rev = "refs/tags/v${version}";
sha256 = "c43f0fd87e9f3daafc7e8676daf2e89c8e21fbabc278eb1455e28d2997587a92";
};
pythonPath = [
pythonPackages.pyinotify
pythonPackages.pylast
pythonPackages.mutagen
];
propagatedBuildInputs = pythonPath;
installCommand = "python setup.py install --prefix=$out";
meta = {
homepage = "https://github.com/aszlig/LastWatch";
description = "An inotify-based last.fm audio scrobbler";
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -11,9 +11,16 @@ stdenv.mkDerivation rec {
sha256 = "0zsrvs9dwwhjx733m45vfi11yjkqv33z8qxn2i9qriq5zs1f0kd7";
};
patchPhase = "sed -e 's/which/type -P/g' -i scripts/generate_parser.sh";
patches = ./linuxsampler_lv2_sfz_fix.diff;
preConfigure = "make -f Makefile.cvs";
# It fails to compile without this option. I'm not sure what the bug
# is, but everything works OK for me (goibhniu).
configureFlags = [ "--disable-nptl-bug-check" ];
preConfigure = ''
sed -e 's/which/type -P/g' -i scripts/generate_parser.sh
make -f Makefile.cvs
'';
buildInputs = [
alsaLib asio autoconf automake bison jackaudio libgig libsndfile
@ -34,7 +41,8 @@ stdenv.mkDerivation rec {
have questions on the subject, that are not yet covered by the
FAQ, please contact us.
'';
license = licenses.gpl2;
license = licenses.unfree;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,50 @@
Index: linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp
===================================================================
--- linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp (revision 2359)
+++ linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp (working copy)
@@ -18,6 +18,8 @@
* MA 02110-1301 USA *
***************************************************************************/
+#define _BSD_SOURCE 1 /* for realpath() */
+
#include <algorithm>
#include <cassert>
#include <cstdio>
@@ -118,6 +120,23 @@
dmsg(2, ("linuxsampler: Deactivate\n"));
}
+ static String RealPath(const String& path)
+ {
+ String out = path;
+ char* cpath = NULL;
+#ifdef _WIN32
+ cpath = (char*)malloc(MAX_PATH);
+ GetFullPathName(path.c_str(), MAX_PATH, cpath, NULL);
+#else
+ cpath = realpath(path.c_str(), NULL);
+#endif
+ if (cpath) {
+ out = cpath;
+ free(cpath);
+ }
+ return out;
+ }
+
String PluginLv2::PathToState(const String& path) {
if (MapPath) {
char* cstr = MapPath->abstract_path(MapPath->handle, path.c_str());
@@ -131,9 +150,10 @@
String PluginLv2::PathFromState(const String& path) {
if (MapPath) {
char* cstr = MapPath->absolute_path(MapPath->handle, path.c_str());
- const String abstract_path(cstr);
+ // Resolve symbolic links so SFZ sample paths load correctly
+ const String absolute_path(RealPath(cstr));
free(cstr);
- return abstract_path;
+ return absolute_path;
}
return path;
}

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python }:
stdenv.mkDerivation rec {
name = "mda-lv2-${version}";
version = "1.0.0";
src = fetchurl {
url = "http://download.drobilla.net/${name}.tar.bz2";
sha256 = "1dbgvpz9qvlwsfkq9c0dx45bm223wwrzgiddlyln1agpns3qbf0f";
};
buildInputs = [ fftwSinglePrec lv2 pkgconfig python ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/mda-lv2/;
description = "An LV2 port of the MDA plugins by Paul Kellett";
license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, alsaLib, libX11, libXi, libXtst, xextproto }:
stdenv.mkDerivation rec {
name = "mid2key-r1";
src = fetchurl {
url = "http://mid2key.googlecode.com/files/${name}.tar.gz";
sha256 = "0j2vsjvdgx51nd1qmaa18mcy0yw9pwrhbv2mdwnf913bwsk4y904";
};
unpackPhase = "tar xvzf $src";
buildInputs = [ alsaLib libX11 libXi libXtst xextproto ];
buildPhase = "make";
installPhase = "mkdir -p $out/bin && mv mid2key $out/bin";
meta = with stdenv.lib; {
homepage = http://code.google.com/p/mid2key/;
description = "A simple tool which maps midi notes to simulated keystrokes";
license = licenses.gpl3;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -0,0 +1,27 @@
diff -ru monkeys-audio-3.99-u4-b5/src/MACLib/APELink.cpp monkeys-audio-3.99-u4-b5.patched/src/MACLib/APELink.cpp
--- monkeys-audio-3.99-u4-b5/src/MACLib/APELink.cpp 2006-06-01 11:00:57.000000000 +0200
+++ monkeys-audio-3.99-u4-b5.patched/src/MACLib/APELink.cpp 2012-01-05 14:51:47.000000000 +0100
@@ -63,10 +63,10 @@
if (pData != NULL)
{
// parse out the information
- char * pHeader = strstr(pData, APE_LINK_HEADER);
- char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG);
- char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG);
- char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG);
+ const char * pHeader = strstr(pData, APE_LINK_HEADER);
+ const char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG);
+ const char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG);
+ const char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG);
if (pHeader && pImageFile && pStartBlock && pFinishBlock)
{
@@ -81,7 +81,7 @@
// get the path
char cImageFile[MAX_PATH + 1]; int nIndex = 0;
- char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)];
+ const char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)];
while ((*pImageCharacter != 0) && (*pImageCharacter != '\r') && (*pImageCharacter != '\n'))
cImageFile[nIndex++] = *pImageCharacter++;
cImageFile[nIndex] = 0;

View File

@ -0,0 +1,14 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
version = "3.99-u4-b5";
pname = "monkeys-audio";
name = pname + "-" + version;
patches = [ ./buildfix.diff ];
src = fetchurl {
url = "http://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz";
sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz";
};
}

View File

@ -0,0 +1,44 @@
{ stdenv, fetchgit, pythonPackages, pygobject, gst_python
, gst_plugins_good, gst_plugins_base
}:
pythonPackages.buildPythonPackage rec {
name = "mopidy-${version}";
version = "0.14.1";
src = fetchgit {
url = "https://github.com/mopidy/mopidy.git";
rev = "refs/tags/v${version}";
sha256 = "0lgd8dpiri9m6sigpf1g1qzvz25lkb38lskgwvb8j7x64y104z0v";
};
propagatedBuildInputs = with pythonPackages; [
gst_python pygobject pykka pyspotify pylast cherrypy ws4py
];
# python zip complains about old timestamps
preConfigure = ''
find -print0 | xargs -0 touch
'';
# There are no tests
doCheck = false;
postInstall = ''
for p in $out/bin/mopidy $out/bin/mopidy-scan; do
wrapProgram $p \
--prefix GST_PLUGIN_PATH : ${gst_plugins_good}/lib/gstreamer-0.10 \
--prefix GST_PLUGIN_PATH : ${gst_plugins_base}/lib/gstreamer-0.10
done
'';
meta = {
homepage = http://www.mopidy.com/;
description = ''
A music server which can play music from Spotify and from your
local hard drive.
'';
maintainers = [ stdenv.lib.maintainers.rickynils ];
};
}

View File

@ -0,0 +1,44 @@
{ stdenv, fetchgit, pythonPackages, pygobject, gst_python
, gst_plugins_good, gst_plugins_base
}:
pythonPackages.buildPythonPackage rec {
name = "mopidy-${version}";
version = "git-20130226";
src = fetchgit {
url = "https://github.com/mopidy/mopidy.git";
rev = "86a7c2d7519680c6b9130795d35c4654958f4c04";
sha256 = "00fxcfkpl19nslv4f4bspzw0kvjjp6hhcwag7rknmb8scfinqfac";
};
propagatedBuildInputs = with pythonPackages; [
gst_python pygobject pykka pyspotify pylast cherrypy ws4py
];
# python zip complains about old timestamps
preConfigure = ''
find -print0 | xargs -0 touch
'';
# There are no tests
doCheck = false;
postInstall = ''
for p in $out/bin/mopidy $out/bin/mopidy-scan; do
wrapProgram $p \
--prefix GST_PLUGIN_PATH : ${gst_plugins_good}/lib/gstreamer-0.10 \
--prefix GST_PLUGIN_PATH : ${gst_plugins_base}/lib/gstreamer-0.10
done
'';
meta = {
homepage = http://www.mopidy.com/;
description = ''
A music server which can play music from Spotify and from your
local hard drive.
'';
maintainers = [ stdenv.lib.maintainers.rickynils ];
};
}

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig}:
stdenv.mkDerivation rec {
version = "0.5.8";
version = "0.5.10";
name = "ncmpcpp-${version}";
src = fetchurl {
url = "http://unkart.ovh.org/ncmpcpp/ncmpcpp-${version}.tar.bz2";
sha256 = "1kbkngs4fhf9z53awskqiwdl94i5slvxmjiajkrayi99373fallx";
url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
};
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ];
@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
homepage = http://unkart.ovh.org/ncmpcpp/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.mornfall ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,17 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "normalize-${version}";
version = "0.7.7";
src = fetchurl {
url = "http://savannah.nongnu.org/download/normalize/normalize-0.7.7.tar.gz";
sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0";
};
meta = with stdenv.lib; {
homepage = http://normalize.nongnu.org/;
description = "Audio file normalizer";
license = licenses.gpl2;
};
}

View File

@ -0,0 +1,17 @@
{stdenv, fetchurl, libogg, libao, pkgconfig, libopus}:
stdenv.mkDerivation rec {
name = "opus-tools-0.1.6";
src = fetchurl {
url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
sha256 = "1hd2ych34y3qy4rj4hd5cp29ixy891afizlsxphsfvfplk1dp1nc";
};
buildInputs = [ libogg libao pkgconfig libopus ];
meta = {
description = "Tools to work with opus encoded audio streams";
homepage = http://www.opus-codec.org/;
license = "BSD";
};
}

View File

@ -2,17 +2,17 @@
, libglademm, libcanberra, intltool, gettext }:
stdenv.mkDerivation rec {
name = "pavucontrol-0.9.10";
name = "pavucontrol-1.0";
src = fetchurl {
url = "http://0pointer.de/lennart/projects/pavucontrol/${name}.tar.gz";
sha256 = "0g2sd9smwwpnyq8yc65dl9z0iafj2rrimi8v58wkxx98vhnnvsby";
url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
sha256 = "1plcyrc7p6gqxjhxx2xh6162bkb29wixjrqrjnl9b8g3nrjjigix";
};
buildInputs = [ pkgconfig pulseaudio gtkmm libsigcxx libglademm libcanberra
intltool gettext ];
configureFlags = "--disable-lynx";
configureFlags = "--disable-lynx --disable-gtk3";
meta = {
description = "PulseAudio Volume Control";

View File

@ -0,0 +1,46 @@
{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
, pkgconfig, libdiscid, libofa, ffmpeg }:
pythonPackages.buildPythonPackage rec {
name = "picard-${version}";
namePrefix = "";
version = "1.1";
src = fetchurl {
url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
md5 = "57abb76632a423760f336ac11da5c149";
};
buildInputs = [
pkgconfig
ffmpeg
libofa
gettext
];
propagatedBuildInputs = [
pythonPackages.mutagen
pyqt4
libdiscid
];
configurePhase = ''
python setup.py config
'';
buildPhase = ''
python setup.py build
'';
installPhase = ''
python setup.py install --prefix="$out"
'';
doCheck = false;
meta = {
homepage = "http://musicbrainz.org/doc/MusicBrainz_Picard";
description = "The official MusicBrainz tagger";
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,26 @@
{stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
stdenv.mkDerivation {
name = "praat-5323";
src = fetchurl {
url = http://www.fon.hum.uva.nl/praat/praat5323_sources.tar.gz;
sha256 = "1m0m5165h74mw5xhmnnyzh5ans3cn78w5rs9572sa1512cams203";
};
configurePhase = ''
cp makefiles/makefile.defs.linux makefile.defs
'';
installPhase = ''
ensureDir $out/bin
cp praat $out/bin
'';
buildInputs = [ alsaLib gtk pkgconfig ];
meta = {
description = "Doing phonetics by computer";
homepage = http://www.fon.hum.uva.nl/praat/;
license = "GPLv2+"; # Has some 3rd-party code in it though
};
}

View File

@ -1,24 +1,31 @@
{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib,
libX11, libtool, tcl, tk }:
{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib
, jackaudio, libX11, libtool, makeWrapper, pkgconfig, tcl, tk
}:
stdenv.mkDerivation rec {
name = "puredata-${version}";
version = "0.43-0";
version = "0.44-0";
src = fetchurl {
url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz";
sha256 = "1qfq7x8vj12kr0cdrnbvmxfhc03flicc6vcc8bz6hwrrakwciyz2";
sha256 = "031bvqfnlpfx0y5n0l5rmslziqc6jgmk99x1prgh1rmhjhjdnijw";
};
buildInputs = [ alsaLib autoconf automake fftw gettext glib libX11
libtool tcl tk ];
buildInputs = [
alsaLib autoconf automake fftw gettext glib jackaudio libX11
libtool makeWrapper pkgconfig tcl tk
];
preConfigure = ''
./autogen.sh
'';
postInstall = ''
wrapProgram $out/bin/pd --prefix PATH : ${tk}/bin
'';
meta = with stdenv.lib; {
description = ''Real-time graphical programming environment for
description = ''A real-time graphical programming environment for
audio, video, and graphical processing'';
homepage = http://puredata.info;
license = licenses.bsd3;

View File

@ -1,20 +1,22 @@
{ stdenv, fetchurl, qt4, alsaLib, jackaudio, dbus }:
stdenv.mkDerivation rec {
version = "0.3.8";
version = "0.3.9";
name = "qjackctl-${version}";
# some dependencies such as killall have to be installed additionally
src = fetchurl {
url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
sha256 = "1rbipbknq7f8qfma33vwfv2ar3vxkz1p1ykp5mx6nirmcn1nj247";
sha256 = "0a4s7lwd5b67qbwv1yck8bw6zz8ffx1gza5fwflfqrfcfl3dds2y";
};
buildInputs = [ qt4 alsaLib jackaudio dbus ];
configureFlags = "--enable-jack-version";
meta = {
description = "qt jackd control gui tool";
description = "A Qt application to control the JACK sound server daemon";
homepage = http://qjackctl.sourceforge.net/;
license = "GPL";
};

View File

@ -0,0 +1,59 @@
{ stdenv, fetchurl, cmake, qt4, pkgconfig, x11
# transports
, curl, libmms
# input plugins
, libmad, taglib, libvorbis, libogg, flac, libmpcdec, libmodplug, libsndfile
, libcdio, cdparanoia, libcddb, faad2, ffmpeg, wildmidi
# output plugins
, alsaLib, pulseaudio
# effect plugins
, libsamplerate
}:
# Additional plugins that can be added:
# wavpack (http://www.wavpack.com/)
# gme (Game music support)
# Ogg Opus support
# BS2B effect plugin (http://bs2b.sourceforge.net/)
# JACK audio support
# ProjectM visualization plugin
# To make MIDI work we must tell Qmmp what instrument configuration to use (and
# this can unfortunately not be set at configure time):
# Go to settings (ctrl-p), navigate to the WildMidi plugin and click on
# Preferences. In the instrument configuration field, type the path to
# /nix/store/*wildmidi*/etc/wildmidi.cfg (or your own custom cfg file).
# Qmmp installs working .desktop file(s) all by itself, so we don't need to
# handle that.
stdenv.mkDerivation rec {
name = "qmmp-0.7.0";
src = fetchurl {
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
sha256 = "0g8qcs82y3dy06lsgam2w6gh2ccx0frlw9fp4xg947vi3a16g6ig";
};
buildInputs =
[ # basic requirements
cmake qt4 pkgconfig x11
# transports
curl libmms
# input plugins
libmad taglib libvorbis libogg flac libmpcdec libmodplug libsndfile
libcdio cdparanoia libcddb faad2 ffmpeg wildmidi
# output plugins
alsaLib pulseaudio
# effect plugins
libsamplerate
];
meta = with stdenv.lib; {
description = "Qt-based audio player that looks like Winamp";
homepage = http://qmmp.ylsoftware.com/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [maintainers.bjornfor];
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
stdenv.mkDerivation rec {
name = "samplv1-${version}";
version = "0.3.2";
src = fetchurl {
url = "mirror://sourceforge/samplv1/${name}.tar.gz";
sha256 = "1j6q3ywbdsyhskc60p7k8ph058ylrrmjmri3q1wr2d2akcaqvb7m";
};
buildInputs = [ jackaudio libsndfile lv2 qt4 ];
meta = with stdenv.lib; {
description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
homepage = http://samplv1.sourceforge.net/;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, flac }:
stdenv.mkDerivation rec {
version = "3.0.10";
name = "shntool-${version}";
src = fetchurl {
url = http://www.etree.org/shnutils/shntool/dist/src/shntool-3.0.10.tar.gz;
sha256 = "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l";
};
buildInputs = [ flac ];
meta = {
description = "multi-purpose WAVE data processing and reporting utility";
homepage = http://www.etree.org/shnutils/shntool/;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ jcumming ];
};
}

View File

@ -1,52 +1,79 @@
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl }:
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng12, GConf, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
let version = "0.8.3.278"; in
let
version = "0.9.0.133";
qt4webkit =
if stdenv.system == "i686-linux" then
fetchurl {
name = "libqtwebkit4_2.2_i386.deb";
url = http://mirrors.us.kernel.org/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_i386.deb;
sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924";
}
else
fetchurl {
name = "libqtwebkit4_2.2_amd64.deb";
url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_amd64.deb;
sha256 = "0bvy6qz9y19ck391z8c049v07y4vdyvgykpxi7x1nvn078p1imiw";
};
in
stdenv.mkDerivation {
name = "spotify-${version}";
src =
if stdenv.system == "i686-linux" then
if stdenv.system == "i686-linux" then
fetchurl {
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g21c7566.632-1_i386.deb";
sha256 = "7f587585365498c5182bd7f3beafaf511d883102f5cece66cf84f4f94077765b";
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gd18ed58.259-1_i386.deb";
sha256 = "15kbwll63pm99262f7xq1z0c5bwmk5cz46pkh8xd5xsqxlsvvv1n";
}
else if stdenv.system == "x86_64-linux" then
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g21c7566.632-1_amd64.deb";
sha256 = "a37a13b1c1a8088a811054c732d85b9d6ccf0bd92ad4da75bfee6d70dc344b5e";
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gd18ed58.259-1_amd64.deb";
sha256 = "0l3nikhf4hyj6z7639s668kd806730va005rwqcxvymxddcbcp03";
}
else throw "Spotify not supported on this platform.";
buildInputs = [ dpkg makeWrapper ];
unpackPhase = "true";
installPhase =
''
mkdir -p $out
dpkg-deb -x $src $out
mv $out/usr/* $out/
rmdir $out/usr
mv $out/opt/spotify/* $out/
rm -rf $out/usr $out/opt
# Work around Spotify referring to a specific minor version of
# OpenSSL.
mkdir $out/lib
ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8
ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8
ln -s ${nss}/lib/libnss3.so $out/lib/libnss3.so.1d
ln -s ${nss}/lib/libnssutil3.so $out/lib/libnssutil3.so.1d
ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d
ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d
ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d
mkdir -p $out/bin
ln -s $out/spotify-client/spotify $out/bin/spotify
patchelf \
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib openssl stdenv.gcc.gcc ]}:${stdenv.gcc.gcc}/lib64:$out/lib \
$out/bin/spotify
--set-rpath $out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite]}:${stdenv.gcc.gcc}/lib64 \
$out/spotify-client/spotify
dpkg-deb -x ${qt4webkit} ./
mkdir -p $out/lib/
cp -v usr/lib/*/* $out/lib/
preload=$out/libexec/spotify/libpreload.so
mkdir -p $out/libexec/spotify
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
wrapProgram $out/bin/spotify --set LD_PRELOAD $preload
wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng12 cups libgcrypt sqlite gst_plugins_base gstreamer]}:$out/lib"
''; # */
dontStrip = true;

View File

@ -0,0 +1,39 @@
{ stdenv, fetchgit, fftwSinglePrec, libxslt, lv2, pkgconfig }:
let
rev = "ec6b85e19e24ed";
in
stdenv.mkDerivation rec {
name = "swh-lv2-${rev}";
src = fetchgit {
url = "git://github.com/swh/lv2.git";
inherit rev;
sha256 = "d0d918ee642cd9649215737fcc008ce2bf55f4ea893a1897138b33775ea60d17";
};
patchPhase = ''
sed -e "s#xsltproc#${libxslt}/bin/xsltproc#" -i Makefile
sed -e "s#PREFIX = /usr/local#PREFIX = $out#" -i Makefile
'';
buildInputs = [ fftwSinglePrec lv2 pkgconfig ];
installPhase = "make install-system";
meta = with stdenv.lib; {
homepage = http://plugin.org.uk;
description = "LV2 version of Steve Harris' SWH plugins";
longDescription = ''
SWH plugins include:
amp, fast overdrive, overdrive (with colourisation), comb
filter, waveshaper, ringmod, divider, diode, decliper, pitch
scaler, 16 band equaliser, sinus wavewrapper, hermes filter,
chorus, flanger, decimater, oscillator, gverb, phasers, harmonic
generators, surround encoders and more.
'';
license = licenses.gpl3;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, qt4, jackaudio, lv2 }:
stdenv.mkDerivation rec {
name = "synthv1-${version}";
version = "0.3.2";
src = fetchurl {
url = "mirror://sourceforge/synthv1/${name}.tar.gz";
sha256 = "1230yf49qfw540yvp5n7sh6mf3k8590pzwc5mragd3nd6k6apgw9";
};
buildInputs = [ qt4 jackaudio lv2 ];
meta = with stdenv.lib; {
description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
homepage = http://synthv1.sourceforge.net/;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
buildInputs = [ alsaLib boost fftwSinglePrec fltk jackaudio libsndfile mesa
minixml zlib ];
buildNativeInputs = [ cmake pkgconfig ];
nativeBuildInputs = [ cmake pkgconfig ];
preConfigure = "cd src";

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ alsaLib fftw fltk13 minixml zlib ];
buildNativeInputs = [ cmake pkgconfig ];
nativeBuildInputs = [ cmake pkgconfig ];
patches = [
(fetchurl {

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, lightdm, pkgconfig, gtk3, intltool }:
stdenv.mkDerivation {
name = "lightdm-gtk-greeter";
src = fetchurl {
url = "https://launchpad.net/lightdm-gtk-greeter/1.6/1.5.1/+download/lightdm-gtk-greeter-1.5.1.tar.gz";
sha256 = "ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621";
};
buildInputs = [ pkgconfig gtk3 lightdm intltool ];
patches =
[ ./lightdm-gtk-greeter.patch
];
patchFlags = "-p0";
postInstall = ''
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
--replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
'';
}

View File

@ -0,0 +1,13 @@
=== modified file 'src/lightdm-gtk-greeter.c'
--- src/lightdm-gtk-greeter.c 2013-02-09 23:20:39 +0000
+++ src/lightdm-gtk-greeter.c 2013-03-29 12:21:34 +0000
@@ -1273,7 +1273,7 @@
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (session_combo), renderer, TRUE);
gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (session_combo), renderer, "text", 0);
model = gtk_combo_box_get_model (session_combo);
- items = lightdm_get_sessions ();
+ items = lightdm_get_sessions (greeter);
for (item = items; item; item = item->next)
{
LightDMSession *session = item->data;

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2, intltool, x11, libxklavier, libgcrypt, makeWrapper }:
stdenv.mkDerivation {
name = "lightdm-1.5.1";
src = fetchurl {
url = https://launchpad.net/lightdm/1.6/1.5.1/+download/lightdm-1.5.1.tar.xz;
sha256 = "645db2d763cc514d6aecb1838f4a9c33c3dcf0c94567a7ef36c6b23d8aa56c86";
};
buildInputs = [ pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt makeWrapper ];
configureFlags = [ "--enable-liblightdm-gobject" ];
patches =
[ ./lightdm.patch
];
patchFlags = "-p0";
meta = {
homepage = http://launchpad.net/lightdm;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,193 @@
=== modified file 'liblightdm-gobject/greeter.c'
--- liblightdm-gobject/greeter.c 2013-01-31 20:56:09 +0000
+++ liblightdm-gobject/greeter.c 2013-03-29 14:15:58 +0000
@@ -567,6 +567,21 @@
}
/**
+ * lightdm_greeter_get_config_path
+ * @greeter: A #LightDMGreeter
+ *
+ * Get the config path to LightDM.
+ *
+ * Return value: The path to the current LightDM configuration file.
+ **/
+const gchar *
+lightdm_greeter_get_config_path (LightDMGreeter *greeter)
+{
+ g_return_val_if_fail (LIGHTDM_IS_GREETER (greeter), NULL);
+ return lightdm_greeter_get_hint (greeter, "config-path");
+}
+
+/**
* lightdm_greeter_get_hide_users_hint:
* @greeter: A #LightDMGreeter
*
=== modified file 'liblightdm-gobject/lightdm/greeter.h'
--- liblightdm-gobject/lightdm/greeter.h 2013-01-31 20:56:09 +0000
+++ liblightdm-gobject/lightdm/greeter.h 2013-03-29 11:56:11 +0000
@@ -93,6 +93,8 @@
const gchar *lightdm_greeter_get_autologin_user_hint (LightDMGreeter *greeter);
+const gchar *lightdm_greeter_get_config_path (LightDMGreeter *greeter);
+
gboolean lightdm_greeter_get_autologin_guest_hint (LightDMGreeter *greeter);
gint lightdm_greeter_get_autologin_timeout_hint (LightDMGreeter *greeter);
=== modified file 'liblightdm-gobject/lightdm/session.h'
--- liblightdm-gobject/lightdm/session.h 2013-01-31 20:56:09 +0000
+++ liblightdm-gobject/lightdm/session.h 2013-03-29 11:59:16 +0000
@@ -12,6 +12,7 @@
#define _LIGHTDM_SESSION_H_
#include <glib-object.h>
+#include "greeter.h"
G_BEGIN_DECLS
@@ -42,9 +43,9 @@
GType lightdm_session_get_type (void);
-GList *lightdm_get_sessions (void);
+GList *lightdm_get_sessions (LightDMGreeter *greeter);
-GList *lightdm_get_remote_sessions (void);
+GList *lightdm_get_remote_sessions (LightDMGreeter *greeter);
const gchar *lightdm_session_get_key (LightDMSession *session);
=== modified file 'liblightdm-gobject/session.c'
--- liblightdm-gobject/session.c 2013-01-31 20:56:09 +0000
+++ liblightdm-gobject/session.c 2013-03-29 14:16:48 +0000
@@ -11,6 +11,7 @@
#include <string.h>
#include <gio/gdesktopappinfo.h>
+#include "lightdm/greeter.h"
#include "lightdm/session.h"
enum {
@@ -167,7 +168,7 @@
}
static void
-update_sessions (void)
+update_sessions (LightDMGreeter *greeter)
{
GKeyFile *config_key_file = NULL;
gchar *config_path = NULL;
@@ -183,8 +184,8 @@
remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR);
/* Use session directory from configuration */
- /* FIXME: This should be sent in the greeter connection */
- config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL);
+ config_path = g_strdup (lightdm_greeter_get_config_path (greeter));
+
config_key_file = g_key_file_new ();
result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error);
if (error)
@@ -228,9 +229,9 @@
* Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession
**/
GList *
-lightdm_get_sessions (void)
+lightdm_get_sessions (LightDMGreeter *greeter)
{
- update_sessions ();
+ update_sessions (greeter);
return local_sessions;
}
@@ -242,9 +243,9 @@
* Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession
**/
GList *
-lightdm_get_remote_sessions (void)
+lightdm_get_remote_sessions (LightDMGreeter *greeter)
{
- update_sessions ();
+ update_sessions (greeter);
return remote_sessions;
}
=== modified file 'src/display.c'
--- src/display.c 2013-03-26 22:22:49 +0000
+++ src/display.c 2013-03-29 12:12:43 +0000
@@ -62,6 +62,9 @@
/* Program to run sessions through */
gchar *session_wrapper;
+ /* Path to the configuration file that lightdm is running under */
+ gchar *config_path;
+
/* TRUE if in a user session */
gboolean in_user_session;
@@ -213,6 +216,14 @@
}
void
+display_set_config_path (Display *display, const gchar *config_path)
+{
+ g_return_if_fail (display != NULL);
+ g_free (display->priv->config_path);
+ display->priv->config_path = g_strdup (config_path);
+}
+
+void
display_set_show_remote_login_hint (Display *display, gboolean show_remote_login)
{
g_return_if_fail (display != NULL);
@@ -436,6 +447,7 @@
greeter_set_hint (display->priv->greeter, "show-remote-login", display->priv->greeter_show_remote_login ? "true" : "false");
if (display->priv->greeter_is_lock)
greeter_set_hint (display->priv->greeter, "lock-screen", "true");
+ greeter_set_hint (display->priv->greeter, "config-path", display->priv->config_path);
/* Run greeter as unprivileged user */
if (getuid () != 0)
=== modified file 'src/display.h'
--- src/display.h 2013-03-26 22:22:49 +0000
+++ src/display.h 2013-03-29 12:12:37 +0000
@@ -80,6 +80,8 @@
void display_set_user_session (Display *display, SessionType type, const gchar *session_name);
+void display_set_config_path (Display *display, const gchar *config_path);
+
gboolean display_start (Display *display);
gboolean display_get_is_ready (Display *display);
=== modified file 'src/lightdm.c'
--- src/lightdm.c 2013-03-07 21:40:31 +0000
+++ src/lightdm.c 2013-03-29 11:48:45 +0000
@@ -1050,6 +1050,7 @@
g_debug ("Starting Light Display Manager %s, UID=%i PID=%i", VERSION, getuid (), getpid ());
g_debug ("Loaded configuration from %s", config_path);
+ config_set_string (config_get_instance (), "LightDM", "config-path", config_path);
g_free (config_path);
g_debug ("Using D-Bus name %s", LIGHTDM_BUS_NAME);
=== modified file 'src/seat.c'
--- src/seat.c 2013-03-26 22:22:49 +0000
+++ src/seat.c 2013-03-29 12:13:00 +0000
@@ -536,6 +536,7 @@
if (!session_name)
session_name = seat_get_string_property (seat, "user-session");
display_set_user_session (display, SESSION_TYPE_LOCAL, session_name);
+ display_set_config_path (display, config_get_string (config_get_instance (), "LightDM", "config-path"));
seat->priv->displays = g_list_append (seat->priv->displays, display);
g_signal_emit (seat, signals[DISPLAY_ADDED], 0, display);

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
, fontconfig, freetype, pam, consolekit, dbus_libs }:
, fontconfig, freetype, pam, dbus_libs }:
stdenv.mkDerivation rec {
name = "slim-1.3.4";
@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
buildInputs =
[ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
pam dbus_libs
] ++ stdenv.lib.optional (consolekit != null) consolekit;
];
preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
cmakeFlags = [ "-DUSE_PAM=1" ] ++ stdenv.lib.optional (consolekit != null) "-DUSE_CONSOLEKIT=1";
cmakeFlags = [ "-DUSE_PAM=1" ];
NIX_CFLAGS_LINK = "-lXmu";

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, zlib, ncurses }:
stdenv.mkDerivation rec {
name = "aewan-${version}";
version = "1.0.01";
src = fetchurl {
url = "mirror://sourceforge/aewan/${name}.tar.gz";
sha256 = "5266dec5e185e530b792522821c97dfa5f9e3892d0dca5e881d0c30ceac21817";
};
buildInputs = [ zlib ncurses ];
meta = {
description = "Ascii-art Editor Without A Name";
homepage = "http://aewan.sourceforge.net/";
license = stdenv.lib.licenses.gpl2Plus;
};
}

View File

@ -49,6 +49,8 @@ let
# Create desktop item.
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
mkdir -p $out/share/pixmaps
ln -s $out/eclipse/icon.xpm $out/share/pixmaps/eclipse.xpm
''; # */
meta = {
@ -84,12 +86,12 @@ in {
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = http://ftp.ing.umu.se/mirror/eclipse/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gz;
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gz;
sha256 = "0dfcfadcd6337c897fbfd5b292de481931dfce12d43289ecb93691fd27dd47f4";
}
else
fetchurl {
url = http://ftp.ing.umu.se/mirror/eclipse/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz;
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz;
sha256 = "1bh8ykliqr8wbciv13vpiy50rvm7yszk7y8dslr796dbwhi5b1cj";
};
};
@ -100,12 +102,12 @@ in {
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk-x86_64.tar.gz;
url = http://eclipse.ialto.com/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk-x86_64.tar.gz;
sha1 = "6f914e11fa15a900c46825e4aa8299afd76e7e65";
}
else
fetchurl {
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk.tar.gz;
url = http://eclipse.ialto.com/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk.tar.gz;
sha1 = "1156e4bc0253ae3a3a4e54839e4944dc64d3108f";
};
};
@ -132,12 +134,12 @@ in {
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = http://eclipse.ialto.com/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk-x86_64.tar.gz;
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://eclipse.ialto.com/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz;
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz;
sha256 = "08rgw85cam51l98mzb39fdc3ykb369v8pap93qhknbs6a3f5dnff";
};
};
@ -158,20 +160,35 @@ in {
};
};
eclipse_cpp_42 = buildEclipse {
name = "eclipse-cpp-4.2";
description = "Eclipse IDE for C/C++ Developers";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = http://eclipse.ialto.com/technology/epp/downloads/release/juno/SR2/eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz;
sha256 = "1qq04926pf7v9sf3s0z53zvlbl1j0rmmjmbmhqi49473fnjikh7y";
}
else
fetchurl {
url = http://eclipse.ialto.com/technology/epp/downloads/release/juno/SR2/eclipse-cpp-juno-SR2-linux-gtk.tar.gz;
sha256 = "1a4s9qlhfpfpdhvffyglnfdr3dq5r2ywcxqywhqi95yhq5nmsgyk";
};
};
eclipse_sdk_42 = buildEclipse {
name = "eclipse-sdk-4.2";
description = "Eclipse Classic";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz;
sha256 = "1vcr49qm6rsbgzi9d43ggmby68pdigqcy55l5vy1gmixqks3g6s0";
url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz;
sha256 = "1mlyy90lk08lb2971ynglgi3nqvqfq1k70md2kb39jk160wd1xrk";
}
else
fetchurl {
url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk.tar.gz;
sha256 = "1zlv80idkkdda05ks4biknbkczp24b2xki81ik5nygrjg29jqgnz";
url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk.tar.gz;
sha256 = "1av6qm9wkbyk123qqf38f0jq4jv2bj9wp6fmpnl55zg6qr463c1w";
};
};
}

View File

@ -1,14 +1,23 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "ed-1.5";
name = "ed-1.7";
src = fetchurl {
url = "mirror://gnu/ed/${name}.tar.gz";
sha256 = "18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp";
sha256 = "0c908wb5pm48rjrrfbm5dhrqzys8f1dbvi90dn0vgwjzk80l2hl9";
};
doCheck = true;
/* FIXME: Tests currently fail on Darwin:
building test scripts for ed-1.5...
testing ed-1.5...
*** Output e1.o of script e1.ed is incorrect ***
*** Output r3.o of script r3.ed is incorrect ***
make: *** [check] Error 127
*/
doCheck = !stdenv.isDarwin;
crossAttrs = {
compileFlags = [ "CC=${stdenv.cross.config}-gcc" ];

View File

@ -1,27 +0,0 @@
source $stdenv/setup
preConfigure() {
libc=$(cat ${NIX_GCC}/nix-support/orig-libc)
echo "libc: $libc"
case "${system}" in
x86_64-*) glibclibdir=lib64 ;;
*) glibclibdir=lib ;;
esac
for i in src/s/*.h src/m/*.h; do
substituteInPlace $i \
--replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
--replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
--replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \
--replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \
--replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
--replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
done
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
substituteInPlace $i --replace /bin/pwd pwd
done
}
genericBuild

View File

@ -1,58 +0,0 @@
{ xawSupport ? true
, xpmSupport ? true
, xaw3dSupport ? false
, gtkGUI ? false
, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
, pkgconfig ? null, gtk ? null
, ncurses
}:
assert xawSupport && !xaw3dSupport -> libXaw != null;
assert xawSupport && xaw3dSupport -> Xaw3d != null;
assert xpmSupport -> libXpm != null;
assert gtkGUI -> pkgconfig != null && gtk != null;
stdenv.mkDerivation rec {
name = "emacs-22.3";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.gz";
sha256 = "05hd89bchcpwzcx5la0alcp0wb7xywvnf98dxrshrqlfvccvgnbv";
};
buildInputs = [ncurses x11]
++ stdenv.lib.optional xawSupport (if xaw3dSupport then Xaw3d else libXaw)
++ stdenv.lib.optional xpmSupport libXpm
++ stdenv.lib.optionals gtkGUI [pkgconfig gtk];
configureFlags =
stdenv.lib.optional gtkGUI "--with-x-toolkit=gtk";
postInstall = ''
cat >$out/share/emacs/site-lisp/site-start.el <<EOF
;; nixos specific load-path
(when (getenv "NIX_PROFILES") (setq load-path
(append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
(split-string (getenv "NIX_PROFILES"))))
load-path)))
EOF
'';
meta = {
description = "GNU Emacs, *the* text editor";
longDescription = ''
GNU Emacs is an extensible, customizable text editorand more.
At its core is an interpreter for Emacs Lisp, a dialect of the
Lisp programming language with extensions to support text
editing.
'';
homepage = http://www.gnu.org/software/emacs/;
license = "GPLv3+";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -29,6 +29,4 @@ preConfigure() {
done
}
preBuild="make bootstrap"
genericBuild

View File

@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null; # probably a bug
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
stdenv.mkDerivation rec {
name = "emacs-24.1";
name = "emacs-24.3";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.bz2";
sha256 = "eeea272732146e2be9aee2f8d71d6cf07b8654c0282da62a26b921d433f02b7c";
url = "mirror://gnu/emacs/${name}.tar.xz";
sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
};
buildInputs =

View File

@ -1,14 +1,14 @@
{ fetchurl, stdenv, emacs }:
{ fetchurl, stdenv, emacs, python }:
stdenv.mkDerivation rec {
name = "cedet-1.0pre6";
name = "cedet-1.1";
src = fetchurl {
url = "mirror://sourceforge/cedet/${name}.tar.gz";
sha256 = "0pvd54rjlba12cxgqibm8v4i8x43r5c239z891lgcbafjvkzpdxb";
sha256 = "0p2bwlpwwa019axvgj09xkxbr53j0pq23d46s4la9jfhl47nbh22";
};
buildInputs = [ emacs ];
buildInputs = [ emacs python ];
doCheck = true;
checkPhase = "make utest";

View File

@ -0,0 +1,26 @@
{ clangStdenv, fetchgit, llvm, clangUnwrapped }:
clangStdenv.mkDerivation {
name = "emacs-clang-complete-async-20130218";
src = fetchgit {
url = "git://github.com/Golevka/emacs-clang-complete-async.git";
rev = "f01488971ec8b5752780d130fb84de0c16a46f31";
sha256 = "1c8zqi6axbsb951azz9iqx3j52j30nd9ypv396hvids3g02cirrf";
};
buildInputs = [ llvm clangUnwrapped ];
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/emacs/site-lisp
install -m 755 clang-complete $out/bin
install -m 644 auto-complete-clang-async.el $out/share/emacs/site-lisp
'';
meta = {
homepage = "https://github.com/Golevka/emacs-clang-complete-async";
description = "An emacs plugin to complete C and C++ code using libclang";
license = "GPLv3+";
};
}

View File

@ -1,6 +1,6 @@
{ fetchcvs, stdenv, emacs, w3m, imagemagick, texinfo, autoconf }:
let date = "2012-01-15"; in
let date = "2013-03-21"; in
stdenv.mkDerivation rec {
name = "emacs-w3m-cvs${date}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
inherit date;
cvsRoot = ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot";
module = "emacs-w3m";
sha256 = "7a6d90b9d25f137d5a204cfa29f6c6afa8edb1ee302f969110ffda11f11909cc";
sha256 = "1lmcj8rf83w13q8q68hh7sa1abc2m6j2zmfska92xdp7hslhdgc5";
};
buildInputs = [ emacs w3m texinfo autoconf ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "flymake-cursor-0.1.4";
name = "flymake-cursor-0.1.5";
src = fetchurl {
url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el";
sha256 = "1wxqqmn2fk2b778nksvgn1mi7ajarcpc5lla90xx9jwz47d9hx02";
sha256 = "1qqppd1786w8pl1avjb01n23lwihb7m0hr23abjklsxz03gmp4qz";
};
phases = [ "buildPhase" "installPhase"];

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "graphviz-dot-mode-0.3.3";
src = fetchurl {
url = "http://www.graphviz.org/Misc/graphviz-dot-mode.el";
sha256 = "6465c18cfaa519a063cf664207613f70b0a17ac5eabcfaa949b3c4c289842953";
};
buildInputs = [ emacs ];
unpackPhase = ":";
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"
cp -v ${src} "$out/share/emacs/site-lisp/graphviz-dot-mode.el"
emacs -batch --eval '(setq load-path (cons "." load-path))' -f batch-byte-compile "$out/share/emacs/site-lisp/graphviz-dot-mode.el"
'';
meta = {
homepage = "http://www.graphviz.org/";
description = "An emacs mode for the DOT Language, used by graphviz";
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchgit, emacs }:
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation {
name = "haskell-mode-2.8.0.29-gae3e4499d2";
stdenv.mkDerivation rec {
name = "haskell-mode-2.9.1-102-g8d4b965";
src = fetchgit {
url = "http://github.com/haskell/haskell-mode.git";
rev = "ae3e4499d27a1468bdf88ffe0ce15cd7e4bb9f2a";
sha256 = "29a1725da620c13ff2b3b56906e76dd9f19317eee92bd5750b3aa9a4264effae";
src = fetchurl {
url = "https://github.com/haskell/haskell-mode/tarball/8d4b9651a69b62fcbedbac63de29a1e87ff0e97f";
sha256 = "02sil43885xjbfqakrxkm7bjnjd930lx6845fc2rxmkq5plkq85a";
name = "${name}.tar.gz";
};
buildInputs = [emacs];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "htmlize-1.37";
name = "htmlize-1.47";
builder = ./builder.sh;
src = fetchurl {
url = http://fly.srk.fer.hr/~hniksic/emacs/htmlize.el.cgi;
sha256 = "70cf41a2ea6a478a45143a8cd672381c01ed894448200e602531acbf2b1fd160";
sha256 = "0m7lby95w9sj0xlqv39imlbp80x8ajd295cs6079jyhmryf6mr10";
};
meta = {

View File

@ -1,22 +1,31 @@
{ stdenv, fetchurl, emacs, texinfo }:
let
version = "1.1.1";
version = "1.2.0";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "magit-${version}";
src = fetchurl {
url = "http://github.com/downloads/magit/magit/magit-${version}.tar.gz";
sha256 = "0zp5qxippmalin2fr73w2alf2w7ilcahmybzdvgn4ch2s3dgvzcz";
url = "https://github.com/downloads/magit/magit/${name}.tar.gz";
sha256 = "1a8vvilhd5y5vmlpsh194qpl4qlg0a1brylfscxcacpfp0cmhlzg";
};
buildInputs = [emacs texinfo];
buildInputs = [ emacs texinfo ];
configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )";
# Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode.
postInstall = ''
mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el
sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el
rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc
'';
meta = {
homepage = "https://github.com/magit/magit";
description = "Magit, an Emacs interface to Git";
license = "GPLv3+";
longDescription = ''
With Magit, you can inspect and modify your Git repositories with
@ -30,8 +39,6 @@ stdenv.mkDerivation {
save you from learning Git itself.
'';
license = "GPLv3+";
homepage = "https://github.com/magit/magit";
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ simons ludo ];
};

View File

@ -1,7 +0,0 @@
source $stdenv/setup
mkdir -p $out/emacs/site-lisp
cd $out/emacs/site-lisp
tar xvfz $src
mv nxml-mode-*/* .
rmdir nxml-mode-*

View File

@ -1,8 +0,0 @@
{stdenv, fetchurl}: stdenv.mkDerivation {
name = "nxml-mode-20041004";
builder = ./builder.sh;
src = fetchurl {
url = http://nixos.org/tarballs/nxml-mode-20041004.tar.gz;
md5 = "ac137024cf337d6f11d8ab278d39b4db";
};
}

View File

@ -1,30 +1,24 @@
{ fetchurl, stdenv, emacs, texinfo, which }:
{ fetchurl, stdenv, emacs, texinfo, which, texLive }:
stdenv.mkDerivation rec {
name = "org-7.8.03";
name = "org-7.9.1";
src = fetchurl {
url = "http://orgmode.org/${name}.tar.gz";
sha256 = "49357cca7d892e70cd2dfcc0b5d96d9fd164ef5a1f251ace3865ecb27dc1e958";
sha256 = "0kz1dnzfpmmslwal150z9rxrnddjpaw2glx26qihpxzs0zzpw201";
};
buildInputs = [ emacs texinfo ];
patchPhase =
'' sed -i "lisp/org-clock.el" -e's|"which"|"${which}/bin/which"|g'
'';
buildInputs = [ emacs ];
nativeBuildInputs = [ texinfo texLive ];
configurePhase =
'' sed -i Makefile \
-e "s|^prefix=.*$|prefix=$out|g"
'' sed -i mk/default.mk \
-e "s|^prefix\t=.*$|prefix=$out|g"
'';
#XXX: fails because of missing UTILITIES/manfull.pl, currently not
# included in the release tarball, but git.
#postBuild =
# '' make doc
# '';
postBuild =
'' make doc
'';
installPhase =
'' make install install-info

View File

@ -0,0 +1,31 @@
{ stdenv, fetchgit, emacs, xmlRpc }:
stdenv.mkDerivation rec {
name = "org2blog-0.5";
src = fetchgit {
url = https://github.com/punchagan/org2blog.git;
rev = "338abe30e9bc89684f8384f8deaf826b63844da6";
sha256 = "46ab31e90d0d54071c126b7d5599a3e82062baa79ddf26b988bcb88d306d6827";
};
buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ xmlRpc ];
buildPhase = ''
emacs -L . -L ${xmlRpc}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el* $out/share/emacs/site-lisp
'';
meta = {
description = "A tool to publish directly from Emacs org-mode to WordPress blogs.";
homepage = https://github.com/punchagan/org2blog;
license = "GPLv3+";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,19 +1,21 @@
{stdenv, fetchurl}:
{ stdenv, fetchurl }:
stdenv.mkDerivation
{
name = "prolog-mode-1.22";
src = fetchurl
{
url = "http://bruda.ca/emacs-prolog/prolog.el";
sha256 = "f46915b2436642bb3302cb38cc457d3c121d0c3e95aecdf128fedc2ae5ea0c87";
stdenv.mkDerivation {
name = "prolog-mode-1.25";
src = fetchurl {
url = "http://bruda.ca/_media/emacs/prolog.el";
sha256 = "0hfd2dr3xc5qxgvc08nkb2l5a05hfldahdc6ymi9vd8798cc46yh";
};
buildCommand = "install -v -D -m644 $src $out/share/emacs/site-lisp/prolog.el";
buildCommand = ''
mkdir -p $out/share/emacs/site-lisp/
cp $src $out/share/emacs/site-lisp/prolog.el
'';
meta = {
homepage = "http://turing.ubishops.ca/home/bruda/emacs-prolog/";
homepage = "http://bruda.ca/emacs/prolog_mode_for_emacs/";
description = "Prolog mode for Emacs";
license = "GPL";
license = stdenv.lib.licenses.gpl2Plus;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
stdenv.mkDerivation (rec {
name = "ProofGeneral-4.1";
name = "ProofGeneral-4.2";
src = fetchurl {
url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.1.tgz;
sha256 = "1ivxx8c6j7cfdfj2pj0gzdqac7hpb679bjmwdqdcz1c1ni34s9ia";
url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.2.tgz;
sha256 = "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm";
};
sourceRoot = name;
@ -17,14 +17,18 @@ stdenv.mkDerivation (rec {
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
s|/sbin/install-info|install-info|g"
# Workaround for bug #458
# ProofGeneral 4.2 byte-compilation fails with Emacs 24.2.90
# http://proofgeneral.inf.ed.ac.uk/trac/ticket/458
sed -i "Makefile" \
-e "s|(setq byte-compile-error-on-warn t)||g"
sed -i "bin/proofgeneral" -e's/which/type -p/g'
# @image{ProofGeneral} fails, so remove it.
sed -i '94d' doc/PG-adapting.texi
sed -i '101d' doc/ProofGeneral.texi
# Emacs 24 compatibility.
sed -i 's|interactive-p|called-interactively-p '\'''any|' isar/isabelle-system.el generic/proof-{menu,script,splash}.el lib/scomint.el
'';
preBuild = ''

View File

@ -1,25 +1,23 @@
{stdenv, fetchurl, emacs}:
{stdenv, fetchgit, emacs}:
stdenv.mkDerivation rec {
name = "sunrise-commander-6";
name = "sunrise-commander-6r435";
src = fetchurl {
url = "http://www.emacswiki.org/emacs/download/sunrise-commander.el";
sha256 = "1bbpm00nc7ry0f2k4zaqbvp6w9py31asfcr9hddggc138pnfajvq";
src = fetchgit {
url = https://github.com/escherdragon/sunrise-commander.git;
rev = "7a44ca7abd9fe79f87934c78d00dc2a91419a4f1";
sha256 = "2909beccc9daaa79e70876ac6547088c2459b624c364dda1886fe4d7adc7708b";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src sunrise-commander.el
emacs --batch -f batch-byte-compile sunrise-commander.el
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install sunrise-commander.el* $out/share/emacs/site-lisp
mkdir -p $out/share/emacs/site-lisp
install *.el* $out/share/emacs/site-lisp
'';
meta = {

View File

@ -0,0 +1,32 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "xml-rpc-1.6.8";
src = fetchurl {
url = https://launchpadlibrarian.net/40270196/xml-rpc.el;
sha256 = "0i8hf90yhrjwqrv7q1f2g1cff6ld8apqkka42fh01wkdys1fbm7b";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src xml-rpc.el
emacs --batch -f batch-byte-compile xml-rpc.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install xml-rpc.el* $out/share/emacs/site-lisp
'';
meta = {
description = "An elisp implementation of clientside XML-RPC.";
homepage = https://launchpad.net/xml-rpc-el;
license = "GPLv3+";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,51 @@
{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
let
version = "1.22";
in
stdenv.mkDerivation rec {
name = "geany-${version}";
src = fetchurl {
url = "http://download.geany.org/${name}.tar.gz";
md5 = "1cb7f6cea8e301c416211786cec474fa";
};
buildInputs = [ gtk2 which pkgconfig intltool ];
doCheck = true;
enableParallelBuilding = true;
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
# It have no reasons to exist in a redistribuable package
postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
description = "A GTK2 small and ligthweight IDE.";
longDescription = ''
Geany is a small and lightweight Integrated Development Environment.
It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME.
Geany only requires the GTK2 runtime libraries.
Some basic features of Geany:
- Syntax highlighting
- Code folding
- Symbol name auto-completion
- Construct completion/snippets
- Auto-closing of XML and HTML tags
- Call tips
- Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal (full list)
- Symbol lists
- Code navigation
- Build system to compile and execute your code
- Simple project management
- Plugin interface
'';
homepage = "http://www.geany.org/";
license = "GPL";
maintainers = [ stdenv.lib.maintainers.bbenoist ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -9,10 +9,10 @@ let
in stdenv.mkDerivation rec {
name = "gobby-0.4.93";
name = "gobby-0.4.94";
src = fetchurl {
url = "http://releases.0x539.de/gobby/${name}.tar.gz";
sha256 = "1zk6p0kdp9vcvrr3kx0kw106ln309hd7bbsq8li1g0pcnkgrf4q4";
sha256 = "b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00";
};
buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ]

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation rec {
name = "hexedit-${version}";
version = "1.2.12";
src = fetchurl {
url = "http://rigaux.org/${name}.src.tgz";
sha256 = "bcffbf3d128516cc4e1da64485866fbb5f62754f2af8327e7a527855186ba10f";
};
buildInputs = [ ncurses ];
meta = {
description = "View and edit files in hexadecimal or in ASCII";
homepage = "http://prigaux.chez.com/hexedit.html";
license = stdenv.lib.licenses.gpl2Plus;
};
}

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