mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-24 20:02:58 +03:00
Merge remote-tracking branch 'origin/master' into staging
Conflicts: pkgs/applications/audio/espeak/edit.nix pkgs/applications/audio/lmms/default.nix pkgs/desktops/e18/enlightenment.nix pkgs/games/exult/default.nix pkgs/os-specific/linux/alsa-plugins/default.nix
This commit is contained in:
commit
f64d84698e
21
doc/contributing.xml
Normal file
21
doc/contributing.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:id="chap-contributing">
|
||||
|
||||
<title>Contributing</title>
|
||||
|
||||
<para>If you make modifications to the manual, it's important to build the manual before contributing:</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem><para><command>$ git clone git://github.com/NixOS/nixpkgs.git</command></para></listitem>
|
||||
|
||||
<listitem><para><command>$ cd nixpkgs/pkgs/top-level</command></para></listitem>
|
||||
|
||||
<listitem><para><command>$ nix-build -A tarball release.nix</command></para></listitem>
|
||||
|
||||
<listitem><para>Inside the built derivation you shall see <literal>manual/index.html</literal> file.</para></listitem>
|
||||
|
||||
</orderedlist>
|
||||
|
||||
</chapter>
|
@ -32,6 +32,7 @@
|
||||
<xi:include href="language-support.xml" />
|
||||
<xi:include href="package-notes.xml" />
|
||||
<xi:include href="coding-conventions.xml" />
|
||||
<xi:include href="contributing.xml" />
|
||||
|
||||
|
||||
</book>
|
||||
|
155
doc/meta.xml
155
doc/meta.xml
@ -17,7 +17,9 @@ meta = {
|
||||
It is fully customizable.
|
||||
'';
|
||||
homepage = http://www.gnu.org/software/hello/manual/;
|
||||
license = "GPLv3+";
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
@ -31,16 +33,42 @@ the package. The value of a meta-attribute must a string.</para>
|
||||
command-line using <command>nix-env</command>:
|
||||
|
||||
<screen>
|
||||
$ nix-env -qa hello --meta --xml
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<items>
|
||||
<item attrPath="hello" name="hello-2.3" system="i686-linux">
|
||||
<meta name="description" value="A program that produces a familiar, friendly greeting" />
|
||||
<meta name="homepage" value="http://www.gnu.org/software/hello/manual/" />
|
||||
<meta name="license" value="GPLv3+" />
|
||||
<meta name="longDescription" value="GNU Hello is a program that prints &quot;Hello, world!&quot; when you run it.&#xA;It is fully customizable.&#xA;" />
|
||||
</item>
|
||||
</items>
|
||||
$ nix-env -qa hello --meta --json
|
||||
{
|
||||
"hello": {
|
||||
"meta": {
|
||||
"description": "A program that produces a familiar, friendly greeting",
|
||||
"homepage": "http://www.gnu.org/software/hello/manual/",
|
||||
"license": {
|
||||
"fullName": "GNU General Public License version 3 or later",
|
||||
"shortName": "GPLv3+",
|
||||
"url": "http://www.fsf.org/licensing/licenses/gpl.html"
|
||||
},
|
||||
"longDescription": "GNU Hello is a program that prints \"Hello, world!\" when you run it.\nIt is fully customizable.\n",
|
||||
"maintainers": [
|
||||
"Ludovic Court\u00e8s <ludo@gnu.org>"
|
||||
],
|
||||
"platforms": [
|
||||
"i686-linux",
|
||||
"x86_64-linux",
|
||||
"armv5tel-linux",
|
||||
"armv7l-linux",
|
||||
"mips64el-linux",
|
||||
"x86_64-darwin",
|
||||
"i686-cygwin",
|
||||
"i686-freebsd",
|
||||
"x86_64-freebsd",
|
||||
"i686-openbsd",
|
||||
"x86_64-openbsd"
|
||||
],
|
||||
"position": "/home/user/dev/nixpkgs/pkgs/applications/misc/hello/ex-2/default.nix:14"
|
||||
},
|
||||
"name": "hello-2.9",
|
||||
"system": "x86_64-linux"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</screen>
|
||||
|
||||
<command>nix-env</command> knows about the
|
||||
@ -92,20 +120,22 @@ interpretation:</para>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>license</varname></term>
|
||||
<listitem><para>The license for the package. See below for the
|
||||
allowed values.</para></listitem>
|
||||
<listitem><para>The license for the package. One from attribute set defined in
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/licenses.nix">
|
||||
<filename>nixpkgs/lib/licenses.nix</filename></link>.
|
||||
Example:
|
||||
<literal>stdenv.lib.licenses.gpl3</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>maintainers</varname></term>
|
||||
<listitem><para>A list of names and e-mail addresses of the
|
||||
maintainers of this Nix expression, e.g. <literal>["Alice
|
||||
<alice@example.org>" "Bob <bob@example.com>"]</literal>. If
|
||||
you are the maintainer of multiple packages, you may want to add
|
||||
maintainers of this Nix expression. If
|
||||
you would like to be a maintainer of a package, 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>
|
||||
and write something like <literal>[stdenv.lib.maintainers.alice
|
||||
stdenv.lib.maintainers.bob]</literal>.</para></listitem>
|
||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/maintainers.nix"><filename>nixpkgs/lib/maintainers.nix</filename></link>
|
||||
and write something like <literal>[ stdenv.lib.maintainers.alice
|
||||
stdenv.lib.maintainers.bob ]</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -121,29 +151,25 @@ interpretation:</para>
|
||||
<varlistentry>
|
||||
<term><varname>platforms</varname></term>
|
||||
<listitem><para>The list of Nix platform types on which the
|
||||
package is supported. If this attribute is set, the package will
|
||||
refuse to build, and won’t show up in <literal>nix-env
|
||||
-qa</literal> output, on any platform not listed
|
||||
here. An example is:
|
||||
package is supported. Hydra builds packages according to the
|
||||
platform specified. If no platform is specified, the package does
|
||||
not have prebuilt binaries. An example is:
|
||||
|
||||
<programlisting>
|
||||
meta.platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
|
||||
</programlisting>
|
||||
|
||||
The set <varname>lib.platforms</varname> defines various common
|
||||
lists of platforms types, so it’s more typical to write:
|
||||
|
||||
<programlisting>
|
||||
meta.platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||
meta.platforms = stdenv.lib.platforms.linux;
|
||||
</programlisting>
|
||||
|
||||
Attribute Set <varname>stdenv.lib.platforms</varname> in
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/platforms.nix">
|
||||
<filename>nixpkgs/lib/platforms.nix</filename></link> defines various common
|
||||
lists of platforms types.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>hydraPlatforms</varname></term>
|
||||
<listitem><para>The list of Nix platform types for which the Hydra
|
||||
instance at <literal>hydra.nixos.org</literal> should build the
|
||||
instance at <literal>hydra.nixos.org</literal> will build the
|
||||
package. (Hydra is the Nix-based continuous build system.) It
|
||||
defaults to the value of <varname>meta.platforms</varname>. Thus,
|
||||
the only reason to set <varname>meta.hydraPlatforms</varname> is
|
||||
@ -176,80 +202,17 @@ meta.hydraPlatforms = [];
|
||||
|
||||
<section xml:id="sec-meta-license"><title>Licenses</title>
|
||||
|
||||
<note><para>This is just a first attempt at standardising the license
|
||||
attribute.</para></note>
|
||||
|
||||
<para>The <varname>meta.license</varname> attribute must be one of the
|
||||
<para>The <varname>meta.license</varname> attribute could be one of the
|
||||
following:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>GPL</varname></term>
|
||||
<listitem><para>GNU General Public License; version not
|
||||
specified.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>GPLv2</varname></term>
|
||||
<listitem><para>GNU General Public License, version
|
||||
2.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>GPLv2+</varname></term>
|
||||
<listitem><para>GNU General Public License, version
|
||||
2 or higher.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>GPLv3</varname></term>
|
||||
<listitem><para>GNU General Public License, version
|
||||
3.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>GPLv3+</varname></term>
|
||||
<listitem><para>GNU General Public License, version
|
||||
3 or higher.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>bsd</varname></term>
|
||||
<listitem><para>Catch-all for licenses that are essentially
|
||||
similar to <link
|
||||
xlink:href="http://www.gnu.org/licenses/license-list.html#ModifiedBSD">the
|
||||
original BSD license with the advertising clause removed</link>,
|
||||
i.e. permissive non-copyleft free software licenses. This
|
||||
includes the <link
|
||||
xlink:href="http://www.gnu.org/licenses/license-list.html#X11License">X11
|
||||
(“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
|
||||
above.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>free-copyleft</varname></term>
|
||||
<listitem><para>Catch-all for free, copyleft software licenses not
|
||||
listed above.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>free-non-copyleft</varname></term>
|
||||
<listitem><para>Catch-all for free, non-copyleft software licenses
|
||||
not listed above.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>unfree-redistributable</varname></term>
|
||||
<listitem><para>Unfree package that can be redistributed in binary
|
||||
|
@ -155,9 +155,10 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>You can use <command>nix-prefetch-url</command>
|
||||
<para>You can use <command>nix-prefetch-url</command> (or similar nix-prefetch-git, etc)
|
||||
<replaceable>url</replaceable> to get the SHA-256 hash of
|
||||
source distributions.</para>
|
||||
source distributions. There are similar commands as <command>nix-prefetch-git</command> and
|
||||
<command>nix-prefetch-hg</command> available in <literal>nix-prefetch-scripts</literal> package.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
@ -221,17 +222,10 @@ $ 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 and open a pull request, or send a patch to
|
||||
<literal>nix-dev@cs.uu.nl</literal>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>If you want the TU Delft build farm to build binaries of the
|
||||
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>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
|
||||
|
12
nixos/doc/manual/README
Normal file
12
nixos/doc/manual/README
Normal file
@ -0,0 +1,12 @@
|
||||
To build the manual, you need Nix installed on your system (no need
|
||||
for NixOS). To install Nix, follow the instructions at
|
||||
|
||||
https://nixos.org/nix/download.html
|
||||
|
||||
When you have Nix on your system, in the root directory of the project
|
||||
(i.e., `nixpkgs`), run:
|
||||
|
||||
nix-build nixos/release.nix -A manual.x86_64-linux
|
||||
|
||||
When this command successfully finishes, it will tell you where the
|
||||
manual got generated.
|
@ -4,6 +4,8 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.rabbitmq;
|
||||
config_file = pkgs.writeText "rabbitmq.config" cfg.config;
|
||||
config_file_wo_suffix = builtins.substring 0 ((builtins.stringLength config_file) - 7) config_file;
|
||||
|
||||
in {
|
||||
###### interface
|
||||
@ -31,7 +33,6 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/rabbitmq";
|
||||
@ -40,6 +41,30 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
cookie = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Erlang cookie is a string of arbitrary length which must
|
||||
be the same for several nodes to be allowed to communicate.
|
||||
Leave empty to generate automatically.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Verbatim configuration file contents.
|
||||
See http://www.rabbitmq.com/configure.htm
|
||||
'';
|
||||
};
|
||||
|
||||
plugins = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.str;
|
||||
description = "The names of plugins to enable";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -69,7 +94,10 @@ in {
|
||||
RABBITMQ_NODE_IP_ADDRESS = cfg.listenAddress;
|
||||
RABBITMQ_SERVER_START_ARGS = "-rabbit error_logger tty -rabbit sasl_error_logger false";
|
||||
SYS_PREFIX = "";
|
||||
};
|
||||
RABBITMQ_ENABLED_PLUGINS_FILE = pkgs.writeText "enabled_plugins" ''
|
||||
[ ${concatStringsSep "," cfg.plugins} ].
|
||||
'';
|
||||
} // optionalAttrs (cfg.config != "") { RABBITMQ_CONFIG_FILE = config_file_wo_suffix; };
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.rabbitmq_server}/sbin/rabbitmq-server";
|
||||
@ -81,6 +109,15 @@ in {
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.dataDir} && chmod 0700 ${cfg.dataDir}
|
||||
if [ "$(id -u)" = 0 ]; then chown rabbitmq:rabbitmq ${cfg.dataDir}; fi
|
||||
|
||||
${optionalString (cfg.cookie != "") ''
|
||||
echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie
|
||||
chmod 400 ${cfg.dataDir}/.erlang.cookie
|
||||
chown rabbitmq:rabbitmq ${cfg.dataDir}/.erlang.cookie
|
||||
''}
|
||||
|
||||
mkdir -p /var/log/rabbitmq && chmod 0700 /var/log/rabbitmq
|
||||
chown rabbitmq:rabbitmq /var/log/rabbitmq
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -1,32 +1,35 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
serveOnly = pkgs.writeScript "nix-store-serve" ''
|
||||
#!${pkgs.stdenv.shell}
|
||||
if [ "$SSH_ORIGINAL_COMMAND" != "nix-store --serve" ]; then
|
||||
echo 'Error: You are only allowed to run `nix-store --serve'\'''!' >&2
|
||||
exit 1
|
||||
fi
|
||||
exec /run/current-system/sw/bin/nix-store --serve
|
||||
'';
|
||||
with lib;
|
||||
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in {
|
||||
{
|
||||
options = {
|
||||
|
||||
nix.sshServe = {
|
||||
|
||||
enable = mkOption {
|
||||
description = "Whether to enable serving the nix store over ssh.";
|
||||
default = false;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable serving the Nix store as a binary cache via SSH.";
|
||||
};
|
||||
|
||||
keys = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "ssh-dss AAAAB3NzaC1k... alice@example.org" ];
|
||||
description = "A list of SSH public keys allowed to access the binary cache via SSH.";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf config.nix.sshServe.enable {
|
||||
|
||||
users.extraUsers.nix-ssh = {
|
||||
description = "User for running nix-store --serve.";
|
||||
description = "Nix SSH substituter user";
|
||||
uid = config.ids.uids.nix-ssh;
|
||||
shell = pkgs.stdenv.shell;
|
||||
useDefaultShell = true;
|
||||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
@ -38,8 +41,11 @@ in {
|
||||
PermitTTY no
|
||||
PermitTunnel no
|
||||
X11Forwarding no
|
||||
ForceCommand ${serveOnly}
|
||||
ForceCommand ${config.nix.package}/bin/nix-store --serve
|
||||
Match All
|
||||
'';
|
||||
|
||||
users.extraUsers.nix-ssh.openssh.authorizedKeys.keys = config.nix.sshServe.keys;
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -189,18 +189,17 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.munin ];
|
||||
environment.MUNIN_PLUGSTATE = "/var/run/munin";
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/";
|
||||
};
|
||||
};
|
||||
|
||||
system.activationScripts.munin-node = ''
|
||||
preStart = ''
|
||||
echo "updating munin plugins..."
|
||||
|
||||
mkdir -p /etc/munin/plugins
|
||||
rm -rf /etc/munin/plugins/*
|
||||
PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/";
|
||||
};
|
||||
};
|
||||
|
||||
}) (mkIf cronCfg.enable {
|
||||
|
||||
|
@ -23,7 +23,7 @@ let
|
||||
confOptions = { ... }: {
|
||||
options = {
|
||||
modules = mkOption {
|
||||
type = types.listOf types.string;
|
||||
type = types.listOf types.str;
|
||||
default = [ "partyline" "webadmin" "adminlog" "log" ];
|
||||
example = [ "partyline" "webadmin" "adminlog" "log" ];
|
||||
description = ''
|
||||
@ -34,7 +34,7 @@ let
|
||||
userName = mkOption {
|
||||
default = defaultUserName;
|
||||
example = "johntron";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The user name to use when generating the `znc.conf` file.
|
||||
This is the user name used by the user logging into the ZNC web admin.
|
||||
@ -44,7 +44,7 @@ let
|
||||
nick = mkOption {
|
||||
default = "znc-user";
|
||||
example = "john";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The IRC nick to use when generating the `znc.conf` file.
|
||||
'';
|
||||
@ -53,7 +53,7 @@ let
|
||||
passBlock = mkOption {
|
||||
default = defaultPassBlock;
|
||||
example = "Must be the block generated by the `znc --makepass` command.";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The pass block to use when generating the `znc.conf` file.
|
||||
This is the password used by the user logging into the ZNC web admin.
|
||||
@ -63,9 +63,9 @@ let
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
default = "5000";
|
||||
example = "5000";
|
||||
type = types.string;
|
||||
default = 5000;
|
||||
example = 5000;
|
||||
type = types.int;
|
||||
description = ''
|
||||
Specifies the port on which to listen.
|
||||
'';
|
||||
@ -104,7 +104,7 @@ let
|
||||
AllowWeb = true
|
||||
IPv4 = true
|
||||
IPv6 = false
|
||||
Port = ${if confOpts.useSSL then "+" else ""}${confOpts.port}
|
||||
Port = ${if confOpts.useSSL then "+" else ""}${toString confOpts.port}
|
||||
SSL = ${if confOpts.useSSL then "true" else "false"}
|
||||
</Listener>
|
||||
|
||||
@ -160,7 +160,7 @@ in
|
||||
user = mkOption {
|
||||
default = "znc";
|
||||
example = "john";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The name of an existing user account to use to own the ZNC server process.
|
||||
If not specified, a default user will be created to own the process.
|
||||
@ -170,7 +170,7 @@ in
|
||||
dataDir = mkOption {
|
||||
default = "/home/${cfg.user}/.znc";
|
||||
example = "/home/john/.znc";
|
||||
type = types.string;
|
||||
type = types.path;
|
||||
description = ''
|
||||
The data directory. Used for configuration files and modules.
|
||||
'';
|
||||
@ -179,7 +179,7 @@ in
|
||||
zncConf = mkOption {
|
||||
default = "";
|
||||
example = "See: http://wiki.znc.in/Configuration";
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
description = ''
|
||||
The contents of the `znc.conf` file to use when creating it.
|
||||
If specified, `confOptions` will be ignored, and this value, as-is, will be used.
|
||||
@ -218,9 +218,9 @@ in
|
||||
};
|
||||
|
||||
extraFlags = mkOption {
|
||||
default = "";
|
||||
example = "--debug";
|
||||
type = types.string;
|
||||
default = [ ];
|
||||
example = [ "--debug" ];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
Extra flags to use when executing znc command.
|
||||
'';
|
||||
@ -272,7 +272,7 @@ in
|
||||
${pkgs.znc}/bin/znc --makepem
|
||||
fi
|
||||
'';
|
||||
script = "${pkgs.znc}/bin/znc --foreground --datadir ${cfg.dataDir} ${cfg.extraFlags}";
|
||||
script = "${pkgs.znc}/bin/znc --foreground --datadir ${cfg.dataDir} ${toString cfg.extraFlags}";
|
||||
};
|
||||
|
||||
users.extraUsers = optional (cfg.user == defaultUser)
|
||||
|
@ -21,6 +21,11 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
esPlugins = pkgs.buildEnv {
|
||||
name = "elasticsearch-plugins";
|
||||
paths = cfg.plugins;
|
||||
};
|
||||
|
||||
in {
|
||||
|
||||
###### interface
|
||||
@ -101,6 +106,12 @@ in {
|
||||
example = [ "-Djava.net.preferIPv4Stack=true" ];
|
||||
};
|
||||
|
||||
plugins = mkOption {
|
||||
description = "Extra elasticsearch plugins";
|
||||
default = [];
|
||||
type = types.listOf types.package;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
###### implementation
|
||||
@ -111,14 +122,19 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
environment = { ES_HOME = cfg.dataDir; };
|
||||
path = [ pkgs.elasticsearch ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
|
||||
ExecStart = "elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
|
||||
User = "elasticsearch";
|
||||
PermissionsStartOnly = true;
|
||||
};
|
||||
preStart = ''
|
||||
mkdir -m 0700 -p ${cfg.dataDir}
|
||||
if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi
|
||||
|
||||
# Install plugins
|
||||
rm ${cfg.dataDir}/plugins || true
|
||||
ln -s ${esPlugins}/plugins ${cfg.dataDir}/plugins
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@ in
|
||||
cache-size=1000
|
||||
scan-path=/srv/git
|
||||
'';
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
description = ''
|
||||
Verbatim contents of the cgit runtime configuration file. Documentation
|
||||
(with cgitrc example file) is available in "man cgitrc". Or online:
|
||||
|
@ -102,7 +102,7 @@ in
|
||||
|
||||
document-root = mkOption {
|
||||
default = "/srv/www";
|
||||
type = types.str;
|
||||
type = types.path;
|
||||
description = ''
|
||||
Document-root of the web server. Must be readable by the "lighttpd" user.
|
||||
'';
|
||||
@ -128,7 +128,7 @@ in
|
||||
|
||||
configText = mkOption {
|
||||
default = "";
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
example = ''...verbatim config file contents...'';
|
||||
description = ''
|
||||
Overridable config file contents to use for lighttpd. By default, use
|
||||
@ -138,7 +138,7 @@ in
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
description = ''
|
||||
These configuration lines will be appended to the generated lighttpd
|
||||
config file. Note that this mechanism does not work when the manual
|
||||
|
@ -25,7 +25,7 @@ in
|
||||
|
||||
projectroot = mkOption {
|
||||
default = "/srv/git";
|
||||
type = types.str;
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path to git projects (bare repositories) that should be served by
|
||||
gitweb. Must not end with a slash.
|
||||
@ -34,7 +34,7 @@ in
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
type = types.lines;
|
||||
description = ''
|
||||
Verbatim configuration text appended to the generated gitweb.conf file.
|
||||
'';
|
||||
|
@ -6,6 +6,7 @@ let
|
||||
|
||||
xcfg = config.services.xserver;
|
||||
cfg = xcfg.desktopManager.e18;
|
||||
e18_enlightenment = pkgs.e18.enlightenment.override { set_freqset_setuid = true; };
|
||||
|
||||
in
|
||||
|
||||
@ -23,18 +24,20 @@ in
|
||||
config = mkIf (xcfg.enable && cfg.enable) {
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary pkgs.e18.enlightenment
|
||||
pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary e18_enlightenment
|
||||
pkgs.e18.terminology pkgs.e18.econnman
|
||||
];
|
||||
|
||||
services.xserver.desktopManager.session = [
|
||||
{ name = "E18";
|
||||
start = ''
|
||||
${pkgs.e18.enlightenment}/bin/enlightenment_start
|
||||
${e18_enlightenment}/bin/enlightenment_start
|
||||
waitPID=$!
|
||||
'';
|
||||
}];
|
||||
|
||||
security.setuidPrograms = [ "e18_freqset" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ in
|
||||
''
|
||||
# Set up the statically computed bits of /etc.
|
||||
echo "setting up /etc..."
|
||||
${pkgs.perl}/bin/perl ${./setup-etc.pl} ${etc}/etc
|
||||
${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl ${./setup-etc.pl} ${etc}/etc
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -3,6 +3,7 @@ use File::Find;
|
||||
use File::Copy;
|
||||
use File::Path;
|
||||
use File::Basename;
|
||||
use File::Slurp;
|
||||
|
||||
my $etc = $ARGV[0] or die;
|
||||
my $static = "/etc/static";
|
||||
@ -46,35 +47,55 @@ sub cleanup {
|
||||
find(\&cleanup, "/etc");
|
||||
|
||||
|
||||
# Use /etc/.clean to keep track of copied files.
|
||||
my @oldCopied = read_file("/etc/.clean", chomp => 1, err_mode => 'quiet');
|
||||
open CLEAN, ">>/etc/.clean";
|
||||
|
||||
|
||||
# For every file in the etc tree, create a corresponding symlink in
|
||||
# /etc to /etc/static. The indirection through /etc/static is to make
|
||||
# switching to a new configuration somewhat more atomic.
|
||||
my %created;
|
||||
my @copied;
|
||||
|
||||
sub link {
|
||||
my $fn = substr $File::Find::name, length($etc) + 1 or next;
|
||||
my $target = "/etc/$fn";
|
||||
File::Path::make_path(dirname $target);
|
||||
$created{$fn} = 1;
|
||||
if (-e "$_.mode") {
|
||||
open MODE, "<$_.mode";
|
||||
my $mode = <MODE>; chomp $mode;
|
||||
close MODE;
|
||||
my $mode = read_file("$_.mode"); chomp $mode;
|
||||
if ($mode eq "direct-symlink") {
|
||||
atomicSymlink readlink("$static/$fn"), $target or warn;
|
||||
} else {
|
||||
open UID, "<$_.uid";
|
||||
my $uid = <UID>; chomp $uid;
|
||||
close UID;
|
||||
open GID, "<$_.gid";
|
||||
my $gid = <GID>; chomp $gid;
|
||||
close GID;
|
||||
|
||||
my $uid = read_file("$_.uid"); chomp $uid;
|
||||
my $gid = read_file("$_.gid"); chomp $gid;
|
||||
copy "$static/$fn", "$target.tmp" or warn;
|
||||
chown int($uid), int($gid), "$target.tmp" or warn;
|
||||
chmod oct($mode), "$target.tmp" or warn;
|
||||
rename "$target.tmp", $target or warn;
|
||||
}
|
||||
push @copied, $fn;
|
||||
print CLEAN "$fn\n";
|
||||
} elsif (-l "$_") {
|
||||
atomicSymlink "$static/$fn", $target or warn;
|
||||
}
|
||||
}
|
||||
|
||||
find(\&link, $etc);
|
||||
|
||||
|
||||
# Delete files that were copied in a previous version but not in the
|
||||
# current.
|
||||
foreach my $fn (@oldCopied) {
|
||||
if (!defined $created{$fn}) {
|
||||
$fn = "/etc/$fn";
|
||||
print STDERR "removing obsolete file ‘$fn’...\n";
|
||||
unlink "$fn";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Rewrite /etc/.clean.
|
||||
close CLEAN;
|
||||
write_file("/etc/.clean", map { "$_\n" } @copied);
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, dbus, jackaudio, pkgconfig, python }:
|
||||
{ stdenv, fetchurl, alsaLib, dbus, jack2, pkgconfig, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "a2jmidid-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0pzm0qk5ilqhwz74pydg1jwrds27vm47185dakdrxidb5bv3b5ia";
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib dbus jackaudio pkgconfig python ];
|
||||
buildInputs = [ alsaLib dbus jack2 pkgconfig python ];
|
||||
|
||||
configurePhase = "python waf configure --prefix=$out";
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw
|
||||
, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio
|
||||
, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jack2
|
||||
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
|
||||
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
|
||||
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
|
||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs =
|
||||
[ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc
|
||||
glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo
|
||||
glibmm gtk gtkmm jack2 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, jackaudio, pkgconfig, pulseaudio, xlibs }:
|
||||
{ stdenv, fetchurl, alsaLib, jack2, pkgconfig, pulseaudio, xlibs }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bristol-${version}";
|
||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsaLib jackaudio pkgconfig pulseaudio xlibs.libX11 xlibs.libXext
|
||||
alsaLib jack2 pkgconfig pulseaudio xlibs.libX11 xlibs.libXext
|
||||
xlibs.xproto
|
||||
];
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib
|
||||
, gtk, jackaudio, ladspaH , libglade, lv2, pkgconfig }:
|
||||
, gtk, jack2, ladspaH , libglade, lv2, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "calf-${version}";
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
cairo expat fftwSinglePrec fluidsynth glib gtk jackaudio ladspaH
|
||||
cairo expat fftwSinglePrec fluidsynth glib gtk jack2 ladspaH
|
||||
libglade lv2 pkgconfig
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jackaudio
|
||||
{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jack2
|
||||
, libxslt, lv2, pkgconfig, premake3, xlibs }:
|
||||
|
||||
let
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
alsaLib fftwSinglePrec freetype jackaudio pkgconfig premake3
|
||||
alsaLib fftwSinglePrec freetype jack2 pkgconfig premake3
|
||||
xlibs.libX11 xlibs.libXcomposite xlibs.libXcursor xlibs.libXext
|
||||
xlibs.libXinerama xlibs.libXrender
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
|
||||
{ stdenv, fetchurl, jack2, libsndfile, lv2, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "drumkv1-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "18rvfgblynlmklk25azmppibn1bdjid97hipa323gnzmxgq0rfjq";
|
||||
};
|
||||
|
||||
buildInputs = [ jackaudio libsndfile lv2 qt4 ];
|
||||
buildInputs = [ jack2 libsndfile lv2 qt4 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An old-school drum-kit sampler synthesizer with stereo fx";
|
||||
|
@ -1,10 +1,11 @@
|
||||
{stdenv, fetchurl, unzip, portaudio }:
|
||||
{ stdenv, fetchurl, unzip, portaudio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "espeak-1.48.04";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "espeak-1.46.02";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/espeak/espeak-1.46.02-source.zip;
|
||||
sha256 = "1fjlv5fm0gzvr5wzy1dp4nspw04k0bqv3jymha2p2qfjbfifp2zg";
|
||||
url = "mirror://sourceforge/espeak/${name}-source.zip";
|
||||
sha256 = "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip portaudio ];
|
||||
@ -21,9 +22,10 @@ stdenv.mkDerivation {
|
||||
makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Compact open source software speech synthesizer";
|
||||
homepage = http://espeak.sourceforge.net/;
|
||||
license = "GPLv3+";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,31 +1,57 @@
|
||||
{stdenv, fetchurl, unzip, portaudio, wxGTK}:
|
||||
{ stdenv, fetchurl, pkgconfig, unzip, portaudio, wxGTK, sox }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "espeakedit-1.48.03";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "espeakedit-1.46.02";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/espeak/espeakedit-1.46.02.zip;
|
||||
sha256 = "1cc5r89sn8zz7b8wj4grx9xb7aqyi0ybj0li9hpy7hd67r56kqkl";
|
||||
url = "mirror://sourceforge/espeak/${name}.zip";
|
||||
sha256 = "0x8s7vpb7rw5x37yjzy1f98m4f2csdg89libb74fm36gn8ly0hli";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip portaudio wxGTK ];
|
||||
buildInputs = [ pkgconfig unzip portaudio wxGTK ];
|
||||
|
||||
patchPhase = if portaudio.api_version == 19 then ''
|
||||
# TODO:
|
||||
# Uhm, seems like espeakedit still wants espeak-data/ in $HOME, even thought
|
||||
# it should use $espeak/share/espeak-data. Have to contact upstream to get
|
||||
# this fixed.
|
||||
#
|
||||
# Workaround:
|
||||
# cp -r $(nix-build -A espeak)/share/espeak-data ~
|
||||
# chmod +w ~/espeak-data
|
||||
|
||||
patches = [
|
||||
./espeakedit-fix-makefile.patch
|
||||
./espeakedit-configurable-sox-path.patch
|
||||
./espeakedit-configurable-path-espeak-data.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Disable -Wall flag because it's noisy
|
||||
sed -i "s/-Wall//g" src/Makefile
|
||||
|
||||
# Fixup paths (file names from above espeak-configurable* patches)
|
||||
for file in src/compiledata.cpp src/readclause.cpp src/speech.h; do
|
||||
sed -e "s|@sox@|${sox}/bin/sox|" \
|
||||
-e "s|@prefix@|$out|" \
|
||||
-i "$file"
|
||||
done
|
||||
'' + stdenv.lib.optionalString (portaudio.api_version == 19) ''
|
||||
cp src/portaudio19.h src/portaudio.h
|
||||
'' else "";
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
cd src
|
||||
gcc -o espeakedit *.cpp `wx-config --cxxflags --libs`
|
||||
make -C src
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp espeakedit $out/bin
|
||||
mkdir -p "$out/bin"
|
||||
cp src/espeakedit "$out/bin"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Phoneme editor for espeak";
|
||||
homepage = http://espeak.sourceforge.net/;
|
||||
license = "GPLv3+";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -0,0 +1,15 @@
|
||||
Don't hardcode /usr, use @prefix@.
|
||||
|
||||
Author: Bjørn Forsman
|
||||
diff -uNr espeakedit-1.48.03.orig/src/speech.h espeakedit-1.48.03/src/speech.h
|
||||
--- espeakedit-1.48.03.orig/src/speech.h 2014-03-04 17:48:12.000000000 +0100
|
||||
+++ espeakedit-1.48.03/src/speech.h 2014-07-22 18:21:40.860790719 +0200
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
// will look for espeak_data directory here, and also in user's home directory
|
||||
#ifndef PATH_ESPEAK_DATA
|
||||
- #define PATH_ESPEAK_DATA "/usr/share/espeak-data"
|
||||
+ #define PATH_ESPEAK_DATA "@prefix@/share/espeak-data"
|
||||
#endif
|
||||
|
||||
typedef unsigned short USHORT;
|
@ -0,0 +1,27 @@
|
||||
Make the path to 'sox' configurable by marking it '@sox@' (easy to match with sed).
|
||||
|
||||
Author: Bjørn Forsman
|
||||
diff -uNr espeakedit-1.48.03.orig/src/compiledata.cpp espeakedit-1.48.03/src/compiledata.cpp
|
||||
--- espeakedit-1.48.03.orig/src/compiledata.cpp 2014-03-04 17:48:11.000000000 +0100
|
||||
+++ espeakedit-1.48.03/src/compiledata.cpp 2014-07-22 16:38:50.261388452 +0200
|
||||
@@ -1884,7 +1884,7 @@
|
||||
fname2 = msg;
|
||||
}
|
||||
|
||||
- sprintf(command,"sox \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp);
|
||||
+ sprintf(command,"@sox@ \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp);
|
||||
if(system(command) != 0)
|
||||
{
|
||||
failed = 1;
|
||||
diff -uNr espeakedit-1.48.03.orig/src/readclause.cpp espeakedit-1.48.03/src/readclause.cpp
|
||||
--- espeakedit-1.48.03.orig/src/readclause.cpp 2014-03-04 17:48:11.000000000 +0100
|
||||
+++ espeakedit-1.48.03/src/readclause.cpp 2014-07-22 16:38:37.190440504 +0200
|
||||
@@ -892,7 +892,7 @@
|
||||
if((fd_temp = mkstemp(fname_temp)) >= 0)
|
||||
{
|
||||
close(fd_temp);
|
||||
- sprintf(command,"sox \"%s\" -r %d -c1 -t wav %s\n", fname, samplerate, fname_temp);
|
||||
+ sprintf(command,"@sox@ \"%s\" -r %d -c1 -t wav %s\n", fname, samplerate, fname_temp);
|
||||
if(system(command) == 0)
|
||||
{
|
||||
fname = fname_temp;
|
26
pkgs/applications/audio/espeak/espeakedit-fix-makefile.patch
Normal file
26
pkgs/applications/audio/espeak/espeakedit-fix-makefile.patch
Normal file
@ -0,0 +1,26 @@
|
||||
Fix broken Makefile:
|
||||
|
||||
* fix syntax error (missing '\' to continue line):
|
||||
Makefile:19: *** recipe commences before first target. Stop.
|
||||
* Get portaudio library flags from pkg-config (to get -Lpath/to/portaudio/lib etc.)
|
||||
|
||||
Author: Bjørn Forsman
|
||||
diff -uNr espeakedit-1.48.03.orig/src/Makefile espeakedit-1.48.03/src/Makefile
|
||||
--- espeakedit-1.48.03.orig/src/Makefile 2013-03-13 15:52:02.000000000 +0100
|
||||
+++ espeakedit-1.48.03/src/Makefile 2014-07-22 15:34:17.524114822 +0200
|
||||
@@ -12,12 +12,11 @@
|
||||
|
||||
WX_LIBS = -pthread `wx-config --libs`
|
||||
|
||||
-LIBS=-lstdc++ -lportaudio
|
||||
+LIBS=-lstdc++ `pkg-config --libs portaudio-2.0`
|
||||
#LIBS=-lstdc++ /usr/lib/x86_64-linux-gnu/libportaudio.so.2
|
||||
|
||||
-CPPFLAGS = -Wall -g -fexceptions `wx-config --cflags`
|
||||
- -I/usr/include/wx-2.8 \
|
||||
- -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
|
||||
+CPPFLAGS = -Wall -g -fexceptions `wx-config --cflags` \
|
||||
+ -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES \
|
||||
-D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
|
||||
|
||||
CXXFLAGS = -O2 -Wall -fexceptions `wx-config --cflags` \
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, glib, jackaudio, libsndfile, pkgconfig
|
||||
{ stdenv, fetchurl, alsaLib, glib, jack2, libsndfile, pkgconfig
|
||||
, pulseaudio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
"-framework CoreAudio";
|
||||
|
||||
buildInputs = [ glib libsndfile pkgconfig ]
|
||||
++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jackaudio ];
|
||||
++ stdenv.lib.optionals (!stdenv.isDarwin) [ alsaLib pulseaudio jack2 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Real-time software synthesizer based on the SoundFont 2 specifications";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk
|
||||
, gtkmm, intltool, jackaudio, ladspaH, librdf, libsndfile, lv2
|
||||
, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lv2
|
||||
, pkgconfig, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
avahi boost fftw gettext glib glibmm gtk gtkmm intltool jackaudio
|
||||
avahi boost fftw gettext glib glibmm gtk gtkmm intltool jack2
|
||||
ladspaH librdf libsndfile lv2 pkgconfig python
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, boost, glib, jackaudio, ladspaPlugins
|
||||
{ stdenv, fetchurl, alsaLib, boost, glib, jack2, ladspaPlugins
|
||||
, libarchive, liblrdf , libsndfile, pkgconfig, qt4, scons, subversion }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsaLib boost glib jackaudio ladspaPlugins libarchive liblrdf
|
||||
alsaLib boost glib jack2 ladspaPlugins libarchive liblrdf
|
||||
libsndfile pkgconfig qt4 scons subversion
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, jackaudio, lilv
|
||||
{ stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, jack2, lilv
|
||||
, lv2, pkgconfig, python, raul, serd, sord, sratom, suil
|
||||
}:
|
||||
|
||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
boost ganv glibmm gtk gtkmm jackaudio lilv lv2 pkgconfig python
|
||||
boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
|
||||
raul serd sord sratom suil
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, jackaudio, libsndfile, pkgconfig }:
|
||||
{ stdenv, fetchurl, jack2, libsndfile, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jack_capture-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0sk7b92my1v1g7rhkpl1c608rb0rdb28m9zqfll95kflxajd16zv";
|
||||
};
|
||||
|
||||
buildInputs = [ jackaudio libsndfile pkgconfig ];
|
||||
buildInputs = [ jack2 libsndfile pkgconfig ];
|
||||
|
||||
buildPhase = "PREFIX=$out make jack_capture";
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, SDL, jackaudio, mesa, pkgconfig }:
|
||||
{ stdenv, fetchurl, SDL, jack2, mesa, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jack_oscrolloscope-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1pl55in0sj7h5r06n1v91im7d18pplvhbjhjm1fdl39zwnyxiash";
|
||||
};
|
||||
|
||||
buildInputs = [ SDL jackaudio mesa pkgconfig ];
|
||||
buildInputs = [ SDL jack2 mesa pkgconfig ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, jackaudio, ladspaH, gtk, alsaLib, libxml2, librdf }:
|
||||
{ stdenv, fetchurl, pkgconfig, jack2, ladspaH, gtk, alsaLib, libxml2, librdf }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jack-rack-1.4.7";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/jack-rack/${name}.tar.bz2";
|
||||
sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045";
|
||||
};
|
||||
buildInputs = [ pkgconfig jackaudio ladspaH gtk alsaLib libxml2 librdf ];
|
||||
buildInputs = [ pkgconfig jack2 ladspaH gtk alsaLib libxml2 librdf ];
|
||||
|
||||
meta = {
|
||||
description = ''An effects "rack" for the JACK low latency audio API'';
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, jackaudio, pkgconfig }:
|
||||
{ stdenv, fetchurl, jack2, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jackmeter-0.4";
|
||||
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r";
|
||||
};
|
||||
|
||||
buildInputs = [ jackaudio pkgconfig ];
|
||||
buildInputs = [ jack2 pkgconfig ];
|
||||
|
||||
meta = {
|
||||
description = "Console jack loudness meter";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, gtk, jackaudio, lilv, lv2, pkgconfig, python
|
||||
{ stdenv, fetchurl, gtk, jack2, lilv, lv2, pkgconfig, python
|
||||
, serd, sord , sratom, suil }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gtk jackaudio lilv lv2 pkgconfig python serd sord sratom suil
|
||||
gtk jack2 lilv lv2 pkgconfig python serd sord sratom suil
|
||||
];
|
||||
|
||||
configurePhase = "python waf configure --prefix=$out";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, gtk, jackaudio, libuuid, libxml2
|
||||
{ stdenv, fetchurl, alsaLib, gtk, jack2, libuuid, libxml2
|
||||
, makeWrapper, pkgconfig, readline }:
|
||||
|
||||
assert libuuid != null;
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
# http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346
|
||||
patches = [ ./socket.patch ./gcc-47.patch ];
|
||||
|
||||
buildInputs = [ alsaLib gtk jackaudio libuuid libxml2 makeWrapper
|
||||
buildInputs = [ alsaLib gtk jack2 libuuid libxml2 makeWrapper
|
||||
pkgconfig readline ];
|
||||
|
||||
postInstall = ''
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison
|
||||
, jackaudio, libgig, libsndfile, libtool, lv2, pkgconfig }:
|
||||
, jack2, libgig, libsndfile, libtool, lv2, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "linuxsampler-svn-${version}";
|
||||
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
alsaLib asio autoconf automake bison jackaudio libgig libsndfile
|
||||
alsaLib asio autoconf automake bison jack2 libgig libsndfile
|
||||
libtool lv2 pkgconfig
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, jackaudio, libogg
|
||||
{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, jack2, libogg
|
||||
, libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4, freetype
|
||||
}:
|
||||
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
SDL alsaLib cmake fftwSinglePrec jackaudio libogg libsamplerate
|
||||
SDL alsaLib cmake fftwSinglePrec jack2 libogg libsamplerate
|
||||
libsndfile pkgconfig pulseaudio qt4
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, SDL , alsaLib, gtk, jackaudio, ladspaH
|
||||
{ stdenv, fetchurl, SDL , alsaLib, gtk, jack2, ladspaH
|
||||
, ladspaPlugins, libsamplerate, libsndfile, pkgconfig, pulseaudio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ SDL alsaLib gtk jackaudio ladspaH libsamplerate libsndfile
|
||||
[ SDL alsaLib gtk jack2 ladspaH libsamplerate libsndfile
|
||||
pkgconfig pulseaudio
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, SDL, alsaLib, autoconf, automake, jackaudio, perl
|
||||
{ stdenv, fetchurl, SDL, alsaLib, autoconf, automake, jack2, perl
|
||||
, zlib, zziplib
|
||||
}:
|
||||
|
||||
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
export CPATH=${zlib}/lib
|
||||
'';
|
||||
|
||||
buildInputs = [ SDL alsaLib autoconf automake jackaudio perl zlib zziplib ];
|
||||
buildInputs = [ SDL alsaLib autoconf automake jack2 perl zlib zziplib ];
|
||||
|
||||
meta = {
|
||||
description = "Music tracker application, similar to Fasttracker II.";
|
||||
|
@ -1,4 +1,7 @@
|
||||
{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }:
|
||||
{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg
|
||||
, libvorbis, mpc, libsndfile, jack2, db, libmodplug, timidity, libid3tag
|
||||
, libtool
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "moc-${version}";
|
||||
@ -11,7 +14,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configurePhase = "./configure prefix=$out";
|
||||
|
||||
buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis mpc libsndfile jackaudio db libmodplug timidity libid3tag libtool ];
|
||||
buildInputs = [
|
||||
ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis
|
||||
mpc libsndfile jack2 db libmodplug timidity libid3tag libtool
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.";
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.22";
|
||||
version = "0.23";
|
||||
name = "ncmpc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.musicpd.org/download/ncmpc/0/ncmpc-${version}.tar.xz";
|
||||
sha256 = "a8d65f12653d9ce8bc4493aa1c5de09359c25bf3a22498d2ae797e7d41422211";
|
||||
sha256 = "d7b30cefaf5c74a5d8ab18ab8275e0102ae12e8ee6d6f8144f8e4cc9a97b5de4";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchgit, alsaLib, cmake, gtk, jackaudio, libgnomecanvas
|
||||
{ stdenv, fetchgit, alsaLib, cmake, gtk, jack2, libgnomecanvas
|
||||
, libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2
|
||||
, pkgconfig }:
|
||||
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ alsaLib cmake gtk jackaudio libgnomecanvas libpthreadstubs
|
||||
[ alsaLib cmake gtk jack2 libgnomecanvas libpthreadstubs
|
||||
libsamplerate libsndfile libtool libxml2 pkgconfig
|
||||
];
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
, glew, ftgl, ttf_bitstream_vera
|
||||
, withQt ? true, qt4
|
||||
, withLibvisual ? false, libvisual, SDL
|
||||
, withJack ? false, jackaudio
|
||||
, withJack ? false, jack2
|
||||
, withPulseAudio ? true, pulseaudio
|
||||
}:
|
||||
|
||||
@ -45,7 +45,7 @@ stdenv.mkDerivation {
|
||||
[ glew ftgl ]
|
||||
++ optional withQt qt4
|
||||
++ optionals withLibvisual [ libvisual SDL ]
|
||||
++ optional withJack jackaudio
|
||||
++ optional withJack jack2
|
||||
++ optional withPulseAudio pulseaudio
|
||||
;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, autoreconfHook, gettext, makeWrapper
|
||||
, alsaLib, jackaudio, tk
|
||||
, alsaLib, jack2, tk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook gettext makeWrapper ];
|
||||
|
||||
buildInputs = [ alsaLib jackaudio ];
|
||||
buildInputs = [ alsaLib jack2 ];
|
||||
|
||||
configureFlags = ''
|
||||
--enable-alsa
|
||||
|
@ -1,17 +1,17 @@
|
||||
{ stdenv, fetchurl, qt4, alsaLib, jackaudio, dbus }:
|
||||
{ stdenv, fetchurl, qt4, alsaLib, jack2, dbus }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.3.10";
|
||||
version = "0.3.11";
|
||||
name = "qjackctl-${version}";
|
||||
|
||||
# some dependencies such as killall have to be installed additionally
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
|
||||
sha256 = "0ch14y3p0x5ss28cpnqcxp42zb2w07d3l1n2sbrkgiz58iy97paw";
|
||||
sha256 = "1wjzrgx3n2asyxk6cnfcm34msaw84qvsqy08bd4qnghrgpl96hwl";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 alsaLib jackaudio dbus ];
|
||||
buildInputs = [ qt4 alsaLib jack2 dbus ];
|
||||
|
||||
configureFlags = "--enable-jack-version";
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, fluidsynth, jackaudio, qt4 }:
|
||||
{ stdenv, fetchurl, alsaLib, fluidsynth, jack2, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qsynth-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0wmq61cq93x2l00xwr871373mj3dwamz1dg6v62x7s8m1612ndrw";
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib fluidsynth jackaudio qt4 ];
|
||||
buildInputs = [ alsaLib fluidsynth jack2 qt4 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Fluidsynth GUI";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ alsaLib, autoconf, automake, dssi, fetchurl, gtk, jackaudio
|
||||
{ alsaLib, autoconf, automake, dssi, fetchurl, gtk, jack2
|
||||
, ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile
|
||||
, libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
|
||||
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ alsaLib autoconf automake dssi gtk jackaudio ladspaH
|
||||
[ alsaLib autoconf automake dssi gtk jack2 ladspaH
|
||||
ladspaPlugins liblo libmad libsamplerate libsndfile libtool
|
||||
libvorbis pkgconfig qt4 rubberband
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, alsaUtils, fltk, jackaudio, libXft,
|
||||
{ stdenv, fetchurl, alsaLib, alsaUtils, fltk, jack2, libXft,
|
||||
libXpm, libjpeg, libpng, libsamplerate, libsndfile, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./fltk-path.patch ];
|
||||
|
||||
buildInputs = [ alsaLib alsaUtils fltk jackaudio libXft libXpm libjpeg
|
||||
buildInputs = [ alsaLib alsaUtils fltk jack2 libXft libXpm libjpeg
|
||||
libpng libsamplerate libsndfile zlib ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
|
||||
{ stdenv, fetchurl, jack2, libsndfile, lv2, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "samplv1-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1vr6jbqnsgdq3v2h1ndp4pirnil3119dqwlq0k0kdscmcskvb9j4";
|
||||
};
|
||||
|
||||
buildInputs = [ jackaudio libsndfile lv2 qt4 ];
|
||||
buildInputs = [ jack2 libsndfile lv2 qt4 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, gtkmm, jackaudio, pkgconfig }:
|
||||
{ stdenv, fetchurl, alsaLib, gtkmm, jack2, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "seq24-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "07n80zj95i80vjmsflnlbqx5vv90qmp5f6a0zap8d30849l4y258";
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib gtkmm jackaudio pkgconfig ];
|
||||
buildInputs = [ alsaLib gtkmm jack2 pkgconfig ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "minimal loop based midi sequencer";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, freetype, ftgl, jackaudio, libX11, lv2
|
||||
{ stdenv, fetchurl, alsaLib, freetype, ftgl, jack2, libX11, lv2
|
||||
, mesa, pkgconfig, ttf_bitstream_vera
|
||||
}:
|
||||
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
alsaLib freetype ftgl jackaudio libX11 lv2 mesa pkgconfig
|
||||
alsaLib freetype ftgl jack2 libX11 lv2 mesa pkgconfig
|
||||
ttf_bitstream_vera
|
||||
];
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html
|
||||
|
||||
{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo
|
||||
{ stdenv, fetchurl, alsaLib, bzip2, fftw, jack2, libX11, liblo
|
||||
, libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
|
||||
, libsndfile, pkgconfig, pulseaudio, qt5, redland
|
||||
, rubberband, serd, sord, vampSDK
|
||||
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
sord
|
||||
pkgconfig
|
||||
# optional
|
||||
jackaudio
|
||||
jack2
|
||||
# portaudio
|
||||
pulseaudio
|
||||
libmad
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, qt4, jackaudio, lv2 }:
|
||||
{ stdenv, fetchurl, qt4, jack2, lv2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "synthv1-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1r4fszbzwd0yfcch0mcsmh7781zw1317hiljn85w79721fs2m8hc";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 jackaudio lv2 ];
|
||||
buildInputs = [ qt4 jack2 lv2 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
|
||||
|
34
pkgs/applications/audio/vimpc/default.nix
Executable file
34
pkgs/applications/audio/vimpc/default.nix
Executable file
@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchurl, autoconf, automake, mpd_clientlib, ncurses, pcre, pkgconfig, taglib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.09.0";
|
||||
name = "vimpc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/boysetsfrog/vimpc/archive/v${version}.tar.gz";
|
||||
sha256 = "13eb229a5e9eee491765ee89f7fe6a38140a41a01434b117da3869d725c15706";
|
||||
};
|
||||
|
||||
buildInputs = [ autoconf
|
||||
automake
|
||||
mpd_clientlib
|
||||
ncurses
|
||||
pcre
|
||||
pkgconfig
|
||||
taglib
|
||||
];
|
||||
|
||||
preConfigure = "./autogen.sh";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/etc
|
||||
cp doc/vimpcrc.example $out/etc
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A vi/vim inspired client for the Music Player Daemon (mpd).";
|
||||
homepage = https://github.com/boysetsfrog/vimpc;
|
||||
license = "GPL3";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, cmake, pkgconfig
|
||||
, qt4, jackaudio
|
||||
, qt4, jack2
|
||||
}:
|
||||
|
||||
let
|
||||
@ -22,5 +22,5 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
buildInputs = [ qt4 jackaudio ];
|
||||
buildInputs = [ qt4 jack2 ];
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk, jackaudio,
|
||||
{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk, jack2,
|
||||
ladspaH, ladspaPlugins, liblo, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk";
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib autoconf automake dssi gtk jackaudio ladspaH
|
||||
buildInputs = [ alsaLib autoconf automake dssi gtk jack2 ladspaH
|
||||
ladspaPlugins liblo pkgconfig ];
|
||||
|
||||
installPhase = ''
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk
|
||||
, jackaudio, libsndfile, mesa, minixml, pkgconfig, zlib
|
||||
, jack2, libsndfile, mesa, minixml, pkgconfig, zlib
|
||||
}:
|
||||
|
||||
assert stdenv ? glibc;
|
||||
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsaLib boost cairo fftwSinglePrec fltk jackaudio libsndfile mesa
|
||||
alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
|
||||
minixml zlib
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, cmake, jackaudio, fftw, fltk13, minixml
|
||||
{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, minixml
|
||||
, pkgconfig, zlib
|
||||
}:
|
||||
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0kgmwyh4rhyqdfrdzhbzjjk2hzggkp9c4aac6sy3xv6cc1b5jjxq";
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib jackaudio fftw fltk13 minixml zlib ];
|
||||
buildInputs = [ alsaLib jack2 fftw fltk13 minixml zlib ];
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,34 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
# This hook is supposed to be run on Linux. It patches the proper locations of
|
||||
# the crt{1,i,n}.o files into the build to ensure that Emacs is linked with
|
||||
# *our* versions, not the ones found in the system, as it would do by default.
|
||||
# On other platforms, this appears to be unnecessary.
|
||||
preConfigure() {
|
||||
case "${system}" in
|
||||
x86_64-linux) glibclibdir=lib64 ;;
|
||||
i686-linux) glibclibdir=lib ;;
|
||||
*) return;
|
||||
esac
|
||||
|
||||
libc=$(cat ${NIX_GCC}/nix-support/orig-libc)
|
||||
echo "libc: $libc"
|
||||
|
||||
for i in src/s/*.h src/m/*.h; do
|
||||
substituteInPlace $i \
|
||||
--replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
|
||||
--replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
|
||||
--replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \
|
||||
--replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \
|
||||
--replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
|
||||
--replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
|
||||
done
|
||||
|
||||
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
|
||||
substituteInPlace $i --replace /bin/pwd pwd
|
||||
done
|
||||
}
|
||||
|
||||
preBuild="make bootstrap"
|
||||
|
||||
genericBuild
|
@ -1,72 +0,0 @@
|
||||
{ stdenv, fetchurl, ncurses, x11, libXaw, libXpm, Xaw3d
|
||||
, pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
|
||||
, libtiff, librsvg, texinfo, gconf
|
||||
}:
|
||||
|
||||
assert (gtk != null) -> (pkgconfig != null);
|
||||
assert (libXft != null) -> libpng != null; # probably a bug
|
||||
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-23.4";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/emacs/${name}.tar.bz2";
|
||||
sha256 = "1fc8x5p38qihg7l6z2b1hjc534lnjb8gqpwgywlwg5s3csg6ymr6";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ ncurses x11 texinfo libXaw Xaw3d libXpm libpng libjpeg libungif
|
||||
libtiff librsvg libXft gconf
|
||||
]
|
||||
++ stdenv.lib.optionals (gtk != null) [ gtk pkgconfig ]
|
||||
++ stdenv.lib.optional stdenv.isLinux dbus;
|
||||
|
||||
configureFlags =
|
||||
stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft"]
|
||||
|
||||
# On NixOS, help Emacs find `crt*.o'.
|
||||
++ stdenv.lib.optional (stdenv ? glibc)
|
||||
[ "--with-crt-dir=${stdenv.glibc}/lib" ];
|
||||
|
||||
postInstall = ''
|
||||
cat >$out/share/emacs/site-lisp/site-start.el <<EOF
|
||||
;; nixos specific load-path
|
||||
(when (getenv "NIX_PROFILES") (setq load-path
|
||||
(append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
|
||||
(split-string (getenv "NIX_PROFILES"))))
|
||||
load-path)))
|
||||
EOF
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "GNU Emacs 23.x, the extensible, customizable text editor";
|
||||
|
||||
longDescription = ''
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
programming language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs
|
||||
Lisp code or a graphical interface; a large number of extensions that
|
||||
add other functionality, including a project planner, mail and news
|
||||
reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.
|
||||
'';
|
||||
|
||||
homepage = http://www.gnu.org/software/emacs/;
|
||||
license = "GPLv3+";
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
25
pkgs/applications/editors/emacs-modes/bbdb/3.nix
Normal file
25
pkgs/applications/editors/emacs-modes/bbdb/3.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{ stdenv, fetchurl, emacs }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bbdb-3.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.savannah.gnu.org/releases/bbdb/${name}.tar.gz";
|
||||
sha256 = "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05";
|
||||
};
|
||||
|
||||
buildInputs = [ emacs ];
|
||||
|
||||
# Hack to disable documentation as there is no way to tell bbdb to
|
||||
# NOT build pdfs. I really don't want to pull in TexLive here...
|
||||
preConfigure = ''
|
||||
substituteInPlace ./Makefile.in \
|
||||
--replace "SUBDIRS = lisp doc tex" "SUBDIRS = lisp"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://savannah.nongnu.org/projects/bbdb/";
|
||||
description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs, version 3";
|
||||
license = "GPL";
|
||||
};
|
||||
}
|
75
pkgs/applications/editors/zed/default.nix
Normal file
75
pkgs/applications/editors/zed/default.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ stdenv, buildEnv, fetchurl, xlibs, glib, gtk2, atk, pango, gdk_pixbuf,
|
||||
cairo, freetype, fontconfig, nss, nspr, gnome, alsaLib, expat, dbus, udev,
|
||||
makeWrapper, writeScript, gnused }:
|
||||
|
||||
let
|
||||
|
||||
rpath_env = buildEnv {
|
||||
name = "rpath_env";
|
||||
paths = [ xlibs.libX11 xlibs.libXrender glib xlibs.libXtst gtk2 atk pango
|
||||
gdk_pixbuf cairo freetype fontconfig xlibs.libXi xlibs.libXcomposite
|
||||
nss nspr gnome.GConf xlibs.libXext xlibs.libXfixes alsaLib
|
||||
xlibs.libXdamage expat dbus stdenv.gcc ];
|
||||
pathsToLink = [ "/lib" "/lib64" ];
|
||||
};
|
||||
|
||||
name = "zed-${version}";
|
||||
version = "0.12.0";
|
||||
|
||||
zed = stdenv.mkDerivation rec {
|
||||
inherit name version;
|
||||
|
||||
src = if stdenv.system == "i686-linux" then fetchurl {
|
||||
url = "http://download.zedapp.org/zed-linux32-v${version}.tar.gz";
|
||||
sha256 = "04cygfhaynlpl8jrf2r55qk5zz1ipad8l9m8q81lfly2q0h9fbxi";
|
||||
} else fetchurl {
|
||||
url = "http://download.zedapp.org/zed-linux64-v${version}.tar.gz";
|
||||
sha256 = "0ng2v07fyglpbyl4pwm2bn5rbldw51kliw8rakbpcdia891hi6z1";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/zed
|
||||
cp ./* $out/zed
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/zed/zed-bin
|
||||
patchelf --set-rpath "${rpath_env}/lib:${rpath_env}/lib64" $out/zed/zed-bin
|
||||
|
||||
mkdir -p $out/lib
|
||||
ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
|
||||
|
||||
wrapProgram $out/zed/zed-bin \
|
||||
--prefix LD_LIBRARY_PATH : $out/lib
|
||||
'';
|
||||
};
|
||||
zed_installer = writeScript "zed-installer.sh" ''
|
||||
mkdir -p ~/.zed
|
||||
cp -rv ${zed}/zed/* ~/.zed
|
||||
|
||||
${gnused}/bin/sed -ri 's/DIR\=\$\(dirname\ \$0\)/DIR\=\~\/\.zed/' ~/.zed/zed
|
||||
|
||||
mkdir -p ~/bin
|
||||
ln -sv ~/.zed/zed ~/bin/zed
|
||||
'';
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit name version;
|
||||
|
||||
src = zed;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${zed_installer} $out/bin/zed-installer
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Zed is a fully offline-capable, open source, keyboard-focused, text and code editor for power users";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
homepage = http://zedapp.org/;
|
||||
maintainers = [ stdenv.lib.maintainers.matejc ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A compact distributed operating system for building cross-platform distributed systems";
|
||||
homepage = "http://inferno-os.org/";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainer = [ "Chris Double <chris.double@double.co.nz>" ];
|
||||
maintainers = [ "Chris Double <chris.double@double.co.nz>" ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
, ilmbase, libXi, libjpeg, libpng, libsamplerate, libsndfile
|
||||
, libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python
|
||||
, zlib, fftw
|
||||
, jackaudioSupport ? false, jackaudio
|
||||
, jackaudioSupport ? false, jack2
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
[ SDL boost cmake ffmpeg gettext glew ilmbase libXi
|
||||
libjpeg libpng libsamplerate libsndfile libtiff mesa openal
|
||||
opencolorio openexr openimageio /* openjpeg */ python zlib fftw
|
||||
] ++ optional jackaudioSupport jackaudio;
|
||||
] ++ optional jackaudioSupport jack2;
|
||||
|
||||
postUnpack =
|
||||
''
|
||||
|
@ -4,11 +4,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "calibre-1.45.0";
|
||||
name = "calibre-1.46.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/calibre/${name}.tar.xz";
|
||||
sha256 = "0g9fzpkjvi0h7h5azk3v425l8gxd8zidcz3nrzlg26hgvbkzpm20";
|
||||
sha256 = "1mzw6cmnw1wk8jd2pkl6z7bgjhwn4j7lg0a33f07gk4xw94sbry2";
|
||||
};
|
||||
|
||||
inherit python;
|
||||
|
@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
|
||||
It is fully customizable.
|
||||
'';
|
||||
homepage = http://www.gnu.org/software/hello/manual/;
|
||||
license = "GPLv3+";
|
||||
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://megastep.org/makeself;
|
||||
description = "Utility to create self-extracting packages";
|
||||
license = licenses.gpl2;
|
||||
maintainer = maintainers.wmertens;
|
||||
maintainers = [ maintainers.wmertens ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -1,155 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
|
||||
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
|
||||
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
|
||||
|
||||
, # If you want the resulting program to call itself "Firefox" instead
|
||||
# of "Shiretoko" or whatever, enable this option. However, those
|
||||
# binaries may not be distributed without permission from the
|
||||
# Mozilla Foundation, see
|
||||
# http://www.mozilla.org/foundation/trademarks/.
|
||||
enableOfficialBranding ? false
|
||||
}:
|
||||
|
||||
rec {
|
||||
|
||||
firefoxVersion = "3.6.27";
|
||||
|
||||
xulVersion = "1.9.2.27"; # this attribute is used by other packages
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
|
||||
sha1 = "dd472a10e4ef5b017f00074d0325be13e832d610";
|
||||
};
|
||||
|
||||
|
||||
commonConfigureFlags =
|
||||
[ "--enable-optimize"
|
||||
"--disable-debug"
|
||||
"--enable-strip"
|
||||
"--with-system-jpeg"
|
||||
"--with-system-zlib"
|
||||
"--with-system-bz2"
|
||||
"--with-system-nspr"
|
||||
"--with-system-nss"
|
||||
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
|
||||
"--enable-system-cairo"
|
||||
#"--enable-system-sqlite" # <-- this seems to be discouraged
|
||||
"--disable-crashreporter"
|
||||
"--disable-tests"
|
||||
"--disable-necko-wifi" # maybe we want to enable this at some point
|
||||
];
|
||||
|
||||
xulrunner = stdenv.mkDerivation {
|
||||
name = "xulrunner-${xulVersion}";
|
||||
|
||||
inherit src;
|
||||
|
||||
patches = [
|
||||
# Loongson2f related patches:
|
||||
./xulrunner-chromium-mips.patch
|
||||
./xulrunner-mips-n32.patch
|
||||
./xulrunner-1.9.2_beta4-mips-bus-error.patch
|
||||
|
||||
# Fix building on GCC 4.6.
|
||||
./gcc-4.6.patch
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
|
||||
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
|
||||
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
|
||||
alsaLib nspr nss libnotify xlibs.pixman
|
||||
];
|
||||
|
||||
preConfigure = if stdenv.isMips then ''
|
||||
export ac_cv_thread_keyword=no
|
||||
'' else "";
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=xulrunner"
|
||||
"--disable-javaxpcom"
|
||||
] ++ commonConfigureFlags;
|
||||
|
||||
# !!! Temporary hack.
|
||||
preBuild = ''
|
||||
export NIX_ENFORCE_PURITY=
|
||||
'';
|
||||
|
||||
installFlags = "SKIP_GRE_REGISTRATION=1";
|
||||
|
||||
postInstall = ''
|
||||
# Fix some references to /bin paths in the Xulrunner shell script.
|
||||
substituteInPlace $out/bin/xulrunner \
|
||||
--replace /bin/pwd "$(type -tP pwd)" \
|
||||
--replace /bin/ls "$(type -tP ls)"
|
||||
|
||||
# Fix run-mozilla.sh search
|
||||
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
|
||||
echo libDir: $libDir
|
||||
test -n "$libDir"
|
||||
cd $out/bin
|
||||
mv xulrunner ../lib/$libDir/
|
||||
|
||||
for i in $out/lib/$libDir/*; do
|
||||
file $i;
|
||||
if file $i | grep executable &>/dev/null; then
|
||||
ln -s $i $out/bin
|
||||
fi;
|
||||
done;
|
||||
rm -f $out/bin/run-mozilla.sh
|
||||
''; # */
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Mozilla Firefox XUL runner";
|
||||
homepage = http://www.mozilla.org/firefox/;
|
||||
};
|
||||
|
||||
passthru = { inherit gtk; version = xulVersion; };
|
||||
};
|
||||
|
||||
|
||||
firefox = stdenv.mkDerivation rec {
|
||||
name = "firefox-${firefoxVersion}";
|
||||
|
||||
inherit src;
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
|
||||
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
|
||||
xlibs.pixman
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [xulrunner];
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=browser"
|
||||
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
|
||||
]
|
||||
++ commonConfigureFlags
|
||||
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
|
||||
|
||||
postInstall = ''
|
||||
libDir=$(cd $out/lib && ls -d firefox-[0-9]*)
|
||||
test -n "$libDir"
|
||||
|
||||
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner
|
||||
|
||||
# Register extensions etc. !!! is this needed anymore?
|
||||
echo "running firefox -register..."
|
||||
$out/bin/firefox -register
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
description = "Mozilla Firefox - the browser, reloaded";
|
||||
homepage = http://www.mozilla.org/firefox/;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit gtk xulrunner nspr;
|
||||
isFirefox3Like = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
|
||||
, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
|
||||
{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
|
||||
, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs
|
||||
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
|
||||
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
|
||||
, hunspell, libevent, libstartup_notification, libvpx
|
||||
@ -15,27 +15,38 @@
|
||||
|
||||
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
|
||||
|
||||
rec {
|
||||
|
||||
firefoxVersion = "30.0";
|
||||
|
||||
xulVersion = "30.0"; # this attribute is used by other packages
|
||||
let version = "31.0"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "firefox-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
|
||||
sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
|
||||
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
|
||||
sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
|
||||
};
|
||||
|
||||
commonConfigureFlags =
|
||||
[ "--with-system-jpeg"
|
||||
buildInputs =
|
||||
[ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
|
||||
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
|
||||
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
|
||||
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
|
||||
xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
|
||||
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
|
||||
hunspell libevent libstartup_notification libvpx cairo
|
||||
gstreamer gst_plugins_base icu
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=browser"
|
||||
"--disable-javaxpcom"
|
||||
"--with-system-jpeg"
|
||||
"--with-system-zlib"
|
||||
"--with-system-bz2"
|
||||
"--with-system-nspr"
|
||||
"--with-system-nss"
|
||||
"--with-system-libevent"
|
||||
"--with-system-libvpx"
|
||||
"--with-system-png"
|
||||
# "--with-system-png" # needs APNG support
|
||||
# "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
|
||||
"--enable-system-ffi"
|
||||
"--enable-system-hunspell"
|
||||
@ -52,160 +63,45 @@ rec {
|
||||
"--disable-installer"
|
||||
"--disable-updater"
|
||||
"--disable-pulseaudio"
|
||||
] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
|
||||
]
|
||||
++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
|
||||
else [ "--disable-debug" "--enable-release"
|
||||
"--enable-optimize" "--enable-strip" ]);
|
||||
|
||||
|
||||
xulrunner = stdenv.mkDerivation rec {
|
||||
name = "xulrunner-${xulVersion}";
|
||||
|
||||
inherit src;
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
|
||||
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
|
||||
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
|
||||
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
|
||||
xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
|
||||
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
|
||||
hunspell libevent libstartup_notification libvpx cairo
|
||||
gstreamer gst_plugins_base icu
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=xulrunner"
|
||||
"--disable-javaxpcom"
|
||||
] ++ commonConfigureFlags;
|
||||
|
||||
#enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
|
||||
|
||||
mkdir ../objdir
|
||||
cd ../objdir
|
||||
configureScript=../mozilla-release/configure
|
||||
''; # */
|
||||
|
||||
#installFlags = "SKIP_GRE_REGISTRATION=1";
|
||||
|
||||
preInstall = ''
|
||||
# The following is needed for startup cache creation on grsecurity kernels
|
||||
paxmark m ../objdir/dist/bin/xpcshell
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Fix run-mozilla.sh search
|
||||
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
|
||||
echo libDir: $libDir
|
||||
test -n "$libDir"
|
||||
cd $out/bin
|
||||
rm xulrunner
|
||||
|
||||
for i in $out/lib/$libDir/*; do
|
||||
file $i;
|
||||
if file $i | grep executable &>/dev/null; then
|
||||
echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
|
||||
chmod a+x "$out/bin/$(basename "$i")";
|
||||
fi;
|
||||
done
|
||||
for i in $out/lib/$libDir/*.so; do
|
||||
patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
|
||||
done
|
||||
|
||||
# For grsecurity kernels
|
||||
paxmark m $out/lib/$libDir/{plugin-container,xulrunner}
|
||||
|
||||
for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
|
||||
wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
|
||||
done
|
||||
|
||||
rm -f $out/bin/run-mozilla.sh
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
description = "Mozilla Firefox XUL runner";
|
||||
homepage = http://www.mozilla.com/en-US/firefox/;
|
||||
};
|
||||
|
||||
passthru = { inherit gtk; version = xulVersion; };
|
||||
};
|
||||
|
||||
|
||||
firefox = stdenv.mkDerivation rec {
|
||||
name = "firefox-${firefoxVersion}";
|
||||
|
||||
inherit src;
|
||||
"--enable-optimize" "--enable-strip" ])
|
||||
++ lib.optional enableOfficialBranding "--enable-official-branding";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
|
||||
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
|
||||
xlibs.pixman yasm mesa sqlite file unzip pysqlite
|
||||
hunspell libevent libstartup_notification libvpx cairo
|
||||
gstreamer gst_plugins_base icu
|
||||
];
|
||||
|
||||
patches = [
|
||||
./disable-reporter.patch # fixes "search box not working when built on xulrunner"
|
||||
./xpidl.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [xulrunner];
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=browser"
|
||||
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
|
||||
"--enable-chrome-format=jar"
|
||||
]
|
||||
++ commonConfigureFlags
|
||||
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
|
||||
|
||||
makeFlags = [
|
||||
"SYSTEM_LIBXUL=1"
|
||||
];
|
||||
|
||||
# Because preConfigure runs configure from a subdirectory.
|
||||
configureScript = "../configure";
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
# Hack to work around make's idea of -lbz2 dependency
|
||||
find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
|
||||
stdenv.lib.concatStringsSep ":"
|
||||
(map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
|
||||
}' ';'
|
||||
mkdir ../objdir
|
||||
cd ../objdir
|
||||
configureScript=../mozilla-release/configure
|
||||
'';
|
||||
|
||||
# Building directly in the main source directory is not allowed.
|
||||
mkdir obj_dir
|
||||
cd obj_dir
|
||||
preInstall =
|
||||
''
|
||||
# The following is needed for startup cache creation on grsecurity kernels.
|
||||
paxmark m ../objdir/dist/bin/xpcshell
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
''
|
||||
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
|
||||
cd "$out/lib/"firefox-*
|
||||
rm firefox
|
||||
echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
|
||||
chmod a+x firefox
|
||||
# For grsecurity kernels
|
||||
paxmark m $out/lib/*/{plugin-container,xulrunner}
|
||||
|
||||
# Put chrome.manifest etc. in the right place.
|
||||
mv browser/* .
|
||||
rmdir browser
|
||||
''; # */
|
||||
# Remove SDK cruft. FIXME: move to a separate output?
|
||||
rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Mozilla Firefox - the browser, reloaded";
|
||||
homepage = http://www.mozilla.com/en-US/firefox/;
|
||||
maintainers = with stdenv.lib.maintainers; [ eelco wizeman ];
|
||||
maintainers = with lib.maintainers; [ eelco wizeman ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit gtk xulrunner nspr;
|
||||
inherit gtk nspr version;
|
||||
isFirefox3Like = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,20 +0,0 @@
|
||||
# from:
|
||||
# - https://www.linuxquestions.org/questions/linux-from-scratch-13/blfs-xulrunner-firefox-21-0-and-search-4175462532/
|
||||
# - http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg17359.html
|
||||
|
||||
--- mozilla-release/browser/base/content/browser.js.orig 2013-05-11 16:19:21.000000000 -0300
|
||||
+++ mozilla-release/browser/base/content/browser.js 2013-06-07 00:39:16.114862388 -0300
|
||||
@@ -3559,10 +3559,12 @@
|
||||
*/
|
||||
recordSearchInHealthReport: function (engine, source) {
|
||||
#ifdef MOZ_SERVICES_HEALTHREPORT
|
||||
- let reporter = Cc["@mozilla.org/datareporting/service;1"]
|
||||
+ /*let reporter = Cc["@mozilla.org/datareporting/service;1"]
|
||||
.getService()
|
||||
.wrappedJSObject
|
||||
.healthReporter;
|
||||
+ */
|
||||
+ return;
|
||||
|
||||
// This can happen if the FHR component of the data reporting service is
|
||||
// disabled. This is controlled by a pref that most will never use.
|
@ -1,13 +0,0 @@
|
||||
https://346825.bugs.gentoo.org/attachment.cgi?id=270163
|
||||
|
||||
--- a/gfx/ots/src/os2.cc
|
||||
+++ b/gfx/ots/src/os2.cc
|
||||
@@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <cstddef>
|
||||
+
|
||||
#include "os2.h"
|
||||
|
||||
#include "head.h"
|
@ -1,11 +0,0 @@
|
||||
--- mozilla-release/python/mozbuild/mozbuild/backend/recursivemake.py 2013-12-05 08:07:53.000000000 -0800
|
||||
+++ mozilla-release_1/python/mozbuild/mozbuild/backend/recursivemake.py 2013-12-12 23:38:39.697318563 -0800
|
||||
@@ -421,7 +421,7 @@
|
||||
def _handle_idl_manager(self, manager):
|
||||
build_files = self._purge_manifests['xpidl']
|
||||
|
||||
- for p in ('Makefile', 'backend.mk', '.deps/.mkdir.done',
|
||||
+ for p in ('Makefile.in', 'Makefile', 'backend.mk', '.deps/.mkdir.done',
|
||||
'xpt/.mkdir.done'):
|
||||
build_files.add(p)
|
||||
|
@ -1,26 +0,0 @@
|
||||
http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob;f=net-libs/xulrunner/files/xulrunner-1.9.2_beta4-mips-bus-error.patch;h=2bf51d77054796ffaf4f4d903dd8560bf96b7844;hb=HEAD
|
||||
|
||||
--- ./xpcom/glue/nsTArray.h.orig 2009-04-26 01:21:58.000000000 +0800
|
||||
+++ ./xpcom/glue/nsTArray.h 2009-04-26 01:21:33.000000000 +0800
|
||||
@@ -168,6 +168,7 @@
|
||||
|
||||
// The array's elements (prefixed with a Header). This pointer is never
|
||||
// null. If the array is empty, then this will point to sEmptyHdr.
|
||||
+ void *padding;
|
||||
Header *mHdr;
|
||||
};
|
||||
|
||||
diff --git a/layout/svg/base/src/nsSVGGlyphFrame.cpp b/layout/svg/base/src/nsSVGGlyphFrame.cpp
|
||||
index 6d452d0..3ce4193 100644
|
||||
--- a/layout/svg/base/src/nsSVGGlyphFrame.cpp
|
||||
+++ b/layout/svg/base/src/nsSVGGlyphFrame.cpp
|
||||
@@ -169,8 +169,8 @@ private:
|
||||
PRBool SetupForDirectTextRun(gfxContext *aContext, float aScale);
|
||||
void SetupFor(gfxContext *aContext, float aScale);
|
||||
|
||||
- nsSVGGlyphFrame *mSource;
|
||||
nsAutoTArray<CharacterPosition,80> mPositions;
|
||||
+ nsSVGGlyphFrame *mSource;
|
||||
gfxMatrix mInitialMatrix;
|
||||
// Textrun advance width from start to mCurrentChar, in appunits
|
||||
gfxFloat mCurrentAdvance;
|
@ -1,207 +0,0 @@
|
||||
http://gentoo-overlays.zugaina.org/loongson/portage/net-libs/xulrunner/files/xulrunner-chromium-mips.patch
|
||||
|
||||
diff --git a/ipc/chromium/src/base/atomicops.h b/ipc/chromium/src/base/atomicops.h
|
||||
index 87df918..363bf63 100644
|
||||
--- a/ipc/chromium/src/base/atomicops.h
|
||||
+++ b/ipc/chromium/src/base/atomicops.h
|
||||
@@ -132,6 +132,8 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
|
||||
#include "base/atomicops_internals_x86_gcc.h"
|
||||
#elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM_FAMILY)
|
||||
#include "base/atomicops_internals_arm_gcc.h"
|
||||
+#elif defined(COMPILER_GCC) && defined(ARCH_CPU_MIPS_FAMILY)
|
||||
+#include "base/atomicops_internals_mips_gcc.h"
|
||||
#else
|
||||
#error "Atomic operations are not supported on your platform"
|
||||
#endif
|
||||
diff --git a/ipc/chromium/src/base/atomicops_internals_mips_gcc.h b/ipc/chromium/src/base/atomicops_internals_mips_gcc.h
|
||||
new file mode 100644
|
||||
index 0000000..d1b87ee
|
||||
--- /dev/null
|
||||
+++ b/ipc/chromium/src/base/atomicops_internals_mips_gcc.h
|
||||
@@ -0,0 +1,160 @@
|
||||
+// Copyright (c) 2010 Zhang, Le <r0bertz@gentoo.org>
|
||||
+// Use of this source code is governed by GPLv2.
|
||||
+
|
||||
+// This file is an internal atomic implementation, use base/atomicops.h instead.
|
||||
+
|
||||
+#ifndef BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_
|
||||
+#define BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_
|
||||
+
|
||||
+#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory")
|
||||
+
|
||||
+namespace base {
|
||||
+namespace subtle {
|
||||
+
|
||||
+// 32-bit low-level operations on any platform.
|
||||
+
|
||||
+inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
|
||||
+ Atomic32 old_value,
|
||||
+ Atomic32 new_value) {
|
||||
+ Atomic32 prev;
|
||||
+ __asm__ __volatile__(
|
||||
+ " .set push \n"
|
||||
+ " .set noat \n"
|
||||
+ " .set mips3 \n"
|
||||
+ "1: ll %0, %2 \n"
|
||||
+ " bne %0, %z3, 2f \n"
|
||||
+ " .set mips0 \n"
|
||||
+ " move $1, %z4 \n"
|
||||
+ " .set mips3 \n"
|
||||
+ " sc $1, %1 \n"
|
||||
+ " beqz $1, 3f \n"
|
||||
+ "2: \n"
|
||||
+ " .subsection 2 \n"
|
||||
+ "3: b 1b \n"
|
||||
+ " .previous \n"
|
||||
+ " .set pop \n"
|
||||
+ : "=&r" (prev), "=R" (*ptr)
|
||||
+ : "R" (*ptr), "Jr" (old_value), "Jr" (new_value)
|
||||
+ : "memory");
|
||||
+ return prev;
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
|
||||
+ Atomic32 new_value) {
|
||||
+ unsigned int ret_value;
|
||||
+ unsigned long dummy;
|
||||
+
|
||||
+ __asm__ __volatile__(" .set mips3 \n"
|
||||
+ "1: ll %0, %3 # xchg_u32 \n"
|
||||
+ " .set mips0 \n"
|
||||
+ " move %2, %z4 \n"
|
||||
+ " .set mips3 \n"
|
||||
+ " sc %2, %1 \n"
|
||||
+ " beqz %2, 2f \n"
|
||||
+ " .subsection 2 \n"
|
||||
+ "2: b 1b \n"
|
||||
+ " .previous \n"
|
||||
+ " .set mips0 \n"
|
||||
+ : "=&r" (ret_value), "=m" (*ptr), "=&r" (dummy)
|
||||
+ : "R" (*ptr), "Jr" (new_value)
|
||||
+ : "memory");
|
||||
+
|
||||
+ return ret_value; // Now it's the previous value.
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
|
||||
+ Atomic32 increment) {
|
||||
+ Atomic32 temp, result;
|
||||
+ __asm__ __volatile__(
|
||||
+ " .set mips3 \n"
|
||||
+ "1: ll %1, %2 # atomic_add_return \n"
|
||||
+ " addu %0, %1, %3 \n"
|
||||
+ " sc %0, %2 \n"
|
||||
+ " beqz %0, 2f \n"
|
||||
+ " addu %0, %1, %3 \n"
|
||||
+ " .subsection 2 \n"
|
||||
+ "2: b 1b \n"
|
||||
+ " .previous \n"
|
||||
+ " .set mips0 \n"
|
||||
+ : "=&r" (result), "=&r" (temp), "=m" (*ptr)
|
||||
+ : "Ir" (increment), "m" (*ptr)
|
||||
+ : "memory");
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
|
||||
+ Atomic32 increment) {
|
||||
+ Atomic32 temp, result;
|
||||
+ __asm__ __volatile__(
|
||||
+ " .set mips3 \n"
|
||||
+ "1: ll %1, %2 # atomic_add_return \n"
|
||||
+ " addu %0, %1, %3 \n"
|
||||
+ " sc %0, %2 \n"
|
||||
+ " beqz %0, 2f \n"
|
||||
+ " addu %0, %1, %3 \n"
|
||||
+ " .subsection 2 \n"
|
||||
+ "2: b 1b \n"
|
||||
+ " .previous \n"
|
||||
+ " .set mips0 \n"
|
||||
+ : "=&r" (result), "=&r" (temp), "=m" (*ptr)
|
||||
+ : "Ir" (increment), "m" (*ptr)
|
||||
+ : "memory");
|
||||
+ __asm__ __volatile__("sync" : : : "memory");
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
|
||||
+ Atomic32 old_value,
|
||||
+ Atomic32 new_value) {
|
||||
+ Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
||||
+ __asm__ __volatile__("sync" : : : "memory");
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
|
||||
+ Atomic32 old_value,
|
||||
+ Atomic32 new_value) {
|
||||
+ return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
|
||||
+}
|
||||
+
|
||||
+inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
|
||||
+ *ptr = value;
|
||||
+}
|
||||
+
|
||||
+inline void MemoryBarrier() {
|
||||
+ __asm__ __volatile__("sync" : : : "memory");
|
||||
+}
|
||||
+
|
||||
+inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
|
||||
+ *ptr = value;
|
||||
+ __asm__ __volatile__("sync" : : : "memory");
|
||||
+}
|
||||
+
|
||||
+inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
|
||||
+ ATOMICOPS_COMPILER_BARRIER();
|
||||
+ *ptr = value; // An x86 store acts as a release barrier.
|
||||
+ // See comments in Atomic64 version of Release_Store(), below.
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
|
||||
+ return *ptr;
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
|
||||
+ Atomic32 value = *ptr; // An x86 load acts as a acquire barrier.
|
||||
+ // See comments in Atomic64 version of Release_Store(), below.
|
||||
+ ATOMICOPS_COMPILER_BARRIER();
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
|
||||
+ MemoryBarrier();
|
||||
+ return *ptr;
|
||||
+}
|
||||
+
|
||||
+} // namespace base::subtle
|
||||
+} // namespace base
|
||||
+
|
||||
+#undef ATOMICOPS_COMPILER_BARRIER
|
||||
+
|
||||
+#endif // BASE_ATOMICOPS_INTERNALS_MIPS_GCC_H_
|
||||
diff --git a/ipc/chromium/src/base/debug_util_posix.cc b/ipc/chromium/src/base/debug_util_posix.cc
|
||||
index f7c58b4..50fb41d 100644
|
||||
--- a/ipc/chromium/src/base/debug_util_posix.cc
|
||||
+++ b/ipc/chromium/src/base/debug_util_posix.cc
|
||||
@@ -108,7 +108,7 @@ bool DebugUtil::BeingDebugged() {
|
||||
|
||||
// static
|
||||
void DebugUtil::BreakDebugger() {
|
||||
-#if !defined(ARCH_CPU_ARM_FAMILY)
|
||||
+#if !defined(ARCH_CPU_ARM_FAMILY) && !defined(ARCH_CPU_MIPS_FAMILY)
|
||||
asm ("int3");
|
||||
#endif
|
||||
}
|
||||
diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h
|
||||
index 36f83e7..128bbc7 100644
|
||||
--- a/ipc/chromium/src/build/build_config.h
|
||||
+++ b/ipc/chromium/src/build/build_config.h
|
||||
@@ -57,6 +57,8 @@
|
||||
#define ARCH_CPU_ARMEL 1
|
||||
#define ARCH_CPU_32_BITS 1
|
||||
#define WCHAR_T_IS_UNSIGNED 1
|
||||
+#elif defined(__MIPSEL__)
|
||||
+#define ARCH_CPU_MIPS_FAMILY 1
|
||||
#else
|
||||
#error Please add support for your architecture in build/build_config.h
|
||||
#endif
|
@ -1,764 +0,0 @@
|
||||
http://gentoo-overlays.zugaina.org/loongson/portage/net-libs/xulrunner/files/xulrunner-mips-n32.patch
|
||||
|
||||
From 1aa3577cf7e79b574bd2cff058ea00221194869b Mon Sep 17 00:00:00 2001
|
||||
From: Zhang Le <r0bertz@gentoo.org>
|
||||
Date: Thu, 12 Mar 2009 02:24:34 +0800
|
||||
Subject: [PATCH 2/2] xulrunner mips n32 ABI patch
|
||||
|
||||
Signed-off-by: Zhang Le <r0bertz@gentoo.org>
|
||||
---
|
||||
xpcom/reflect/xptcall/src/md/unix/Makefile.in | 5 +
|
||||
.../xptcall/src/md/unix/xptcinvoke_asm_mips64.s | 159 ++++++++++++++
|
||||
.../xptcall/src/md/unix/xptcinvoke_mips64.cpp | 173 ++++++++++++++++
|
||||
.../xptcall/src/md/unix/xptcstubs_asm_mips64.s | 149 +++++++++++++
|
||||
.../xptcall/src/md/unix/xptcstubs_mips64.cpp | 218 ++++++++++++++++++++
|
||||
5 files changed, 704 insertions(+), 0 deletions(-)
|
||||
create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s
|
||||
create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp
|
||||
create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s
|
||||
create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp
|
||||
|
||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/Makefile.in b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
|
||||
index 524174e..63586cf 100644
|
||||
--- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in
|
||||
+++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
|
||||
@@ -274,8 +274,13 @@ endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
ifneq (,$(findstring mips, $(OS_TEST)))
|
||||
+ifneq (,$(findstring mips64, $(OS_TEST)))
|
||||
+CPPSRCS := xptcinvoke_mips64.cpp xptcstubs_mips64.cpp
|
||||
+ASFILES := xptcinvoke_asm_mips64.s xptcstubs_asm_mips64.s
|
||||
+else
|
||||
CPPSRCS := xptcinvoke_mips.cpp xptcstubs_mips.cpp
|
||||
ASFILES := xptcinvoke_asm_mips.s xptcstubs_asm_mips.s
|
||||
+endif
|
||||
ASFLAGS += -I$(DIST)/include -x assembler-with-cpp
|
||||
endif
|
||||
endif
|
||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s
|
||||
new file mode 100644
|
||||
index 0000000..f146ad8
|
||||
--- /dev/null
|
||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s
|
||||
@@ -0,0 +1,159 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * The Original Code is mozilla.org code.
|
||||
+ *
|
||||
+ * The Initial Developer of the Original Code is
|
||||
+ * Netscape Communications Corporation.
|
||||
+ * Portions created by the Initial Developer are Copyright (C) 1998
|
||||
+ * the Initial Developer. All Rights Reserved.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * ZHANG Le <r0bertz@gentoo.org>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+#include <sys/regdef.h>
|
||||
+#include <sys/asm.h>
|
||||
+
|
||||
+.text
|
||||
+.globl invoke_count_words
|
||||
+.globl invoke_copy_to_stack
|
||||
+
|
||||
+LOCALSZ=7 # a0, a1, a2, a3, s0, ra, gp
|
||||
+FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
|
||||
+
|
||||
+RAOFF=FRAMESZ-(1*SZREG)
|
||||
+A0OFF=FRAMESZ-(2*SZREG)
|
||||
+A1OFF=FRAMESZ-(3*SZREG)
|
||||
+A2OFF=FRAMESZ-(4*SZREG)
|
||||
+A3OFF=FRAMESZ-(5*SZREG)
|
||||
+S0OFF=FRAMESZ-(6*SZREG)
|
||||
+GPOFF=FRAMESZ-(7*SZREG)
|
||||
+
|
||||
+#
|
||||
+# _NS_InvokeByIndex_P(that, methodIndex, paramCount, params)
|
||||
+# a0 a1 a2 a3
|
||||
+
|
||||
+NESTED(_NS_InvokeByIndex_P, FRAMESZ, ra)
|
||||
+ PTR_SUBU sp, FRAMESZ
|
||||
+ SETUP_GP64(GPOFF, _NS_InvokeByIndex_P)
|
||||
+
|
||||
+ REG_S ra, RAOFF(sp)
|
||||
+ REG_S a0, A0OFF(sp)
|
||||
+ REG_S a1, A1OFF(sp)
|
||||
+ REG_S a2, A2OFF(sp)
|
||||
+ REG_S a3, A3OFF(sp)
|
||||
+ REG_S s0, S0OFF(sp)
|
||||
+
|
||||
+ # invoke_count_words(paramCount, params)
|
||||
+ move a0, a2
|
||||
+ move a1, a3
|
||||
+ jal invoke_count_words
|
||||
+
|
||||
+ # invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount,
|
||||
+ # nsXPTCVariant* s, PRUint32 *reg)
|
||||
+
|
||||
+ REG_L a1, A2OFF(sp) # a1 - paramCount
|
||||
+ REG_L a2, A3OFF(sp) # a2 - params
|
||||
+
|
||||
+ # save sp before we copy the params to the stack
|
||||
+ move t0, sp
|
||||
+
|
||||
+ # assume full size of 16 bytes per param to be safe
|
||||
+ sll v0, 4 # 16 bytes * num params
|
||||
+ subu sp, sp, v0 # make room
|
||||
+ move a0, sp # a0 - param stack address
|
||||
+
|
||||
+ # create temporary stack space to write int and fp regs
|
||||
+ subu sp, 64 # 64 = 8 regs of 8 bytes
|
||||
+ move a3, sp
|
||||
+
|
||||
+ # save the old sp and save the arg stack
|
||||
+ subu sp, sp, 16
|
||||
+ REG_S t0, 0(sp)
|
||||
+ REG_S a0, 8(sp)
|
||||
+
|
||||
+ # copy the param into the stack areas
|
||||
+ jal invoke_copy_to_stack
|
||||
+
|
||||
+ REG_L t3, 8(sp) # get previous a0
|
||||
+ REG_L sp, 0(sp) # get orig sp back
|
||||
+
|
||||
+ REG_L a0, A0OFF(sp) # a0 - that
|
||||
+ REG_L a1, A1OFF(sp) # a1 - methodIndex
|
||||
+
|
||||
+ # t1 = methodIndex * pow(2, PTRLOG)
|
||||
+ # (use shift instead of mult)
|
||||
+ sll t1, a1, PTRLOG
|
||||
+
|
||||
+ # calculate the function we need to jump to,
|
||||
+ # which must then be saved in t9
|
||||
+ lw t9, 0(a0)
|
||||
+ addu t9, t9, t1
|
||||
+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
|
||||
+ lw t9, (t9)
|
||||
+#else /* not G++ V3 ABI */
|
||||
+ lw t9, 2*PTRSIZE(t9)
|
||||
+#endif /* G++ V3 ABI */
|
||||
+
|
||||
+ # get register save area from invoke_copy_to_stack
|
||||
+ subu t1, t3, 64
|
||||
+
|
||||
+ # a1..a7 and f13..f19 should now be set to what
|
||||
+ # invoke_copy_to_stack told us. skip a0 and f12
|
||||
+ # because that's the "this" pointer
|
||||
+
|
||||
+ REG_L a1, 0(t1)
|
||||
+ REG_L a2, 8(t1)
|
||||
+ REG_L a3, 16(t1)
|
||||
+ REG_L a4, 24(t1)
|
||||
+ REG_L a5, 32(t1)
|
||||
+ REG_L a6, 40(t1)
|
||||
+ REG_L a7, 48(t1)
|
||||
+
|
||||
+ l.d $f13, 0(t1)
|
||||
+ l.d $f14, 8(t1)
|
||||
+ l.d $f15, 16(t1)
|
||||
+ l.d $f16, 24(t1)
|
||||
+ l.d $f17, 32(t1)
|
||||
+ l.d $f18, 40(t1)
|
||||
+ l.d $f19, 48(t1)
|
||||
+
|
||||
+ # save away our stack pointer and create
|
||||
+ # the stack pointer for the function
|
||||
+ move s0, sp
|
||||
+ move sp, t3
|
||||
+
|
||||
+ jalr t9
|
||||
+
|
||||
+ move sp, s0
|
||||
+
|
||||
+ RESTORE_GP64
|
||||
+ REG_L ra, RAOFF(sp)
|
||||
+ REG_L s0, S0OFF(sp)
|
||||
+ PTR_ADDU sp, FRAMESZ
|
||||
+ j ra
|
||||
+.end _NS_InvokeByIndex_P
|
||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp
|
||||
new file mode 100644
|
||||
index 0000000..d1d1a7d
|
||||
--- /dev/null
|
||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp
|
||||
@@ -0,0 +1,173 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * The Original Code is mozilla.org code.
|
||||
+ *
|
||||
+ * The Initial Developer of the Original Code is
|
||||
+ * Netscape Communications Corporation.
|
||||
+ * Portions created by the Initial Developer are Copyright (C) 1998
|
||||
+ * the Initial Developer. All Rights Reserved.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * ZHANG Le <r0bertz@gentoo.org>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+
|
||||
+/* Platform specific code to invoke XPCOM methods on native objects */
|
||||
+
|
||||
+#include "xptcprivate.h"
|
||||
+
|
||||
+#if (_MIPS_SIM != _ABIN32)
|
||||
+#error "This code is for MIPS N32 only"
|
||||
+#endif
|
||||
+
|
||||
+extern "C" uint32
|
||||
+invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
|
||||
+{
|
||||
+ return paramCount;
|
||||
+}
|
||||
+
|
||||
+extern "C" void
|
||||
+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount,
|
||||
+ nsXPTCVariant* s, PRUint64 *regs)
|
||||
+{
|
||||
+#define N_ARG_REGS 7 /* 8 regs minus 1 for "this" ptr */
|
||||
+
|
||||
+ for (PRUint32 i = 0; i < paramCount; i++, s++)
|
||||
+ {
|
||||
+ if (s->IsPtrData()) {
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = (PRUint64)s->ptr;
|
||||
+ else
|
||||
+ *d++ = (PRUint64)s->ptr;
|
||||
+ continue;
|
||||
+ }
|
||||
+ switch (s->type) {
|
||||
+ //
|
||||
+ // signed types first
|
||||
+ //
|
||||
+ case nsXPTType::T_I8:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ ((PRInt64*)regs)[i] = s->val.i8;
|
||||
+ else
|
||||
+ *d++ = s->val.i8;
|
||||
+ break;
|
||||
+ case nsXPTType::T_I16:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ ((PRInt64*)regs)[i] = s->val.i16;
|
||||
+ else
|
||||
+ *d++ = s->val.i16;
|
||||
+ break;
|
||||
+ case nsXPTType::T_I32:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ ((PRInt64*)regs)[i] = s->val.i32;
|
||||
+ else
|
||||
+ *d++ = s->val.i32;
|
||||
+ break;
|
||||
+ case nsXPTType::T_I64:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ ((PRInt64*)regs)[i] = s->val.i64;
|
||||
+ else
|
||||
+ *d++ = s->val.i64;
|
||||
+ break;
|
||||
+ //
|
||||
+ // unsigned types next
|
||||
+ //
|
||||
+ case nsXPTType::T_U8:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.u8;
|
||||
+ else
|
||||
+ *d++ = s->val.u8;
|
||||
+ break;
|
||||
+ case nsXPTType::T_U16:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.u16;
|
||||
+ else
|
||||
+ *d++ = s->val.u16;
|
||||
+ break;
|
||||
+ case nsXPTType::T_U32:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.u32;
|
||||
+ else
|
||||
+ *d++ = s->val.u32;
|
||||
+ break;
|
||||
+ case nsXPTType::T_U64:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.u64;
|
||||
+ else
|
||||
+ *d++ = s->val.u64;
|
||||
+ break;
|
||||
+ case nsXPTType::T_FLOAT:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ *(float*)®s[i] = s->val.f;
|
||||
+ else
|
||||
+ *(float*)d++ = s->val.f;
|
||||
+ break;
|
||||
+ case nsXPTType::T_DOUBLE:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ *(double*)®s[i] = s->val.d;
|
||||
+ else
|
||||
+ *(double*)d++ = s->val.d;
|
||||
+ break;
|
||||
+ case nsXPTType::T_BOOL:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.b;
|
||||
+ else
|
||||
+ *d++ = s->val.b;
|
||||
+ break;
|
||||
+ case nsXPTType::T_CHAR:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.c;
|
||||
+ else
|
||||
+ *d++ = s->val.c;
|
||||
+ break;
|
||||
+ case nsXPTType::T_WCHAR:
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = s->val.wc;
|
||||
+ else
|
||||
+ *d++ = s->val.wc;
|
||||
+ break;
|
||||
+ default:
|
||||
+ // all the others are plain pointer types
|
||||
+ if (i < N_ARG_REGS)
|
||||
+ regs[i] = (PRUint64)s->val.p;
|
||||
+ else
|
||||
+ *d++ = (PRUint64)s->val.p;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+extern "C" nsresult _NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
|
||||
+ PRUint32 paramCount,
|
||||
+ nsXPTCVariant* params);
|
||||
+
|
||||
+EXPORT_XPCOM_API(nsresult)
|
||||
+NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
|
||||
+ PRUint32 paramCount, nsXPTCVariant* params)
|
||||
+{
|
||||
+ return _NS_InvokeByIndex_P(that, methodIndex, paramCount, params);
|
||||
+}
|
||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s
|
||||
new file mode 100644
|
||||
index 0000000..dfee24b
|
||||
--- /dev/null
|
||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s
|
||||
@@ -0,0 +1,149 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * The Original Code is mozilla.org code.
|
||||
+ *
|
||||
+ * The Initial Developer of the Original Code is
|
||||
+ * Netscape Communications Corporation.
|
||||
+ * Portions created by the Initial Developer are Copyright (C) 1998
|
||||
+ * the Initial Developer. All Rights Reserved.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * ZHANG Le <r0bertz@gentoo.org>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+#include <sys/regdef.h>
|
||||
+#include <sys/asm.h>
|
||||
+
|
||||
+LOCALSZ=16
|
||||
+FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
|
||||
+
|
||||
+A1OFF=FRAMESZ-(9*SZREG)
|
||||
+A2OFF=FRAMESZ-(8*SZREG)
|
||||
+A3OFF=FRAMESZ-(7*SZREG)
|
||||
+A4OFF=FRAMESZ-(6*SZREG)
|
||||
+A5OFF=FRAMESZ-(5*SZREG)
|
||||
+A6OFF=FRAMESZ-(4*SZREG)
|
||||
+A7OFF=FRAMESZ-(3*SZREG)
|
||||
+GPOFF=FRAMESZ-(2*SZREG)
|
||||
+RAOFF=FRAMESZ-(1*SZREG)
|
||||
+
|
||||
+F13OFF=FRAMESZ-(16*SZREG)
|
||||
+F14OFF=FRAMESZ-(15*SZREG)
|
||||
+F15OFF=FRAMESZ-(14*SZREG)
|
||||
+F16OFF=FRAMESZ-(13*SZREG)
|
||||
+F17OFF=FRAMESZ-(12*SZREG)
|
||||
+F18OFF=FRAMESZ-(11*SZREG)
|
||||
+F19OFF=FRAMESZ-(10*SZREG)
|
||||
+
|
||||
+#define SENTINEL_ENTRY(n) /* defined in cpp file, not here */
|
||||
+
|
||||
+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
|
||||
+#define STUB_ENTRY(x) \
|
||||
+ .if x < 10; \
|
||||
+ MAKE_STUB(x, _ZN14nsXPTCStubBase5Stub ##x ##Ev); \
|
||||
+ .elseif x < 100; \
|
||||
+ MAKE_STUB(x, _ZN14nsXPTCStubBase6Stub ##x ##Ev); \
|
||||
+ .elseif x < 1000; \
|
||||
+ MAKE_STUB(x, _ZN14nsXPTCStubBase7Stub ##x ##Ev); \
|
||||
+ .else; \
|
||||
+ .err; \
|
||||
+ .endif
|
||||
+#else /* not G++ V3 ABI */
|
||||
+#define STUB_ENTRY(x) \
|
||||
+ MAKE_STUB(x, Stub ##x ##__14nsXPTCStubBase)
|
||||
+#endif /* G++ V3 ABI */
|
||||
+
|
||||
+#define MAKE_STUB(x, name) \
|
||||
+ .globl name; \
|
||||
+ .type name,@function; \
|
||||
+ .aent name,0; \
|
||||
+name:; \
|
||||
+ PTR_SUBU sp,FRAMESZ; \
|
||||
+ SETUP_GP64(GPOFF, name); \
|
||||
+ li t0,x; \
|
||||
+ b sharedstub; \
|
||||
+
|
||||
+#
|
||||
+# open a dummy frame for the function entries
|
||||
+#
|
||||
+ .text
|
||||
+ .align 2
|
||||
+ .type dummy,@function
|
||||
+ .ent dummy, 0
|
||||
+dummy:
|
||||
+ .frame sp, FRAMESZ, ra
|
||||
+ .mask 0x90000FF0, RAOFF-FRAMESZ
|
||||
+ .fmask 0x000FF000, F19OFF-FRAMESZ
|
||||
+
|
||||
+#include "xptcstubsdef.inc"
|
||||
+
|
||||
+sharedstub:
|
||||
+
|
||||
+ REG_S a1, A1OFF(sp)
|
||||
+ REG_S a2, A2OFF(sp)
|
||||
+ REG_S a3, A3OFF(sp)
|
||||
+ REG_S a4, A4OFF(sp)
|
||||
+ REG_S a5, A5OFF(sp)
|
||||
+ REG_S a6, A6OFF(sp)
|
||||
+ REG_S a7, A7OFF(sp)
|
||||
+ REG_S ra, RAOFF(sp)
|
||||
+
|
||||
+ s.d $f13, F13OFF(sp)
|
||||
+ s.d $f14, F14OFF(sp)
|
||||
+ s.d $f15, F15OFF(sp)
|
||||
+ s.d $f16, F16OFF(sp)
|
||||
+ s.d $f17, F17OFF(sp)
|
||||
+ s.d $f18, F18OFF(sp)
|
||||
+ s.d $f19, F19OFF(sp)
|
||||
+
|
||||
+ # t0 is methodIndex
|
||||
+ move a1, t0
|
||||
+
|
||||
+ # a2 is stack address where extra function params
|
||||
+ # are stored that do not fit in registers
|
||||
+ move a2, sp
|
||||
+ addi a2, FRAMESZ
|
||||
+
|
||||
+ # a3 is stack address of a1..a7
|
||||
+ move a3, sp
|
||||
+ addi a3, A1OFF
|
||||
+
|
||||
+ # a4 is stack address of f13..f19
|
||||
+ move a4, sp
|
||||
+ addi a4, F13OFF
|
||||
+
|
||||
+ # PrepareAndDispatch(that, methodIndex, args, gprArgs, fpArgs)
|
||||
+ # a0 a1 a2 a3 a4
|
||||
+ #
|
||||
+ jal PrepareAndDispatch
|
||||
+
|
||||
+ REG_L ra, RAOFF(sp)
|
||||
+ RESTORE_GP64
|
||||
+
|
||||
+ PTR_ADDU sp, FRAMESZ
|
||||
+ j ra
|
||||
+ END(dummy)
|
||||
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp
|
||||
new file mode 100644
|
||||
index 0000000..c404065
|
||||
--- /dev/null
|
||||
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp
|
||||
@@ -0,0 +1,218 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
+/* ***** BEGIN LICENSE BLOCK *****
|
||||
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
+ *
|
||||
+ * The contents of this file are subject to the Mozilla Public License Version
|
||||
+ * 1.1 (the "License"); you may not use this file except in compliance with
|
||||
+ * the License. You may obtain a copy of the License at
|
||||
+ * http://www.mozilla.org/MPL/
|
||||
+ *
|
||||
+ * Software distributed under the License is distributed on an "AS IS" basis,
|
||||
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
+ * for the specific language governing rights and limitations under the
|
||||
+ * License.
|
||||
+ *
|
||||
+ * The Original Code is mozilla.org code.
|
||||
+ *
|
||||
+ * The Initial Developer of the Original Code is
|
||||
+ * Netscape Communications Corporation.
|
||||
+ * Portions created by the Initial Developer are Copyright (C) 1999
|
||||
+ * the Initial Developer. All Rights Reserved.
|
||||
+ *
|
||||
+ * Contributor(s):
|
||||
+ * ZHANG Le <r0bertz@gentoo.org>
|
||||
+ *
|
||||
+ * Alternatively, the contents of this file may be used under the terms of
|
||||
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
+ * in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
+ * of those above. If you wish to allow use of your version of this file only
|
||||
+ * under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
+ * use your version of this file under the terms of the MPL, indicate your
|
||||
+ * decision by deleting the provisions above and replace them with the notice
|
||||
+ * and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
+ * the provisions above, a recipient may use your version of this file under
|
||||
+ * the terms of any one of the MPL, the GPL or the LGPL.
|
||||
+ *
|
||||
+ * ***** END LICENSE BLOCK ***** */
|
||||
+
|
||||
+#include "xptcprivate.h"
|
||||
+#include "xptiprivate.h"
|
||||
+
|
||||
+#if (_MIPS_SIM != _ABIN32)
|
||||
+#error "This code is for MIPS N32 only"
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * This is for MIPS N32 ABI
|
||||
+ *
|
||||
+ * When we're called, the "gp" registers are stored in gprData and
|
||||
+ * the "fp" registers are stored in fprData. There are 8 regs
|
||||
+ * available which coorespond to the first 7 parameters of the
|
||||
+ * function and the "this" pointer. If there are additional parms,
|
||||
+ * they are stored on the stack at address "args".
|
||||
+ *
|
||||
+ */
|
||||
+extern "C" nsresult
|
||||
+PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint64* args,
|
||||
+ PRUint64 *gprData, double *fprData)
|
||||
+{
|
||||
+#define PARAM_BUFFER_COUNT 16
|
||||
+#define PARAM_GPR_COUNT 7
|
||||
+#define PARAM_FPR_COUNT 7
|
||||
+
|
||||
+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
+ nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
+ const nsXPTMethodInfo* info;
|
||||
+ PRUint8 paramCount;
|
||||
+ PRUint8 i;
|
||||
+ nsresult result = NS_ERROR_FAILURE;
|
||||
+
|
||||
+ NS_ASSERTION(self,"no self");
|
||||
+
|
||||
+ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
+ NS_ASSERTION(info,"no method info");
|
||||
+
|
||||
+ paramCount = info->GetParamCount();
|
||||
+
|
||||
+ // setup variant array pointer
|
||||
+ if(paramCount > PARAM_BUFFER_COUNT)
|
||||
+ dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
+ else
|
||||
+ dispatchParams = paramBuffer;
|
||||
+ NS_ASSERTION(dispatchParams,"no place for params");
|
||||
+
|
||||
+ PRUint64* ap = args;
|
||||
+ PRUint32 iCount = 0;
|
||||
+ for(i = 0; i < paramCount; i++)
|
||||
+ {
|
||||
+ const nsXPTParamInfo& param = info->GetParam(i);
|
||||
+ const nsXPTType& type = param.GetType();
|
||||
+ nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
+
|
||||
+ if(param.IsOut() || !type.IsArithmetic())
|
||||
+ {
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.p = (void*)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.p = (void*)*ap++;
|
||||
+ continue;
|
||||
+ }
|
||||
+ // else
|
||||
+ switch(type)
|
||||
+ {
|
||||
+ case nsXPTType::T_I8:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.i8 = (PRInt8)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.i8 = (PRInt8)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_I16:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.i16 = (PRInt16)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.i16 = (PRInt16)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_I32:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.i32 = (PRInt32)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.i32 = (PRInt32)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_I64:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.i64 = (PRInt64)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.i64 = (PRInt64)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_U8:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.u8 = (PRUint8)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.u8 = (PRUint8)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_U16:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.u16 = (PRUint16)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.u16 = (PRUint16)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_U32:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.u32 = (PRUint32)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.u32 = (PRUint32)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_U64:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.u64 = (PRUint64)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.u64 = (PRUint64)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_FLOAT:
|
||||
+ if (iCount < PARAM_FPR_COUNT)
|
||||
+ dp->val.f = (double)fprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.f = *((double*)ap++);
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_DOUBLE:
|
||||
+ if (iCount < PARAM_FPR_COUNT)
|
||||
+ dp->val.d = (double)fprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.d = *((double*)ap++);
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_BOOL:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.b = (PRBool)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.b = (PRBool)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_CHAR:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.c = (char)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.c = (char)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ case nsXPTType::T_WCHAR:
|
||||
+ if (iCount < PARAM_GPR_COUNT)
|
||||
+ dp->val.wc = (wchar_t)gprData[iCount++];
|
||||
+ else
|
||||
+ dp->val.wc = (wchar_t)*ap++;
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ NS_ASSERTION(0, "bad type");
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ result = self->mOuter->CallMethod((PRUint16)methodIndex, info, dispatchParams);
|
||||
+
|
||||
+ if(dispatchParams != paramBuffer)
|
||||
+ delete [] dispatchParams;
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+#define STUB_ENTRY(n) /* defined in the assembly file */
|
||||
+
|
||||
+#define SENTINEL_ENTRY(n) \
|
||||
+nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
+{ \
|
||||
+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
+ return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
+}
|
||||
+
|
||||
+#include "xptcstubsdef.inc"
|
||||
--
|
||||
1.6.2
|
||||
|
@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "913fd39e70c564cb210c2544a88869f9d1a448184421f000b14b2bc5ba718b49";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig glib dbus dbus_glib browser x11 GConf browser.xulrunner gmtk ];
|
||||
buildInputs = [ pkgconfig glib dbus dbus_glib browser x11 GConf browser gmtk ];
|
||||
|
||||
# !!! fix this
|
||||
preBuild =
|
||||
''
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser.xulrunner}/include/xulrunner-*) -I${browser.nspr}/include/nspr"
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser}/include/xulrunner-*) -I${browser.nspr}/include/nspr"
|
||||
echo $NIX_CFLAGS_COMPILE
|
||||
'';
|
||||
|
||||
@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
description = "A browser plugin that uses GNOME MPlayer to play media in a browser";
|
||||
homepage = http://kdekorte.googlepages.com/gecko-mediaplayer;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, qt4, boost, protobuf, libsndfile
|
||||
, speex, libopus, avahi, pkgconfig
|
||||
, jackSupport ? false
|
||||
, jackaudio ? null
|
||||
, jack2 ? null
|
||||
, speechdSupport ? false
|
||||
, speechd ? null
|
||||
}:
|
||||
|
||||
assert jackSupport -> jackaudio != null;
|
||||
assert jackSupport -> jack2 != null;
|
||||
assert speechdSupport -> speechd != null;
|
||||
|
||||
let
|
||||
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ qt4 boost protobuf libsndfile speex
|
||||
libopus avahi pkgconfig ]
|
||||
++ (optional jackSupport jackaudio)
|
||||
++ (optional jackSupport jack2)
|
||||
++ (optional speechdSupport speechd);
|
||||
|
||||
installPhase = ''
|
||||
|
62
pkgs/applications/networking/spideroak/default.nix
Normal file
62
pkgs/applications/networking/spideroak/default.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{ stdenv, fetchurl, makeWrapper, glib
|
||||
, fontconfig, patchelf, libXext, libX11
|
||||
, freetype, libXrender
|
||||
}:
|
||||
|
||||
let
|
||||
arch = if stdenv.system == "x86_64-linux" then "x86_64"
|
||||
else if stdenv.system == "i686-linux" then "i386"
|
||||
else throw "Spideroak client for: ${stdenv.system} not supported!";
|
||||
|
||||
interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
|
||||
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
|
||||
else throw "Spideroak client for: ${stdenv.system} not supported!";
|
||||
|
||||
sha256 = if stdenv.system == "x86_64-linux" then "0ax5ij3fwq3q9agf7qkw2zg53fcd82llg734pq3swzpn3z1ajs38"
|
||||
else if stdenv.system == "i686-linux" then "18hvgx8bvd2khnqfn434gd4mflv0w5y8kvim72rvya2kwxsyf3i1"
|
||||
else throw "Spideroak client for: ${stdenv.system} not supported!";
|
||||
|
||||
ldpath = stdenv.lib.makeSearchPath "lib" [
|
||||
glib fontconfig libXext libX11 freetype libXrender
|
||||
];
|
||||
|
||||
version = "5.1.6";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "spideroak-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
name = "spideroak-${version}-${arch}";
|
||||
url = "https://spideroak.com/getbuild?platform=slackware&arch=${arch}&version=${version}";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
unpackCmd = "tar -xzf $curSrc";
|
||||
|
||||
installPhase = ''
|
||||
ensureDir "$out"
|
||||
cp -r "./"* "$out"
|
||||
ensureDir "$out/bin"
|
||||
rm "$out/usr/bin/SpiderOak"
|
||||
|
||||
patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
|
||||
"$out/opt/SpiderOak/lib/SpiderOak"
|
||||
|
||||
RPATH=$out/opt/SpiderOak/lib:${ldpath}
|
||||
makeWrapper $out/opt/SpiderOak/lib/SpiderOak $out/bin/spideroak --set LD_LIBRARY_PATH $RPATH \
|
||||
--set QT_PLUGIN_PATH $out/opt/SpiderOak/lib/plugins/ \
|
||||
--set SpiderOak_EXEC_SCRIPT $out/bin/spideroak
|
||||
'';
|
||||
|
||||
buildInputs = [ patchelf makeWrapper ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://spideroak.com";
|
||||
description = "Secure online backup and sychronization";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
maintainers = with stdenv.lib.maintainers; [ amorsillo ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -81,5 +81,6 @@ stdenv.mkDerivation {
|
||||
pkgMaintainer = "http://BioLib.open-bio.org/";
|
||||
homepage = http://www.arb-home.de/;
|
||||
priority = "10"; # because it includes binaries of clustal etc.
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "github-backup";
|
||||
version = "1.20140707";
|
||||
sha256 = "0c15gq91c36xza7yiimqvgk609p9xf9jlzy9683d9p9bx1khpadd";
|
||||
version = "1.20140721";
|
||||
sha256 = "0bnkfmgpk1iaaqck4ppn461fzk3s2761w2nxfrvw10gc934lhrxc";
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
buildDepends = [
|
||||
|
@ -1,28 +1,36 @@
|
||||
{ stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon
|
||||
, mlt, gettext , qimageblitz, qjson, shared_mime_info, soprano
|
||||
, pkgconfig, shared_desktop_ontologies, libv4l }:
|
||||
{ stdenv, fetchurl, frei0r, lib, cmake, qt4, perl, kdelibs, automoc4
|
||||
, phonon , makeWrapper, mlt, gettext , qimageblitz, qjson
|
||||
, shared_mime_info, soprano, pkgconfig, shared_desktop_ontologies
|
||||
, libv4l
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kdenlive-${version}";
|
||||
version = "0.9.6";
|
||||
version = "0.9.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/kdenlive/${version}/src/${name}.tar.bz2";
|
||||
sha256 = "1rw2cbzy5mabwijvryyzbhpgldn2zy5jy4j87hl4m1i8ah9lgi7x";
|
||||
sha256 = "17x5srgywcwlbpbs598jwwc62l8313n4dbqx3sdk7p6lyvwk3jln";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ cmake qt4 perl kdelibs automoc4 phonon mlt gettext qimageblitz
|
||||
qjson shared_mime_info soprano pkgconfig shared_desktop_ontologies libv4l
|
||||
buildInputs = [
|
||||
automoc4 cmake frei0r gettext kdelibs libv4l makeWrapper mlt perl
|
||||
phonon pkgconfig qimageblitz qjson qt4 shared_desktop_ontologies
|
||||
shared_mime_info soprano
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/kdenlive --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
|
||||
wrapProgram $out/bin/kdenlive_render --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Free and open source video editor";
|
||||
license = "GPLv2+";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
homepage = http://www.kdenlive.org/;
|
||||
maintainers = with stdenv.lib.maintainers; [viric];
|
||||
maintainers = with stdenv.lib.maintainers; [ goibhniu viric ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
||||
, speexSupport ? true, speex ? null
|
||||
, theoraSupport ? true, libtheora ? null
|
||||
, x264Support ? false, x264 ? null
|
||||
, jackaudioSupport ? false, jackaudio ? null
|
||||
, jackaudioSupport ? false, jack2 ? null
|
||||
, pulseSupport ? false, pulseaudio ? null
|
||||
, bs2bSupport ? false, libbs2b ? null
|
||||
# For screenshots
|
||||
@ -40,7 +40,7 @@ assert lameSupport -> lame != null;
|
||||
assert speexSupport -> speex != null;
|
||||
assert theoraSupport -> libtheora != null;
|
||||
assert x264Support -> x264 != null;
|
||||
assert jackaudioSupport -> jackaudio != null;
|
||||
assert jackaudioSupport -> jack2 != null;
|
||||
assert pulseSupport -> pulseaudio != null;
|
||||
assert bs2bSupport -> libbs2b != null;
|
||||
assert libpngSupport -> libpng != null;
|
||||
@ -109,7 +109,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional dvdnavSupport libdvdnav
|
||||
++ optional bluraySupport libbluray
|
||||
++ optional cddaSupport cdparanoia
|
||||
++ optional jackaudioSupport jackaudio
|
||||
++ optional jackaudioSupport jack2
|
||||
++ optionals amrSupport [ amrnb amrwb ]
|
||||
++ optional x264Support x264
|
||||
++ optional pulseSupport pulseaudio
|
||||
|
@ -10,7 +10,7 @@
|
||||
, bluraySupport ? true, libbluray ? null
|
||||
, speexSupport ? true, speex ? null
|
||||
, theoraSupport ? true, libtheora ? null
|
||||
, jackaudioSupport ? false, jackaudio ? null
|
||||
, jackaudioSupport ? false, jack2 ? null
|
||||
, pulseSupport ? true, pulseaudio ? null
|
||||
, bs2bSupport ? false, libbs2b ? null
|
||||
# For screenshots
|
||||
@ -28,7 +28,7 @@ assert dvdnavSupport -> libdvdnav != null;
|
||||
assert bluraySupport -> libbluray != null;
|
||||
assert speexSupport -> speex != null;
|
||||
assert theoraSupport -> libtheora != null;
|
||||
assert jackaudioSupport -> jackaudio != null;
|
||||
assert jackaudioSupport -> jack2 != null;
|
||||
assert pulseSupport -> pulseaudio != null;
|
||||
assert bs2bSupport -> libbs2b != null;
|
||||
assert libpngSupport -> libpng != null;
|
||||
@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional xineramaSupport libXinerama
|
||||
++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
|
||||
++ optional bluraySupport libbluray
|
||||
++ optional jackaudioSupport jackaudio
|
||||
++ optional jackaudioSupport jack2
|
||||
++ optional pulseSupport pulseaudio
|
||||
++ optional screenSaverSupport libXScrnSaver
|
||||
++ optional vdpauSupport libvdpau
|
||||
|
@ -14,7 +14,7 @@
|
||||
, bluraySupport ? true, libbluray ? null
|
||||
, speexSupport ? true, speex ? null
|
||||
, theoraSupport ? true, libtheora ? null
|
||||
, jackaudioSupport ? true, jackaudio ? null
|
||||
, jackaudioSupport ? true, jack2 ? null
|
||||
, pulseSupport ? true, pulseaudio ? null
|
||||
, bs2bSupport ? false, libbs2b ? null
|
||||
# For screenshots
|
||||
@ -36,7 +36,7 @@ assert dvdnavSupport -> libdvdnav != null;
|
||||
assert bluraySupport -> libbluray != null;
|
||||
assert speexSupport -> speex != null;
|
||||
assert theoraSupport -> libtheora != null;
|
||||
assert jackaudioSupport -> jackaudio != null;
|
||||
assert jackaudioSupport -> jack2 != null;
|
||||
assert pulseSupport -> pulseaudio != null;
|
||||
assert bs2bSupport -> libbs2b != null;
|
||||
assert libpngSupport -> libpng != null;
|
||||
@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional dvdreadSupport libdvdread
|
||||
++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
|
||||
++ optional bluraySupport libbluray
|
||||
++ optional jackaudioSupport jackaudio
|
||||
++ optional jackaudioSupport jack2
|
||||
++ optional pulseSupport pulseaudio
|
||||
++ optional screenSaverSupport libXScrnSaver
|
||||
++ optional vdpauSupport libvdpau
|
||||
|
13
pkgs/applications/video/shotcut/CuteLogger.patch
Normal file
13
pkgs/applications/video/shotcut/CuteLogger.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git shotcut-14.07/CuteLogger/CuteLogger.pro shotcut-14.07/CuteLogger/CuteLogger.pro
|
||||
index 501eddc..a5290b0 100644
|
||||
--- shotcut-14.07/CuteLogger/CuteLogger.pro
|
||||
+++ shotcut-14.07/CuteLogger/CuteLogger.pro
|
||||
@@ -42,7 +42,7 @@ unix:!symbian {
|
||||
maemo5 {
|
||||
target.path = /opt/usr/lib
|
||||
} else {
|
||||
- target.path = /usr/lib
|
||||
+ target.path = $(INSTALL_ROOT)/usr/lib
|
||||
}
|
||||
INSTALLS += target
|
||||
}
|
41
pkgs/applications/video/shotcut/default.nix
Normal file
41
pkgs/applications/video/shotcut/default.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ stdenv, fetchurl, SDL, frei0r, gettext, makeWrapper, mlt, pkgconfig, qt5 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "shotcut-${version}";
|
||||
version = "14.07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
|
||||
sha256 = "05g0b3jhmmdv8qnlgmi8wsfi7l3c5zvjcrrb3q7ajfc3q7yf6k6a";
|
||||
};
|
||||
|
||||
buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qt5 ];
|
||||
|
||||
# Fixed in git and can be removed for the next release
|
||||
patches = [ ./CuteLogger.patch ];
|
||||
|
||||
configurePhase = "qmake PREFIX=$out";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/shotcut
|
||||
cp -r src/qml $out/share/shotcut/
|
||||
wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A free, open source, cross-platform video editor";
|
||||
longDescription = ''
|
||||
An offical binary for Shotcut, which includes all the
|
||||
dependencies pinned to specific versions, is provided on
|
||||
http://shotcut.org.
|
||||
|
||||
If you encounter problems with this version, please contact the
|
||||
nixpkgs maintainer(s). If you wish to report any bugs upstream,
|
||||
please use the official build from shotcut.org instead.
|
||||
'';
|
||||
homepage = http://shotcut.org;
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, alsaLib, ffmpeg, jackaudio, libX11, libXext
|
||||
{ stdenv, fetchurl, alsaLib, ffmpeg, jack2, libX11, libXext
|
||||
, libXfixes, mesa, pkgconfig, pulseaudio, qt4
|
||||
}:
|
||||
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsaLib ffmpeg jackaudio libX11 libXext libXfixes mesa pkgconfig
|
||||
alsaLib ffmpeg jack2 libX11 libXext libXfixes mesa pkgconfig
|
||||
pulseaudio qt4
|
||||
];
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska
|
||||
, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
|
||||
, libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
|
||||
, mpeg2dec, udev, gnutls, avahi, libcddb, jackaudio, SDL, SDL_image
|
||||
, mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image
|
||||
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
|
||||
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
|
||||
, libvdpau
|
||||
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
|
||||
libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt
|
||||
libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
|
||||
udev gnutls avahi libcddb jackaudio SDL SDL_image libmtp unzip taglib
|
||||
udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib
|
||||
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
|
||||
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
|
||||
libdc1394 libraw1394 libopus libebml libmatroska libvdpau
|
||||
|
34
pkgs/data/fonts/opensans-ttf/default.nix
Normal file
34
pkgs/data/fonts/opensans-ttf/default.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
# adapted from https://aur.archlinux.org/packages/tt/ttf-opensans/PKGBUILD
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "opensans-ttf-20140617";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://hexchain.org/pub/archlinux/ttf-opensans/opensans.tar.gz";
|
||||
sha256 = "1ycn39dijhd3lffmafminrnfmymdig2jvc6i47bb42fx777q97q4";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp *.ttf $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Open Sans fonts";
|
||||
|
||||
longDescription = ''
|
||||
Open Sans is a humanist sans serif typeface designed by Steve Matteson,
|
||||
Type Director of Ascender Corp.
|
||||
'';
|
||||
|
||||
homepage = "http://en.wikipedia.org/wiki/Open_Sans";
|
||||
license = "Apache";
|
||||
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit, bzip2 }:
|
||||
{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit, bzip2, set_freqset_setuid ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "enlightenment-${version}";
|
||||
version = "0.18.8";
|
||||
@ -10,6 +11,20 @@ stdenv.mkDerivation rec {
|
||||
preConfigure = ''
|
||||
export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
# this is a hack and without this cpufreq module is not working:
|
||||
# when set_freqset_setuid is true and "e18_freqset" is set in setuidPrograms (this is taken care of in e18 NixOS module),
|
||||
# then this postInstall does the folowing:
|
||||
# 1. moves the "freqset" binary to "e18_freqset",
|
||||
# 2. linkes "e18_freqset" to enlightenment/bin so that,
|
||||
# 3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e18_freqset,
|
||||
# 4. and finaly, linkes /var/setuid-wrappers/e18_freqset to original destination where enlightenment wants it
|
||||
postInstall = if set_freqset_setuid then ''
|
||||
export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
|
||||
mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e18_freqset
|
||||
ln -sv $CPUFREQ_DIRPATH/e18_freqset $out/bin/e18_freqset
|
||||
ln -sv /var/setuid-wrappers/e18_freqset $CPUFREQ_DIRPATH/freqset
|
||||
'' else "";
|
||||
meta = {
|
||||
description = "The Compositing Window Manager and Desktop Shell";
|
||||
homepage = http://enlightenment.org/;
|
||||
|
@ -1,96 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
|
||||
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
|
||||
mkdir $NIX_FIXINC_DUMMY
|
||||
|
||||
|
||||
# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
|
||||
# Thing.
|
||||
export CPP="gcc -E"
|
||||
|
||||
|
||||
if test "$noSysDirs" = "1"; then
|
||||
|
||||
if test -e $NIX_GCC/nix-support/orig-libc; then
|
||||
|
||||
# Figure out what extra flags to pass to the gcc compilers
|
||||
# being generated to make sure that they use our glibc.
|
||||
extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
|
||||
extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
|
||||
|
||||
# Use *real* header files, otherwise a limits.h is generated
|
||||
# that does not include Glibc's limits.h (notably missing
|
||||
# SSIZE_MAX, which breaks the build).
|
||||
export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
|
||||
|
||||
else
|
||||
# Hack: support impure environments.
|
||||
extraCFlags="-isystem /usr/include"
|
||||
extraLDFlags="-L/usr/lib64 -L/usr/lib"
|
||||
export NIX_FIXINC_DUMMY=/usr/include
|
||||
fi
|
||||
|
||||
extraCFlags="-g0 $extraCFlags"
|
||||
extraLDFlags="--strip-debug $extraLDFlags"
|
||||
|
||||
export NIX_EXTRA_CFLAGS=$extraCFlags
|
||||
for i in $extraLDFlags; do
|
||||
export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i"
|
||||
done
|
||||
|
||||
makeFlagsArray=( \
|
||||
"${makeFlagsArray[@]}" \
|
||||
NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
|
||||
SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
|
||||
LIMITS_H_TEST=true \
|
||||
X_CFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
|
||||
LDFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
|
||||
LDFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
|
||||
)
|
||||
fi
|
||||
|
||||
|
||||
preConfigure() {
|
||||
# Perform the build in a different directory.
|
||||
mkdir ../build
|
||||
cd ../build
|
||||
configureScript=../$sourceRoot/configure
|
||||
}
|
||||
|
||||
|
||||
postInstall() {
|
||||
# Remove precompiled headers for now. They are very big and
|
||||
# probably not very useful yet.
|
||||
find $out/include -name "*.gch" -exec rm -rf {} \; -prune
|
||||
|
||||
# Remove `fixincl' to prevent a retained dependency on the
|
||||
# previous gcc.
|
||||
rm -rf $out/libexec/gcc/*/*/install-tools
|
||||
rm -rf $out/lib/gcc/*/*/install-tools
|
||||
|
||||
# Get rid of some "fixed" header files
|
||||
rm -rf $out/lib/gcc/*/*/include/root
|
||||
|
||||
# Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
|
||||
for i in $out/bin/*-gcc*; do
|
||||
if cmp -s $out/bin/gcc $i; then
|
||||
ln -sfn gcc $i
|
||||
fi
|
||||
done
|
||||
|
||||
for i in $out/bin/*-c++* $out/bin/*-g++*; do
|
||||
if cmp -s $out/bin/g++ $i; then
|
||||
ln -sfn g++ $i
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
if test -z "$profiledCompiler"; then
|
||||
buildFlags="bootstrap $buildFlags"
|
||||
else
|
||||
buildFlags="profiledbootstrap $buildFlags"
|
||||
fi
|
||||
|
||||
genericBuild
|
@ -1,66 +0,0 @@
|
||||
{ stdenv, fetchurl, noSysDirs
|
||||
, langC ? true, langCC ? true, langFortran ? false
|
||||
, profiledCompiler ? false
|
||||
, staticCompiler ? false
|
||||
, gmp ? null
|
||||
, mpfr ? null
|
||||
, texinfo ? null
|
||||
, name ? "gcc"
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let version = "4.2.4"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "${name}-${version}";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src =
|
||||
optional /*langC*/ true (fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.bz2";
|
||||
sha256 = "0cm5yzhqhgdfk03aayakmdj793sya42xkkqhslj7s2b697hygjfg";
|
||||
}) ++
|
||||
optional langCC (fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-g++-${version}.tar.bz2";
|
||||
sha256 = "0gq8ikci0qqgck71qqlhfld6zkwn9179x6z15vdd9blkdig55nxg";
|
||||
}) ++
|
||||
optional langFortran (fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2";
|
||||
sha256 = "013yqiqhdavgxzjryvylgf3lcnknmw89fx41jf2v4899srn0bhkg";
|
||||
});
|
||||
|
||||
patches =
|
||||
[./pass-cxxcpp.patch ./siginfo_t.patch]
|
||||
++ optional noSysDirs [./no-sys-dirs.patch];
|
||||
|
||||
inherit noSysDirs profiledCompiler staticCompiler;
|
||||
|
||||
buildInputs = [gmp mpfr texinfo];
|
||||
|
||||
configureFlags = "
|
||||
--disable-multilib
|
||||
--disable-libstdcxx-pch
|
||||
--with-system-zlib
|
||||
--enable-languages=${
|
||||
concatStrings (intersperse ","
|
||||
( optional langC "c"
|
||||
++ optional langCC "c++"
|
||||
++ optional langFortran "fortran"
|
||||
)
|
||||
)
|
||||
}
|
||||
${if stdenv.isi686 then "--with-arch=i686" else ""}
|
||||
";
|
||||
|
||||
NIX_EXTRA_LDFLAGS = if staticCompiler then "-static" else "";
|
||||
|
||||
passthru = { inherit langC langCC langFortran; };
|
||||
|
||||
meta = {
|
||||
homepage = "http://gcc.gnu.org/";
|
||||
license = "GPL/LGPL";
|
||||
description = "GNU Compiler Collection, 4.2.x";
|
||||
};
|
||||
}
|
@ -1,139 +0,0 @@
|
||||
diff -rc gcc-4.2.0-orig/Makefile.in gcc-4.2.0/Makefile.in
|
||||
*** gcc-4.2.0-orig/Makefile.in 2006-12-29 18:47:06.000000000 +0100
|
||||
--- gcc-4.2.0/Makefile.in 2007-05-20 21:06:42.000000000 +0200
|
||||
***************
|
||||
*** 364,369 ****
|
||||
--- 364,377 ----
|
||||
@host_makefile_frag@
|
||||
###
|
||||
|
||||
+ CFLAGS += $(NIX_EXTRA_CFLAGS)
|
||||
+ CPPFLAGS_FOR_TARGET += $(NIX_EXTRA_CFLAGS)
|
||||
+ CXXFLAGS += $(NIX_EXTRA_CFLAGS)
|
||||
+ LDFLAGS += $(NIX_EXTRA_LDFLAGS)
|
||||
+ LDFLAGS_FOR_TARGET += $(NIX_EXTRA_LDFLAGS)
|
||||
+ BOOT_CFLAGS += $(NIX_EXTRA_CFLAGS)
|
||||
+ BOOT_LDFLAGS += $(NIX_EXTRA_LDFLAGS)
|
||||
+
|
||||
# This is the list of directories that may be needed in RPATH_ENVVAR
|
||||
# so that prorgams built for the target machine work.
|
||||
TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(HOST_LIB_PATH_gcc)
|
||||
diff -rc gcc-4.2.0-orig/gcc/Makefile.in gcc-4.2.0/gcc/Makefile.in
|
||||
*** gcc-4.2.0-orig/gcc/Makefile.in 2007-03-12 05:40:09.000000000 +0100
|
||||
--- gcc-4.2.0/gcc/Makefile.in 2007-05-20 19:35:13.000000000 +0200
|
||||
***************
|
||||
*** 396,402 ****
|
||||
MD5_H = $(srcdir)/../include/md5.h
|
||||
|
||||
# Default native SYSTEM_HEADER_DIR, to be overridden by targets.
|
||||
! NATIVE_SYSTEM_HEADER_DIR = /usr/include
|
||||
# Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
|
||||
CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
|
||||
|
||||
--- 396,406 ----
|
||||
MD5_H = $(srcdir)/../include/md5.h
|
||||
|
||||
# Default native SYSTEM_HEADER_DIR, to be overridden by targets.
|
||||
! # Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent
|
||||
! # `fixinc' from fixing header files in /usr/include. However,
|
||||
! # NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set
|
||||
! # it to some dummy directory.
|
||||
! NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY)
|
||||
# Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
|
||||
CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
|
||||
|
||||
***************
|
||||
*** 3066,3072 ****
|
||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||
-DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
|
||||
-DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
|
||||
! -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
@TARGET_SYSTEM_ROOT_DEFINE@
|
||||
--- 3070,3076 ----
|
||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||
-DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
|
||||
-DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
|
||||
! -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
@TARGET_SYSTEM_ROOT_DEFINE@
|
||||
diff -rc gcc-4.2.0-orig/gcc/cppdefault.c gcc-4.2.0/gcc/cppdefault.c
|
||||
*** gcc-4.2.0-orig/gcc/cppdefault.c 2006-01-20 22:00:03.000000000 +0100
|
||||
--- gcc-4.2.0/gcc/cppdefault.c 2007-05-20 17:16:44.000000000 +0200
|
||||
***************
|
||||
*** 41,46 ****
|
||||
--- 41,50 ----
|
||||
# undef CROSS_INCLUDE_DIR
|
||||
#endif
|
||||
|
||||
+ #undef LOCAL_INCLUDE_DIR
|
||||
+ #undef SYSTEM_INCLUDE_DIR
|
||||
+ #undef STANDARD_INCLUDE_DIR
|
||||
+
|
||||
const struct default_include cpp_include_defaults[]
|
||||
#ifdef INCLUDE_DEFAULTS
|
||||
= INCLUDE_DEFAULTS;
|
||||
diff -rc gcc-4.2.0-orig/gcc/gcc.c gcc-4.2.0/gcc/gcc.c
|
||||
*** gcc-4.2.0-orig/gcc/gcc.c 2007-03-05 21:37:05.000000000 +0100
|
||||
--- gcc-4.2.0/gcc/gcc.c 2007-05-20 17:49:48.000000000 +0200
|
||||
***************
|
||||
*** 1449,1458 ****
|
||||
/* Default prefixes to attach to command names. */
|
||||
|
||||
#ifndef STANDARD_STARTFILE_PREFIX_1
|
||||
! #define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||
#endif
|
||||
#ifndef STANDARD_STARTFILE_PREFIX_2
|
||||
! #define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||
#endif
|
||||
|
||||
#ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */
|
||||
--- 1449,1458 ----
|
||||
/* Default prefixes to attach to command names. */
|
||||
|
||||
#ifndef STANDARD_STARTFILE_PREFIX_1
|
||||
! #define STANDARD_STARTFILE_PREFIX_1 ""
|
||||
#endif
|
||||
#ifndef STANDARD_STARTFILE_PREFIX_2
|
||||
! #define STANDARD_STARTFILE_PREFIX_2 ""
|
||||
#endif
|
||||
|
||||
#ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */
|
||||
***************
|
||||
*** 1473,1480 ****
|
||||
#endif
|
||||
|
||||
static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
|
||||
! static const char *const standard_exec_prefix_1 = "/usr/libexec/gcc/";
|
||||
! static const char *const standard_exec_prefix_2 = "/usr/lib/gcc/";
|
||||
static const char *md_exec_prefix = MD_EXEC_PREFIX;
|
||||
|
||||
static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
|
||||
--- 1473,1480 ----
|
||||
#endif
|
||||
|
||||
static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
|
||||
! static const char *const standard_exec_prefix_1 = "/no-such-path/";
|
||||
! static const char *const standard_exec_prefix_2 = "/no-such-path/";
|
||||
static const char *md_exec_prefix = MD_EXEC_PREFIX;
|
||||
|
||||
static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
|
||||
diff -rc gcc-4.2.0-orig/ltconfig gcc-4.2.0/ltconfig
|
||||
*** gcc-4.2.0-orig/ltconfig 2007-02-14 18:08:35.000000000 +0100
|
||||
--- gcc-4.2.0/ltconfig 2007-05-20 22:16:24.000000000 +0200
|
||||
***************
|
||||
*** 2322,2327 ****
|
||||
--- 2322,2332 ----
|
||||
# A language-specific compiler.
|
||||
CC=$CC
|
||||
|
||||
+ # Ugly hack to get libmudflap (and possibly other libraries) to build.
|
||||
+ # Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
|
||||
+ # to Glibc gets lost. Here we forcibly add it to any invocation.
|
||||
+ CC="\$CC $NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS"
|
||||
+
|
||||
# Is the compiler the GNU C compiler?
|
||||
with_gcc=$with_gcc
|
||||
|
@ -1,21 +0,0 @@
|
||||
diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in
|
||||
*** gcc-orig/Makefile.in Wed Jun 21 13:40:23 2006
|
||||
--- gcc-4.1.1/Makefile.in Wed Jun 21 14:19:44 2006
|
||||
***************
|
||||
*** 213,219 ****
|
||||
RAW_CXX_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
||||
! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
|
||||
|
||||
NORMAL_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
--- 213,220 ----
|
||||
RAW_CXX_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
||||
! CXX="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD)"; export CXX; \
|
||||
! CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP;
|
||||
|
||||
NORMAL_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
@ -1,15 +0,0 @@
|
||||
https://bbs.archlinux.org/viewtopic.php?id=144949
|
||||
--- a/gcc/config/i386/linux-unwind.h 2011-01-03 20:52:22.000000000 +0000
|
||||
+++ b/gcc/config/i386/linux-unwind.h 2012-07-06 12:23:51.562859470 +0100
|
||||
@@ -133,9 +133,9 @@
|
||||
{
|
||||
struct rt_sigframe {
|
||||
int sig;
|
||||
- struct siginfo *pinfo;
|
||||
+ siginfo_t *pinfo;
|
||||
void *puc;
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
} *rt_ = context->cfa;
|
||||
/* The void * cast is necessary to avoid an aliasing warning.
|
@ -52,7 +52,7 @@ assert langGo -> langCC;
|
||||
with stdenv.lib;
|
||||
with builtins;
|
||||
|
||||
let version = "4.9.0";
|
||||
let version = "4.9.1";
|
||||
|
||||
# Whether building a cross-compiler for GNU/Hurd.
|
||||
crossGNU = cross != null && cross.config == "i586-pc-gnu";
|
||||
@ -209,7 +209,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
|
||||
sha256 = "0mqjxpw2klskls00lwx1k24pnyzm3whqxg3hk74c3sddgfllgc5r";
|
||||
sha256 = "0zki3ngi0gsidnmsp88mjl2868cc7cm5wm1vwqw6znja28d7hd6k";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
@ -26,6 +26,7 @@ cabal.mkDerivation (self: {
|
||||
buildTools = [ happy ];
|
||||
extraLibraries = [ boehmgc gmp ];
|
||||
configureFlags = "-fllvm -fgmp -fffi";
|
||||
patches = [ ./trifecta-fix.patch ];
|
||||
meta = {
|
||||
homepage = "http://www.idris-lang.org/";
|
||||
description = "Functional Programming Language with Dependent Types";
|
||||
|
15
pkgs/development/compilers/idris/trifecta-fix.patch
Normal file
15
pkgs/development/compilers/idris/trifecta-fix.patch
Normal file
@ -0,0 +1,15 @@
|
||||
diff --git a/src/Idris/AbsSyntaxTree.hs b/src/Idris/AbsSyntaxTree.hs
|
||||
index 76df969..076f1ff 100644
|
||||
--- a/src/Idris/AbsSyntaxTree.hs
|
||||
+++ b/src/Idris/AbsSyntaxTree.hs
|
||||
@@ -194,6 +194,10 @@ data IState = IState {
|
||||
idris_callswho :: Maybe (M.Map Name [Name])
|
||||
}
|
||||
|
||||
+-- Required for parsers library, and therefore trifecta
|
||||
+instance Show IState where
|
||||
+ show = const "{internal state}"
|
||||
+
|
||||
data SizeChange = Smaller | Same | Bigger | Unknown
|
||||
deriving (Show, Eq)
|
||||
{-!
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user