mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 19:00:19 +08:00
Compare commits
7 Commits
binary
...
backups/st
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
448be29a21 | ||
|
|
28ad00775f | ||
|
|
ef94f7d4e9 | ||
|
|
552f7b4ec8 | ||
|
|
98644029cf | ||
|
|
8afe8cfff0 | ||
|
|
d76f7de2da |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,4 +0,0 @@
|
||||
*~
|
||||
,*
|
||||
.*.swp
|
||||
.*.swo
|
||||
@@ -7,13 +7,13 @@
|
||||
<para>This manual tells you how to write packages for the Nix Packages
|
||||
collection (Nixpkgs). Thus it’s 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>
|
||||
|
||||
@@ -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>. It’s implemented in <link
|
||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
|
||||
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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ interpretation:</para>
|
||||
<alice@example.org>" "Bob <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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 don’t 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 doesn’t 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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
116
doc/style.css
116
doc/style.css
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
@@ -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
|
||||
|
||||
@@ -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 "]"
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
13
pkgs/applications/audio/GStreamer/default.nix
Normal file
13
pkgs/applications/audio/GStreamer/default.nix
Normal 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];
|
||||
}
|
||||
@@ -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 ];
|
||||
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
16
pkgs/applications/audio/abcde/cd-paranoia.patch
Normal file
16
pkgs/applications/audio/abcde/cd-paranoia.patch
Normal 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
|
||||
@@ -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)";
|
||||
|
||||
|
||||
21
pkgs/applications/audio/abcde/install.patch
Normal file
21
pkgs/applications/audio/abcde/install.patch
Normal 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 \
|
||||
16
pkgs/applications/audio/abcde/which.patch
Normal file
16
pkgs/applications/audio/abcde/which.patch
Normal 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."
|
||||
@@ -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";
|
||||
|
||||
@@ -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)
|
||||
37
pkgs/applications/audio/amarok/live.nix
Normal file
37
pkgs/applications/audio/amarok/live.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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/;
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
46
pkgs/applications/audio/cdparanoia/fix.patch
Normal file
46
pkgs/applications/audio/cdparanoia/fix.patch
Normal 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 ----
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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+";
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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))
|
||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/bin $out/man/man1
|
||||
ensureDir $out/bin $out/man/man1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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"
|
||||
'';
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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"];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
45
pkgs/applications/audio/sonic-visualizer/default.nix
Normal file
45
pkgs/applications/audio/sonic-visualizer/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
1475
pkgs/applications/audio/xmms/alsa.patch
Normal file
1475
pkgs/applications/audio/xmms/alsa.patch
Normal file
File diff suppressed because it is too large
Load Diff
21
pkgs/applications/audio/xmms/default.nix
Normal file
21
pkgs/applications/audio/xmms/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
89
pkgs/applications/display-managers/slim/pam.patch
Normal file
89
pkgs/applications/display-managers/slim/pam.patch
Normal 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;
|
||||
20
pkgs/applications/display-managers/slim/pam2.patch
Normal file
20
pkgs/applications/display-managers/slim/pam2.patch
Normal 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
Reference in New Issue
Block a user