Compare commits

..

7 Commits

Author SHA1 Message Date
Shea Levy
448be29a21 Merge in some changes from trunk.
gcc46 is still not built with callPackage, as this causes problems during
the bootstrap

svn path=/nixpkgs/branches/stdenv-ada/; revision=26725
2011-04-06 16:20:07 +00:00
Shea Levy
28ad00775f Only copy necessary gnat binaries
svn path=/nixpkgs/branches/stdenv-ada/; revision=26718
2011-04-06 14:33:51 +00:00
Shea Levy
ef94f7d4e9 Put the right libraries into the bootstrap, bootstrap based on a bootstrap built from stdenv rather than one from gnatboot
svn path=/nixpkgs/branches/stdenv-ada/; revision=26717
2011-04-06 14:33:44 +00:00
Shea Levy
552f7b4ec8 Match nixpkgs trunk as much as possible
svn path=/nixpkgs/branches/stdenv-ada/; revision=26716
2011-04-06 14:33:35 +00:00
Shea Levy
98644029cf Get an stdenv with gnat-enabled gcc 4.6 to compile
svn path=/nixpkgs/branches/stdenv-ada/; revision=26689
2011-04-04 22:52:47 +00:00
Shea Levy
8afe8cfff0 First attempt at an Ada-enabled bootstrap
svn path=/nixpkgs/branches/stdenv-ada/; revision=26688
2011-04-04 22:46:51 +00:00
Shea Levy
d76f7de2da Get gnat to build with C++ support
svn path=/nixpkgs/branches/stdenv-ada/; revision=26687
2011-04-04 22:46:43 +00:00
4934 changed files with 66129 additions and 114592 deletions

4
.gitignore vendored
View File

@@ -1,4 +0,0 @@
*~
,*
.*.swp
.*.swo

1
STABLE Normal file
View File

@@ -0,0 +1 @@
0

View File

@@ -1 +1 @@
1.0
0.14

View File

@@ -7,13 +7,13 @@
<para>This manual tells you how to write packages for the Nix Packages
collection (Nixpkgs). Thus its for packagers and developers who want
to add packages to Nixpkgs. End users are kindly referred to the
<link xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual">Nix
<link xlink:href="http://nixos.org/releases/nix/unstable/manual/">Nix
manual</link>.</para>
<para>This manual does not describe the syntax and semantics of the
Nix expression language, which are given in the Nix manual in the
<link
xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter
xlink:href="http://nixos.org/releases/nix/unstable/manual/#chap-writing-nix-expressions">chapter
on writing Nix expressions</link>. It only describes the facilities
provided by Nixpkgs to make writing packages easier, such as the
standard build environment (<literal>stdenv</literal>).</para>

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://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
<para>Perl packages from CPAN are defined in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/perl-packages.nix</filename></link>,
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/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://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix"><filename>pkgs/development/python-modules/generic/default.nix</filename></link>
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>
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://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/python-packages.nix"><filename>pkgs/top-level/python-packages.nix</filename></link>.
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>.
Most of them are simple. For example:
<programlisting>
@@ -196,18 +196,16 @@ twisted = buildPythonPackage {
</section>
<section><title>Java</title>
<section><title>Haskell</title>
<para>Java packages should install JAR files in
<filename>$out/lib/java</filename>.</para>
<para>TODO</para>
</section>
<!--
<section><title>Haskell</title>
<section><title>Java</title>
<para>TODO</para>
<para>TODO; Java support needs lots of improvement</para>
</section>
@@ -217,7 +215,6 @@ twisted = buildPythonPackage {
<para>* Special support for building TeX documents</para>
</section>
-->
</chapter>

View File

@@ -14,12 +14,14 @@
<surname>Dolstra</surname>
</personname>
<affiliation>
<orgname>LogicBlox</orgname>
<orgname>Delft University of Technology</orgname>
<orgdiv>Department of Software Technology</orgdiv>
</affiliation>
</author>
<copyright>
<year>2008-2012</year>
<year>2008</year>
<year>2009</year>
<holder>Eelco Dolstra</holder>
</copyright>

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://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/maintainers.nix"><filename>pkgs/lib/maintainers.nix</filename></link>
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/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,12 +176,6 @@ 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

@@ -1,6 +1,6 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-package-notes">
xml:id="chap-introduction">
<title>Package Notes</title>
@@ -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://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.</para>
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/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 the old Nix expression
<para>Copy (<command>svn cp</command>) 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 copy from the old
<para>Make an <command>svn copy</command> 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>
@@ -224,23 +224,19 @@ you should modify
<!--============================================================-->
<!--
<section>
<title>Gnome</title>
<para>* Expression is auto-generated</para>
<para>* How to update</para>
</section>
-->
<!--============================================================-->
<!--
<section>
<title>GCC</title>
<para></para>
</section>
-->
</chapter>

View File

@@ -12,7 +12,7 @@
<para>Checkout the Nixpkgs source tree:
<screen>
$ git clone git://github.com/NixOS/nixpkgs.git
$ svn checkout https://svn.nixos.org/repos/nix/nixpkgs/trunk nixpkgs
$ cd nixpkgs</screen>
</para>
@@ -29,7 +29,7 @@ $ cd nixpkgs</screen>
organisation. Create a directory for your package, e.g.
<screen>
$ mkdir pkgs/development/libraries/libfoo</screen>
$ svn mkdir pkgs/development/libraries/libfoo</screen>
</para>
</listitem>
@@ -44,7 +44,7 @@ $ mkdir pkgs/development/libraries/libfoo</screen>
<screen>
$ emacs pkgs/development/libraries/libfoo/default.nix
$ git add pkgs/development/libraries/libfoo/default.nix</screen>
$ svn add pkgs/development/libraries/libfoo/default.nix</screen>
</para>
@@ -56,7 +56,7 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>GNU cpio: <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>.
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>.
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 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>GNU Hello: <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>.
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>.
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://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/default.nix"><filename>pkgs/development/libraries/gmp/default.nix</filename></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>.
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://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix"><filename>pkgs/applications/networking/newsreaders/pan/default.nix</filename></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>.
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 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Apache HTTPD: <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>.
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>.
A bunch of optional features, variable substitutions in the
configure flags, a post-install hook, and miscellaneous
hackery.</para>
@@ -94,9 +94,9 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>BitTorrent (wxPython-based): <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>.
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>.
Uses an external <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/networking/p2p/bittorrent/builder.sh">build
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/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 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Thunderbird: <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>.
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/applications/networking/mailreaders/thunderbird-2.x/default.nix"><filename>pkgs/applications/networking/mailreaders/thunderbird-2.x/default.nix</filename></link>.
Lots of dependencies.</para>
</listitem>
<listitem>
<para>JDiskReport, a Java utility: <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>
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>
(and the <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>).
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/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://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></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>
(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 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
<listitem>
<para>Adobe Reader: <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>.
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>.
Shows how binary-only packages can be supported. In
particular the <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh">builder</link>
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/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 @@ $ git 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://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix"><filename>pkgs/build-support/fetchurl/mirrors.nix</filename></link>.</para>
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>
</listitem>
</itemizedlist>
@@ -173,7 +173,7 @@ $ git 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://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter
xlink:href="http://nixos.org/releases/nix/unstable/manual/#chap-writing-nix-expressions">chapter
on writing Nix expressions</link>.</para>
</listitem>
@@ -181,7 +181,7 @@ $ git 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://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix"><filename>pkgs/top-level/all-packages.nix</filename></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>
with some descriptive name for the variable,
e.g. <varname>libfoo</varname>.
@@ -220,7 +220,8 @@ $ nix-env -f . -iA libfoo</screen>
</listitem>
<listitem>
<para>Optionally commit the new package, or send a patch to
<para>Optionally commit the new package (<command>svn
ci</command>) or send a patch to
<literal>nix-dev@cs.uu.nl</literal>.</para>
</listitem>
@@ -229,7 +230,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://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/release.nix"><filename>pkgs/top-level/release.nix</filename></link>.</para>
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/release.nix"><filename>pkgs/top-level/release.nix</filename></link>.</para>
</listitem>
</orderedlist>

View File

@@ -5,21 +5,6 @@
<title>Nixpkgs Release Notes</title>
<section><title>Release 0.14 (June 4, 2012)</title>
<para>In preparation for the switch from Subversion to Git, this
release is mainly the prevent the Nixpkgs version number from going
backwards. (This would happen because prerelease version numbers
produced for the Git repository are lower than those for the
Subversion repository.)</para>
<para>Since the last release, there have been thousands of changes and
new packages by numerous contributors. For details, see the commit
logs.</para>
</section>
<section><title>Release 0.13 (February 5, 2010)</title>
<para>As always, there are many changes. Some of the most important
@@ -95,7 +80,7 @@ worth listing:
<listitem><para>Support for building derivations in a virtual
machine, including RPM and Debian builds in automatically generated
VM images. See
<filename>pkgs/build-support/vm/default.nix</filename> for
<filename>pkgs/build-support/vm.default.nix</filename> for
details.</para></listitem>
<listitem><para>Improved support for building Haskell

View File

@@ -70,7 +70,7 @@ stdenv.mkDerivation {
gcc foo.c -o foo
'';
installPhase = ''
mkdir -p $out/bin
ensureDir $out/bin
cp foo $out/bin
'';
}</programlisting>
@@ -112,7 +112,7 @@ buildPhase() {
}
installPhase() {
mkdir -p $out/bin
ensureDir $out/bin
cp foo $out/bin
}
@@ -879,7 +879,7 @@ distribution of the package. The default
<function>distPhase</function> first calls <command>make
dist</command>, then it copies the resulting source tarballs to
<filename>$out/tarballs/</filename>. This phase is only executed if
the attribute <varname>doDist</varname> is set.</para>
the attribute <varname>doDist</varname> is not set.</para>
<variablelist>
<title>Variables controlling the distribution phase</title>
@@ -939,6 +939,14 @@ functions.</para>
<variablelist>
<varlistentry xml:id='fun-ensureDir'>
<term><function>ensureDir</function> <replaceable>args</replaceable></term>
<listitem><para>Creates the specified directories, including all
necessary parent directories, if they do not already
exist.</para></listitem>
</varlistentry>
<varlistentry xml:id='fun-substitute'>
<term><function>substitute</function>
<replaceable>infile</replaceable>
@@ -1054,16 +1062,7 @@ echo @foo@
That is, no substitution is performed for undefined variables.</para></listitem>
</varlistentry>
<varlistentry xml:id='fun-substituteAllInPlace'>
<term><function>substituteAllInPlace</function>
<replaceable>file</replaceable></term>
<listitem><para>Like <function>substituteAll</function>, but performs
the substitutions in place on the file
<replaceable>file</replaceable>.</para></listitem>
</varlistentry>
<varlistentry xml:id='fun-stripHash'>
<term><function>stripHash</function>
<replaceable>path</replaceable></term>

View File

@@ -8,14 +8,15 @@
body
{
font-family: "Nimbus Sans L", sans-serif;
font-family: sans-serif;
background: white;
margin: 2em 1em 2em 1em;
}
h1, h2, h3, h4
h1,h2,h3
{
color: #005aa0;
text-align: left;
}
h1 /* title */
@@ -45,11 +46,6 @@ h3 /* subsections */
font-size: 125%;
}
div.simplesect h2
{
font-size: 110%;
}
div.appendix h3
{
font-size: 150%;
@@ -74,13 +70,11 @@ div.refsection h3
div.example
{
border: 1px solid #b0b0b0;
border: 1px solid #6185a0;
padding: 6px 6px;
margin-left: 1.5em;
margin-right: 1.5em;
background: #f4f4f8;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.example p.title
@@ -88,11 +82,6 @@ div.example p.title
margin-top: 0em;
}
div.example pre
{
box-shadow: none;
}
/***************************************************************************
Screen dumps:
@@ -100,15 +89,14 @@ div.example pre
pre.screen, pre.programlisting
{
border: 1px solid #b0b0b0;
border: 1px solid #6185a0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
color: #600000;
background: #f4f4f8;
font-family: monospace;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
/* font-size: 90%; */
}
div.example pre.programlisting
@@ -125,15 +113,13 @@ div.example pre.programlisting
.note, .warning
{
border: 1px solid #b0b0b0;
border: 1px solid #6185a0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
margin-bottom: 1em;
padding: 0.3em 0.3em 0.3em 0.3em;
background: #fffff5;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.note, div.warning
@@ -145,6 +131,7 @@ div.note h3, div.warning h3
{
color: red;
font-size: 100%;
// margin: 0 0 0 0;
padding-right: 0.5em;
display: inline;
}
@@ -175,26 +162,20 @@ div.navfooter *
Links colors and highlighting:
***************************************************************************/
a { text-decoration: none; }
a:hover { text-decoration: underline; }
a:link { color: #0048b3; }
a:visited { color: #002a6a; }
a:hover { background: #ffffcd; }
/***************************************************************************
Table of contents:
***************************************************************************/
div.toc
.toc
{
font-size: 90%;
}
div.toc dl
{
margin-top: 0em;
margin-bottom: 0em;
}
/***************************************************************************
@@ -227,29 +208,76 @@ div.glosslist dt
font-style: italic;
}
.default
{
font-style: italic;
}
.availability
{
font-style: italic;
}
.varname
{
color: #400000;
}
span.command strong
div.informaltable table
{
font-weight: normal;
border: 1px solid #6185a0;
width: 100%;
}
div.informaltable td
{
border: 0;
padding: 5px;
}
div.informaltable td.default
{
text-align: right;
}
div.informaltable th
{
text-align: left;
color: #005aa0;
border: 0;
padding: 5px;
background: #fffff5;
font-weight: normal;
font-style: italic;
}
td.varname, td.tagname, td.paramname
{
font-weight: bold;
vertical-align: top;
}
div.epigraph
{
font-style: italic;
text-align: right;
}
table.productionset table.productionset
{
font-family: monospace;
}
strong.command
{
// font-family: monospace;
// font-style: italic;
// font-weight: normal;
color: #400000;
}
div.calloutlist table
div.calloutlist td
{
box-shadow: none;
padding-bottom: 1em;
}
table
{
border-collapse: collapse;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.affiliation
{
font-style: italic;
}

View File

@@ -233,9 +233,9 @@ preConfigure() {
fi
# Cross compiler evilness
mkdir -p $out
mkdir -p $out/arm-linux
mkdir -p $out/arm-linux/bin
ensureDir $out
ensureDir $out/arm-linux
ensureDir $out/arm-linux/bin
ln -s $binutilsArm/arm-linux/bin/as $out/arm-linux/bin/as
ln -s $binutilsArm/arm-linux/bin/ld $out/arm-linux/bin/ld
ln -s $binutilsArm/arm-linux/bin/ar $out/arm-linux/bin/ar

View File

@@ -1,45 +0,0 @@
#! /bin/sh -e
distDir=/data/webserver/tarballs
url="$1"
file="$2"
if [ -z "$url" ]; then echo "syntax: $0 URL"; exit 0; fi
base="$(basename "$url")"
if [ -z "$base" ]; then echo "bad URL"; exit 1; fi
dstPath="$distDir/$base"
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 "$DRY_RUN" ]; then exit 0; fi
declare -a res
if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
exit
fi
storePath=${res[1]}
else
storePath="$file"
fi
cp $storePath "$dstPath.tmp.$$"
mv -f "$dstPath.tmp.$$" "$dstPath"
echo "hashing $dstPath"
md5=$(nix-hash --flat --type md5 "$dstPath")
ln -sfn "../$base" $distDir/md5/$md5
sha1=$(nix-hash --flat --type sha1 "$dstPath")
ln -sfn "../$base" $distDir/sha1/$sha1
sha256=$(nix-hash --flat --type sha256 "$dstPath")
ln -sfn "../$base" $distDir/sha256/$sha256
ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")

View File

@@ -1,27 +1,57 @@
#! /bin/sh -e
urls=$(nix-instantiate --eval-only --xml --strict '<nixpkgs/maintainers/scripts/eval-release.nix>' \
distDir=/data/webserver/tarballs
urls=$(nix-instantiate --eval-only --xml --strict ./eval-release.nix \
| grep -A2 'name="urls"' \
| grep '<string value=' \
| sed 's/.*"\(.*\)".*/\1/' \
| sort | uniq)
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
# 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
newPath="$distDir/$base"
if ! test -e "$newPath"; then
#if echo $url | grep -q 'mirror://'; then
# echo "$fn: skipping mirrored $url"
# continue
#fi
echo "downloading $url to $newPath"
if test -n "$doCopy"; then
declare -a res
if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
continue
fi
storePath=${res[1]}
cp $storePath "$newPath.tmp.$$"
mv -f "$newPath.tmp.$$" "$newPath"
fi
fi
if test -n "$doCopy" -a -e "$newPath"; then
echo "hashing $newPath"
md5=$(nix-hash --flat --type md5 "$newPath")
ln -sfn "../$base" $distDir/md5/$md5
sha1=$(nix-hash --flat --type sha1 "$newPath")
ln -sfn "../$base" $distDir/sha1/$sha1
sha256=$(nix-hash --flat --type sha256 "$newPath")
ln -sfn "../$base" $distDir/sha256/$sha256
ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")
fi
$(dirname $0)/copy-tarball.sh "$url"
done
echo DONE

View File

@@ -1,32 +0,0 @@
#!/bin/sh
# Download patches from debian project
# Usage $0 debian-patches.txt debian-patches.nix
# An example input and output files can be found in applications/graphics/xara/
DEB_URL=http://patch-tracker.debian.org/patch/series/dl
declare -a deb_patches
mapfile -t deb_patches < $1
prefix="${DEB_URL}/${deb_patches[0]}"
if [[ -n "$2" ]]; then
exec 1> $2
fi
cat <<EOF
# Generated by $(basename $0) from $(basename $1)
let
prefix = "${prefix}";
in
[
EOF
for ((i=1;i < ${#deb_patches[@]}; ++i)); do
url="${prefix}/${deb_patches[$i]}"
sha256=$(nix-prefetch-url $url)
echo " {"
echo " url = \"\${prefix}/${deb_patches[$i]}\";"
echo " sha256 = \"$sha256\";"
echo " }"
done
echo "]"

View File

@@ -2,31 +2,23 @@
# attribute with the expected `system' argument). 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);
lib = (import ../.. {}).lib;
rel = removeAttrs (import ../../pkgs/top-level/release.nix) [ "tarball" "xbursttools" ];
seqList = xs: res: fold (x: xs: seq x xs) res xs;
seqList = xs: res: lib.fold (x: xs: lib.seq x xs) res xs;
strictAttrs = as: seqList (attrValues as) as;
strictAttrs = as: seqList (lib.attrValues as) as;
maybe = as: let y = builtins.tryEval (strictAttrs as); in if y.success then y.value else builtins.trace "FAIL" {};
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"; })
call = attrs: lib.flip lib.mapAttrs attrs
(n: v: builtins.trace n (
if builtins.isFunction v then maybe (v { system = "i686-linux"; })
else if builtins.isAttrs v then call v
else null
));
# 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;
in recurse (call rel)
in call rel

View File

@@ -1,122 +0,0 @@
#! /bin/sh -e
export PERL5LIB=/nix/var/nix/profiles/per-user/eelco/cpan-generator/lib/perl5/site_perl
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

@@ -1,95 +0,0 @@
#!/bin/sh
GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
project=$1
if [ "$project" == "--help" ]; then
echo "Usage: $0 project [major.minor]"
exit 0
fi
baseVersion=$2
if [ -z "$project" ]; then
echo "No project specified, exiting"
exit 1
fi
# curl -l ftp://... doesn't work from my office in HSE, and I don't want to have
# any conversations with sysadmin. Somehow lftp works.
if [ "$FTP_CLIENT" = "lftp" ]; then
ls_ftp() {
lftp -c "open $1; cls"
}
else
ls_ftp() {
curl -l "$1"/
}
fi
if [ -z "$baseVersion" ]; then
echo "Looking for available versions..." >&2
available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
echo -en "Choose one of them: " >&2
read baseVersion
fi
FTPDIR="${GNOME_FTP}/${project}/${baseVersion}"
#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
# gnome's LATEST-IS is broken. Do not trust it.
files=$(ls_ftp "${FTPDIR}")
declare -A versions
for f in $files; do
case $f in
(LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
;;
($project-*.*.9*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
echo "Ignored unstable version ${tmp}" >&2
;;
($project-*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
versions[${tmp}]=1
;;
(*):
echo "UNKNOWN FILE $f"
;;
esac
done
echo "Found versions ${!versions[@]}" >&2
version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
echo "Latest version is: ${version}" >&2
name=${project}-${version}
echo "Fetching .sha256 file" >&2
curl -O http://${FTPDIR}/${name}.sha256sum
extensions=( "xz" "bz2" "gz" )
echo "Choosing archive extension (known are ${extensions[@]})..." >&2
for ext in ${extensions[@]}; do
if grep "\\.tar\\.${ext}$" ${name}.sha256sum >& /dev/null; then
ext_pref=$ext
sha256=$(grep "\\.tar\\.${ext}$" ${name}.sha256sum | cut -f1 -d\ )
break
fi
done
sha256=`nix-hash --to-base32 --type sha256 $sha256`
echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
cat <<EOF
name = "${project}-${version}";
src = fetchurl {
url = mirror://gnome/sources/${project}/${baseVersion}/${project}-${version}.tar.${ext_pref};
sha256 = "${sha256}";
};
EOF
rm -v ${name}.sha256sum >&2

View File

@@ -28,7 +28,6 @@ exec ${GUILE-guile} -L "$PWD" -l "$0" \
#:use-module (ice-9 popen)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 format)
#:use-module (ice-9 regex)
#:use-module (ice-9 vlist)
#:use-module (srfi srfi-1)
@@ -117,19 +116,8 @@ exec ${GUILE-guile} -L "$PWD" -l "$0" \
(if (pair? body)
(values `(derivation ,drv-path ,out-path ,(cdr body))
derivations)
;; DRV-PATH hasn't been encountered yet but may be later
;; (see <http://article.gmane.org/gmane.linux.distributions.nixos/5946>.)
;; Return an `unresolved' node.
(values `(unresolved
,(lambda (derivations)
(let ((body (vhash-assoc drv-path derivations)))
(if (pair? body)
`(derivation ,drv-path ,out-path
,(cdr body))
(error "no previous occurrence of derivation"
drv-path)))))
derivations)))
(error "no previous occurrence of derivation"
drv-path)))
(values `(derivation ,drv-path ,out-path ,body)
(vhash-cons drv-path body derivations)))))
((ellipsis)
@@ -157,32 +145,6 @@ exec ${GUILE-guile} -L "$PWD" -l "$0" \
(values `(varpat ,(assq-ref attributes 'name)) derivations))
(else (error "unhandled Nix XML element" elem))))
(define (resolve snix derivations)
"Return a new SNix tree where `unresolved' nodes from SNIX have been
replaced by the result of their application to DERIVATIONS, a vhash."
(let loop ((node snix)
(seen vlist-null))
(if (vhash-assq node seen)
(values node seen)
(match node
(('unresolved proc)
(let ((n (proc derivations)))
(values n seen)))
((tag body ...)
(let ((body+seen (fold (lambda (n body+seen)
(call-with-values
(lambda ()
(loop n (cdr body+seen)))
(lambda (n* seen)
(cons (cons n* (car body+seen))
(vhash-consq n #t seen)))))
(cons '() (vhash-consq node #t seen))
body)))
(values (cons tag (reverse (car body+seen)))
(vhash-consq node #t (cdr body+seen)))))
(anything
(values anything seen))))))
(define xml->snix
;; Return the SNix represention of TREE, an SXML tree as returned by
;; parsing the XML output of `nix-instantiate' on Nixpkgs.
@@ -210,9 +172,9 @@ replaced by the result of their application to DERIVATIONS, a vhash."
;; Discard inter-node strings, which are blanks.
seed))))
(lambda (port)
(match (parse port (cons '() vlist-null))
(((snix) . derivations)
(resolve snix derivations))))))
;; Discard the second value returned by the parser (the derivation
;; vhash).
(caar (parse port (cons '() vlist-null))))))
(define (call-with-package snix proc)
(match snix
@@ -308,17 +270,12 @@ replaced by the result of their application to DERIVATIONS, a vhash."
;; DERIVATION lacks an "src" attribute.
(and=> (derivation-source derivation) source-output-path))
(define* (open-nixpkgs nixpkgs #:optional attribute)
;; Return an input pipe to the XML representation of Nixpkgs. When
;; ATTRIBUTE is true, only that attribute is considered.
(define (open-nixpkgs nixpkgs)
(let ((script (string-append nixpkgs
"/maintainers/scripts/eval-release.nix")))
(apply open-pipe* OPEN_READ
"nix-instantiate" "--strict" "--eval-only" "--xml"
`(,@(if attribute
`("-A" ,attribute)
'())
,script))))
(open-pipe* OPEN_READ "nix-instantiate"
"--strict" "--eval-only" "--xml"
script)))
(define (pipe-failed? pipe)
"Close pipe and return its status if it failed."
@@ -328,36 +285,21 @@ replaced by the result of their application to DERIVATIONS, a vhash."
status
#f)))
(define (memoize proc)
"Return a memoizing version of PROC."
(let ((cache (make-hash-table)))
(lambda args
(let ((results (hash-ref cache args)))
(if results
(apply values results)
(let ((results (call-with-values (lambda ()
(apply proc args))
list)))
(hash-set! cache args results)
(apply values results)))))))
(define nix-prefetch-url
(memoize
(lambda (url)
"Download URL in the Nix store and return the base32-encoded SHA256 hash of
the file at URL."
(let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
(hash (read-line pipe)))
(if (or (pipe-failed? pipe)
(eof-object? hash))
(values #f #f)
(let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
"sha256" hash (basename url)))
(path (read-line pipe)))
(if (or (pipe-failed? pipe)
(eof-object? path))
(values #f #f)
(values (string-trim-both hash) (string-trim-both path)))))))))
(define (nix-prefetch-url url)
;; Download URL in the Nix store and return the base32-encoded SHA256 hash
;; of the file at URL
(let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
(hash (read-line pipe)))
(if (or (pipe-failed? pipe)
(eof-object? hash))
(values #f #f)
(let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
"sha256" hash (basename url)))
(path (read-line pipe)))
(if (or (pipe-failed? pipe)
(eof-object? path))
(values #f #f)
(values (string-trim-both hash) (string-trim-both path)))))))
(define (update-nix-expression file
old-version old-hash
@@ -420,127 +362,6 @@ the file at URL."
;; Return the output path of the "src" derivation of PACKAGE.
(derivation-source-output-path (attribute-value package)))
;;;
;;; GnuPG interface.
;;;
(define %gpg-command "gpg2")
(define %openpgp-key-server "keys.gnupg.net")
(define (gnupg-verify sig file)
"Verify signature SIG for FILE. Return a status s-exp if GnuPG failed."
(define (status-line->sexp line)
;; See file `doc/DETAILS' in GnuPG.
(define sigid-rx
(make-regexp
"^\\[GNUPG:\\] SIG_ID ([A-Za-z0-9/]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+)"))
(define goodsig-rx
(make-regexp "^\\[GNUPG:\\] GOODSIG ([[:xdigit:]]+) (.+)$"))
(define validsig-rx
(make-regexp
"^\\[GNUPG:\\] VALIDSIG ([[:xdigit:]]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+) .*$"))
(define expkeysig-rx ; good signature, but expired key
(make-regexp "^\\[GNUPG:\\] EXPKEYSIG ([[:xdigit:]]+) (.*)$"))
(define errsig-rx
(make-regexp
"^\\[GNUPG:\\] ERRSIG ([[:xdigit:]]+) ([^ ]+) ([^ ]+) ([^ ]+) ([[:digit:]]+) ([[:digit:]]+)"))
(cond ((regexp-exec sigid-rx line)
=>
(lambda (match)
`(signature-id ,(match:substring match 1) ; sig id
,(match:substring match 2) ; date
,(string->number ; timestamp
(match:substring match 3)))))
((regexp-exec goodsig-rx line)
=>
(lambda (match)
`(good-signature ,(match:substring match 1) ; key id
,(match:substring match 2)))) ; user name
((regexp-exec validsig-rx line)
=>
(lambda (match)
`(valid-signature ,(match:substring match 1) ; fingerprint
,(match:substring match 2) ; sig creation date
,(string->number ; timestamp
(match:substring match 3)))))
((regexp-exec expkeysig-rx line)
=>
(lambda (match)
`(expired-key-signature ,(match:substring match 1) ; fingerprint
,(match:substring match 2)))) ; user name
((regexp-exec errsig-rx line)
=>
(lambda (match)
`(signature-error ,(match:substring match 1) ; key id or fingerprint
,(match:substring match 2) ; pubkey algo
,(match:substring match 3) ; hash algo
,(match:substring match 4) ; sig class
,(string->number ; timestamp
(match:substring match 5))
,(let ((rc
(string->number ; return code
(match:substring match 6))))
(case rc
((9) 'missing-key)
((4) 'unknown-algorithm)
(else rc))))))
(else
`(unparsed-line ,line))))
(define (parse-status input)
(let loop ((line (read-line input))
(result '()))
(if (eof-object? line)
(reverse result)
(loop (read-line input)
(cons (status-line->sexp line) result)))))
(let* ((pipe (open-pipe* OPEN_READ %gpg-command "--status-fd=1"
"--verify" sig file))
(status (parse-status pipe)))
;; Ignore PIPE's exit status since STATUS above should contain all the
;; info we need.
(close-pipe pipe)
status))
(define (gnupg-status-good-signature? status)
"If STATUS, as returned by `gnupg-verify', denotes a good signature, return
a key-id/user pair; return #f otherwise."
(any (lambda (sexp)
(match sexp
(((or 'good-signature 'expired-key-signature) key-id user)
(cons key-id user))
(_ #f)))
status))
(define (gnupg-status-missing-key? status)
"If STATUS denotes a missing-key error, then return the key-id of the
missing key."
(any (lambda (sexp)
(match sexp
(('signature-error key-id _ ...)
key-id)
(_ #f)))
status))
(define (gnupg-receive-keys key-id)
(system* %gpg-command "--keyserver" %openpgp-key-server "--recv-keys" key-id))
(define (gnupg-verify* sig file)
"Like `gnupg-verify', but try downloading the public key if it's missing.
Return #t if the signature was good, #f otherwise."
(let ((status (gnupg-verify sig file)))
(or (gnupg-status-good-signature? status)
(let ((missing (gnupg-status-missing-key? status)))
(and missing
(begin
;; Download the missing key and try again.
(gnupg-receive-keys missing)
(gnupg-status-good-signature? (gnupg-verify sig file))))))))
;;;
;;; FTP client.
@@ -694,9 +515,7 @@ Return #t if the signature was good, #f otherwise."
"automake110x"
"bison1875"
"bison23"
"bison24"
"bison" ;; = 2.4
"ccrtp_1_8"
"bison" ;; = 2.3
"emacs22"
"emacsSnapshot"
"gcc295"
@@ -710,24 +529,13 @@ Return #t if the signature was good, #f otherwise."
"gcc45"
"gcc45_real"
"gcc45_realCross"
"gfortran45"
"gcj45"
"gcc46"
"gcc46_real"
"gcc46_realCross"
"gfortran46"
"gcj46"
"glibc25"
"glibc27"
"glibc29"
"guile_1_8"
"icecat3"
"icecat3Xul" ;; redundant with `icecat'
"icecatWrapper"
"icecat3Wrapper"
"icecatXulrunner3"
"libzrtpcpp_1_6"
"parted_2_3"
))
(define (gnu? package)
@@ -742,11 +550,8 @@ Return #t if the signature was good, #f otherwise."
(match attr
(('attribute _ "description" value)
(string-prefix? "GNU" value))
(('attribute _ "homepage" (? string? value))
(or (string-contains value "gnu.org")
(string-contains value "gnupg.org")))
(('attribute _ "homepage" ((? string? value) ...))
(any (cut string-contains <> "www.gnu.org") value))
(('attribute _ "homepage" value)
(string-contains value "www.gnu.org"))
(_ #f)))
metas))
(_ #f)))
@@ -777,10 +582,11 @@ Return #t if the signature was good, #f otherwise."
("libosip2" "ftp.gnu.org" "/gnu/osip" #f)
("libgcrypt" "ftp.gnupg.org" "/gcrypt" #t)
("libgpg-error" "ftp.gnupg.org" "/gcrypt" #t)
("libassuan" "ftp.gnupg.org" "/gcrypt" #t)
("freefont-ttf" "ftp.gnu.org" "/gnu/freefont" #f)
("gnupg" "ftp.gnupg.org" "/gcrypt" #t)
("gnu-ghostscript" "ftp.gnu.org" "/gnu/ghostscript" #f)
("grub" "alpha.gnu.org" "/gnu" #t)
("GNUnet" "ftp.gnu.org" "/gnu/gnunet" #f)
("mit-scheme" "ftp.gnu.org" "/gnu/mit-scheme/stable.pkg" #f)
("icecat" "ftp.gnu.org" "/gnu/gnuzilla" #f)
("source-highlight" "ftp.gnu.org" "/gnu/src-highlite" #f)
@@ -804,6 +610,7 @@ Return #t if the signature was good, #f otherwise."
("gnumake" . "make")
("gnused" . "sed")
("gnutar" . "tar")
("gnunet" . "GNUnet") ;; ftp.gnu.org/gnu/gnunet/GNUnet-x.y.tar.gz
("mitscheme" . "mit-scheme")
("texmacs" . "TeXmacs")))
@@ -948,7 +755,6 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
gnu-packages))
(define (fetch-gnu project directory version archive-type)
"Download PROJECT's tarball over FTP."
(let* ((server (ftp-server/directory project))
(base (string-append project "-" version ".tar." archive-type))
(url (string-append "ftp://" server "/" directory "/" base))
@@ -961,9 +767,9 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
(false-if-exception (delete-file sig))
(system* "wget" sig-url)
(if (file-exists? sig)
(let ((ret (gnupg-verify* sig path)))
(let ((ret (system* "gpg" "--verify" sig path)))
(false-if-exception (delete-file sig))
(if ret
(if (and ret (= 0 (status:exit-val ret)))
hash
(begin
(format (current-error-port)
@@ -991,18 +797,12 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
(format #t "~%")
(format #t " -x, --xml=FILE Read XML output of `nix-instantiate'~%")
(format #t " from FILE.~%")
(format #t " -A, --attribute=ATTR~%")
(format #t " Update only the package pointed to by attribute~%")
(format #t " ATTR.~%")
(format #t " -s, --select=SET Update only packages from SET, which may~%")
(format #t " be either `all', `stdenv', or `non-stdenv'.~%")
(format #t " -d, --dry-run Don't actually update Nix expressions~%")
(format #t " -h, --help Give this help list.~%~%")
(format #t "Report bugs to <ludo@gnu.org>~%")
(exit 0)))
(option '(#\A "attribute") #t #f
(lambda (opt name arg result)
(alist-cons 'attribute arg result)))
(option '(#\s "select") #t #f
(lambda (opt name arg result)
(cond ((string-ci=? arg "stdenv")
@@ -1028,14 +828,13 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
(define (gnupdate . args)
;; Assume Nixpkgs is under $NIXPKGS or ~/src/nixpkgs.
(define (nixpkgs->snix xml-file attribute)
(define (nixpkgs->snix xml-file)
(format (current-error-port) "evaluating Nixpkgs...~%")
(let* ((home (getenv "HOME"))
(xml (if xml-file
(open-input-file xml-file)
(open-nixpkgs (or (getenv "NIXPKGS")
(string-append home "/src/nixpkgs"))
attribute)))
(string-append home "/src/nixpkgs")))))
(snix (xml->snix xml)))
(if (not xml-file)
(let ((status (pipe-failed? xml)))
@@ -1044,37 +843,7 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
(format (current-error-port) "`nix-instantiate' failed: ~A~%"
status)
(exit 1)))))
;; If we asked for a specific attribute, rewrap the thing in an
;; attribute set to match the expectations of `packages-to-update' & co.
(if attribute
(match snix
(('snix loc ('derivation args ...))
`(snix ,loc
(attribute-set
((attribute #f ,attribute
(derivation ,@args)))))))
snix)))
(define (selected-gnu-packages packages stdenv selection)
;; Return the subset of PACKAGES that are/aren't in STDENV, according to
;; SELECTION. To do that reliably, we check whether their "src"
;; derivation is a requisite of STDENV.
(define gnu
(gnu-packages packages))
(case selection
((stdenv)
(filter (lambda (p)
(member (package-source-output-path p)
(force stdenv)))
gnu))
((non-stdenv)
(filter (lambda (p)
(not (member (package-source-output-path p)
(force stdenv))))
gnu))
(else gnu)))
snix))
(let* ((opts (args-fold (cdr args) %options
(lambda (opt name arg result)
@@ -1082,8 +851,7 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
(lambda (operand result)
(error "extraneous argument `~A'" operand))
'()))
(snix (nixpkgs->snix (assq-ref opts 'xml-file)
(assq-ref opts 'attribute)))
(snix (nixpkgs->snix (assoc-ref opts 'xml-file)))
(packages (match snix
(('snix _ ('attribute-set attributes))
attributes)
@@ -1092,12 +860,23 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
;; The source tarballs that make up stdenv.
(filter-map derivation-source-output-path
(package-requisites (stdenv-package packages)))))
(attribute (assq-ref opts 'attribute))
(selection (assq-ref opts 'filter))
(to-update (if attribute
packages ; already a subset
(selected-gnu-packages packages stdenv selection)))
(updates (packages-to-update to-update)))
(gnu (gnu-packages packages))
(gnu* (case (assoc-ref opts 'filter)
;; Filter out packages that are/aren't in `stdenv'. To
;; do that reliably, we check whether their "src"
;; derivation is a requisite of stdenv.
((stdenv)
(filter (lambda (p)
(member (package-source-output-path p)
(force stdenv)))
gnu))
((non-stdenv)
(filter (lambda (p)
(not (member (package-source-output-path p)
(force stdenv))))
gnu))
(else gnu)))
(updates (packages-to-update gnu*)))
(format #t "~%~A packages to update...~%" (length updates))
(for-each (lambda (update)

View File

@@ -5,6 +5,7 @@ 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

@@ -1,7 +1,3 @@
#! /bin/sh
if [[ -z "$VERBOSE" ]]; then
echo "You may set VERBOSE=1 to see debug output or to any other non-empty string to make this script completely silent"
fi
unset HOME NIXPKGS_CONFIG # Force empty config
nix-instantiate --strict --eval-only --xml --show-trace "$(dirname "$0")"/eval-release.nix 2>&1 > /dev/null

View File

@@ -0,0 +1,13 @@
{stdenv, fetchurl, perl
, bison, flex, glib
, pkgconfig, libxml2}:
stdenv.mkDerivation {
name = "GStreamer-0.10.10";
src = fetchurl {
url = http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.10.tar.bz2;
md5 = "6875bf0bd3cf38b9ae1362b9e644e6fc";
};
buildInputs = [perl bison flex glib pkgconfig libxml2];
}

View File

@@ -1,27 +0,0 @@
{ stdenv, fetchurl, alsaLib, dbus, jackaudio, pkgconfig, python }:
stdenv.mkDerivation rec {
name = "a2jmidid-${version}";
version = "7";
src = fetchurl {
url = "http://download.gna.org/a2jmidid/${name}.tar.bz2";
sha256 = "1pl91y7npirhmikzlizpbyx2vkfvdkvc6qvc2lv4capj3cp6ypx7";
};
buildInputs = [ alsaLib dbus jackaudio pkgconfig python ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
homepage = http://home.gna.org/a2jmidid;
description = "daemon for exposing legacy ALSA sequencer applications in JACK MIDI system";
license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,30 +0,0 @@
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

@@ -0,0 +1,16 @@
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,20 +1,19 @@
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue
, perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame
, makeWrapper }:
let version = "2.5.4";
let version = "2.3.99.6";
in
stdenv.mkDerivation {
name = "abcde-${version}";
src = fetchurl {
url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz";
sha256 = "14g5lsgh53hza9848351kwpygc0yqpvvzp3s923aja77f2wpkdl5";
sha256 = "1wl4ygj1cf1d6g05gwwygsd5g83l039fzi011r30ma5lnm763lyb";
};
# FIXME: This package does not support MP3 encoding (only Ogg),
# nor `distmp3', `eject', etc.
patches = [ ./abcde.patch ];
patches = [ ./install.patch ./which.patch ./cd-paranoia.patch ];
configurePhase = ''
sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
@@ -30,37 +29,25 @@ 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'
# 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'
substituteInPlace "$out/bin/cddb-tool" \
--replace '#!/bin/sh' '#!${bash}/bin/sh'
substituteInPlace "$out/bin/abcde" \
--replace '#!/bin/bash' '#!${bash}/bin/bash'
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://lly.org/~rcw/abcde/page/";
homepage = http://www.hispalinux.es/~data/abcde.php;
licence = "GPLv2+";
description = "A Better CD Encoder (ABCDE)";

View File

@@ -0,0 +1,21 @@
--- 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

@@ -0,0 +1,16 @@
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,30 +1,27 @@
{ stdenv, fetchurl, lib, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs
, qca2, libmtp, liblastfm, libgpod, pkgconfig, automoc4, phonon
, strigi, soprano, qjson, ffmpeg, libofa }:
{ stdenv, fetchurl, lib, cmake, qt4, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs, automoc4, phonon
, strigi, soprano, qca2, libmtp, liblastfm, libgpod, pkgconfig }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "amarok";
version = "2.6.0";
version = "2.4.0";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
sha256 = "1h6jzl0jnn8g05pz4mw01kz20wjjxwwz6iki7lvgj70qi3jq04m9";
sha256 = "52be0e926d1362828a4bf64e2a174dc009c85f6f33da4ca589f0f09ab9b7085c";
};
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
patches = ./find-mysql.patch;
buildInputs = [ qtscriptgenerator stdenv.gcc.libc gettext curl
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 qjson ffmpeg libofa ];
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";

View File

@@ -1,46 +0,0 @@
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

@@ -0,0 +1,37 @@
{ 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,59 +0,0 @@
{ stdenv, fetchsvn, 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, makeWrapper, pango
, perl, pkgconfig, python, serd, sord, sratom, suil }:
let
# Ardour 3 Beta 5
rev = "13072";
in
stdenv.mkDerivation {
name = "ardour3-svn-${rev}";
src = fetchsvn {
url = http://subversion.ardour.org/svn/ardour2/branches/3.0;
inherit rev;
sha256 = "17k990kdb5q17z6jcz5b60imvvfbjw9zfxzy9fk0vg8gd6yq7736";
};
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
];
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
'';
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
'';
meta = with stdenv.lib; {
description = "Multi-track hard disk recording software";
longDescription = ''
Also read "The importance of Paying Something" on their homepage, please!
'';
homepage = http://ardour.org/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,42 +1,29 @@
{ stdenv, fetchsvn, scons, boost, pkgconfig, fftw, librdf_raptor
{ stdenv, fetchurl, scons, boost, pkgconfig, fftw, librdf_raptor
, librdf_rasqal, jackaudio, flac, libsamplerate, alsaLib, libxml2
, libxslt, libsndfile, libsigcxx, libusb, cairomm, glib, pango
, gtk, glibmm, gtkmm, libgnomecanvas, liblo, aubio
, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf }:
, gtk, glibmm, gtkmm, libgnomecanvas, librdf, liblo, aubio
, fftwSinglePrec, libmad }:
stdenv.mkDerivation rec {
name = "ardour-${version}";
version = "2.8.12";
stdenv.mkDerivation {
name = "ardour-2.8.2";
# 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 = http://mawercer.de/~nix/ardour-2.8.2.tar.bz2;
sha256 = "1igwv1r6rlybdac24qady5asaf34f9k7kawkkgyvsifhl984m735";
};
patchPhase = ''
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
flac libsamplerate alsaLib libxml2 libxslt libsndfile libsigcxx
libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas liblrdf
liblo aubio fftwSinglePrec libmad autoconf automake libtool
libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas librdf
liblo aubio fftwSinglePrec libmad
];
buildPhase = ''
mkdir -p $out
ensureDir $out
export CXX=g++
scons PREFIX=$out install
'';
@@ -46,7 +33,6 @@ stdenv.mkDerivation rec {
meta = {
description = "Multi-track hard disk recording software";
longDescription = ''
Broken: use ardour3-svn instead
Also read "The importance of Paying Something" on their homepage, please!
'';
homepage = http://ardour.org/;

View File

@@ -3,25 +3,22 @@
, libvorbis, libcdio, libcddb, flac, ffmpeg
}:
let
version = "3.2.2";
in
stdenv.mkDerivation {
name = "audacious-${version}";
stdenv.mkDerivation rec {
name = "audacious-2.4.2";
src = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
sha256 = "1vj2f3jq67r9wc3s8p51w8338cjhidj3lpxmzyh31lrfikj21766";
url = "http://distfiles.atheme.org/${name}.tgz";
sha256 = "03dd0fn17znjbmnc7hiafsg1axiwysk9q4r21s6giy2yfwhi8b30";
};
pluginsSrc = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
sha256 = "1z5p4ny0kzszaki4f1fgrvcr0q1j6i19847jhplc07nl1rvycdy6";
url = "http://distfiles.atheme.org/audacious-plugins-2.4.2.tgz";
sha256 = "1a2vbqyamlpvnhr3mm8b5i9304d16c796v2ycw3i396ppjvnhyxz";
};
# `--enable-amidiplug' is to prevent configure from looking in /proc/asound.
configureFlags = "--enable-amidiplug --disable-oss";
configureFlags = "--enable-amidiplug";
buildInputs =
[ gettext pkgconfig glib gtk libmowgli libmcs libxml2 dbus_glib
libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio
@@ -49,11 +46,9 @@ stdenv.mkDerivation {
)
'';
enableParallelBuilding = true;
meta = {
description = "Audacious, a media player forked from the Beep Media Player, which was itself an XMMS fork";
homepage = http://audacious-media-player.org/;
maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ];
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

View File

@@ -1,21 +1,32 @@
{ stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib, perl, intltool,
libogg, libvorbis, libmad, alsaLib, libsndfile, libsamplerate, flac, lame,
expat, id3lib, ffmpeg, portaudio
expat, id3lib, ffmpeg
}:
stdenv.mkDerivation rec {
version = "2.0.2";
version = "1.3.12";
name = "audacity-${version}";
NIX_CFLAGS_COMPILE = "-fPIC -lgtk-x11-2.0 -lglib-2.0 -lgobject-2.0 -lz";
src = fetchurl {
url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.bz2";
sha256 = "17c7p5jww5zcg2k2fs1751mv5kbadcmgicszi1zxwj2p5b35x2mc";
url = "mirror://sourceforge/audacity/audacity-minsrc-${version}-beta.tar.bz2";
sha256 = "f0f55839ca3013d2e43e5114c73d195bc34503685aeab683eafca4d1bbf3b768";
};
buildInputs = [ pkgconfig wxGTK libsndfile expat alsaLib libsamplerate
libvorbis libmad flac id3lib ffmpeg gettext ];
buildInputs = [ wxGTK pkgconfig gettext gtk glib zlib intltool perl
libogg libvorbis libmad alsaLib libsndfile libsamplerate flac lame
expat id3lib ffmpeg];
configureFlags = [
"--with-portmixer=no"
];
dontDisableStatic = true;
preBuild = ''
(cd lib-src ; make portaudio-v19/lib/libportaudio.a ; ln -sf portaudio-v19/lib/.libs/libportaudio.a portaudio-v19/lib/libportaudio.a)
'';
meta = {
description = "Sound editor with graphical UI";
homepage = http://audacity.sourceforge.net;

View File

@@ -1,29 +0,0 @@
{ 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,25 +0,0 @@
{ stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib
, gtk, jackaudio, ladspaH , libglade, lv2, pkgconfig }:
stdenv.mkDerivation rec {
name = "calf-${version}";
version = "0.0.19-rc7";
src = fetchurl {
url = "mirror://sourceforge/calf/${name}.tar.gz";
sha256 = "0515pzc7ishrq0j5hza83s0yp3x34r977h776lpky389whcyf45j";
};
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

@@ -1,15 +1,15 @@
{ stdenv, fetchurl }:
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "cdparanoia-III-10.2";
stdenv.mkDerivation {
name = "cdparanoia-III-alpha9.8";
src = fetchurl {
url = "http://downloads.xiph.org/releases/cdparanoia/${name}.src.tgz";
sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
url = http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-alpha9.8.src.tgz;
md5 = "7218e778b5970a86c958e597f952f193";
};
patches = [./fix.patch];
meta = {
homepage = http://xiph.org/paranoia;
description = "A tool and library for reading digital audio from CDs";
};
}

View File

@@ -0,0 +1,46 @@
*** cdparanoia-III-alpha9.8/interface/utils.h Thu Apr 20 00:41:04 2000
--- cdparanoia-III-alpha9.8-old/interface/utils.h Wed Jan 19 21:44:08 2005
***************
*** 110,117 ****
case CDDA_MESSAGE_LOGIT:
d->errorbuf=catstring(d->errorbuf,s);
break;
- case CDDA_MESSAGE_FORGETIT:
- default:
}
}
}
--- 110,115 ----
***************
*** 125,132 ****
case CDDA_MESSAGE_LOGIT:
d->messagebuf=catstring(d->messagebuf,s);
break;
- case CDDA_MESSAGE_FORGETIT:
- default:
}
}
}
--- 123,128 ----
***************
*** 167,174 ****
}
}
break;
- case CDDA_MESSAGE_FORGETIT:
- default:
}
}
if(malloced)free(buffer);
--- 163,168 ----
***************
*** 203,210 ****
if(!malloced)*messages=catstring(*messages,"\n");
}
break;
- case CDDA_MESSAGE_FORGETIT:
- default:
}
}
if(malloced)free(buffer);
--- 197,202 ----

View File

@@ -1,34 +0,0 @@
{ 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 = "csound5.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

@@ -1,67 +0,0 @@
{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jackaudio
, libxslt, lv2, pkgconfig, premake, xlibs }:
let
rev = "7815b3545978e";
in
stdenv.mkDerivation rec {
name = "distrho-${rev}";
src = fetchgit {
url = "git://distrho.git.sf.net/gitroot/distrho/distrho";
inherit rev;
sha256 = "2e260f16ee67b1166c39e2d55c8dd5593902c8b3d8d86485545ef83139e1e844";
};
patchPhase = ''
sed -e "s#xsltproc#${libxslt}/bin/xsltproc#" -i Makefile
sed -e "s#PREFIX = /usr/local#PREFIX = $out#" -i Makefile
sed -e "s#/etc/HybridReverb2#$out/etc/Hybridreverb2#" \
-i ports/hybridreverb2/source/SystemConfig.cpp
sed -e "s#/usr#$out#" -i ports/hybridreverb2/data/HybridReverb2.conf
'';
buildInputs = [
alsaLib fftwSinglePrec freetype jackaudio pkgconfig premake
xlibs.libX11 xlibs.libXcomposite xlibs.libXcursor xlibs.libXext
xlibs.libXinerama xlibs.libXrender
];
buildPhase = ''
sh ./scripts/premake-update.sh linux
make standalone
make lv2
# generate lv2 ttl
sh scripts/generate-ttl.sh
'';
installPhase = ''
mkdir -p $out/bin
cp bin/standalone/* $out/bin/
mkdir -p $out/lib/lv2
cp -a bin/lv2/* $out/lib/lv2/
# HybridReverb2 data
mkdir -p $out/etc/HybridReverb2
cp ports/hybridreverb2/data/HybridReverb2.conf $out/etc/HybridReverb2/
mkdir -p $out/share
cp -a ports/hybridreverb2/data/HybridReverb2 $out/share/
'';
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 HybridReverb2 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

@@ -1,22 +0,0 @@
{ stdenv, fetchurl, pkgconfig, gtk, libid3tag, id3lib, libvorbis, libogg, flac }:
let
version = "2.1.7";
sha256 = "bfed34cbdce96aca299a0db2b531dbc66feb489b911a34f0a9c67f2eb6ee9301";
in stdenv.mkDerivation {
name = "easytag-${version}";
src = fetchurl {
url = "mirror://sourceforge/easytag/easytag-${version}.tar.bz2";
inherit sha256;
};
buildInputs = [ pkgconfig gtk libid3tag id3lib libvorbis libogg flac ];
meta = {
description = "an utility for viewing and editing tags for various audio files";
homepage = http://http://easytag.sourceforge.net/;
license = stdenv.lib.licenses.gpl2;
};
}

View File

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

View File

@@ -1,31 +0,0 @@
{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

@@ -1,25 +1,24 @@
{ stdenv, fetchurl, libogg }:
{stdenv, fetchurl, libogg}:
stdenv.mkDerivation rec {
name = "flac-1.2.1";
src = fetchurl {
url = mirror://sourceforge/flac/flac-1.2.1.tar.gz;
sha256 = "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn";
};
buildInputs = [ libogg ];
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";
sha256 = "1m6ql5vyjb2jlp5qiqp6w0drq1m6x6y3i1dnl5ywywl3zd36k0mr";
})
];
buildInputs = [libogg];
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";
sha256 = "1m6ql5vyjb2jlp5qiqp6w0drq1m6x6y3i1dnl5ywywl3zd36k0mr";
})
];
meta = {
homepage = http://flac.sourceforge.net;
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
};
}

View File

@@ -1,21 +0,0 @@
{ stdenv, fetchurl, alsaLib, glib, jackaudio, libsndfile, pkgconfig
, pulseaudio }:
stdenv.mkDerivation rec {
name = "fluidsynth-${version}";
version = "1.1.5";
src = fetchurl {
url = "mirror://sourceforge/fluidsynth/${name}.tar.bz2";
sha256 = "1x73a5rsyvfmh1j0484kzgnk251q61g1g2jdja673l8fizi0xd24";
};
buildInputs = [ alsaLib glib jackaudio libsndfile pkgconfig pulseaudio ];
meta = with stdenv.lib; {
description = "real-time software synthesizer based on the SoundFont 2 specifications";
homepage = http://www.fluidsynth.org;
license = licenses.lgpl2;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,30 +0,0 @@
{ stdenv, fetchsvn, autoconf, automake, docbook_xml_dtd_45
, docbook_xsl, gtkmm, intltool, libgig, libsndfile, libtool, libxslt
, pkgconfig }:
stdenv.mkDerivation rec {
name = "gigedit-svn-${version}";
version = "2342";
src = fetchsvn {
url = "https://svn.linuxsampler.org/svn/gigedit/trunk";
rev = "${version}";
sha256 = "0wi94gymj0ns5ck9lq1d970gb4gnzrq4b57j5j7k3d6185yg2gjs";
};
patchPhase = "sed -e 's/which/type -P/g' -i Makefile.cvs";
preConfigure = "make -f Makefile.cvs";
buildInputs = [
autoconf automake docbook_xml_dtd_45 docbook_xsl gtkmm intltool
libgig libsndfile libtool libxslt pkgconfig
];
meta = with stdenv.lib; {
homepage = http://www.linuxsampler.org;
description = "Gigasampler file access library";
license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
postInstall = ''
cp ${keymap}.keymap $out/share/gmu/default.keymap
cp gmuinput.${conf}.conf $out/share/gmu/gmuinput.conf
mkdir -p $out/etc/gmu
ensureDir $out/etc/gmu
cp gmu.${conf}.conf $out/etc/gmu/gmu.conf
'';

View File

@@ -1,53 +0,0 @@
{ 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

@@ -1,39 +0,0 @@
{ stdenv, fetchurl, alsaLib, boost, glib, jackaudio, ladspaPlugins
, libarchive, liblrdf , libsndfile, pkgconfig, qt4, scons, subversion }:
stdenv.mkDerivation rec {
version = "0.9.5";
name = "hydrogen-${version}";
src = fetchurl {
url = "mirror://sourceforge/hydrogen/hydrogen-${version}.tar.gz";
sha256 = "1hyri49va2ss26skd6p9swkx0kbr7ggifbahkrcfgj8yj7pp6g4n";
};
buildInputs = [
alsaLib boost glib jackaudio ladspaPlugins libarchive liblrdf
libsndfile pkgconfig qt4 scons subversion
];
patches = [ ./scons-env.patch ];
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
'';
# why doesn't scons find librdf?
buildPhase = ''
scons prefix=$out libarchive=1 lrdf=0 install
'';
installPhase = ":";
meta = with stdenv.lib; {
description = "Advanced drum machine";
homepage = http://www.hydrogen-music.org;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,28 +0,0 @@
--- hydrogen-0.9.5/Sconstruct 2011-03-15 13:22:35.000000000 +0100
+++ hydrogen-0.9.5/Sconstruct 2011-04-17 16:06:54.000000000 +0200
@@ -178,7 +178,7 @@
includes.append( "libs/hydrogen/include" )
- env = Environment( options = opts )
+ env = Environment( options = opts, ENV = os.environ )
#location of qt4.py
@@ -298,7 +298,6 @@
for N in glob.glob('./data/i18n/hydrogen.*'):
env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data/i18n', source=N))
- env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data', source="./data/img"))
#add every img in ./data/img to the install list.
os.path.walk("./data/img/",install_images,env)
@@ -379,7 +379,7 @@
includes, a , b = get_platform_flags( opts )
-env = Environment(options = opts, CPPPATH = includes)
+env = Environment(options = opts, ENV = os.environ)
Help(opts.GenerateHelpText(env))

View File

@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
'';
preInstall = ''
mkdir -p $out/bin $out/man/man1
ensureDir $out/bin $out/man/man1
'';
meta = {

View File

@@ -1,28 +0,0 @@
{ 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

@@ -12,7 +12,7 @@ stdenv.mkDerivation {
postInstall =
''
mkdir -p $out/share/ladspa/
ensureDir $out/share/ladspa/
ln -sv $out/lib/ladspa $out/share/ladspa/lib
'';

View File

@@ -13,7 +13,7 @@ in
in with localDefs;
let
copyFile = fullDepEntry ("
mkdir -p \$out/include
ensureDir \$out/include
cp ${src} \$out/include/ladspa.h
") [minInit defEnsureDir];
in

View File

@@ -1,36 +0,0 @@
{ stdenv, fetchurl, alsaLib, gtk, jackaudio, libuuid, libxml2
, makeWrapper, pkgconfig, readline }:
assert libuuid != null;
stdenv.mkDerivation rec {
name = "lash-${version}";
version = "0.5.4";
src = fetchurl {
url = "mirror://savannah/lash/${name}.tar.gz";
sha256 = "05kc4brcx8mncai0rj2gz4s4bsrsy9q8xlnaddf75i0m8jl7snhh";
};
patches = [ ./socket.patch ];
buildInputs = [ alsaLib gtk jackaudio libuuid libxml2 makeWrapper
pkgconfig readline ];
postInstall = ''
for i in lash_control lash_panel
do wrapProgram "$out/bin/$i" --prefix LD_LIBRARY_PATH ":" "${libuuid}/lib"
done
'';
meta = with stdenv.lib; {
description = "LASH Audio Session Handler";
longDescription = ''
Session management system for GNU/Linux audio applications.
'';
homepage = http://www.nongnu.org/lash;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,16 +0,0 @@
Via http://bugs.gentoo.org/show_bug.cgi?id=229603
--- lash-0.5.4/liblash/socket.c 2008-06-26 15:20:44.227064193 +0200
+++ lash-0.5.4/liblash/socket.c 2008-06-26 15:21:18.245063129 +0200
@@ -20,6 +20,11 @@
#define _POSIX_SOURCE /* addrinfo */
+#ifdef LASH_BUILD
+#define _GNU_SOURCE
+#include "config.h"
+#endif /* LASH_BUILD */
+
#include <stdint.h>
#include <sys/types.h>
#include <sys/socket.h>

View File

@@ -1,29 +0,0 @@
{ 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

@@ -1,22 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, alsaLib, libglade }:
stdenv.mkDerivation {
name = "lingot-0.9.0";
src = fetchurl {
url = http://download.savannah.gnu.org/releases/lingot/lingot-0.9.0.tar.gz;
sha256 = "07z129lp8m4sz608q409wb11c639w7cbn497r7bscgg08p6c07xb";
};
buildInputs = [ pkgconfig intltool gtk alsaLib libglade ];
configureFlags = "--disable-jack";
meta = {
description = "Not a Guitar-Only tuner";
homepage = http://www.nongnu.org/lingot/;
license = "GPLv2+";
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [viric];
};
}

View File

@@ -1,44 +0,0 @@
{ stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison
, jackaudio, libgig, libsndfile, libtool, lv2, pkgconfig }:
stdenv.mkDerivation rec {
name = "linuxsampler-svn-${version}";
version = "2340";
src = fetchsvn {
url = "https://svn.linuxsampler.org/svn/linuxsampler/trunk";
rev = "${version}";
sha256 = "0zsrvs9dwwhjx733m45vfi11yjkqv33z8qxn2i9qriq5zs1f0kd7";
};
patches = ./linuxsampler_lv2_sfz_fix.diff;
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
libtool lv2 pkgconfig
];
meta = with stdenv.lib; {
homepage = http://www.linuxsampler.org;
description = "Sampler backend";
longDescription = ''
Includes sampler engine, audio and MIDI drivers, network layer
(LSCP) API and native C++ API.
LinuxSampler is licensed under the GNU GPL with the exception
that USAGE of the source code, libraries and applications FOR
COMMERCIAL HARDWARE OR SOFTWARE PRODUCTS IS NOT ALLOWED without
prior written permission by the LinuxSampler authors. If you
have questions on the subject, that are not yet covered by the
FAQ, please contact us.
'';
license = licenses.proprietary;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@@ -1,50 +0,0 @@
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

@@ -1,23 +0,0 @@
{ stdenv, fetchurl, SDL, alsaLib, cmake, fftw, jackaudio, libogg,
libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4 }:
stdenv.mkDerivation rec {
name = "lmms-${version}";
version = "0.4.10";
src = fetchurl {
url = "mirror://sourceforge/lmms/${name}.tar.bz2";
sha256 = "035cqmxcbr9ipnicdv5l7h05q2hqbavxkbaxyq06ppnv2y7fxwrb";
};
buildInputs = [ SDL alsaLib cmake fftw jackaudio libogg
libsamplerate libsndfile pkgconfig pulseaudio qt4 ];
meta = with stdenv.lib; {
description = "Linux MultiMedia Studio";
homepage = "http://lmms.sourceforge.net";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,27 +0,0 @@
{ stdenv, fetchurl, SDL , alsaLib, gtk, jackaudio, ladspaH
, ladspaPlugins, libsamplerate, libsndfile, pkgconfig, pulseaudio }:
stdenv.mkDerivation rec {
name = "mhwaveedit-${version}";
version = "1.4.21";
src = fetchurl {
url = "http://download.gna.org/mhwaveedit/${name}.tar.bz2";
sha256 = "0jl7gvhwsz4fcn5d146h4m6i3hlxdsw4mmj280cv9g70p6zqi1w7";
};
buildInputs =
[ SDL alsaLib gtk jackaudio ladspaH libsamplerate libsndfile
pkgconfig pulseaudio
];
configureFlags = "--with-default-ladspa-path=${ladspaPlugins}/lib/ladspa";
meta = with stdenv.lib; {
description = "graphical program for editing, playing and recording sound files";
homepage = https://gna.org/projects/mhwaveedit;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,19 +0,0 @@
{ stdenv, fetchurl, libmikmod, ncurses }:
stdenv.mkDerivation rec {
name = "mikmod-3.2.2";
src = fetchurl {
url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
sha256 = "105vl1kyah588wpbpq6ck1wlr0jj55l2ps72q5i01gs9px8ncmp8";
};
buildInputs = [ libmikmod ncurses ];
meta = {
description = "Tracker music player for the terminal";
homepage = http://mikmod.shlomifish.org/;
license = "GPLv2+";
maintainers = with stdenv.lib.maintainers; [ viric ];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
'';
preInstall =
'' mkdir -p "$out/bin"
mkdir -p "$out/man/man1"
'' ensureDir "$out/bin"
ensureDir "$out/man/man1"
'';
meta = {

View File

@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
installPhase =
# XXX: Should install locales too (though there's only 1 available).
'' mkdir -p "$out/bin"
'' ensureDir "$out/bin"
cp -v mpc123 "$out/bin"
'';

View File

@@ -1,20 +1,17 @@
{stdenv, fetchurl, libao, libmad, libid3tag, zlib}:
stdenv.mkDerivation rec {
name = "mpg321-0.2.13-2";
stdenv.mkDerivation {
name = "mpg321-0.2.10";
src = fetchurl {
url = "mirror://sourceforge/mpg321/0.2.13/${name}.tar.gz";
sha256 = "0zx9xyr97frlyrwyk2msm9h1sn2b84vqaxcy5drbzcd2n585lwlx";
url = mirror://sourceforge/mpg321/mpg321-0.2.10.tar.gz;
sha256 = "db0c299592b8f1f704f41bd3fc3a2bf138658108588d51af61638c551af1b0d4";
};
buildInputs = [libao libid3tag libmad zlib];
meta = {
description = "mpg321, a command-line MP3 player";
description = "Command-line MP3 player.";
homepage = http://mpg321.sourceforge.net/;
license = "GPLv2";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.gnu;
};
}

View File

@@ -1,21 +0,0 @@
{stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig}:
stdenv.mkDerivation rec {
version = "0.5.10";
name = "ncmpcpp-${version}";
src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
};
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ];
meta = {
description = "Curses-based interface for MPD (music player daemon)";
homepage = http://unkart.ovh.org/ncmpcpp/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.mornfall ];
};
}

View File

@@ -1,17 +0,0 @@
{stdenv, fetchurl, libogg, libao, pkgconfig, libopus}:
stdenv.mkDerivation rec {
name = "opus-tools-0.1.5";
src = fetchurl {
url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
sha256 = "0184zfamg3qcjknk4liz4smws3mbv77gjhq2pn9xgcx9nw78srvn";
};
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-1.0";
name = "pavucontrol-0.9.10";
src = fetchurl {
url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
sha256 = "1plcyrc7p6gqxjhxx2xh6162bkb29wixjrqrjnl9b8g3nrjjigix";
url = "http://0pointer.de/lennart/projects/pavucontrol/${name}.tar.gz";
sha256 = "0g2sd9smwwpnyq8yc65dl9z0iafj2rrimi8v58wkxx98vhnnvsby";
};
buildInputs = [ pkgconfig pulseaudio gtkmm libsigcxx libglademm libcanberra
intltool gettext ];
configureFlags = "--disable-lynx --disable-gtk3";
configureFlags = "--disable-lynx";
meta = {
description = "PulseAudio Volume Control";

View File

@@ -1,29 +0,0 @@
{ stdenv, fetchgit, alsaLib, cmake, gtk, jackaudio, libgnomecanvas
, libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2
, pkgconfig }:
stdenv.mkDerivation rec {
name = "petri-foo";
src = fetchgit {
url = https://github.com/licnep/Petri-Foo.git;
rev = "eef3b6efebe842d2fa18ed32b881fea4562b84e0";
sha256 = "a20c3f1a633500a65c099c528c7dc2405daa60738b64d881bb8f2036ae59913c";
};
buildInputs =
[ alsaLib cmake gtk jackaudio libgnomecanvas libpthreadstubs
libsamplerate libsndfile libtool libxml2 pkgconfig
];
dontUseCmakeBuildDir=true;
meta = with stdenv.lib; {
description = "MIDI controllable audio sampler";
longDescription = "a fork of Specimen";
homepage = http://petri-foo.sourceforge.net;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,22 +0,0 @@
{ stdenv, fetchurl, alsaLib, cmake, qt4 }:
stdenv.mkDerivation rec {
name = "pianobooster-${version}";
version = "0.6.4b";
src = fetchurl {
url = "mirror://sourceforge/pianobooster/pianobooster-src-0.6.4b.tar.gz";
sha256 = "1xwyap0288xcl0ihjv52vv4ijsjl0yq67scc509aia4plmlm6l35";
};
preConfigure = "cd src";
buildInputs = [ alsaLib cmake qt4 ];
meta = with stdenv.lib; {
description = "A MIDI file player that teaches you how to play the piano";
homepage = http://pianobooster.sourceforge.net;
license = licenses.gpl3;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,46 +0,0 @@
{ 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

@@ -1,26 +0,0 @@
{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,28 +0,0 @@
{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib,
libX11, libtool, tcl, tk }:
stdenv.mkDerivation rec {
name = "puredata-${version}";
version = "0.43-0";
src = fetchurl {
url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz";
sha256 = "1qfq7x8vj12kr0cdrnbvmxfhc03flicc6vcc8bz6hwrrakwciyz2";
};
buildInputs = [ alsaLib autoconf automake fftw gettext glib libX11
libtool tcl tk ];
preConfigure = ''
./autogen.sh
'';
meta = with stdenv.lib; {
description = ''Real-time graphical programming environment for
audio, video, and graphical processing'';
homepage = http://puredata.info;
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

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

View File

@@ -1,24 +0,0 @@
{ stdenv, fetchsvn, autoconf, automake, liblscp, libtool, pkgconfig
, qt4 }:
stdenv.mkDerivation rec {
name = "qsampler-svn-${version}";
version = "2342";
src = fetchsvn {
url = "https://svn.linuxsampler.org/svn/qsampler/trunk";
rev = "${version}";
sha256 = "17w3vgpgfmvl11wsd5ndk9zdggl3gbzv3wbd45dyf2al4i0miqnx";
};
buildInputs = [ autoconf automake liblscp libtool pkgconfig qt4 ];
preConfigure = "make -f Makefile.svn";
meta = with stdenv.lib; {
homepage = http://www.linuxsampler.org;
description = "graphical frontend to LinuxSampler";
license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,20 +0,0 @@
{ stdenv, fetchurl, alsaLib, fluidsynth, jackaudio, qt4 }:
stdenv.mkDerivation rec {
name = "qsynth-${version}";
version = "0.3.6";
src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz";
sha256 = "0g7vaffpgs7v2p71ml5p7fzxz50mhlaklgf9zk4wbfk1hslqv5mm";
};
buildInputs = [ alsaLib fluidsynth jackaudio qt4 ];
meta = with stdenv.lib; {
description = "Fluidsynth GUI";
homepage = http://sourceforge.net/projects/qsynth;
license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,27 +0,0 @@
{ alsaLib, autoconf, automake, dssi, fetchurl, gtk, jackaudio
, ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile
, libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
stdenv.mkDerivation rec {
version = "0.5.4";
name = "qtractor-${version}";
src = fetchurl {
url = "mirror://sourceforge/qtractor/${name}.tar.gz";
sha256 = "08vnvjl4w6z49s5shnip0qlwib0gwixw9wrqbazkh62i328fa05l";
};
buildInputs =
[ alsaLib autoconf automake dssi gtk jackaudio ladspaH
ladspaPlugins liblo libmad libsamplerate libsndfile libtool
libvorbis pkgconfig qt4 rubberband
];
meta = with stdenv.lib; {
description = "Audio/MIDI multi-track sequencer";
homepage = http://qtractor.sourceforge.net;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,25 +0,0 @@
{ stdenv, fetchurl, alsaLib, alsaUtils, fltk, jackaudio, libXft,
libXpm, libjpeg, libpng, libsamplerate, libsndfile, zlib }:
stdenv.mkDerivation rec {
name = "rakarrack-${version}";
version = "0.6.1";
src = fetchurl {
url = "mirror://sourceforge/rakarrack/${name}.tar.bz2";
sha256 = "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn";
};
patches = [ ./fltk-path.patch ];
buildInputs = [ alsaLib alsaUtils fltk jackaudio libXft libXpm libjpeg
libpng libsamplerate libsndfile zlib ];
meta = with stdenv.lib; {
description = "multi-effects processor emulating a guitar effects pedalboard";
homepage = http://rakarrack.sourceforge.net;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,35 +0,0 @@
commit 47245c3fd30dc326fedd7cdae444ddcf0fd97490
Author: holborn <holborn@users.sourceforge.net>
Date: Tue Apr 19 15:02:26 2011 +0100
Fix FL path
modified: src/global.h
modified: src/process.C
diff --git a/src/global.h b/src/global.h
index fc74b06..3e33da9 100644
--- a/src/global.h
+++ b/src/global.h
@@ -176,7 +176,7 @@ return y;
#include <X11/xpm.h>
#include <jack/jack.h>
#include <jack/midiport.h>
-#include <Fl/Fl_Preferences.H>
+#include <FL/Fl_Preferences.H>
#include "FPreset.h"
#include "Reverb.h"
#include "Chorus.h"
diff --git a/src/process.C b/src/process.C
index 51bbc65..c993ff8 100644
--- a/src/process.C
+++ b/src/process.C
@@ -28,7 +28,7 @@
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
-#include <Fl/Fl_Preferences.H>
+#include <FL/Fl_Preferences.H>
#include "global.h"
int Pexitprogram, preset;

View File

@@ -1,21 +0,0 @@
{ stdenv, fetchurl, alsaLib, gtkmm, jackaudio, pkgconfig }:
stdenv.mkDerivation rec {
name = "seq24-${version}";
version = "0.9.2";
src = fetchurl {
url = "http://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz";
sha256 = "07n80zj95i80vjmsflnlbqx5vv90qmp5f6a0zap8d30849l4y258";
};
buildInputs = [ alsaLib gtkmm jackaudio pkgconfig ];
meta = with stdenv.lib; {
description = "minimal loop based midi sequencer";
homepage = "http://www.filter24.org/seq24";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -40,7 +40,7 @@ rec {
makeDocsWork = fullDepEntry ''
# hackish way to make html docs work
h="$out/share/snd/html"; mkdir -p "$h"; cp *.html "$h"
h="$out/share/snd/html"; ensureDir "$h"; cp *.html "$h"
patch -p1 < ${./doc.patch}
sed "s@HTML-DIR@$h@" -i index.scm snd-help.c
'' ["defEnsureDir"];

View File

@@ -1,58 +0,0 @@
# TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html
{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo
, libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
, libsndfile, makeWrapper, pkgconfig, pulseaudio, qt4, redland
, rubberband, vampSDK
}:
stdenv.mkDerivation rec {
name = "sonic-visualiser-${version}";
version = "1.9";
src = fetchurl {
url = "http://code.soundsoftware.ac.uk/attachments/download/194/${name}.tar.gz";
sha256 = "00igf7j6s8xfyxnlkbqma0yby9pknxqzy8cmh0aw95ix80cw56fq";
};
buildInputs =
[ libsndfile qt4 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
pkgconfig
# optional
jackaudio
# portaudio
pulseaudio
libmad
libogg # ?
# fishsound
liblo
libX11
makeWrapper
];
buildPhase = ''
for i in sonic-visualiser svapp svcore svgui;
do cd $i && qmake -makefile PREFIX=$out && cd ..;
done
make
'';
installPhase = ''
mkdir -p $out/{bin,share/sonic-visualiser}
cp sonic-visualiser/sonic-visualiser $out/bin
cp -r sonic-visualiser/samples $out/share/sonic-visualiser/samples
wrapProgram $out/bin/sonic-visualiser --prefix LD_LIBRARY_PATH : ${libX11}/lib
'';
meta = {
description = "View and analyse contents of music audio files";
homepage = http://www.sonicvisualiser.org/;
license = "GPLv2";
maintainers =
[ stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.goibhniu
];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,45 @@
# TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html
{ stdenv, fetchurl, libsndfile, qt, fftw, librdf, rubberband
, libsamplerate, vampSDK, alsaLib, librdf_raptor, librdf_rasqal
, redland, jackaudio, pulseaudio, libmad, libogg, liblo, bzip2 }:
stdenv.mkDerivation {
name = "sonic-visualizer-1.6";
src = fetchurl {
url = http://downloads.sourceforge.net/sv1/sonic-visualiser-1.6.tar.bz2;
sha256 = "1dbqqa7anii2jnjpfwm4sr83nn4bwmz68xw4n6clycsz5iqk52f5";
};
buildInputs =
[ libsndfile qt fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
# optional
jackaudio
# portaudio
pulseaudio
libmad
libogg # ?
# fishsound
liblo
];
buildPhase = ''
qmake -makefile PREFIX=$out && make
'';
installPhase = ''
ensureDir $out/{bin,share/sv}
cp sv/sonic-visualiser $out/bin
cp -r sv/samples $out/share/sv/samples
'';
meta = {
description = "View and analyse contents of music audio files";
homepage = http://www.sonicvisualiser.org/;
license = "GPLv2";
maintainers = [ stdenv.lib.maintainers.marcweber ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -1,8 +1,8 @@
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl }:
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
let version = "0.8.3.278"; in
let version = "0.4.9.302"; in
stdenv.mkDerivation {
name = "spotify-${version}";
@@ -10,13 +10,13 @@ stdenv.mkDerivation {
src =
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-qt_${version}.g604b4fb-1_i386.deb";
sha256 = "1kw3jfvz8a9v6zl3yh6f51vsick35kmcf7vkbjb6wl0nk1a8q8gg";
}
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-qt_${version}.g604b4fb-1_amd64.deb";
sha256 = "1cghs3hwmqnd7g62g1h2bf3yvxgjq8b94vzhp1w9ysb5rswyjkyv";
}
else throw "Spotify not supported on this platform.";
@@ -31,15 +31,9 @@ stdenv.mkDerivation {
mv $out/usr/* $out/
rmdir $out/usr
# 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
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 \
--set-rpath ${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver qt4 alsaLib stdenv.gcc.gcc ]}:${stdenv.gcc.gcc}/lib64 \
$out/bin/spotify
preload=$out/libexec/spotify/libpreload.so

View File

@@ -57,10 +57,3 @@ int __xstat64(int ver, const char *path, struct stat64 *st)
int (*___xstat64) (int ver, const char *, struct stat64 *) = dlsym(RTLD_NEXT, "__xstat64");
return ___xstat64(ver, rewrite(path, buf), st);
}
int access(const char *path, int mode)
{
char buf[PATH_MAX];
int (*_access) (const char *path, int mode) = dlsym(RTLD_NEXT, "access");
return _access(rewrite(path, buf), mode);
}

View File

@@ -1,39 +0,0 @@
{ 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

@@ -1,32 +0,0 @@
{ stdenv, fetchurl, alsaLib, libX11, makeWrapper, tcl, tk }:
stdenv.mkDerivation rec {
name = "vkeybd-${version}";
version = "0.1.18d";
src = fetchurl {
url = "ftp://ftp.suse.com/pub/people/tiwai/vkeybd/${name}.tar.bz2";
sha256 = "0107b5j1gf7dwp7qb4w2snj4bqiyps53d66qzl2rwj4jfpakws5a";
};
buildInputs = [ alsaLib libX11 makeWrapper tcl tk ];
configurePhase = ''
mkdir -p $out/bin
sed -e "s@/usr/local@$out@" -i Makefile
'';
makeFlags = [ "TKLIB=-ltk8.5" "TCLLIB=-ltcl8.5" ];
postInstall = ''
wrapProgram $out/bin/vkeybd --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
'';
meta = with stdenv.lib; {
description = "Virtual MIDI keyboard";
homepage = http://www.alsa-project.org/~tiwai/alsa.html;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -2,14 +2,18 @@
, speex, flac}:
stdenv.mkDerivation {
name = "vorbis-tools-1.4.0";
name = "vorbis-tools-1.1.1";
src = fetchurl {
url = http://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.0.tar.gz;
sha256 = "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3";
url = http://downloads.xiph.org/releases/vorbis/vorbis-tools-1.1.1.tar.gz;
sha256 = "617b4aa69e600c215b34fa3fd5764bc1d9d205d9d7d9fe7812bde7ec956fcaad";
};
# FIXME: Vorbis-tools expects `libOggFLAC', but this library was
# merged with `libFLAC' as of FLAC 1.1.3.
buildInputs = [ libogg libvorbis libao pkgconfig curl speex glibc flac ];
patches = [ ./ogg123-curlopt-mute.patch ];
meta = {
longDescription = ''
A set of command-line tools to manipulate Ogg Vorbis audio

View File

@@ -0,0 +1,13 @@
--- vorbis-tools-1.1.1/ogg123/http_transport.c 2005-06-13 15:11:44.000000000 +0200
+++ vorbis-tools-1.1.1/ogg123/http_transport.c 2008-02-12 18:38:41.000000000 +0100
@@ -116,7 +116,9 @@ void set_curl_opts (http_private_t *priv
if (inputOpts.ProxyTunnel)
curl_easy_setopt (handle, CURLOPT_HTTPPROXYTUNNEL, inputOpts.ProxyTunnel);
*/
+#ifdef CURLOPT_MUTE
curl_easy_setopt(handle, CURLOPT_MUTE, 1);
+#endif
curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, private->error);
curl_easy_setopt(handle, CURLOPT_PROGRESSFUNCTION, progress_callback);
curl_easy_setopt(handle, CURLOPT_PROGRESSDATA, private);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
{stdenv, fetchurl, alsaLib, esound, libogg, libvorbis, glib, gtk}:
stdenv.mkDerivation {
name = "xmms-1.2.10";
src = fetchurl {
url = http://nixos.org/tarballs/xmms-1.2.10.tar.bz2;
md5 = "03a85cfc5e1877a2e1f7be4fa1d3f63c";
};
# Patch borrowed from SuSE 10.0 to fix pause/continue on ALSA.
patches = [./alsa.patch];
buildInputs = [alsaLib esound libogg libvorbis glib gtk];
meta = {
description = "A music player very similar to Winamp";
homepage = http://www.xmms.org;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -1,37 +0,0 @@
{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk, jackaudio,
ladspaH, ladspaPlugins, liblo, pkgconfig }:
stdenv.mkDerivation rec {
name = "xsynth-dssi-${version}";
version = "0.9.4";
src = fetchurl {
url = "mirror://sourceforge/dssi/${name}.tar.gz";
sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk";
};
buildInputs = [ alsaLib autoconf automake dssi gtk jackaudio ladspaH
ladspaPlugins liblo pkgconfig ];
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/lib
cp src/Xsynth_gtk $out/bin
cp src/.libs/* $out/lib
'';
meta = with stdenv.lib; {
description = "classic-analog (VCOs-VCF-VCA) style software synthesizer";
longDescription = ''
Xsynth-DSSI is a classic-analog (VCOs-VCF-VCA) style software
synthesizer which operates as a plugin for the DSSI Soft Synth
Interface. DSSI is a plugin API for software instruments (soft
synths) with user interfaces, permitting them to be hosted
in-process by audio applications.
'';
homepage = "http://dssi.sourceforge.net/download.html#Xsynth-DSSI";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,35 +0,0 @@
{ stdenv, fetchurl, alsaLib, boost, cmake, fftwSinglePrec, fltk
, jackaudio, libsndfile, mesa, minixml, pkgconfig, zlib }:
assert stdenv ? glibc;
stdenv.mkDerivation rec {
name = "yoshimi-${version}";
version = "0.060.12";
src = fetchurl {
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
sha256 = "14javywkw6af9z9c7jr06rzdgzncyaz2ab6f0v0k6bgdndlcgslc";
};
buildInputs = [ alsaLib boost fftwSinglePrec fltk jackaudio libsndfile mesa
minixml zlib ];
buildNativeInputs = [ cmake pkgconfig ];
preConfigure = "cd src";
cmakeFlags = [ "-DFLTK_MATH_LIBRARY=${stdenv.glibc}/lib/libm.so" ];
meta = with stdenv.lib; {
description = "high quality software synthesizer based on ZynAddSubFX";
longDescription = ''
Yoshimi delivers the same synthesizer capabilities as
ZynAddSubFX along with very good Jack and Alsa midi/audio
functionality on Linux
'';
homepage = http://yoshimi.sourceforge.net;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,31 +0,0 @@
{ stdenv, fetchurl, alsaLib, cmake, fftw, fltk13, minixml, pkgconfig, zlib }:
stdenv.mkDerivation rec {
name = "zynaddsubfx-${version}";
version = "2.4.1";
src = fetchurl {
url = "mirror://sourceforge/zynaddsubfx/ZynAddSubFX-${version}.tar.bz2";
sha256 = "1zn5lgh76rrbfj8d4jys2gc1j2pqrbdd18ywfdrk0s7jq4inwyfg";
};
buildInputs = [ alsaLib fftw fltk13 minixml zlib ];
buildNativeInputs = [ cmake pkgconfig ];
patches = [
(fetchurl {
url = http://patch-tracker.debian.org/patch/series/dl/zynaddsubfx/2.4.0-1.2/09_fluid_1.3.patch;
sha256 = "06wl7fs44b24ls1fzh21596n6zzc3ywm2bcdfrkfiiwpzin3yjq6";
})
];
#installPhase = "mkdir -pv $out/bin; cp -v zynaddsubfx $out/bin";
meta = with stdenv.lib; {
description = "high quality software synthesizer";
homepage = http://zynaddsubfx.sourceforge.net;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@@ -1,33 +1,39 @@
{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
, fontconfig, freetype, pam, dbus_libs }:
{stdenv, fetchurl, x11, libjpeg, libpng, libXmu, freetype, pam}:
stdenv.mkDerivation rec {
name = "slim-1.3.4";
name = "slim-1.3.2";
src = fetchurl {
url = "http://download.berlios.de/slim/${name}.tar.gz";
sha256 = "00fmrg2v41jnqhx0yc1kv97xxh5gai18n0i4as9g1fcq1i32cp0m";
sha256 = "1f42skdp5k1zrb364s3i0ps5wmx9szz9h192i2dkn9az00jh2mpi";
};
patches = [
# Allow the paths of the configuration file and theme directory to
# be set at runtime.
./runtime-paths.patch
# Fix a bug in slim's PAM support: the "resp" argument to the
# conversation function is a pointer to a pointer to an array of
# pam_response structures, not a pointer to an array of pointers to
# pam_response structures. Of course C can't tell the difference...
./pam.patch
# Don't set PAM_RHOST to "localhost", it confuses ConsoleKit
# (which assumes that a non-empty string means a remote session).
./pam2.patch
];
buildInputs =
[ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
pam dbus_libs
];
buildInputs = [x11 libjpeg libpng libXmu freetype pam];
preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
cmakeFlags = [ "-DUSE_PAM=1" ];
NIX_CFLAGS_LINK = "-lXmu";
preBuild = ''
substituteInPlace Makefile --replace /usr /no-such-path
makeFlagsArray=(CC=gcc CXX=g++ PREFIX=$out MANDIR=$out/share/man CFGDIR=$out/etc USE_PAM=1)
'';
meta = {
homepage = http://slim.berlios.de;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,89 @@
diff -rc slim-1.3.1-orig/app.cpp slim-1.3.1/app.cpp
*** slim-1.3.1-orig/app.cpp 2008-09-26 02:54:15.000000000 +0200
--- slim-1.3.1/app.cpp 2009-02-17 19:50:06.000000000 +0100
***************
*** 41,48 ****
Panel* panel = *static_cast<Panel**>(appdata_ptr);
int result = PAM_SUCCESS;
for (int i=0; i<num_msg; i++){
! resp[i]->resp=0;
! resp[i]->resp_retcode=0;
switch(msg[i]->msg_style){
case PAM_PROMPT_ECHO_ON:
// We assume PAM is asking for the username
--- 41,48 ----
Panel* panel = *static_cast<Panel**>(appdata_ptr);
int result = PAM_SUCCESS;
for (int i=0; i<num_msg; i++){
! (*resp)[i].resp=0;
! (*resp)[i].resp_retcode=0;
switch(msg[i]->msg_style){
case PAM_PROMPT_ECHO_ON:
// We assume PAM is asking for the username
***************
*** 51,63 ****
case Panel::Suspend:
case Panel::Halt:
case Panel::Reboot:
! resp[i]->resp=strdup("root");
break;
case Panel::Console:
case Panel::Exit:
case Panel::Login:
! resp[i]->resp=strdup(panel->GetName().c_str());
break;
}
break;
--- 51,63 ----
case Panel::Suspend:
case Panel::Halt:
case Panel::Reboot:
! (*resp)[i].resp=strdup("root");
break;
case Panel::Console:
case Panel::Exit:
case Panel::Login:
! (*resp)[i].resp=strdup(panel->GetName().c_str());
break;
}
break;
***************
*** 73,79 ****
default:
panel->EventHandler(Panel::Get_Passwd);
! resp[i]->resp=strdup(panel->GetPasswd().c_str());
break;
}
break;
--- 73,79 ----
default:
panel->EventHandler(Panel::Get_Passwd);
! (*resp)[i].resp=strdup(panel->GetPasswd().c_str());
break;
}
break;
***************
*** 89,97 ****
}
if (result!=PAM_SUCCESS){
for (int i=0; i<num_msg; i++){
! if (resp[i]->resp==0) continue;
! free(resp[i]->resp);
! resp[i]->resp=0;
};
free(*resp);
*resp=0;
--- 89,97 ----
}
if (result!=PAM_SUCCESS){
for (int i=0; i<num_msg; i++){
! if ((*resp)[i].resp==0) continue;
! free((*resp)[i].resp);
! (*resp)[i].resp=0;
};
free(*resp);
*resp=0;

View File

@@ -0,0 +1,20 @@
diff -rc slim-1.3.1-orig/app.cpp slim-1.3.1/app.cpp
*** slim-1.3.1-orig/app.cpp 2008-09-26 02:54:15.000000000 +0200
--- slim-1.3.1/app.cpp 2009-08-17 02:59:37.000000000 +0200
***************
*** 226,232 ****
pam.start("slim");
pam.set_item(PAM::Authenticator::TTY, DisplayName);
pam.set_item(PAM::Authenticator::Requestor, "root");
! pam.set_item(PAM::Authenticator::Host, "localhost");
}
catch(PAM::Exception& e){
--- 226,232 ----
pam.start("slim");
pam.set_item(PAM::Authenticator::TTY, DisplayName);
pam.set_item(PAM::Authenticator::Requestor, "root");
! pam.set_item(PAM::Authenticator::Host, "");
}
catch(PAM::Exception& e){

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