Merge branch 'master' into typespeed

This commit is contained in:
Jonathan Glines 2014-06-08 17:32:27 -06:00
commit 7386e9f171
210 changed files with 7329 additions and 2240 deletions

View File

@ -1,7 +1,7 @@
Nixpkgs is a collection of packages for [Nix](http://nixos.org/nix/) package
manager. Nixpkgs also includes [NixOS](http://nixos.org/nixos/) linux distribution source code.
* [NixOS installation instructions](http://nixos.org/nixos/manual/#installing-nixos)
* [NixOS installation instructions](http://nixos.org/nixos/manual/#ch-installation)
* [Manual (How to write packages for Nix)](http://nixos.org/nixpkgs/manual/)
* [Manual (NixOS)](http://nixos.org/nixos/manual/)
* [Continuous build](http://hydra.nixos.org/jobset/nixos/trunk-combined)

View File

@ -14,6 +14,7 @@
AndersonTorres = "Anderson Torres <torres.anderson.85@gmail.com>";
andres = "Andres Loeh <ksnixos@andres-loeh.de>";
antono = "Antono Vasiljev <self@antono.info>";
arobyn = "Alexei Robyn <shados@shados.net>";
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
aszlig = "aszlig <aszlig@redmoonstudios.org>";
bbenoist = "Baptist BENOIST <return_0@live.com>";
@ -29,9 +30,10 @@
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
coroa = "Jonas Hörsch <jonas@chaoflow.net>";
cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>";
ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
eelco = "Eelco Dolstra <eelco.dolstra@logicblox.com>";
emery = "Emery Hemingawy <emery@vfemail.net>";
emery = "Emery Hemingway <emery@vfemail.net>";
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
falsifian = "James Cook <james.cook@utoronto.ca>";
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
@ -43,6 +45,7 @@
iElectric = "Domen Kozar <domen@dev.si>";
iyzsong = "Song Wenwu <iyzsong@gmail.com>";
jcumming = "Jack Cummings <jack@mudshark.org>";
joelteon = "Joel Taylor <me@joelt.io>";
jwiegley = "John Wiegley <johnw@newartisans.com>";
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
@ -64,6 +67,7 @@
pierron = "Nicolas B. Pierron <nixos@nbp.name>";
piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>";
pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>";
plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>";
pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
qknight = "Joachim Schiele <js@lastlog.de>";
raskin = "Michael Raskin <7c6f434c@mail.ru>";

View File

@ -39,7 +39,37 @@ This will check out the latest NixOS sources to
and the Nixpkgs sources to
<filename><replaceable>/my/sources</replaceable>/nixpkgs</filename>.
(The NixOS source tree lives in a subdirectory of the Nixpkgs
repository.) If you want to rebuild your system using your (modified)
repository.)</para>
<para>Its often inconvenient to develop directly on the master
branch, since if somebody has just committed (say) a change to GCC,
then the binary cache may not have caught up yet and youll have to
rebuild everything from source. So you may want to create a local
branch based on your current NixOS version:
<screen>
$ nixos-version
14.04.273.ea1952b (Baboon)
$ git checkout -b local ea1952b
</screen>
Or, to base your local branch on the latest version available in the
NixOS channel:
<screen>
$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location
Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/
$ git checkout -b local acaf4a6
</screen>
You can then use <command>git rebase</command> to sync your local
branch with the upstream branch, and use <command>git
cherry-pick</command> to copy commits from your local branch to the
upstream branch.</para>
<para>If you want to rebuild your system using your (modified)
sources, you need to tell <command>nixos-rebuild</command> about them
using the <option>-I</option> flag:

View File

@ -509,7 +509,7 @@ in {
message = "uids and gids must be unique!";
}
{ assertion = cfg.mutableUsers || (nonUidUsers == {});
message = "When mutableUsers is false, no uid can be null";
message = "When mutableUsers is false, no uid can be null: ${toString (attrNames nonUidUsers)}";
}
{ assertion = cfg.mutableUsers || (nonGidGroups == {});
message = "When mutableUsers is false, no gid can be null";

View File

@ -131,6 +131,8 @@
starbound = 120;
hydra = 122;
spiped = 123;
teamspeak = 124;
influxdb = 125;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -236,6 +238,8 @@
grsecurity = 121;
hydra = 122;
spiped = 123;
teamspeak = 124;
influxdb = 125;
# When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!

View File

@ -98,6 +98,7 @@
./services/databases/postgresql.nix
./services/databases/virtuoso.nix
./services/databases/monetdb.nix
./services/databases/influxdb.nix
./services/desktops/accountservice.nix
./services/desktops/geoclue2.nix
./services/desktops/gnome3/at-spi2-core.nix
@ -222,6 +223,7 @@
./services/networking/syncthing.nix
./services/networking/ssh/lshd.nix
./services/networking/ssh/sshd.nix
./services/networking/teamspeak3.nix
./services/networking/tftpd.nix
./services/networking/unbound.nix
./services/networking/vsftpd.nix
@ -314,6 +316,7 @@
./tasks/filesystems/vfat.nix
./tasks/filesystems/xfs.nix
./tasks/filesystems/zfs.nix
./tasks/encrypted-devices.nix
./tasks/kbd.nix
./tasks/lvm.nix
./tasks/network-interfaces.nix

View File

@ -0,0 +1,241 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.influxdb;
influxdbConfig = pkgs.writeText "config.toml" ''
bind-address = "${cfg.bindAddress}"
[logging]
level = "info"
file = "stdout"
[admin]
port = ${toString cfg.adminPort}
assets = "${pkgs.influxdb}/share/influxdb/admin"
[api]
port = ${toString cfg.apiPort}
${cfg.apiExtraConfig}
[input_plugins]
${cfg.inputPluginsConfig}
[raft]
dir = "${cfg.dataDir}/raft"
${cfg.raftConfig}
[storage]
dir = "${cfg.dataDir}/db"
${cfg.storageConfig}
[cluster]
${cfg.clusterConfig}
[sharding]
${cfg.shardingConfig}
[wal]
dir = "${cfg.dataDir}/wal"
${cfg.walConfig}
${cfg.extraConfig}
'';
in
{
###### interface
options = {
services.influxdb = {
enable = mkOption {
default = false;
description = "Whether to enable the influxdb server";
type = types.uniq types.bool;
};
package = mkOption {
default = pkgs.influxdb;
description = "Which influxdb derivation to use";
type = types.package;
};
user = mkOption {
default = "influxdb";
description = "User account under which influxdb runs";
type = types.string;
};
group = mkOption {
default = "influxdb";
description = "Group under which influxdb runs";
type = types.string;
};
dataDir = mkOption {
default = "/var/db/influxdb";
description = "Data directory for influxd data files.";
type = types.path;
};
bindAddress = mkOption {
default = "127.0.0.1";
description = "Address where influxdb listens";
type = types.str;
};
adminPort = mkOption {
default = 8083;
description = "The port where influxdb admin listens";
type = types.int;
};
apiPort = mkOption {
default = 8086;
description = "The port where influxdb api listens";
type = types.int;
};
apiExtraConfig = mkOption {
default = ''
read-timeout = "5s"
'';
description = "Extra influxdb api configuration";
example = ''
ssl-port = 8084
ssl-cert = /path/to/cert.pem
read-timeout = "5s"
'';
type = types.lines;
};
inputPluginsConfig = mkOption {
default = "";
description = "Configuration of influxdb extra plugins";
example = ''
[input_plugins.graphite]
enabled = true
port = 2003
database = "graphite"
'';
};
raftConfig = mkOption {
default = ''
port = 8090
'';
description = "Influxdb raft configuration";
type = types.lines;
};
storageConfig = mkOption {
default = ''
write-buffer-size = 10000
'';
description = "Influxdb raft configuration";
type = types.lines;
};
clusterConfig = mkOption {
default = ''
protobuf_port = 8099
protobuf_timeout = "2s"
protobuf_heartbeat = "200ms"
protobuf_min_backoff = "1s"
protobuf_max_backoff = "10s"
write-buffer-size = 10000
max-response-buffer-size = 100
concurrent-shard-query-limit = 10
'';
description = "Influxdb cluster configuration";
type = types.lines;
};
leveldbConfig = mkOption {
default = ''
max-open-files = 40
lru-cache-size = "200m"
max-open-shards = 0
point-batch-size = 100
write-batch-size = 5000000
'';
description = "Influxdb leveldb configuration";
type = types.lines;
};
shardingConfig = mkOption {
default = ''
replication-factor = 1
[sharding.short-term]
duration = "7d"
split = 1
[sharding.long-term]
duration = "30d"
split = 1
'';
description = "Influxdb sharding configuration";
type = types.lines;
};
walConfig = mkOption {
default = ''
flush-after = 1000
bookmark-after = 1000
index-after = 1000
requests-per-logfile = 10000
'';
description = "Influxdb write-ahead log configuration";
type = types.lines;
};
extraConfig = mkOption {
default = "";
description = "Extra configuration options for influxdb";
type = types.string;
};
};
};
###### implementation
config = mkIf config.services.influxdb.enable {
systemd.services.influxdb = {
description = "InfluxDB Server";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
serviceConfig = {
ExecStart = ''${cfg.package}/bin/influxdb -config "${influxdbConfig}"'';
User = "${cfg.user}";
Group = "${cfg.group}";
PermissionsStartOnly = true;
};
preStart = ''
mkdir -m 0770 -p ${cfg.dataDir}
if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi
'';
};
users.extraUsers = optional (cfg.user == "influxdb") {
name = "influxdb";
uid = config.ids.uids.influxdb;
description = "Influxdb daemon user";
};
users.extraGroups = optional (cfg.group == "influxdb") {
name = "influxdb";
gid = config.ids.gids.influxdb;
};
};
}

View File

@ -5,6 +5,8 @@ with lib;
let
pkg = if config.hardware.sane.snapshot then pkgs.saneBackendsGit else pkgs.saneBackends;
backends = [ pkg ] ++ config.hardware.sane.extraBackends;
saneConfig = pkgs.mkSaneConfig { paths = backends; };
in
@ -26,6 +28,12 @@ in
description = "Use a development snapshot of SANE scanner drivers.";
};
hardware.sane.extraBackends = mkOption {
type = types.listOf types.path;
default = [];
description = "Packages providing extra SANE backends to enable.";
};
};
@ -33,8 +41,12 @@ in
config = mkIf config.hardware.sane.enable {
environment.systemPackages = [ pkg ];
services.udev.packages = [ pkg ];
environment.systemPackages = backends;
environment.variables = {
SANE_CONFIG_DIR = mkDefault "${saneConfig}/etc/sane.d";
LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ];
};
services.udev.packages = backends;
users.extraGroups."scanner".gid = config.ids.gids.scanner;

View File

@ -18,9 +18,9 @@ let
knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
knownHostsFile = pkgs.writeText "ssh_known_hosts" (
flip concatMapStrings knownHosts (h:
"${concatStringsSep "," h.hostNames} ${readFile h.publicKeyFile}"
)
flip concatMapStrings knownHosts (h: ''
${concatStringsSep "," h.hostNames} ${if h.publicKey != null then h.publicKey else readFile h.publicKeyFile}
'')
);
userOptions = {
@ -39,7 +39,7 @@ let
};
keyFiles = mkOption {
type = types.listOf types.unspecified;
type = types.listOf types.path;
default = [];
description = ''
A list of files each containing one OpenSSH public key that should be
@ -182,7 +182,7 @@ in
};
authorizedKeysFiles = mkOption {
type = types.listOf types.unspecified;
type = types.listOf types.str;
default = [];
description = "Files from with authorized keys are read.";
};
@ -218,7 +218,18 @@ in
the host's ssh service.
'';
};
publicKey = mkOption {
default = null;
type = types.nullOr types.str;
description = ''
The public key data for the host. You can fetch a public key
from a running SSH server with the <command>ssh-keyscan</command>
command.
'';
};
publicKeyFile = mkOption {
default = null;
type = types.nullOr types.path;
description = ''
The path to the public key file for the host. The public
key file is read at build time and saved in the Nix store.
@ -367,7 +378,12 @@ in
'';
assertions = [{ assertion = if cfg.forwardX11 then cfgc.setXAuthLocation else true;
message = "cannot enable X11 forwarding without setting xauth location";}];
message = "cannot enable X11 forwarding without setting xauth location";}]
++ flip mapAttrsToList cfg.knownHosts (name: data: {
assertion = (data.publicKey == null && data.publicKeyFile != null) ||
(data.publicKey != null && data.publicKeyFile == null);
message = "knownHost ${name} must contain either a publicKey or publicKeyFile";
});
};

View File

@ -0,0 +1,142 @@
{ config, pkgs, ... }:
with pkgs.lib;
let
ts3 = pkgs.teamspeak_server;
cfg = config.services.teamspeak3;
user = "teamspeak";
group = "teamspeak";
in
{
###### interface
options = {
services.teamspeak3 = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to run the Teamspeak3 voice communication server daemon.
'';
};
dataDir = mkOption {
type = types.path;
default = "/var/lib/teamspeak3-server";
description = ''
Directory to store TS3 database and other state/data files.
'';
};
logPath = mkOption {
type = types.path;
default = "/var/log/teamspeak3-server/";
description = ''
Directory to store log files in.
'';
};
voiceIP = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
IP on which the server instance will listen for incoming voice connections. Defaults to any IP.
'';
};
defaultVoicePort = mkOption {
type = types.int;
default = 9987;
description = ''
Default UDP port for clients to connect to virtual servers - used for first virtual server, subsequent ones will open on incrementing port numbers by default.
'';
};
fileTransferIP = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
IP on which the server instance will listen for incoming file transfer connections. Defaults to any IP.
'';
};
fileTransferPort = mkOption {
type = types.int;
default = 30033;
description = ''
TCP port opened for file transfers.
'';
};
queryIP = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
IP on which the server instance will listen for incoming ServerQuery connections. Defaults to any IP.
'';
};
queryPort = mkOption {
type = types.int;
default = 10011;
description = ''
TCP port opened for ServerQuery connections.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
users.extraUsers.teamspeak =
{ name = "teamspeak";
description = "Teamspeak3 voice communication server daemon";
group = group;
uid = config.ids.uids.teamspeak;
};
users.extraGroups.teamspeak =
{ name = "teamspeak";
gid = config.ids.gids.teamspeak;
};
systemd.services.teamspeak3-server = {
description = "Teamspeak3 voice communication server daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -p ${cfg.dataDir}
mkdir -p ${cfg.logPath}
chown ${user}:${group} ${cfg.dataDir}
chown ${user}:${group} ${cfg.logPath}
'';
serviceConfig =
{ ExecStart = ''
${ts3}/bin/ts3server \
dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \
voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \
filetransfer_ip=${cfg.fileTransferIP} filetransfer_port=${toString cfg.fileTransferPort} \
query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort}
'';
WorkingDirectory = cfg.dataDir;
User = user;
Group = group;
PermissionsStartOnly = true; # preStart needs to run with root permissions
};
};
};
}

View File

@ -18,25 +18,25 @@ let
"forward-zone:\n name: .\n" +
concatMapStrings (x: " forward-addr: ${x}\n") cfg.forwardAddresses;
confFile = pkgs.writeText "unbound.conf"
''
server:
directory: "${stateDir}"
username: ${username}
# make sure unbound can access entropy from inside the chroot.
# e.g. on linux the use these commands (on BSD, devfs(8) is used):
# mount --bind -n /dev/random /etc/unbound/dev/random
# and mount --bind -n /dev/log /etc/unbound/dev/log
chroot: "${stateDir}"
# logfile: "${stateDir}/unbound.log" #uncomment to use logfile.
pidfile: "${stateDir}/unbound.pid"
verbosity: 1 # uncomment and increase to get more logging.
# listen on all interfaces, answer queries from the local subnet.
confFile = pkgs.writeText "unbound.conf" ''
server:
directory: "${stateDir}"
username: ${username}
# make sure unbound can access entropy from inside the chroot.
# e.g. on linux the use these commands (on BSD, devfs(8) is used):
# mount --bind -n /dev/random /etc/unbound/dev/random
# and mount --bind -n /dev/log /etc/unbound/dev/log
chroot: "${stateDir}"
# logfile: "${stateDir}/unbound.log" #uncomment to use logfile.
pidfile: "${stateDir}/unbound.pid"
verbosity: 1 # uncomment and increase to get more logging.
${interfaces}
${access}
${forward}
${cfg.extraConfig}
'';
${forward}
${cfg.extraConfig}
'';
in
@ -45,74 +45,61 @@ in
###### interface
options = {
services.unbound = {
enable = mkOption {
default = false;
description = "
Whether to enable the Unbound domain name server.
";
default = false;
description = "Whether to enable the Unbound domain name server.";
};
allowedAccess = mkOption {
default = ["127.0.0.0/24"];
description = "
What networks are allowed to use us as a resolver.
";
default = ["127.0.0.0/24"];
description = "What networks are allowed to use unbound as a resolver.";
};
interfaces = mkOption {
default = [ "127.0.0.0" "::1" ];
description = "
What addresses the server should listen to.
";
default = [ "127.0.0.1" "::1" ];
description = "What addresses the server should listen on.";
};
forwardAddresses = mkOption {
default = [ ];
description = "
What servers to forward the queries to.
";
default = [ ];
description = "What servers to forward queries to.";
};
extraConfig = mkOption {
default = "";
description = "
Extra unbound config
";
default = "";
description = "Extra lines of unbound config.";
};
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.unbound ];
users.extraUsers = singleton {
name = username;
uid = config.ids.uids.unbound;
description = "unbound daemon user";
home = stateDir;
createHome = true;
};
systemd.services.unbound = {
description="Unbound recursive Domain Name Server";
after = [ "network.target" ];
before = [ "nss-lookup.target" ];
wants = [" nss-lookup.target" ];
wantedBy = [ "multi-user.target" ];
path = [ pkgs.unbound ];
serviceConfig.ExecStart = "${pkgs.unbound}/sbin/unbound -d -c ${confFile}";
};
};
###### implementation
config = mkIf config.services.unbound.enable {
environment.systemPackages = [ pkgs.unbound ];
users.extraUsers = singleton
{ name = username;
uid = config.ids.uids.unbound;
description = "unbound daemon user";
home = "/tmp";
};
jobs.unbound =
{ description = "Unbound name server job";
preStart =
''
${pkgs.coreutils}/bin/mkdir -p ${stateDir}
'';
daemonType = "fork";
exec = "${pkgs.unbound}/sbin/unbound -c ${confFile}";
};
};
}

View File

@ -94,6 +94,9 @@ in {
# Let gnome-control-center find gnome-shell search providers
export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/
# Let nautilus find extensions
export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/
# Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
@ -149,6 +152,7 @@ in {
gnome3.gnome-music
gnome3.gnome-tweak-tool
gnome3.gnome-photos
gnome3.nautilus-sendto
] config.environment.gnome3.excludePackages);
# Needed for themes and backgrounds

View File

@ -121,9 +121,10 @@ fi
# written to disk (generally used for NixOps, harmless elsewhere).
if ! mountpoint -q /run/keys; then
rm -rf /run/keys
mkdir -m 0750 /run/keys
chown 0:96 /run/keys
mkdir /run/keys
mount -t ramfs none /run/keys
chown 0:96 /run/keys
chmod 0750 /run/keys
fi
mkdir -m 0755 -p /run/lock

View File

@ -0,0 +1,69 @@
{ config, pkgs, modulesPath, ... }:
with pkgs.lib;
let
fileSystems = attrValues config.fileSystems ++ config.swapDevices;
encDevs = filter (dev: dev.encrypted.enable) fileSystems;
keyedEncDevs = filter (dev: dev.encrypted.keyFile != null) encDevs;
isIn = needle: haystack: filter (p: p == needle) haystack != [];
anyEncrypted =
fold (j: v: v || j.encrypted.enable) false encDevs;
encryptedFSOptions = {
encrypted = {
enable = mkOption {
default = false;
type = types.bool;
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry";
};
blkDev = mkOption {
default = null;
example = "/dev/sda1";
type = types.uniq (types.nullOr types.string);
description = "Location of the backing encrypted device";
};
label = mkOption {
default = null;
example = "rootfs";
type = types.uniq (types.nullOr types.string);
description = "Label of the backing encrypted device";
};
keyFile = mkOption {
default = null;
example = "/root/.swapkey";
type = types.uniq (types.nullOr types.string);
description = "File system location of keyfile";
};
};
};
in
{
options = {
fileSystems = mkOption {
options = [encryptedFSOptions];
};
swapDevices = mkOption {
options = [encryptedFSOptions];
};
};
config = mkIf anyEncrypted {
boot.initrd = {
luks = {
devices =
map (dev: { name = dev.encrypted.label; device = dev.encrypted.blkDev; } ) encDevs;
cryptoModules = [ "aes" "sha256" "sha1" "xts" ];
};
postMountCommands =
concatMapStrings (dev: "cryptsetup luksOpen --key-file ${dev.encrypted.keyFile} ${dev.encrypted.label};\n") keyedEncDevs;
};
};
}

View File

@ -221,6 +221,7 @@ in rec {
tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test);
tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test);
tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test);
tests.influxdb = callTest tests/influxdb.nix {};
tests.ipv6 = callTest tests/ipv6.nix {};
tests.jenkins = callTest tests/jenkins.nix {};
tests.kde4 = callTest tests/kde4.nix {};

34
nixos/tests/influxdb.nix Normal file
View File

@ -0,0 +1,34 @@
# This test runs influxdb and checks if influxdb is up and running
import ./make-test.nix {
nodes = {
one = { config, pkgs, ... }: {
services.influxdb.enable = true;
};
};
testScript = ''
startAll;
$one->waitForUnit("influxdb.service");
# Check if admin interface is avalible
$one->waitUntilSucceeds("curl -f 127.0.0.1:8083");
# create database
$one->succeed(q~
curl -X POST 'http://localhost:8086/db?u=root&p=root' \
-d '{"name": "test"}'
~);
# write some points and run simple query
$one->succeed(q~
curl -X POST 'http://localhost:8086/db/test/series?u=root&p=root' \
-d '[{"name":"foo","columns":["val"],"points":[[6666]]}]'
~);
$one->succeed(q~
curl -G 'http://localhost:8086/db/test/series?u=root&p=root' \
--data-urlencode 'q=select * from foo limit 1' | grep 6666
~);
'';
}

View File

@ -147,6 +147,9 @@ let
or die "bad `hello' output";
''}
# Wait for hard disks to appear in /dev
$machine->succeed("udevadm settle");
# Partition the disk.
${createPartitions}

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]
++ libintlOrEmpty;
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)";
homepage = http://www.musicpd.org/clients/ncmpc/;

View File

@ -6,7 +6,9 @@
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
let
version = "0.9.4.183";
version = if stdenv.system == "i686-linux"
then "0.9.4.183.g644e24e.428"
else "0.9.10.17.g4129e1c.78";
qt4webkit =
if stdenv.system == "i686-linux" then
@ -65,13 +67,13 @@ stdenv.mkDerivation {
src =
if stdenv.system == "i686-linux" then
fetchurl {
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_i386.deb";
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_i386.deb";
sha256 = "1wl6v5x8vm74h5lxp8fhvmih8l122aadsf1qxvpk0k3y6mbx0ifa";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_amd64.deb";
sha256 = "1yniln6iswrrrny01qr2w5zcvam0vnrvy9mwbnk9i14i2ch0f3fx";
url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_amd64.deb";
sha256 = "1a4vn2ij3nghnc0fq3nsyb95gwhaw4zabdq6jd52hxz8iv31pn1z";
}
else throw "Spotify not supported on this platform.";
@ -89,13 +91,22 @@ stdenv.mkDerivation {
# Work around Spotify referring to a specific minor version of
# OpenSSL.
mkdir $out/lib
ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8
ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8
ln -s ${nss}/lib/libnss3.so $out/lib/libnss3.so.1d
ln -s ${nss}/lib/libnssutil3.so $out/lib/libnssutil3.so.1d
ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d
${if stdenv.system == "x86_64-linux" then ''
ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.1.0.0
ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so
ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so
'' else ''
ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8
ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8
ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d
ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d
''}
# Work around Spotify trying to open libudev.so.0 (which we don't have)
ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0

View File

@ -0,0 +1,101 @@
{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
}:
stdenv.mkDerivation rec {
emacsName = "emacs-24.3";
name = "${emacsName}-mac-4.8";
#builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${emacsName}.tar.xz";
sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
};
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
};
buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
postUnpack = ''
mv $emacsName $name
tar xzf $macportSrc
mv $name $emacsName
'';
preConfigure = ''
patch -p0 < patch-mac
# The search for 'tputs' will fail because it's in ncursesw within the
# ncurses package, yet Emacs' configure script only looks in ncurses.
# Further, we need to make sure that the -L option occurs before mention
# of the library, so that it finds it within the Nix store.
sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
configureFlagsArray=(
LDFLAGS=-L${ncurses}/lib
--with-xml2=yes
--with-gnutls=yes
--with-mac
--enable-mac-app=$out/Applications
)
makeFlagsArray=(
CFLAGS=-O3
LDFLAGS="-O3 -L${ncurses}/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)))
;; make tramp work for NixOS machines
(eval-after-load 'tramp
'(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
EOF
'';
doCheck = true;
meta = with stdenv.lib; {
description = "GNU Emacs 24, the extensible, customizable text editor";
homepage = http://www.gnu.org/software/emacs/;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jwiegley ];
platforms = platforms.darwin;
longDescription = ''
GNU Emacs is an extensible, customizable text editorand more. At its
core is an interpreter for Emacs Lisp, a dialect of the Lisp
programming language with extensions to support text editing.
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.
This is "Mac port" addition to GNU Emacs 24. This provides a native
GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
already contain the official GUI support via the NS (Cocoa) port for
Mac OS X 10.4 and later. So if it is good enough for you, then you
don't need to try this.
'';
};
}

View File

@ -64,27 +64,27 @@ let
in {
idea_community_1312 = buildIdea rec {
idea_community_1313 = buildIdea rec {
name = "idea-community-${version}";
version = "13.1.2";
build = "IC-135.690";
version = "13.1.3";
build = "IC-135.909";
description = "IntelliJ IDEA 13 Community Edition";
license = stdenv.lib.licenses.asl20.shortName;
src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "59fde67bf23e4638edd4b5ada133ac1c61c3132dea936eb7de7ee5ea259cc102";
sha256 = "62ed937ef68df16eef4d32772b6510835527f95020db1c76643f17ed2c067b51";
};
};
idea_ultimate_1312 = buildIdea rec {
idea_ultimate_1313 = buildIdea rec {
name = "idea-ultimate-${version}";
version = "13.1.2";
build = "IU-135.690";
version = "13.1.3";
build = "IU-135.909";
description = "IntelliJ IDEA 13 Ultimate Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "ccbaed495e2f099c92d1f747a59d7af9f9d41d75cf10e8a299d11825d78685ad";
sha256 = "6d99e49a63a197e19381a85535ab424a7832653db8cceb3bca7d53615ec7a53d";
};
};

View File

@ -11,7 +11,7 @@ composableDerivation {
else stdenv ).mkDerivation;
} (fix: {
name = "vim_configurable-7.4.23";
name = "vim_configurable-7.4.316";
enableParallelBuilding = true; # test this
@ -21,8 +21,8 @@ composableDerivation {
# latest release
args.fetchhg {
url = "https://vim.googlecode.com/hg/";
tag = "v7-4-131";
sha256 = "1akr0i4pykbrkqwrglm0dfn5nwpncb9pgg4h7fl6a8likbr5f3wb";
tag = "v7-4-316";
sha256 = "0scxx33p1ky0wihk04xqpd6rygp1crm0hx446zbjwbsjj6xxn7sx";
};
"vim-nox" =
@ -35,16 +35,13 @@ composableDerivation {
}.src;
};
prePatch = "cd src";
# if darwin support is enabled, we want to make sure we're not building with
# OS-installed python framework
preConfigure
= stdenv.lib.optionalString
(stdenv.isDarwin && (config.vim.darwin or true)) ''
# TODO: we should find a better way of doing this as, if the configure
# file changes, we need to change these line numbers
sed -i "5641,5644d" src/auto/configure
sed -i "5648d" src/auto/configure
'';
patches = stdenv.lib.optionals
(stdenv.isDarwin && (config.vim.darwin or true))
[ ./python_framework.patch ];
configureFlags
= [ "--enable-gui=${args.gui}" "--with-features=${args.features}" ];
@ -53,8 +50,6 @@ composableDerivation {
= [ ncurses pkgconfig gtk libX11 libXext libSM libXpm libXt libXaw libXau
libXmu glib libICE ];
prePatch = "cd src";
# most interpreters aren't tested yet.. (see python for example how to do it)
flags = {
ftNix = {

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
name = "vim-${version}";
version = "7.4.131";
version = "7.4.316";
src = fetchhg {
url = "https://vim.googlecode.com/hg/";
tag = "v7-4-131";
sha256 = "1akr0i4pykbrkqwrglm0dfn5nwpncb9pgg4h7fl6a8likbr5f3wb";
tag = "v7-4-316";
sha256 = "0scxx33p1ky0wihk04xqpd6rygp1crm0hx446zbjwbsjj6xxn7sx";
};
enableParallelBuilding = true;

View File

@ -0,0 +1,23 @@
diff --git a/src/auto/configure b/src/auto/configure
index a9755a0..4a0e2a4 100755
--- a/auto/configure
+++ b/auto/configure
@@ -5638,10 +5638,6 @@ __:
eof
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
- if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
- "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
- vi_cv_path_python_plibs="-framework Python"
- else
if test "${vi_cv_var_python_version}" = "1.4"; then
vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
else
@@ -5649,7 +5645,6 @@ eof
fi
vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
- fi
fi

View File

@ -35,13 +35,14 @@ stdenv.mkDerivation rec {
description = "Geeqie, a lightweight GTK+ based image viewer";
longDescription =
'' Geeqie is a lightweight GTK+ based image viewer for Unix like
operating systems. It features: EXIF, IPTC and XMP metadata
browsing and editing interoperability; easy integration with other
software; geeqie works on files and directories, there is no need to
import images; fast preview for many raw image formats; tools for
image comparison, sorting and managing photo collection. Geeqie was
initially based on GQview.
''
Geeqie is a lightweight GTK+ based image viewer for Unix like
operating systems. It features: EXIF, IPTC and XMP metadata
browsing and editing interoperability; easy integration with other
software; geeqie works on files and directories, there is no need to
import images; fast preview for many raw image formats; tools for
image comparison, sorting and managing photo collection. Geeqie was
initially based on GQview.
'';
license = "GPLv2+";

View File

@ -0,0 +1,27 @@
{ stdenv }:
{ paths }:
with stdenv.lib;
let installSanePath = path: ''
find "${path}/lib/sane" -not -type d -maxdepth 1 | while read backend; do
ln -s $backend $out/lib/sane/$(basename $backend)
done
find "${path}/etc/sane.d" -not -type d -maxdepth 1 | while read conf; do
ln -s $conf $out/etc/sane.d/$(basename $conf)
done
find "${path}/etc/sane.d/dll.d" -not -type d -maxdepth 1 | while read conf; do
ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf)
done
'';
in
stdenv.mkDerivation {
name = "sane-config";
phases = "installPhase";
installPhase = ''
mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane
'' + concatMapStrings installSanePath paths;
}

View File

@ -0,0 +1,42 @@
{ stdenv, fetchurl, unzip, mono, avrgcclibc, avrdude, gtk, xdg_utils }:
stdenv.mkDerivation rec {
name = "avrdudess-2.2.20140102";
src = fetchurl {
url = "http://blog.zakkemble.co.uk/download/avrdudess_20140102.zip";
sha256 = "18llpvjsfhypzijrvfbzmcg3g141f307mzsrg11wcdxh9syxqak6";
};
buildInputs = [ unzip ];
phases = [ "buildPhase" ];
buildPhase = ''
mkdir -p "$out/avrdudess"
mkdir -p "$out/bin"
unzip "$src" -d "$out/avrdudess"
cat >> "$out/bin/avrdudess" << __EOF__
#!${stdenv.shell}
export LD_LIBRARY_PATH="${gtk}/lib:${mono}/lib"
# We need PATH from user env for xdg-open to find its tools, which
# typically depend on the currently running desktop environment.
export PATH="${avrgcclibc}/bin:${avrdude}/bin:${xdg_utils}/bin:\$PATH"
# avrdudess must have its resource files in its current working directory
cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@"
__EOF__
chmod a+x "$out/bin/"*
'';
meta = with stdenv.lib; {
description = "GUI for AVRDUDE (AVR microcontroller programmer)";
homepage = https://github.com/zkemble/AVRDUDESS;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl
, intltool, pkgconfig, gtk
}:
stdenv.mkDerivation rec {
name = "galculator-${version}";
version = "2.1.3";
src = fetchurl {
url = "http://downloads.sourceforge.net/galculator/${name}.tar.gz";
sha256 = "12m7dldjk10lpkdxk7zpk98n32ci65zmxidghihb7n1m3rhp3q17";
};
buildInputs = [ intltool pkgconfig gtk ];
meta = {
description = "A GTK 2/3 algebraic and RPN calculator";
longDescription = ''
galculator is a GTK 2 / GTK 3 based calculator. Its main features include:
- Algebraic, RPN (Reverse Polish Notation), Formula Entry and Paper modes;
- Basic and Scientific Modes
- Decimal, hexadecimal, octal and binary number base
- Radiant, degree and grad support
- User defined constants and functions
- A bunch of common functions
- Binary arithmetic of configurable bit length and signedness
- Quad-precision floating point arithmetic, and 112-bit binary arithmetic
'';
homepage = http://galculator.sourceforge.net/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
};
}

View File

@ -19,12 +19,42 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
my_soname = "libmupdf.so.1.3";
my_soname_js_none = "libmupdf-js-none.so.1.3";
preBuild = ''
export makeFlags="prefix=$out build=release"
export makeFlags="prefix=$out build=release XCFLAGS=-fpic"
export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
# Copied from Gentoo ebuild
rm -rf thirdparty
sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \
-e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \
-e "/^MUPDF_LIB :=/s:=.*:= \$(OUT)/${my_soname}:" \
-e "\$a\$(MUPDF_JS_NONE_LIB):" \
-e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \
-e "/^MUPDF_JS_NONE_LIB :=/s:=.*:= \$(OUT)/${my_soname_js_none}:" \
-i Makefile
sed -e "s/libopenjpeg1/libopenjp2/" -i Makerules
'';
postInstall = ''
ln -s ${my_soname} $out/lib/libmupdf.so
mkdir -p "$out/lib/pkgconfig"
cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
prefix=$out
libdir=$out/lib
includedir=$out/include
Name: mupdf
Description: Library for rendering PDF documents
Requires: freetype2 libopenjp2 libcrypto
Version: 1.3
Libs: -L$out/lib -lmupdf
Cflags: -I$out/include
EOF
mkdir -p $out/share/applications
cat > $out/share/applications/mupdf.desktop <<EOF
[Desktop Entry]

View File

@ -0,0 +1,69 @@
{ stdenv, fetchhg, fetchurl, pythonPackages, curl }:
let
getmodel = name: sha256: {
src = fetchurl {
url = "http://iupr1.cs.uni-kl.de/~tmb/ocropus-models/${name}";
inherit sha256;
};
inherit name;
};
models = [
(getmodel "en-default.pyrnn.gz"
"1xyi3k3p81mfw0491gb1haisazfyi2i18f1wjs1m34ak39qfqjdp")
(getmodel "en-uw3-linerel-2.cmodel.gz"
"0zdw0db2znxxd4h7aa09506nkbxd1cfqacxzyzlx42bjn951wcpw")
(getmodel "en-mixed-3.ngraphs.gz"
"1fqw7pxmjwapirp9xv3b0gn9pk53q4740qn5dw4wxfxk9dpp9lr4")
(getmodel "en-space.model.gz"
"0w5hnjm6rz5iiw1p2yixj147ifq11s9jfzrxk4v4xxmcyn365096")
(getmodel "en-mixed.lineest.gz"
"0skrziksn3zb3g8588y7jd10pnl2pzrby0119ac0awapzzg9vkvw")
(getmodel "uw3unlv.pyrnn.gz"
"0g08q9cjxxx3mg1jn4654nalxr56y2jq1h33pwxrj5lrckr7grb9")
(getmodel "en-uw3unlv-perchar.cmodel.gz"
"1izvm0wkb2vh58hjp59fw97drv17zdzrw6mz3aanrg5ax6fnfadk")
(getmodel "gradient.lineest.gz"
"1bw9hj9byjxi31rjh2xiysnx8c72jz0npxa54xgjwsqg7ihl8jzw")
(getmodel "en-mixed-round1.lineest.gz"
"1fjkygyrg4ng7kx4iqa4yhgvmw1zq72p3q5p0hcb2xxhqc04vx7c")
(getmodel "frakant.pyrnn.gz"
"0i1k95f2a8qlc6m7qq11pmjfcimyrjsfjvv20nrs2ygp9pwskmxp")
(getmodel "fraktur.pyrnn.gz"
"1wlwvxn91ilgmlri1hj81arl3mbzxc24ycdnkf5icq4hdi4c6y8b")
];
in
pythonPackages.buildPythonPackage rec {
name = "ocropus-${version}";
version = "20130905";
src = fetchhg {
url = "https://code.google.com/p/ocropus.ocropy";
tag = "a6e0fbd820ce";
sha256 = "1s0v0gd6psfjp6lghwl2dj49h18mgf2n2z8hqzw8430nzhglnlvr";
};
patches = [ ./display.patch ];
propagatedBuildInputs = with pythonPackages; [ curl numpy scipy pillow
matplotlib beautifulsoup4 pygtk lxml ];
enableParallelBuilding = true;
preConfigure = with stdenv.lib; ''
${concatStrings (map (x: "ln -s ${x.src} models/${x.name};") models)}
sed -i 's|/usr/local|'$out'|' ocrolib/common.py
sed -i 's|/usr/local|'$out'|' ocrolib/default.py
${pythonPackages.python}/bin/${pythonPackages.python.executable} setup.py download_models
'';
meta = with stdenv.lib; {
description = "Open source document analysis and OCR system";
license = licenses.asl20;
homepage = https://code.google.com/p/ocropus/;
maintainers = with maintainers; [ iElectric viric ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,17 @@
http://code.google.com/p/ocropus/issues/detail?id=365
diff --git a/setup.py b/setup.py
index c6ade25..a2ad6bf 100644
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,10 @@ assert sys.version_info[0]==2 and sys.version_info[1]>=7,\
from distutils.core import setup, Extension, Command
from distutils.command.install_data import install_data
+import matplotlib
+matplotlib.use('Agg')
from ocrolib import default
+
modeldir = "models/"
modelfiles = default.installable
modelprefix = "http://iupr1.cs.uni-kl.de/~tmb/ocropus-models/"

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf }:
fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf,
unicode3Support }:
let
name = "rxvt-unicode";
@ -9,7 +10,7 @@ in
stdenv.mkDerivation (rec {
name = "${n}${if perlSupport then "-with-perl" else ""}";
name = "${n}${if perlSupport then "-with-perl" else ""}${if unicode3Support then "-with-unicode3" else ""}";
src = fetchurl {
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
@ -24,12 +25,15 @@ stdenv.mkDerivation (rec {
outputs = [ "out" "terminfo" ];
patches = [ ./rxvt-unicode-9.06-font-width.patch ];
patches = [
./rxvt-unicode-9.06-font-width.patch
./rxvt-unicode-256-color-resources.patch
];
preConfigure =
''
mkdir -p $terminfo/share/terminfo
configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"}";
configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"} ${if unicode3Support then "--enable-unicode3" else "--disable-unicode3"}";
export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "

View File

@ -0,0 +1,255 @@
diff --git a/src/xdefaults.C b/src/xdefaults.C
index 23b6822..382f3b1 100644
--- a/src/xdefaults.C
+++ b/src/xdefaults.C
@@ -155,6 +155,250 @@ optList[] = {
RSTRG (Rs_color + minCOLOR + 5, "color5", "color"),
RSTRG (Rs_color + minCOLOR + 6, "color6", "color"),
RSTRG (Rs_color + minCOLOR + 7, "color7", "color"),
+ // 88 xterm colors
+ RSTRG (Rs_color + minCOLOR + 16, "color16", "color"),
+ RSTRG (Rs_color + minCOLOR + 17, "color17", "color"),
+ RSTRG (Rs_color + minCOLOR + 18, "color18", "color"),
+ RSTRG (Rs_color + minCOLOR + 19, "color19", "color"),
+ RSTRG (Rs_color + minCOLOR + 20, "color20", "color"),
+ RSTRG (Rs_color + minCOLOR + 21, "color21", "color"),
+ RSTRG (Rs_color + minCOLOR + 22, "color22", "color"),
+ RSTRG (Rs_color + minCOLOR + 23, "color23", "color"),
+ RSTRG (Rs_color + minCOLOR + 24, "color24", "color"),
+ RSTRG (Rs_color + minCOLOR + 25, "color25", "color"),
+ RSTRG (Rs_color + minCOLOR + 26, "color26", "color"),
+ RSTRG (Rs_color + minCOLOR + 27, "color27", "color"),
+ RSTRG (Rs_color + minCOLOR + 28, "color28", "color"),
+ RSTRG (Rs_color + minCOLOR + 29, "color29", "color"),
+ RSTRG (Rs_color + minCOLOR + 30, "color30", "color"),
+ RSTRG (Rs_color + minCOLOR + 31, "color31", "color"),
+ RSTRG (Rs_color + minCOLOR + 32, "color32", "color"),
+ RSTRG (Rs_color + minCOLOR + 33, "color33", "color"),
+ RSTRG (Rs_color + minCOLOR + 34, "color34", "color"),
+ RSTRG (Rs_color + minCOLOR + 35, "color35", "color"),
+ RSTRG (Rs_color + minCOLOR + 36, "color36", "color"),
+ RSTRG (Rs_color + minCOLOR + 37, "color37", "color"),
+ RSTRG (Rs_color + minCOLOR + 38, "color38", "color"),
+ RSTRG (Rs_color + minCOLOR + 39, "color39", "color"),
+ RSTRG (Rs_color + minCOLOR + 40, "color40", "color"),
+ RSTRG (Rs_color + minCOLOR + 41, "color41", "color"),
+ RSTRG (Rs_color + minCOLOR + 42, "color42", "color"),
+ RSTRG (Rs_color + minCOLOR + 43, "color43", "color"),
+ RSTRG (Rs_color + minCOLOR + 44, "color44", "color"),
+ RSTRG (Rs_color + minCOLOR + 45, "color45", "color"),
+ RSTRG (Rs_color + minCOLOR + 46, "color46", "color"),
+ RSTRG (Rs_color + minCOLOR + 47, "color47", "color"),
+ RSTRG (Rs_color + minCOLOR + 48, "color48", "color"),
+ RSTRG (Rs_color + minCOLOR + 49, "color49", "color"),
+ RSTRG (Rs_color + minCOLOR + 50, "color50", "color"),
+ RSTRG (Rs_color + minCOLOR + 51, "color51", "color"),
+ RSTRG (Rs_color + minCOLOR + 52, "color52", "color"),
+ RSTRG (Rs_color + minCOLOR + 53, "color53", "color"),
+ RSTRG (Rs_color + minCOLOR + 54, "color54", "color"),
+ RSTRG (Rs_color + minCOLOR + 55, "color55", "color"),
+ RSTRG (Rs_color + minCOLOR + 56, "color56", "color"),
+ RSTRG (Rs_color + minCOLOR + 57, "color57", "color"),
+ RSTRG (Rs_color + minCOLOR + 58, "color58", "color"),
+ RSTRG (Rs_color + minCOLOR + 59, "color59", "color"),
+ RSTRG (Rs_color + minCOLOR + 60, "color60", "color"),
+ RSTRG (Rs_color + minCOLOR + 61, "color61", "color"),
+ RSTRG (Rs_color + minCOLOR + 62, "color62", "color"),
+ RSTRG (Rs_color + minCOLOR + 63, "color63", "color"),
+ RSTRG (Rs_color + minCOLOR + 64, "color64", "color"),
+ RSTRG (Rs_color + minCOLOR + 65, "color65", "color"),
+ RSTRG (Rs_color + minCOLOR + 66, "color66", "color"),
+ RSTRG (Rs_color + minCOLOR + 67, "color67", "color"),
+ RSTRG (Rs_color + minCOLOR + 68, "color68", "color"),
+ RSTRG (Rs_color + minCOLOR + 69, "color69", "color"),
+ RSTRG (Rs_color + minCOLOR + 70, "color70", "color"),
+ RSTRG (Rs_color + minCOLOR + 71, "color71", "color"),
+ RSTRG (Rs_color + minCOLOR + 72, "color72", "color"),
+ RSTRG (Rs_color + minCOLOR + 73, "color73", "color"),
+ RSTRG (Rs_color + minCOLOR + 74, "color74", "color"),
+ RSTRG (Rs_color + minCOLOR + 75, "color75", "color"),
+ RSTRG (Rs_color + minCOLOR + 76, "color76", "color"),
+ RSTRG (Rs_color + minCOLOR + 77, "color77", "color"),
+ RSTRG (Rs_color + minCOLOR + 78, "color78", "color"),
+ RSTRG (Rs_color + minCOLOR + 79, "color79", "color"),
+ RSTRG (Rs_color + minCOLOR + 80, "color80", "color"),
+ RSTRG (Rs_color + minCOLOR + 81, "color81", "color"),
+ RSTRG (Rs_color + minCOLOR + 82, "color82", "color"),
+ RSTRG (Rs_color + minCOLOR + 83, "color83", "color"),
+ RSTRG (Rs_color + minCOLOR + 84, "color84", "color"),
+ RSTRG (Rs_color + minCOLOR + 85, "color85", "color"),
+ RSTRG (Rs_color + minCOLOR + 86, "color86", "color"),
+ RSTRG (Rs_color + minCOLOR + 87, "color87", "color"),
+#if USE_256_COLORS
+ // 256 xterm colors
+ RSTRG (Rs_color + minCOLOR + 88, "color88", "color"),
+ RSTRG (Rs_color + minCOLOR + 89, "color89", "color"),
+ RSTRG (Rs_color + minCOLOR + 90, "color90", "color"),
+ RSTRG (Rs_color + minCOLOR + 91, "color91", "color"),
+ RSTRG (Rs_color + minCOLOR + 92, "color92", "color"),
+ RSTRG (Rs_color + minCOLOR + 93, "color93", "color"),
+ RSTRG (Rs_color + minCOLOR + 94, "color94", "color"),
+ RSTRG (Rs_color + minCOLOR + 95, "color95", "color"),
+ RSTRG (Rs_color + minCOLOR + 96, "color96", "color"),
+ RSTRG (Rs_color + minCOLOR + 97, "color97", "color"),
+ RSTRG (Rs_color + minCOLOR + 98, "color98", "color"),
+ RSTRG (Rs_color + minCOLOR + 99, "color99", "color"),
+ RSTRG (Rs_color + minCOLOR + 100, "color100", "color"),
+ RSTRG (Rs_color + minCOLOR + 101, "color101", "color"),
+ RSTRG (Rs_color + minCOLOR + 102, "color102", "color"),
+ RSTRG (Rs_color + minCOLOR + 103, "color103", "color"),
+ RSTRG (Rs_color + minCOLOR + 104, "color104", "color"),
+ RSTRG (Rs_color + minCOLOR + 105, "color105", "color"),
+ RSTRG (Rs_color + minCOLOR + 106, "color106", "color"),
+ RSTRG (Rs_color + minCOLOR + 107, "color107", "color"),
+ RSTRG (Rs_color + minCOLOR + 108, "color108", "color"),
+ RSTRG (Rs_color + minCOLOR + 109, "color109", "color"),
+ RSTRG (Rs_color + minCOLOR + 110, "color110", "color"),
+ RSTRG (Rs_color + minCOLOR + 111, "color111", "color"),
+ RSTRG (Rs_color + minCOLOR + 112, "color112", "color"),
+ RSTRG (Rs_color + minCOLOR + 113, "color113", "color"),
+ RSTRG (Rs_color + minCOLOR + 114, "color114", "color"),
+ RSTRG (Rs_color + minCOLOR + 115, "color115", "color"),
+ RSTRG (Rs_color + minCOLOR + 116, "color116", "color"),
+ RSTRG (Rs_color + minCOLOR + 117, "color117", "color"),
+ RSTRG (Rs_color + minCOLOR + 118, "color118", "color"),
+ RSTRG (Rs_color + minCOLOR + 119, "color119", "color"),
+ RSTRG (Rs_color + minCOLOR + 120, "color120", "color"),
+ RSTRG (Rs_color + minCOLOR + 121, "color121", "color"),
+ RSTRG (Rs_color + minCOLOR + 122, "color122", "color"),
+ RSTRG (Rs_color + minCOLOR + 123, "color123", "color"),
+ RSTRG (Rs_color + minCOLOR + 124, "color124", "color"),
+ RSTRG (Rs_color + minCOLOR + 125, "color125", "color"),
+ RSTRG (Rs_color + minCOLOR + 126, "color126", "color"),
+ RSTRG (Rs_color + minCOLOR + 127, "color127", "color"),
+ RSTRG (Rs_color + minCOLOR + 128, "color128", "color"),
+ RSTRG (Rs_color + minCOLOR + 129, "color129", "color"),
+ RSTRG (Rs_color + minCOLOR + 130, "color130", "color"),
+ RSTRG (Rs_color + minCOLOR + 131, "color131", "color"),
+ RSTRG (Rs_color + minCOLOR + 132, "color132", "color"),
+ RSTRG (Rs_color + minCOLOR + 133, "color133", "color"),
+ RSTRG (Rs_color + minCOLOR + 134, "color134", "color"),
+ RSTRG (Rs_color + minCOLOR + 135, "color135", "color"),
+ RSTRG (Rs_color + minCOLOR + 136, "color136", "color"),
+ RSTRG (Rs_color + minCOLOR + 137, "color137", "color"),
+ RSTRG (Rs_color + minCOLOR + 138, "color138", "color"),
+ RSTRG (Rs_color + minCOLOR + 139, "color139", "color"),
+ RSTRG (Rs_color + minCOLOR + 140, "color140", "color"),
+ RSTRG (Rs_color + minCOLOR + 141, "color141", "color"),
+ RSTRG (Rs_color + minCOLOR + 142, "color142", "color"),
+ RSTRG (Rs_color + minCOLOR + 143, "color143", "color"),
+ RSTRG (Rs_color + minCOLOR + 144, "color144", "color"),
+ RSTRG (Rs_color + minCOLOR + 145, "color145", "color"),
+ RSTRG (Rs_color + minCOLOR + 146, "color146", "color"),
+ RSTRG (Rs_color + minCOLOR + 147, "color147", "color"),
+ RSTRG (Rs_color + minCOLOR + 148, "color148", "color"),
+ RSTRG (Rs_color + minCOLOR + 149, "color149", "color"),
+ RSTRG (Rs_color + minCOLOR + 150, "color150", "color"),
+ RSTRG (Rs_color + minCOLOR + 151, "color151", "color"),
+ RSTRG (Rs_color + minCOLOR + 152, "color152", "color"),
+ RSTRG (Rs_color + minCOLOR + 153, "color153", "color"),
+ RSTRG (Rs_color + minCOLOR + 154, "color154", "color"),
+ RSTRG (Rs_color + minCOLOR + 155, "color155", "color"),
+ RSTRG (Rs_color + minCOLOR + 156, "color156", "color"),
+ RSTRG (Rs_color + minCOLOR + 157, "color157", "color"),
+ RSTRG (Rs_color + minCOLOR + 158, "color158", "color"),
+ RSTRG (Rs_color + minCOLOR + 159, "color159", "color"),
+ RSTRG (Rs_color + minCOLOR + 160, "color160", "color"),
+ RSTRG (Rs_color + minCOLOR + 161, "color161", "color"),
+ RSTRG (Rs_color + minCOLOR + 162, "color162", "color"),
+ RSTRG (Rs_color + minCOLOR + 163, "color163", "color"),
+ RSTRG (Rs_color + minCOLOR + 164, "color164", "color"),
+ RSTRG (Rs_color + minCOLOR + 165, "color165", "color"),
+ RSTRG (Rs_color + minCOLOR + 166, "color166", "color"),
+ RSTRG (Rs_color + minCOLOR + 167, "color167", "color"),
+ RSTRG (Rs_color + minCOLOR + 168, "color168", "color"),
+ RSTRG (Rs_color + minCOLOR + 169, "color169", "color"),
+ RSTRG (Rs_color + minCOLOR + 170, "color170", "color"),
+ RSTRG (Rs_color + minCOLOR + 171, "color171", "color"),
+ RSTRG (Rs_color + minCOLOR + 172, "color172", "color"),
+ RSTRG (Rs_color + minCOLOR + 173, "color173", "color"),
+ RSTRG (Rs_color + minCOLOR + 174, "color174", "color"),
+ RSTRG (Rs_color + minCOLOR + 175, "color175", "color"),
+ RSTRG (Rs_color + minCOLOR + 176, "color176", "color"),
+ RSTRG (Rs_color + minCOLOR + 177, "color177", "color"),
+ RSTRG (Rs_color + minCOLOR + 178, "color178", "color"),
+ RSTRG (Rs_color + minCOLOR + 179, "color179", "color"),
+ RSTRG (Rs_color + minCOLOR + 180, "color180", "color"),
+ RSTRG (Rs_color + minCOLOR + 181, "color181", "color"),
+ RSTRG (Rs_color + minCOLOR + 182, "color182", "color"),
+ RSTRG (Rs_color + minCOLOR + 183, "color183", "color"),
+ RSTRG (Rs_color + minCOLOR + 184, "color184", "color"),
+ RSTRG (Rs_color + minCOLOR + 185, "color185", "color"),
+ RSTRG (Rs_color + minCOLOR + 186, "color186", "color"),
+ RSTRG (Rs_color + minCOLOR + 187, "color187", "color"),
+ RSTRG (Rs_color + minCOLOR + 188, "color188", "color"),
+ RSTRG (Rs_color + minCOLOR + 189, "color189", "color"),
+ RSTRG (Rs_color + minCOLOR + 190, "color190", "color"),
+ RSTRG (Rs_color + minCOLOR + 191, "color191", "color"),
+ RSTRG (Rs_color + minCOLOR + 192, "color192", "color"),
+ RSTRG (Rs_color + minCOLOR + 193, "color193", "color"),
+ RSTRG (Rs_color + minCOLOR + 194, "color194", "color"),
+ RSTRG (Rs_color + minCOLOR + 195, "color195", "color"),
+ RSTRG (Rs_color + minCOLOR + 196, "color196", "color"),
+ RSTRG (Rs_color + minCOLOR + 197, "color197", "color"),
+ RSTRG (Rs_color + minCOLOR + 198, "color198", "color"),
+ RSTRG (Rs_color + minCOLOR + 199, "color199", "color"),
+ RSTRG (Rs_color + minCOLOR + 200, "color200", "color"),
+ RSTRG (Rs_color + minCOLOR + 201, "color201", "color"),
+ RSTRG (Rs_color + minCOLOR + 202, "color202", "color"),
+ RSTRG (Rs_color + minCOLOR + 203, "color203", "color"),
+ RSTRG (Rs_color + minCOLOR + 204, "color204", "color"),
+ RSTRG (Rs_color + minCOLOR + 205, "color205", "color"),
+ RSTRG (Rs_color + minCOLOR + 206, "color206", "color"),
+ RSTRG (Rs_color + minCOLOR + 207, "color207", "color"),
+ RSTRG (Rs_color + minCOLOR + 208, "color208", "color"),
+ RSTRG (Rs_color + minCOLOR + 209, "color209", "color"),
+ RSTRG (Rs_color + minCOLOR + 210, "color210", "color"),
+ RSTRG (Rs_color + minCOLOR + 211, "color211", "color"),
+ RSTRG (Rs_color + minCOLOR + 212, "color212", "color"),
+ RSTRG (Rs_color + minCOLOR + 213, "color213", "color"),
+ RSTRG (Rs_color + minCOLOR + 214, "color214", "color"),
+ RSTRG (Rs_color + minCOLOR + 215, "color215", "color"),
+ RSTRG (Rs_color + minCOLOR + 216, "color216", "color"),
+ RSTRG (Rs_color + minCOLOR + 217, "color217", "color"),
+ RSTRG (Rs_color + minCOLOR + 218, "color218", "color"),
+ RSTRG (Rs_color + minCOLOR + 219, "color219", "color"),
+ RSTRG (Rs_color + minCOLOR + 220, "color220", "color"),
+ RSTRG (Rs_color + minCOLOR + 221, "color221", "color"),
+ RSTRG (Rs_color + minCOLOR + 222, "color222", "color"),
+ RSTRG (Rs_color + minCOLOR + 223, "color223", "color"),
+ RSTRG (Rs_color + minCOLOR + 224, "color224", "color"),
+ RSTRG (Rs_color + minCOLOR + 225, "color225", "color"),
+ RSTRG (Rs_color + minCOLOR + 226, "color226", "color"),
+ RSTRG (Rs_color + minCOLOR + 227, "color227", "color"),
+ RSTRG (Rs_color + minCOLOR + 228, "color228", "color"),
+ RSTRG (Rs_color + minCOLOR + 229, "color229", "color"),
+ RSTRG (Rs_color + minCOLOR + 230, "color230", "color"),
+ RSTRG (Rs_color + minCOLOR + 231, "color231", "color"),
+ RSTRG (Rs_color + minCOLOR + 232, "color232", "color"),
+ RSTRG (Rs_color + minCOLOR + 233, "color233", "color"),
+ RSTRG (Rs_color + minCOLOR + 234, "color234", "color"),
+ RSTRG (Rs_color + minCOLOR + 235, "color235", "color"),
+ RSTRG (Rs_color + minCOLOR + 236, "color236", "color"),
+ RSTRG (Rs_color + minCOLOR + 237, "color237", "color"),
+ RSTRG (Rs_color + minCOLOR + 238, "color238", "color"),
+ RSTRG (Rs_color + minCOLOR + 239, "color239", "color"),
+ RSTRG (Rs_color + minCOLOR + 240, "color240", "color"),
+ RSTRG (Rs_color + minCOLOR + 241, "color241", "color"),
+ RSTRG (Rs_color + minCOLOR + 242, "color242", "color"),
+ RSTRG (Rs_color + minCOLOR + 243, "color243", "color"),
+ RSTRG (Rs_color + minCOLOR + 244, "color244", "color"),
+ RSTRG (Rs_color + minCOLOR + 245, "color245", "color"),
+ RSTRG (Rs_color + minCOLOR + 246, "color246", "color"),
+ RSTRG (Rs_color + minCOLOR + 247, "color247", "color"),
+ RSTRG (Rs_color + minCOLOR + 248, "color248", "color"),
+ RSTRG (Rs_color + minCOLOR + 249, "color249", "color"),
+ RSTRG (Rs_color + minCOLOR + 250, "color250", "color"),
+ RSTRG (Rs_color + minCOLOR + 251, "color251", "color"),
+ RSTRG (Rs_color + minCOLOR + 252, "color252", "color"),
+ RSTRG (Rs_color + minCOLOR + 253, "color253", "color"),
+ RSTRG (Rs_color + minCOLOR + 254, "color254", "color"),
+ RSTRG (Rs_color + minCOLOR + 255, "color255", "color"),
+#endif
RSTRG (Rs_color + minBrightCOLOR + 0, "color8", "color"),
RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"),
RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"),

View File

@ -2,17 +2,16 @@
let
name = "vifm-${version}";
version = "0.7.6";
version = "0.7.7";
in stdenv.mkDerivation {
inherit name;
src = fetchurl {
url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
sha256 ="03v50hmgfvrci5fz31zmklmp6ix7qpqnhvm6639wbk3g5mcrh5w6";
url = "mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
sha256 = "1lflmkd5q7qqi9d44py0y41pcx5bsadkihn3gc0x5cka04f2gh0d";
};
#phaseNames = ["doConfigure" "doMakeInstall"];
buildInputs = [ utillinux ncurses file libX11 ];
meta = {

View File

@ -1,4 +1,4 @@
{ callPackage, pkgs, fetchurl }:
{ callPackage, pkgs, fetchurl, useMupdf }:
rec {
inherit (pkgs) stdenv;
@ -12,6 +12,10 @@ rec {
zathura_pdf_poppler = callPackage ./pdf-poppler { };
zathura_pdf_mupdf = callPackage ./pdf-mupdf {
gtk = pkgs.gtk3;
};
zathura_djvu = callPackage ./djvu {
gtk = pkgs.gtk3;
};
@ -27,9 +31,9 @@ rec {
name = "zathura-${zathura_core.version}";
plugins_path = stdenv.lib.makeSearchPath "lib" [
zathura_pdf_poppler
zathura_djvu
zathura_ps
(if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
];
builder = ./builder.sh;

View File

@ -0,0 +1,17 @@
--- zathura-pdf-mupdf-0.2.6/config.mk
+++ zathura-pdf-mupdf-0.2.6/config.mk
@@ -32,10 +32,11 @@
OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
-MUPDF_LIB ?= -lmupdf -lmupdf-js-none
+MUPDF_INC ?= $(shell pkg-config --cflags mupdf)
+MUPDF_LIB ?= $(shell pkg-config --libs mupdf)
-INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
-LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
+INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC} ${MUPDF_INC}
+LIBS = ${GTK_LIB} ${GIRARA_LIB} ${OPENSSL_LIB} ${MUPDF_LIB} -ljbig2dec -ljpeg
# flags
CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, openjpeg, libjpeg, jbig2dec }:
stdenv.mkDerivation rec {
version = "0.2.6";
name = "zathura-pdf-mupdf-${version}";
src = fetchurl {
url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
sha256 = "5df94b6f906008b5f3bca770a552da6d2917d6b8d3e4b3049cb7001302041b20";
};
buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf openjpeg libjpeg jbig2dec ];
makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
preConfigure = "patch -p1 < ${./config.patch}";
meta = {
homepage = http://pwmt.org/projects/zathura/;
description = "A zathura PDF plugin (mupdf)";
longDescription = ''
The zathura-pdf-mupdf plugin adds PDF support to zathura by
using the mupdf rendering library.
'';
license = stdenv.lib.licenses.zlib;
platforms = stdenv.lib.platforms.linux;
# maintainers = [ ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler }:
stdenv.mkDerivation rec {
version = "0.2.5";
@ -9,16 +9,16 @@ stdenv.mkDerivation rec {
sha256 = "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0";
};
buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
buildInputs = [ pkgconfig poppler zathura_core girara ];
makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
meta = {
homepage = http://pwmt.org/projects/zathura/;
description = "A zathura PDF plugin";
description = "A zathura PDF plugin (poppler)";
longDescription = ''
The zathura-pdf-poppler plugin adds PDF support to zathura by
using the poppler rendering engine.
using the poppler rendering library.
'';
license = stdenv.lib.licenses.zlib;
platforms = stdenv.lib.platforms.linux;

View File

@ -2,12 +2,12 @@
m4, glib_networking, gsettings_desktop_schemas }:
stdenv.mkDerivation {
name = "dwb-2014-05-23";
name = "dwb-2014-06-03";
src = fetchgit {
url = "https://bitbucket.org/portix/dwb.git";
rev = "813457c0cb6603d3b7a548fc97a8298a7fac34fa";
sha256 = "1fywnf3yp6p84hap40nb9vrz1gswgnhppygmi1gzjzz3bphwf5pr";
rev = "d00af56c1e60978060f1b2077f3d49995b98c54f";
sha256 = "02bs9nbgk8ghaxywhqd8mii4lik748dssn551m00i1305p6q1cjj";
};
buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkit gtk3 gnutls json_c m4 ];

View File

@ -1,59 +1,96 @@
{ stdenv
, fetchurl
, libtool
, libXext
, libSM
, libICE
, libX11
, libXft
, libXau
, libXdmcp
, libXrender
, freetype
, fontconfig
, openssl
}:
{ stdenv, fetchurl, libtool, xlibs, freetype, fontconfig, openssl, glib
, mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid
, libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra
, makeWrapper, libredirect, xkeyboard_config }:
let
version = "1.94.407";
version = "2.2.1107";
rpath = stdenv.lib.makeSearchPath "lib" [
stdenv.glibc
stdenv.gcc.gcc
libtool
libXext
libSM
libICE
libX11
libXft
libXau
libXdmcp
libXrender
xlibs.libXext
xlibs.libSM
xlibs.libICE
xlibs.libX11
xlibs.libXft
xlibs.libXau
xlibs.libXdmcp
xlibs.libXrender
xlibs.libXfixes
xlibs.libXcomposite
xlibs.libxcb
xlibs.libXi
freetype
fontconfig
openssl
];
glib
mesa
gstreamer
gst_plugins_base
dbus
alsaLib
zlib
libuuid
libxml2
libxslt
sqlite
libogg
libvorbis
xz
libcanberra
] + ":${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
src = fetchurl {
url = "http://downloads.hipchat.com/linux/arch/hipchat-${version}-i686.pkg.tar.xz";
sha256 = "0kyjpa2ir066zqkvs1zmnx6kvl8v4jfl8h7bw110cgigwmiplk7k";
};
in stdenv.mkDerivation {
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
sha256 = "0lf780pxbh40m2i48cki072lrm75924cz3zgkmaxddmar3y13bwa";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
sha256 = "1k33670rpigdpy9jcacryc1i05ykp5yffcplmbm5q29ng54cn0zv";
}
else
throw "HipChat is not supported on ${stdenv.system}";
in
stdenv.mkDerivation {
name = "hipchat-${version}";
inherit src;
buildInputs = [ makeWrapper ];
buildCommand = ''
tar xf ${src}
mkdir -p $out
mv opt/HipChat/lib $out
mv opt/HipChat/bin $out
mkdir -p $out/libexec/hipchat/bin
d=$out/libexec/hipchat/lib
rm -rfv opt/HipChat/lib/{libstdc++*,libz*,libuuid*,libxml2*,libxslt*,libsqlite*,libogg*,libvorbis*,liblzma*,libcanberra.*,libcanberra-*}
mv opt/HipChat/lib/ $d
mv usr/share $out
patchShebangs $out/bin
for file in $(find $out/lib -type f); do
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $file || true
patchelf --set-rpath ${rpath}:$out/lib $file || true
for file in $(find $d -type f); do
patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $file || true
patchelf --set-rpath ${rpath}:\$ORIGIN $file || true
done
substituteInPlace $out/share/applications/hipchat.desktop \
--replace /opt/HipChat/bin $out/bin
makeWrapper $d/hipchat.bin $out/bin/hipchat \
--set HIPCHAT_LD_LIBRARY_PATH '"$LD_LIBRARY_PATH"' \
--set HIPCHAT_QT_PLUGIN_PATH '"$QT_PLUGIN_PATH"' \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
mv opt/HipChat/bin/linuxbrowserlaunch $out/libexec/hipchat/bin/
'';
meta = {

View File

@ -0,0 +1,99 @@
{ stdenv, fetchurl, makeWrapper }:
let
version = "3.0.10.3";
arch = if stdenv.is64bit then "amd64" else "x86";
libDir = if stdenv.is64bit then "lib64" else "lib";
in
stdenv.mkDerivation {
name = "teamspeak-server-${version}";
src = fetchurl {
urls = [
"http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz"
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz"
];
sha256 = if stdenv.is64bit
then "9606dd5c0c3677881b1aab833cb99f4f12ba08cc77ef4a97e9e282d9e10b0702"
else "8b8921e0df04bf74068a51ae06d744f25d759a8c267864ceaf7633eb3f81dbe5";
};
buildInputs = [ makeWrapper ];
buildPhase =
''
mv ts3server_linux_${arch} ts3server
echo "patching ts3server"
patchelf \
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath $(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
--force-rpath \
ts3server
'';
installPhase =
''
# Delete unecessary libraries - these are provided by nixos.
#rm *.so*
# Install files.
mkdir -p $out/lib/teamspeak
mv * $out/lib/teamspeak/
# Make a symlink to the binary from bin.
mkdir -p $out/bin/
ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server
wrapProgram $out/lib/teamspeak/ts3server --prefix LD_LIBRARY_PATH : $out/lib/teamspeak
'';
dontStrip = true;
dontPatchELF = true;
meta = {
description = "TeamSpeak voice communication server";
homepage = http://teamspeak.com/;
license = stdenv.lib.licenses.unfreeRedistributable;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.arobyn ];
};
}
/*
License issues:
Date: Mon, 10 Dec 2007 19:55:16 -0500
From: TeamSpeak Sales <sales@tritoncia.com>
To: 'Marc Weber' <marco-oweber@gmx.de>
Subject: RE: teamspeak on nix?
Yes, that would be fine. As long as you are not renting servers or selling
TeamSpeak then you are more than welcome to distribute it.
Thank you,
TeamSpeak Sales Team
________________________________
e-Mail: sales@tritoncia.com
TeamSpeak: http://www.TeamSpeak.com
Account Login: https://sales.TritonCIA.com/users
-----Original Message-----
From: Marc Weber [mailto:marco-oweber@gmx.de]
Sent: Monday, December 10, 2007 5:03 PM
To: sales@tritoncia.com
Subject: teamspeak on nix?
Hello,
nix is very young software distribution system (http://nix.cs.uu.nl/)
I'd like to ask wether you permit us to add teamspeak (server/ client?)
Sincerly
Marc Weber (small nix contributor)
*/

View File

@ -3,14 +3,14 @@
, pythonPackages, cacert, cmake, makeWrapper }:
stdenv.mkDerivation rec {
rev = "02eed97d977567b0fb16cfeeaeebb863eab1e509";
rev = "70d2b0ad8eb7854932d24c007a05b8627f751205";
version = "1.0-rev${rev}";
name = "weechat-${version}";
src = fetchgit {
inherit rev;
url = "git://github.com/weechat/weechat.git";
sha256 = "0nk0p9chvn0h2pzq9793k2dz8h5iplz0zwqzyds55fbmsgzz51g2";
sha256 = "1k7kcrq46anq87r14sq3vrhij8acn6id7zxyhn0qnjj2wqgrjp5i";
};
buildInputs =

View File

@ -1,10 +1,10 @@
{ fetchurl, stdenv, ant }:
stdenv.mkDerivation rec {
name = "jmeter-2.10";
name = "jmeter-2.11";
src = fetchurl {
url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-${name}.tgz";
sha256 = "1ygm0h02sllh4mfl5imj46v80wnbs1x7n88gfjm523ixmgsa0fvy";
sha256 = "1fr3sw06qncb6yygcf2lbnkxma4v1dbigpf39ajrm0isxbpyv944";
};
installPhase = ''

View File

@ -2,30 +2,25 @@
stdenv.mkDerivation rec {
name = "syncthing-${version}";
version = "0.8.5";
version = "0.8.11";
src = fetchgit {
url = "git://github.com/calmh/syncthing.git";
rev = "refs/tags/v${version}";
sha256 = "0525fvar5c22sxg7737ajny80srds1adhi73a8yr12wsjnsqfi6x";
sha256 = "16dl9sqwhv0n1602pmi10d5j7z2196ijhvz4rfx7732210qbkpnn";
};
buildInputs = [ go ];
patches = [ ./upnp.patch ];
buildPhase = ''
mkdir -p "./dependencies/src/github.com/calmh/syncthing"
cp -r "./auto" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./buffers" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./cid" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./discover" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./files" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./lamport" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./protocol" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./scanner" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./mc" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./xdr" "./dependencies/src/github.com/calmh/syncthing"
cp -r "./upnp" "./dependencies/src/github.com/calmh/syncthing"
for a in auto buffers cid discover files lamport protocol scanner \
logger beacon config xdr upnp model osutil versioner; do
cp -r "./$a" "./dependencies/src/github.com/calmh/syncthing"
done
export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies"

View File

@ -0,0 +1,28 @@
Trying to fix upnp for miniupnpd:
https://github.com/calmh/syncthing/issues/211
diff --git a/upnp/upnp.go b/upnp/upnp.go
index 9de719a..9c85b23 100644
--- a/upnp/upnp.go
+++ b/upnp/upnp.go
@@ -60,14 +60,12 @@ func Discover() (*IGD, error) {
return nil, err
}
- search := []byte(`
-M-SEARCH * HTTP/1.1
-Host: 239.255.255.250:1900
-St: urn:schemas-upnp-org:device:InternetGatewayDevice:1
-Man: "ssdp:discover"
-Mx: 3
-
-`)
+ search := []byte("M-SEARCH * HTTP/1.1\r\n" +
+"Host: 239.255.255.250:1900\r\n" +
+"St: urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\n" +
+"Man: \"ssdp:discover\"\r\n" +
+"Mx: 3\r\n" +
+"\r\n")
_, err = socket.WriteTo(search, ssdp)
if err != nil {

View File

@ -7,11 +7,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "znc-1.2";
name = "znc-1.4";
src = fetchurl {
url = "http://znc.in/releases/${name}.tar.gz";
sha256 = "07bh306wl5494sqsgz4a526wvyrylkc8vpnbr5pkxwjg90mcv8nr";
sha256 = "0lkv58pq4d5lzcyx8v8anzinx0sx0zw0js4jij13jb8qxp88zsc6";
};
buildInputs = [ openssl pkgconfig ]

View File

@ -0,0 +1,24 @@
{ stdenv, fetchurl, pkgconfig, cmake, glib, qt4, boost, libsigrok
, libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi
}:
stdenv.mkDerivation rec {
name = "pulseview-0.2.0";
src = fetchurl {
url = "http://sigrok.org/download/source/pulseview/${name}.tar.gz";
sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy";
};
buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
libsigrokdecode libserialport libzip udev libusb1 libftdi
];
meta = with stdenv.lib; {
description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)";
homepage = http://sigrok.org/;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View File

@ -10,7 +10,7 @@
let
version = "1.9.3";
version = "1.9.4";
svn = subversionClient.override { perlBindings = true; };
@ -21,7 +21,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "0pyhqwy9g875frf1qyfjj6rz64qhlyvr29n7pljzcy536x9qcczn";
sha256 = "1shxa49lsxn81qpfi60wh7rn5ci4zjgljvr0qczdmnqzd8w1zyvb";
};
patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 }:
stdenv.mkDerivation rec {
name = "tig-1.2.1";
name = "tig-2.0.2";
src = fetchurl {
url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
sha256 = "0i19lc6dd3vdpkdd8q07xii2c4mcpiwmg55av81jyhx0y82x425p";
sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
};
buildInputs = [ ncurses asciidoc xmlto docbook_xsl ];

View File

@ -0,0 +1,100 @@
# Handbrake normally uses its own copies of the libraries it uses, for better
# control over library patches.
#
# This derivation patches HB so it doesn't do that. The relevant patches
# are added to the Nix packages and proposed upstream instead. In several cases
# upstream already incorporated these patches.
# This has the benefits of providing improvements to other packages,
# making licenses more clear and reducing compile time/install size.
#
# For compliance, the unfree codec faac is optionally spliced out.
#
# Only tested on Linux
#
# TODO: package and use libappindicator
{ stdenv, config, fetchurl,
python, pkgconfig, yasm,
autoconf, automake, libtool, m4,
libass, libsamplerate, fribidi, libxml2, bzip2,
libogg, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
lame, faac, ffmpeg, libdvdread, libdvdnav, libbluray,
mp4v2, mpeg2dec, x264, libmkv,
fontconfig, freetype,
glib, gtk, webkitgtk, intltool, libnotify,
gst_all_1, dbus_glib, udev,
useGtk ? true,
useWebKitGtk ? false # This prevents ghb from starting in my tests
}:
stdenv.mkDerivation rec {
version = "0.9.9";
name = "handbrake-${version}";
# ToDo: doesn't work (yet)
allowUnfree = false; # config.allowUnfree or false;
buildInputsX = stdenv.lib.optionals useGtk [
glib gtk intltool libnotify
gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev
] ++ stdenv.lib.optionals useWebKitGtk [ webkitgtk ];
# Did not test compiling with it
unfreeInputs = stdenv.lib.optional allowUnfree faac;
nativeBuildInputs = [ python pkgconfig yasm autoconf automake libtool m4 ];
buildInputs = [
fribidi fontconfig freetype
libass libsamplerate libxml2 bzip2
libogg libtheora libvorbis libdvdcss a52dec libmkv fdk_aac
lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264
] ++ buildInputsX ++ unfreeInputs;
src = fetchurl {
name = "HandBrake-${version}.tar.bz2";
url = "http://handbrake.fr/rotation.php?file=HandBrake-${version}.tar.bz2";
sha256 = "1crmm1c32vx60jfl2bqzg59q4qqx6m83b08snp7h1njc21sdf7d7";
};
patches = stdenv.lib.optional (! allowUnfree) ./disable-unfree.patch;
preConfigure = ''
# Fake wget to prevent downloads
mkdir wget
echo "#!/bin/sh" > wget/wget
echo "echo ===== Not fetching \$*" >> wget/wget
echo "exit 1" >> wget/wget
chmod +x wget/wget
export PATH=$PATH:$PWD/wget
# Force using nixpkgs dependencies
sed -i '/MODULES += contrib/d' make/include/main.defs
sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules
# disable faac if non-free
if [ -z "$allowUnfree" ]; then
rm libhb/encfaac.c
fi
'';
configureFlags = "--enable-fdk-aac ${if useGtk then "--disable-gtk-update-checks" else "--disable-gtk"}";
preBuild = ''
cd build
'';
meta = {
homepage = http://handbrake.fr/;
description = "A tool for ripping DVDs into video files";
longDescription = ''
Handbrake is a versatile transcoding DVD ripper. This package
provides the cli HandbrakeCLI and the GTK+ version ghb.
The faac library is disabled if you're compiling free-only.
'';
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.wmertens ];
# Not tested on anything else
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,101 @@
diff -ru HandBrake-0.9.9-orig/gtk/configure.ac HandBrake-0.9.9/gtk/configure.ac
--- HandBrake-0.9.9-orig/gtk/configure.ac 2014-05-02 22:50:00.047305795 +0200
+++ HandBrake-0.9.9/gtk/configure.ac 2014-05-02 22:48:57.119304020 +0200
@@ -203,7 +203,7 @@
;;
esac
-HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
+HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
if test "x$use_fdk_aac" = "xyes" ; then
HB_LIBS+=" -lfdk-aac"
diff -ru HandBrake-0.9.9-orig/gtk/src/preset_xlat.c HandBrake-0.9.9/gtk/src/preset_xlat.c
--- HandBrake-0.9.9-orig/gtk/src/preset_xlat.c 2014-05-02 22:50:00.043305794 +0200
+++ HandBrake-0.9.9/gtk/src/preset_xlat.c 2014-05-02 22:42:20.987292846 +0200
@@ -260,7 +260,6 @@
static value_map_t acodec_xlat[] =
{
- {"AAC (faac)", "faac"},
{"AC3 Passthru", "ac3"},
{"MP3 (lame)", "lame"},
{"Vorbis (vorbis)", "vorbis"},
diff -ru HandBrake-0.9.9-orig/gtk/src/presets.c HandBrake-0.9.9/gtk/src/presets.c
--- HandBrake-0.9.9-orig/gtk/src/presets.c 2014-05-02 22:50:00.043305794 +0200
+++ HandBrake-0.9.9/gtk/src/presets.c 2014-05-02 22:42:41.283293419 +0200
@@ -2029,8 +2029,6 @@
static value_map_t acodec_xlat_compat[] =
{
- {"AAC (CoreAudio)", "faac"},
- {"HE-AAC (CoreAudio)", "faac"},
{"AC3 (ffmpeg)", "ac3"},
{"AC3", "ac3"},
{"MP3 Passthru", "mp3pass"},
diff -ru HandBrake-0.9.9-orig/libhb/common.c HandBrake-0.9.9/libhb/common.c
--- HandBrake-0.9.9-orig/libhb/common.c 2014-05-02 22:50:00.047305795 +0200
+++ HandBrake-0.9.9/libhb/common.c 2014-05-02 22:37:24.679284489 +0200
@@ -126,7 +126,6 @@
{ "AAC (CoreAudio)", "ca_aac", HB_ACODEC_CA_AAC, HB_MUX_MP4|HB_MUX_MKV },
{ "HE-AAC (CoreAudio)", "ca_haac", HB_ACODEC_CA_HAAC, HB_MUX_MP4|HB_MUX_MKV },
#endif
- { "AAC (faac)", "faac", HB_ACODEC_FAAC, HB_MUX_MP4|HB_MUX_MKV },
#ifdef USE_FDK_AAC
{ "AAC (FDK)", "fdk_aac", HB_ACODEC_FDK_AAC, HB_MUX_MP4|HB_MUX_MKV },
{ "HE-AAC (FDK)", "fdk_haac", HB_ACODEC_FDK_HAAC, HB_MUX_MP4|HB_MUX_MKV },
diff -ru HandBrake-0.9.9-orig/libhb/common.h HandBrake-0.9.9/libhb/common.h
--- HandBrake-0.9.9-orig/libhb/common.h 2014-05-02 22:50:00.047305795 +0200
+++ HandBrake-0.9.9/libhb/common.h 2014-05-02 22:39:37.839288245 +0200
@@ -945,7 +945,6 @@
extern hb_work_object_t hb_decavcodeca;
extern hb_work_object_t hb_decavcodecv;
extern hb_work_object_t hb_declpcm;
-extern hb_work_object_t hb_encfaac;
extern hb_work_object_t hb_enclame;
extern hb_work_object_t hb_encvorbis;
extern hb_work_object_t hb_muxer;
diff -ru HandBrake-0.9.9-orig/libhb/hb.c HandBrake-0.9.9/libhb/hb.c
--- HandBrake-0.9.9-orig/libhb/hb.c 2014-05-02 22:50:00.047305795 +0200
+++ HandBrake-0.9.9/libhb/hb.c 2014-05-02 22:39:02.287287242 +0200
@@ -487,7 +487,6 @@
hb_register( &hb_decavcodeca );
hb_register( &hb_decavcodecv );
hb_register( &hb_declpcm );
- hb_register( &hb_encfaac );
hb_register( &hb_enclame );
hb_register( &hb_encvorbis );
hb_register( &hb_muxer );
@@ -588,7 +587,6 @@
hb_register( &hb_decavcodeca );
hb_register( &hb_decavcodecv );
hb_register( &hb_declpcm );
- hb_register( &hb_encfaac );
hb_register( &hb_enclame );
hb_register( &hb_encvorbis );
hb_register( &hb_muxer );
diff -ru HandBrake-0.9.9-orig/libhb/module.defs HandBrake-0.9.9/libhb/module.defs
--- HandBrake-0.9.9-orig/libhb/module.defs 2014-05-02 22:50:00.047305795 +0200
+++ HandBrake-0.9.9/libhb/module.defs 2014-05-02 22:39:25.727287903 +0200
@@ -95,7 +95,7 @@
LIBHB.lib = $(LIBHB.build/)hb.lib
LIBHB.dll.libs = $(foreach n, \
- a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
+ a52 ass avcodec avformat avutil avresample dvdnav dvdread \
fontconfig freetype mkv mpeg2 mp3lame mp4v2 \
ogg samplerate swscale theora vorbis vorbisenc x264 xml2 bluray, \
$(CONTRIB.build/)lib/lib$(n).a )
Only in HandBrake-0.9.9: libhb-orig
diff -ru HandBrake-0.9.9orig/test/module.defs HandBrake-0.9.9/test/module.defs
--- HandBrake-0.9.9-orig/test/module.defs 2014-05-02 23:15:10.575348401 +0200
+++ HandBrake-0.9.9/test/module.defs 2014-05-02 23:17:00.523351502 +0200
@@ -14,7 +14,7 @@
TEST.libs = $(LIBHB.a)
TEST.GCC.l = \
- a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
+ a52 ass avcodec avformat avutil avresample dvdnav dvdread \
fontconfig freetype fribidi mkv mpeg2 mp3lame mp4v2 ogg \
samplerate swscale theoraenc theoradec vorbis vorbisenc x264 \
bluray xml2 bz2 z

View File

@ -0,0 +1,45 @@
{ stdenv, fetchurl, desktop_file_utils, enchant, gnome, gstreamer, gstreamermm,
gst_plugins_base, gst_plugins_good, intltool, hicolor_icon_theme,
libsigcxx, libxmlxx, makeWrapper, xdg_utils, pkgconfig } :
let
ver_maj = "0.41";
ver_min = "0";
in
stdenv.mkDerivation rec {
name = "subtitle-editor-${ver_maj}.${ver_min}";
buildInputs = [
desktop_file_utils enchant gnome.gtk gnome.gtkmm gstreamer gstreamermm
gst_plugins_base gst_plugins_good intltool hicolor_icon_theme libsigcxx libxmlxx
makeWrapper xdg_utils pkgconfig
];
src = fetchurl {
url = "http://download.gna.org/subtitleeditor/${ver_maj}/subtitleeditor-${ver_maj}.${ver_min}.tar.gz";
md5 = "3c21ccd8296001dcb1a02c62396db1b6";
};
doCheck = true;
postInstall = ''
wrapProgram "$out/bin/subtitleeditor" --prefix \
GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH" \
'';
meta = {
description = "GTK+2 application to edit video subtitles";
longDescription = ''
Subtitle Editor is a GTK+2 tool to edit subtitles for GNU/Linux/*BSD. It can be
used for new subtitles or as a tool to transform, edit, correct and refine
existing subtitle. This program also shows sound waves, which makes it easier
to synchronise subtitles to voices.
'';
homepage = http://home.gna.org/subtitleeditor;
license = stdenv.lib.licenses.gpl3;
maintainers = stdenv.lib.maintainers.plcplc;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,12 +1,13 @@
# generic builder for Cabal packages
{ stdenv, fetchurl, lib, pkgconfig, ghc, Cabal, jailbreakCabal, glibcLocales
, gnugrep, coreutils
, gnugrep, coreutils, hscolour
, enableLibraryProfiling ? false
, enableSharedLibraries ? false
, enableSharedExecutables ? false
, enableStaticLibraries ? true
, enableCheckPhase ? stdenv.lib.versionOlder "7.4" ghc.version
, enableHyperlinkSource ? true
, extension ? (self : super : {})
}:
@ -50,6 +51,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
doCheck = enableCheckPhase && x.doCheck;
hyperlinkSource = enableHyperlinkSource && x.hyperlinkSource;
};
defaults =
@ -92,6 +94,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
buildInputs = [ghc Cabal] ++ self.extraBuildInputs;
extraBuildInputs = self.buildTools ++
(optionals self.doCheck self.testDepends) ++
(optional self.hyperlinkSource hscolour) ++
(if self.pkgconfigDepends == [] then [] else [pkgconfig]) ++
(if self.isLibrary then [] else self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends);
@ -140,6 +143,9 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
# and run any regression test suites the package might have
doCheck = enableCheckPhase;
# pass the '--hyperlink-source' flag to ./Setup haddock
hyperlinkSource = enableHyperlinkSource;
# abort the build if the configure phase detects that the package
# depends on multiple versions of the same build input
strictConfigurePhase = true;
@ -197,6 +203,9 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) ''
configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}";
''}
${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names";
''}
echo "configure flags: $extraConfigureFlags $configureFlags"
./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
@ -219,7 +228,8 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
./Setup build ${self.buildTarget}
export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
test -n "$noHaddock" || ./Setup haddock --html --hoogle
test -n "$noHaddock" || ./Setup haddock --html --hoogle \
${optionalString self.hyperlinkSource "--hyperlink-source"}
eval "$postBuild"
'';
@ -256,6 +266,13 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
fi
${optionalString (self.enableSharedExecutables && self.isExecutable && self.stdenv.isDarwin) ''
for exe in $out/bin/* ; do
install_name_tool -add_rpath \
$out/lib/${ghc.ghc.name}/${self.pname}-${self.version} $exe
done
''}
eval "$postInstall"
'';

View File

@ -1,9 +1,9 @@
source $stdenv/setup
header "getting $url${tag:+ ($tag)} into $out"
hg clone --insecure ${tag:+-r "$tag"} "$url" "$out"
hg clone --insecure "$url" hg-clone
rm -rf "$out/.hg"
hg archive -q -y ${tag:+-r "$tag"} --cwd hg-clone $out
rm -f $out/.hg_archival.txt
stopNest

View File

@ -0,0 +1,14 @@
{ stdenv }:
stdenv.mkDerivation {
name = "libredirect-0";
unpackPhase = "cp ${./libredirect.c} libredirect.c";
buildPhase =
''
gcc -Wall -std=c99 -O3 -shared libredirect.c -o libredirect.so -fPIC -ldl
'';
installPhase = "mkdir -p $out/lib; cp libredirect.so $out/lib";
}

View File

@ -0,0 +1,104 @@
#define _GNU_SOURCE
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <dlfcn.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <limits.h>
#include <string.h>
#define MAX_REDIRECTS 128
static int nrRedirects = 0;
static char * from[MAX_REDIRECTS];
static char * to[MAX_REDIRECTS];
// FIXME: might run too late.
static void init() __attribute__((constructor));
static void init()
{
char * spec = getenv("NIX_REDIRECTS");
if (!spec) return;
unsetenv("NIX_REDIRECTS");
char * spec2 = malloc(strlen(spec) + 1);
strcpy(spec2, spec);
char * pos = spec2, * eq;
while ((eq = strchr(pos, '='))) {
*eq = 0;
from[nrRedirects] = pos;
pos = eq + 1;
to[nrRedirects] = pos;
nrRedirects++;
if (nrRedirects == MAX_REDIRECTS) break;
char * end = strchr(pos, ':');
if (!end) break;
*end = 0;
pos = end + 1;
}
}
static const char * rewrite(const char * path, char * buf)
{
for (int n = 0; n < nrRedirects; ++n) {
int len = strlen(from[n]);
if (strncmp(path, from[n], len) != 0) continue;
if (snprintf(buf, PATH_MAX, "%s%s", to[n], path + len) >= PATH_MAX)
abort();
return buf;
}
return path;
}
/* The following set of Glibc library functions is very incomplete -
it contains only what we needed for programs in Nixpkgs. Just add
more functions as needed. */
int open(const char * path, int flags, ...)
{
int (*open_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
mode_t mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
mode = va_arg(ap, mode_t);
va_end(ap);
}
char buf[PATH_MAX];
return open_real(rewrite(path, buf), flags, mode);
}
int open64(const char * path, int flags, ...)
{
int (*open64_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
mode_t mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
mode = va_arg(ap, mode_t);
va_end(ap);
}
char buf[PATH_MAX];
return open64_real(rewrite(path, buf), flags, mode);
}
FILE * fopen(const char * path, const char * mode)
{
FILE * (*fopen_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen");
char buf[PATH_MAX];
return fopen_real(rewrite(path, buf), mode);
}
int __xstat(int ver, const char * path, struct stat * st)
{
int (*__xstat_real) (int ver, const char *, struct stat *) = dlsym(RTLD_NEXT, "__xstat");
char buf[PATH_MAX];
return __xstat_real(ver, rewrite(path, buf), st);
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "lohit-fonts-20140220";
src = fetchurl {
url = https://fedorahosted.org/releases/l/o/lohit/lohit-ttf-20140220.tar.gz;
sha256 = "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d";
};
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
'';
meta = with stdenv.lib; {
homepage = https://fedorahosted.org/lohit/;
description = "Fonts for 21 Indian languages";
license = licenses.ofl;
maintainers = [ maintainers.ttuegel ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,59 @@
{stdenv, fetchurl, unzip}:
stdenv.mkDerivation rec {
name = "nafees";
srcs = [(fetchurl {
url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNastaleeq/Nafees_Nastaleeq_v1.02.zip";
sha256 = "1h1k5d74pg2gs782910v7i9rz2633wdacy34ds7ybxbpjiz6pqix";
})
(fetchurl {
url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesRiqa/Nafees_Riqa_v1.0.zip";
sha256 = "1liismsyaj69y40vs9a9db4l95n25n8vnjnx7sbk70nxppwngd8i";
})
(fetchurl {
url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNaskh/Nafees_Naskh_v2.01.zip";
sha256 = "1qbbj6w6bvrlymv7z6ld609yhp0l2f27z14180w5n8kzzl720vly";
})
(fetchurl {
url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesTahreerNaskh/Nafees_Tahreer_Naskh_v1.0.zip";
sha256 = "006l87drbi4zh52kpvn8wl9wbwm9srfn406rzsnf4gv0spzhqrxl";
})
(fetchurl {
url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesPakistaniNaskh/Nafees_Pakistani_Naskh_v2.01.zip";
sha256 = "1i5ip60gq1cgc9fc96kvlahdpia8dxdgcisglvbm2d212bz0s5nb";
})
];
buildInputs = [unzip];
sourceRoot = ".";
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
# cp $riqa/*.ttf $out/share/fonts/truetype
'';
meta = {
description = "OpenType Urdu font from the Center for Research in Urdu Language Processing";
longDescription = '' The Nafees font family is developed according
to calligraphic rules, following the style of Syed Nafees
Al-Hussaini (Nafees Raqam) one of the finest calligraphers of
Pakistan '';
homepage = "http://www.cle.org.pk/software/localization.htm";
# Used to be GPLv2. The license distributed with the fonts looks
# more like a modified BSD, but still contains the GPLv2 embedded
# font exception, and some not-for-resale language.
license = "unknown";
platforms = stdenv.lib.platforms.all;
maintainers = [ "Daniel Bergey <bergey@teallabs.org>" ];
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
, gobjectIntrospection, makeWrapper }:
stdenv.mkDerivation rec {
name = "nautilus-sendto-${version}";
version = "3.8.1";
src = fetchurl {
url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
};
buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
meta = with stdenv.lib; {
description = "Integrates Evolution and Pidgin into the Nautilus file manager";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -171,6 +171,8 @@ rec {
gnome-photos = callPackage ./apps/gnome-photos { };
nautilus-sendto = callPackage ./apps/nautilus-sendto { };
# scrollkeeper replacement
rarian = callPackage ./desktop/rarian { };

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
, gobjectIntrospection, makeWrapper }:
stdenv.mkDerivation rec {
name = "nautilus-sendto-${version}";
version = "3.8.1";
src = fetchurl {
url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
};
buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
meta = with stdenv.lib; {
description = "Integrates Evolution and Pidgin into the Nautilus file manager";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -15,12 +15,12 @@ stdenv.mkDerivation rec {
};
buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools
gnome3.dconf itstool ncurses makeWrapper ];
gnome3.dconf itstool ncurses makeWrapper gnome3.nautilus ];
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
# FIXME: enable for gnome3
configureFlags = [ "--disable-search-provider" "--without-nautilus-extension" "--disable-migration" ];
configureFlags = [ "--disable-search-provider" "--disable-migration" ];
preFixup = ''
for f in "$out/libexec/gnome-terminal-server"; do

View File

@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
patches = [ ./extension_dir.patch ];
meta = with stdenv.lib; {
platforms = platforms.linux;
};

View File

@ -0,0 +1,24 @@
diff --git a/libnautilus-private/nautilus-module.c b/libnautilus-private/nautilus-module.c
index 6273a76..4adcc8a 100644
--- a/libnautilus-private/nautilus-module.c
+++ b/libnautilus-private/nautilus-module.c
@@ -242,11 +242,17 @@ void
nautilus_module_setup (void)
{
static gboolean initialized = FALSE;
+ const gchar* extensiondir = NULL;
if (!initialized) {
initialized = TRUE;
-
- load_module_dir (NAUTILUS_EXTENSIONDIR);
+
+ extensiondir = g_getenv ("NAUTILUS_EXTENSION_DIR");
+ if (extensiondir == NULL) {
+ extensiondir = NAUTILUS_EXTENSIONDIR;
+ }
+
+ load_module_dir (extensiondir);
eel_debug_call_at_shutdown (free_module_objects);
}

View File

@ -203,6 +203,8 @@ rec {
gnome-photos = callPackage ./apps/gnome-photos { };
nautilus-sendto = callPackage ./apps/nautilus-sendto { };
# scrollkeeper replacement
rarian = callPackage ./desktop/rarian { };

View File

@ -1,7 +1,15 @@
{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }:
{ makeWrapper, kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson
, unzip }:
kde {
buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ];
buildInputs = [
makeWrapper kdelibs kde_baseapps libarchive bzip2 lzma qjson
];
postInstall = ''
wrapProgram $out/bin/ark \
--prefix PATH ":" "${unzip}/bin"
'';
meta = {
description = "KDE Archiving Tool";

View File

@ -0,0 +1,71 @@
source $stdenv/setup
export CXXFLAGS="-m32"
tar zxvf "$gecodeSrc"
cd gecode-1.3.1
./configure --prefix="$out" --disable-minimodel --disable-examples
make
make install
cd ..
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"$out"/lib/pkgconfig
tar zxvf "$seamSrc"
cd seam-1.4
./configure --prefix="$out" --with-zlib=$zlib
make
make install
cd ..
PATH=$PATH:"$out"/bin
tar zxvf "$aliceSrc"
cd alice-1.4
sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/alicerun.in
sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/aliceremote
./configure --prefix="$out" --with-gmp=$gmp
make
make install
cd ..
tar zxvf "$aliceGecodeSrc"
cd alice-gecode-1.4
make compiledll MUST_GENERATE=no
make installdll MUST_GENERATE=no
cd ..
tar zxvf "$aliceRegexSrc"
cd alice-regex-1.4
make compiledll MUST_GENERATE=no
make installdll MUST_GENERATE=no
cd ..
tar zxvf "$aliceSqliteSrc"
cd alice-sqlite-1.4
make compiledll MUST_GENERATE=no
make installdll MUST_GENERATE=no
cd ..
tar zxvf "$aliceXmlSrc"
cd alice-xml-1.4
make compiledll MUST_GENERATE=no
make installdll MUST_GENERATE=no
cd ..
tar zxvf "$aliceGtkSrc"
cd alice-gtk-1.4
sed -i -e 's/PRIVATE_GTK_LEAVE_PENDING/PRIVATE_GTK_HAS_POINTER/g' NativeGtk.cc
sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' myinstall
make compiledll MUST_GENERATE=no
make installdll MUST_GENERATE=no
cd ..
tar zxvf "$aliceRuntimeSrc"
cd alice-runtime-1.4
./configure --prefix="$out"
make
make install
cd ..

View File

@ -0,0 +1,70 @@
{stdenv, fetchurl, pkgsi686Linux, libtool, gnumake381, autoconf, automake111x, file, which, zsh, m4, pkgconfig, perl}:
stdenv.mkDerivation {
name = "aliceml-1.4";
aliceSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-1.4.tar.gz;
sha256 = "1ay8r26g7xm9zlrlpigp6y1zmrl93hzkndb5phx7651wx8j2183r";
};
aliceGecodeSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gecode-1.4.tar.gz;
sha256 = "0yklpsqnm3wwzfz4vvv69dmm7q7pzpl3z7iw7wg33klng85cidl6";
};
aliceGtkSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gtk-1.4.tar.gz;
sha256 = "0zx4ks0pk5wgbcsflcmn0kbpa9j7pjbsc19d1s3jgp4rwb24m1an";
};
aliceRegexSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-regex-1.4.tar.gz;
sha256 = "0myjzh3295awamghs4c88ypaa41m8sxh5jys876yq6flslw41s02";
};
aliceRuntimeSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-runtime-1.4.tar.gz;
sha256 = "1cbca71vh16l2h0zjvhgzzs0rzq99nc8nx9a97yzw595355nq57f";
};
aliceSqliteSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-sqlite-1.4.tar.gz;
sha256 = "0554xbx8zgqmpb7x06d7xvhlbk7bxmc237khgjs6yjcy53yf366b";
};
aliceXmlSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/alice-xml-1.4.tar.gz;
sha256 = "058a815a0vajjvjlsmd4ryx2bc71q6zwvyjg2c0v1gba2v3pddm0";
};
seamSrc = fetchurl {
url = http://www.ps.uni-saarland.de/alice/download/sources/seam-1.4.tar.gz;
sha256 = "1iz98jdv914whaw426d5406shlqgxqwpy3fbyb472x7d3lfra2dz";
};
gecodeSrc = fetchurl {
url = http://www.gecode.org/download/gecode-1.3.1.tar.gz;
sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
};
zlib = pkgsi686Linux.zlib;
gmp = pkgsi686Linux.gmp;
buildInputs = [
stdenv pkgsi686Linux.gcc34 pkgsi686Linux.glibc
libtool gnumake381 autoconf automake111x pkgsi686Linux.zlib
file which zsh pkgsi686Linux.gmp m4 pkgsi686Linux.gnome.gtk
pkgsi686Linux.gnome.libgnomecanvas pkgsi686Linux.pango pkgsi686Linux.sqlite
pkgsi686Linux.libxml2 pkgsi686Linux.lightning pkgconfig perl
];
builder = ./builder.sh;
meta = {
homepage = http://www.ps.uni-saarland.de/alice/;
description = "Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming.";
license = "BSD";
};
}

View File

@ -1,17 +1,7 @@
{ stdenv, fetchurl, devSnapshot ? false }:
{ stdenv, fetchurl }:
let
stableVersion = "4.8.0.6";
devVersion = "4.9.0rc1";
version = if devSnapshot then devVersion else stableVersion;
srcRelease = fetchurl {
url = "http://code.call-cc.org/releases/4.8.0/chicken-${stableVersion}.tar.gz";
sha256 = "0an6l09y9pa6r4crkn33w6l4j6nwhvk6fibx2ajv6h0pfl2jqkd5";
};
srcDev = fetchurl {
url = "http://code.call-cc.org/dev-snapshots/2014/04/17/chicken-${devVersion}.tar.gz";
sha256 = "168f5ib02hh6cnilsrfg103ijhlg4j0z0fgs7i55kzd4aggy1w42";
};
version = "4.9.0";
platform = with stdenv;
if isDarwin then "macosx"
else if isCygwin then "cygwin"
@ -22,9 +12,10 @@ in
stdenv.mkDerivation {
name = "chicken-${version}";
src = if devSnapshot
then srcDev
else srcRelease;
src = fetchurl {
url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz";
sha256 = "08jaavr3lhs0z2q9k7b7w8l3fsxpms58zxg8nyk8674p54cbwaig";
};
buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";

View File

@ -24,6 +24,10 @@ cabal.mkDerivation (self: {
unorderedContainers yaml
];
doCheck = false;
preConfigure = ''
rm -f Setup.hs
echo -e "import Distribution.Simple\nmain=defaultMain\n" > Setup.hs
'';
meta = {
homepage = "http://elm-lang.org";
description = "The Elm language module";

View File

@ -1,5 +1,7 @@
{ stdenv, fetchurl, noSysDirs
, langC ? true, langCC ? true, langFortran ? false
, langObjC ? stdenv.isDarwin
, langObjCpp ? stdenv.isDarwin
, langJava ? false
, langAda ? false
, langVhdl ? false
@ -352,6 +354,8 @@ stdenv.mkDerivation ({
++ optional langAda "ada"
++ optional langVhdl "vhdl"
++ optional langGo "go"
++ optional langObjC "objc"
++ optional langObjCpp "obj-c++"
++ optionals crossDarwin [ "objc" "obj-c++" ]
)
)
@ -490,7 +494,7 @@ stdenv.mkDerivation ({
else null;
passthru =
{ inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; };
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo enableMultilib version; };
inherit enableParallelBuilding;

View File

@ -7,11 +7,11 @@ let
in
stdenv.mkDerivation {
name = "go-1.2.1";
name = "go-1.2.2";
src = fetchurl {
url = http://go.googlecode.com/files/go1.2.1.src.tar.gz;
sha1 = "6a4b9991eddd8039438438d6aa25126ab7e07f2f";
url = https://storage.googleapis.com/golang/go1.2.2.src.tar.gz;
sha1 = "3ce0ac4db434fc1546fec074841ff40dc48c1167";
};
buildInputs = [ bison glibc bash makeWrapper ];

View File

@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
find . -name 'config' -type f | while read i; do
sed -i "s@libMonoPosixHelper.so@$out/lib/libMonoPosixHelper.so@g" $i
sed -i "s@libX11.so.6@${libX11}/lib/libX11.so.6@g" $i
sed -i '2 i\<dllmap dll="gdiplus.dll" target="${libgdiplus}/lib/libgdiplus.so" os="!windows"/>' $i
sed -i "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" $i
done
'';

View File

@ -0,0 +1,41 @@
# Binaries provided by Open Dylan to be used to bootstrap from source.
# The binaries can also be used as is.
{stdenv, fetchurl, patchelf, boehmgc, gnused, gcc, makeWrapper}:
stdenv.mkDerivation {
name = "opendylan-2013.2";
src = if stdenv.system == "x86_64-linux" then fetchurl {
url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2;
sha256 = "035brbw3hm7zrs593q4zc42yglj1gmmkw3b1r7zzlw3ks4i2lg7h";
}
else if stdenv.system == "i686-linux" then fetchurl {
url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2;
sha256 = "0c61ihvblcsjrw6ncr8x8ylhskcrqs8pajs4mg5di36cvqw12nq5";
}
else throw "platform ${stdenv.system} not supported.";
buildInputs = [ patchelf boehmgc gnused makeWrapper ];
buildCommand = ''
mkdir -p "$out"
tar --strip-components=1 -xjf "$src" -C "$out"
interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)"
for a in "$out"/bin/*; do
patchelf --set-interpreter "$interpreter" "$a"
patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
done
for a in "$out"/lib/*.so; do
patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
done
sed -i -e "s|\-lgc|\-L${boehmgc}\/lib -lgc|" $out/lib/config.jam
wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin
'';
meta = {
homepage = http://opendylan.org;
description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
license = "MIT";
};
}

View File

@ -0,0 +1,37 @@
# Build Open Dylan from source using the binary builds to bootstrap.
{stdenv, fetchgit, patchelf, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }:
stdenv.mkDerivation {
name = "opendylan-2013.2";
src = fetchgit {
url = https://github.com/dylan-lang/opendylan;
rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
sha256 = "cec80980b838ac2581dfb6282e25d208e720d475256b75e24b23dbd30b09d21f";
fetchSubmodules = true;
};
buildInputs = (if stdenv.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [
opendylan-bootstrap boehmgc gnused autoconf automake perl makeWrapper
] ;
preConfigure = if stdenv.system == "i686-linux" then ''
mkdir -p $TMPDIR/mps
tar --strip-components=1 -xf ${mps.src} -C $TMPDIR/mps
./autogen.sh
''
else ''
./autogen.sh
'';
configureFlags = if stdenv.system == "i686-linux" then "--with-mps=$(TMPDIR)/mps" else "--with-gc=${boehmgc}";
buildPhase = "make 3-stage-bootstrap";
postInstall = "wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin";
meta = {
homepage = http://opendylan.org;
description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
license = "MIT";
};
}

View File

@ -4,11 +4,11 @@ let
s= # Generated upstream information
rec {
baseName="sbcl";
version="1.1.16";
version="1.2.0";
name="${baseName}-${version}";
hash="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw";
url="mirror://sourceforge/project/sbcl/sbcl/1.1.16/sbcl-1.1.16-source.tar.bz2";
sha256="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw";
hash="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
url="mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2";
sha256="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
};
buildInputs = with a; [
clisp makeWrapper

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper }:
{ stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper, unzip }:
stdenv.mkDerivation rec {
name = "maude-2.6";
@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
};
fullMaude = fetchurl {
url = "http://maude.cs.uiuc.edu/download/current/FM2.6/full-maude26.maude";
sha256 = "1382hjwwrsdgd5yjn3ph1b5i1bhrhzvqx0v369bmcjkly9k96v6q";
url = "http://maude.lcc.uma.es/FullMaude/FM261e/full-maude.maude.zip";
sha256 = "0g0chfrzc7923sh17zdy731wpsgnwz7rxci0jqqmrphlshwzqm2h";
};
buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
postInstall = ''
for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
mkdir -p $out/share/maude
cp ${fullMaude} $out/share/maude/full-maude.maude
${unzip}/bin/unzip ${fullMaude} -d $out/share/maude
'';
meta = {

View File

@ -4,12 +4,12 @@
stdenv.mkDerivation rec {
pname = "racket";
version = "5.3.6";
version = "6.0.1";
name = "${pname}-${version}";
src = fetchurl {
url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz";
sha256 = "12pvgidaym1rwyyi69bd2gfmfwi1y0lf8xgih7a8r20z4g0zzq3z";
url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d";
};
# Various racket executables do run-time searches for these.

View File

@ -0,0 +1,152 @@
diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
--- a52dec.old/include/a52.h 2002-01-28 06:37:54.000000000 +0100
+++ a52dec.new/include/a52.h 2012-07-16 14:13:35.000000000 +0200
@@ -30,7 +30,71 @@
typedef double sample_t;
#endif
-typedef struct a52_state_s a52_state_t;
+typedef struct {
+ uint8_t bai; /* fine SNR offset, fast gain */
+ uint8_t deltbae; /* delta bit allocation exists */
+ int8_t deltba[50]; /* per-band delta bit allocation */
+} ba_t;
+
+typedef struct {
+ uint8_t exp[256]; /* decoded channel exponents */
+ int8_t bap[256]; /* derived channel bit allocation */
+} expbap_t;
+
+typedef struct {
+ uint8_t fscod; /* sample rate */
+ uint8_t halfrate; /* halfrate factor */
+ uint8_t acmod; /* coded channels */
+ uint8_t lfeon; /* coded lfe channel */
+ sample_t clev; /* centre channel mix level */
+ sample_t slev; /* surround channels mix level */
+
+ int output; /* type of output */
+ sample_t level; /* output level */
+ sample_t bias; /* output bias */
+
+ int dynrnge; /* apply dynamic range */
+ sample_t dynrng; /* dynamic range */
+ void * dynrngdata; /* dynamic range callback funtion and data */
+ sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
+
+ uint8_t chincpl; /* channel coupled */
+ uint8_t phsflginu; /* phase flags in use (stereo only) */
+ uint8_t cplstrtmant; /* coupling channel start mantissa */
+ uint8_t cplendmant; /* coupling channel end mantissa */
+ uint32_t cplbndstrc; /* coupling band structure */
+ sample_t cplco[5][18]; /* coupling coordinates */
+
+ /* derived information */
+ uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */
+ uint8_t ncplbnd; /* number of coupling bands */
+
+ uint8_t rematflg; /* stereo rematrixing */
+
+ uint8_t endmant[5]; /* channel end mantissa */
+
+ uint16_t bai; /* bit allocation information */
+
+ uint32_t * buffer_start;
+ uint16_t lfsr_state; /* dither state */
+ uint32_t bits_left;
+ uint32_t current_word;
+
+ uint8_t csnroffst; /* coarse SNR offset */
+ ba_t cplba; /* coupling bit allocation parameters */
+ ba_t ba[5]; /* channel bit allocation parameters */
+ ba_t lfeba; /* lfe bit allocation parameters */
+
+ uint8_t cplfleak; /* coupling fast leak init */
+ uint8_t cplsleak; /* coupling slow leak init */
+
+ expbap_t cpl_expbap;
+ expbap_t fbw_expbap[5];
+ expbap_t lfe_expbap;
+
+ sample_t * samples;
+ int downmixed;
+} a52_state_t;
#define A52_CHANNEL 0
#define A52_MONO 1
diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
--- a52dec.old/liba52/a52_internal.h 2002-07-28 03:52:06.000000000 +0200
+++ a52dec.new/liba52/a52_internal.h 2012-07-16 14:11:47.000000000 +0200
@@ -21,72 +21,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-typedef struct {
- uint8_t bai; /* fine SNR offset, fast gain */
- uint8_t deltbae; /* delta bit allocation exists */
- int8_t deltba[50]; /* per-band delta bit allocation */
-} ba_t;
-
-typedef struct {
- uint8_t exp[256]; /* decoded channel exponents */
- int8_t bap[256]; /* derived channel bit allocation */
-} expbap_t;
-
-struct a52_state_s {
- uint8_t fscod; /* sample rate */
- uint8_t halfrate; /* halfrate factor */
- uint8_t acmod; /* coded channels */
- uint8_t lfeon; /* coded lfe channel */
- sample_t clev; /* centre channel mix level */
- sample_t slev; /* surround channels mix level */
-
- int output; /* type of output */
- sample_t level; /* output level */
- sample_t bias; /* output bias */
-
- int dynrnge; /* apply dynamic range */
- sample_t dynrng; /* dynamic range */
- void * dynrngdata; /* dynamic range callback funtion and data */
- sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
-
- uint8_t chincpl; /* channel coupled */
- uint8_t phsflginu; /* phase flags in use (stereo only) */
- uint8_t cplstrtmant; /* coupling channel start mantissa */
- uint8_t cplendmant; /* coupling channel end mantissa */
- uint32_t cplbndstrc; /* coupling band structure */
- sample_t cplco[5][18]; /* coupling coordinates */
-
- /* derived information */
- uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */
- uint8_t ncplbnd; /* number of coupling bands */
-
- uint8_t rematflg; /* stereo rematrixing */
-
- uint8_t endmant[5]; /* channel end mantissa */
-
- uint16_t bai; /* bit allocation information */
-
- uint32_t * buffer_start;
- uint16_t lfsr_state; /* dither state */
- uint32_t bits_left;
- uint32_t current_word;
-
- uint8_t csnroffst; /* coarse SNR offset */
- ba_t cplba; /* coupling bit allocation parameters */
- ba_t ba[5]; /* channel bit allocation parameters */
- ba_t lfeba; /* lfe bit allocation parameters */
-
- uint8_t cplfleak; /* coupling fast leak init */
- uint8_t cplsleak; /* coupling slow leak init */
-
- expbap_t cpl_expbap;
- expbap_t fbw_expbap[5];
- expbap_t lfe_expbap;
-
- sample_t * samples;
- int downmixed;
-};
-
#define LEVEL_PLUS6DB 2.0
#define LEVEL_PLUS3DB 1.4142135623730951
#define LEVEL_3DB 0.7071067811865476

View File

@ -0,0 +1,462 @@
diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
--- a52dec.old/include/a52.h 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/include/a52.h 2012-07-16 14:31:37.000000000 +0200
@@ -42,6 +42,11 @@
} expbap_t;
typedef struct {
+ sample_t real;
+ sample_t imag;
+} complex_t;
+
+typedef struct {
uint8_t fscod; /* sample rate */
uint8_t halfrate; /* halfrate factor */
uint8_t acmod; /* coded channels */
@@ -94,6 +99,20 @@
sample_t * samples;
int downmixed;
+
+ /* Root values for IFFT */
+ sample_t * roots16; // size 3
+ sample_t * roots32; // size 7
+ sample_t * roots64; // size 15
+ sample_t * roots128; // size 31
+
+ /* Twiddle factors for IMDCT */
+ complex_t * pre1; // size 128
+ complex_t * post1; // size 64
+ complex_t * pre2; // size 64
+ complex_t * post2; // size 32
+
+ sample_t * a52_imdct_window; // size 256
} a52_state_t;
#define A52_CHANNEL 0
diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
--- a52dec.old/liba52/a52_internal.h 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/liba52/a52_internal.h 2012-07-16 14:28:33.000000000 +0200
@@ -49,6 +49,6 @@
sample_t clev, sample_t slev);
void a52_upmix (sample_t * samples, int acmod, int output);
-void a52_imdct_init (uint32_t mm_accel);
-void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias);
-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias);
+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel);
+void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c
--- a52dec.old/liba52/imdct.c 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/liba52/imdct.c 2012-07-16 14:33:00.000000000 +0200
@@ -40,11 +40,6 @@
#include "a52_internal.h"
#include "mm_accel.h"
-typedef struct complex_s {
- sample_t real;
- sample_t imag;
-} complex_t;
-
static uint8_t fftorder[] = {
0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176,
8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88,
@@ -56,22 +51,8 @@
6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86
};
-/* Root values for IFFT */
-static sample_t roots16[3];
-static sample_t roots32[7];
-static sample_t roots64[15];
-static sample_t roots128[31];
-
-/* Twiddle factors for IMDCT */
-static complex_t pre1[128];
-static complex_t post1[64];
-static complex_t pre2[64];
-static complex_t post2[32];
-
-static sample_t a52_imdct_window[256];
-
-static void (* ifft128) (complex_t * buf);
-static void (* ifft64) (complex_t * buf);
+static void (* ifft128) (a52_state_t * state, complex_t * buf);
+static void (* ifft64) (a52_state_t * state, complex_t * buf);
static inline void ifft2 (complex_t * buf)
{
@@ -167,7 +148,7 @@
a1.imag += tmp4; \
} while (0)
-static inline void ifft8 (complex_t * buf)
+static inline void ifft8 (a52_state_t * state, complex_t * buf)
{
double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
@@ -175,7 +156,7 @@
ifft2 (buf + 4);
ifft2 (buf + 6);
BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]);
- BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]);
+ BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]);
}
static void ifft_pass (complex_t * buf, sample_t * weight, int n)
@@ -205,66 +186,66 @@
} while (--i);
}
-static void ifft16 (complex_t * buf)
+static void ifft16 (a52_state_t * state, complex_t * buf)
{
- ifft8 (buf);
+ ifft8 (state, buf);
ifft4 (buf + 8);
ifft4 (buf + 12);
- ifft_pass (buf, roots16 - 4, 4);
+ ifft_pass (buf, state->roots16 - 4, 4);
}
-static void ifft32 (complex_t * buf)
+static void ifft32 (a52_state_t * state, complex_t * buf)
{
- ifft16 (buf);
- ifft8 (buf + 16);
- ifft8 (buf + 24);
- ifft_pass (buf, roots32 - 8, 8);
+ ifft16 (state, buf);
+ ifft8 (state, buf + 16);
+ ifft8 (state, buf + 24);
+ ifft_pass (buf, state->roots32 - 8, 8);
}
-static void ifft64_c (complex_t * buf)
+static void ifft64_c (a52_state_t * state, complex_t * buf)
{
- ifft32 (buf);
- ifft16 (buf + 32);
- ifft16 (buf + 48);
- ifft_pass (buf, roots64 - 16, 16);
+ ifft32 (state, buf);
+ ifft16 (state, buf + 32);
+ ifft16 (state, buf + 48);
+ ifft_pass (buf, state->roots64 - 16, 16);
}
-static void ifft128_c (complex_t * buf)
+static void ifft128_c (a52_state_t * state, complex_t * buf)
{
- ifft32 (buf);
- ifft16 (buf + 32);
- ifft16 (buf + 48);
- ifft_pass (buf, roots64 - 16, 16);
+ ifft32 (state, buf);
+ ifft16 (state, buf + 32);
+ ifft16 (state, buf + 48);
+ ifft_pass (buf, state->roots64 - 16, 16);
- ifft32 (buf + 64);
- ifft32 (buf + 96);
- ifft_pass (buf, roots128 - 32, 32);
+ ifft32 (state, buf + 64);
+ ifft32 (state, buf + 96);
+ ifft_pass (buf, state->roots128 - 32, 32);
}
-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias)
+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
{
int i, k;
sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
- const sample_t * window = a52_imdct_window;
+ const sample_t * window = state->a52_imdct_window;
complex_t buf[128];
for (i = 0; i < 128; i++) {
k = fftorder[i];
- t_r = pre1[i].real;
- t_i = pre1[i].imag;
+ t_r = state->pre1[i].real;
+ t_i = state->pre1[i].imag;
buf[i].real = t_i * data[255-k] + t_r * data[k];
buf[i].imag = t_r * data[255-k] - t_i * data[k];
}
- ifft128 (buf);
+ ifft128 (state, buf);
/* Post IFFT complex multiply plus IFFT complex conjugate*/
/* Window and convert to real valued signal */
for (i = 0; i < 64; i++) {
/* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */
- t_r = post1[i].real;
- t_i = post1[i].imag;
+ t_r = state->post1[i].real;
+ t_i = state->post1[i].imag;
a_r = t_r * buf[i].real + t_i * buf[i].imag;
a_i = t_i * buf[i].real - t_r * buf[i].imag;
@@ -285,18 +266,18 @@
}
}
-void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
+void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
{
int i, k;
sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2;
- const sample_t * window = a52_imdct_window;
+ const sample_t * window = state->a52_imdct_window;
complex_t buf1[64], buf2[64];
/* Pre IFFT complex multiply plus IFFT cmplx conjugate */
for (i = 0; i < 64; i++) {
k = fftorder[i];
- t_r = pre2[i].real;
- t_i = pre2[i].imag;
+ t_r = state->pre2[i].real;
+ t_i = state->pre2[i].imag;
buf1[i].real = t_i * data[254-k] + t_r * data[k];
buf1[i].imag = t_r * data[254-k] - t_i * data[k];
@@ -305,15 +286,15 @@
buf2[i].imag = t_r * data[255-k] - t_i * data[k+1];
}
- ifft64 (buf1);
- ifft64 (buf2);
+ ifft64 (state, buf1);
+ ifft64 (state, buf2);
/* Post IFFT complex multiply */
/* Window and convert to real valued signal */
for (i = 0; i < 32; i++) {
/* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */
- t_r = post2[i].real;
- t_i = post2[i].imag;
+ t_r = state->post2[i].real;
+ t_i = state->post2[i].imag;
a_r = t_r * buf1[i].real + t_i * buf1[i].imag;
a_i = t_i * buf1[i].real - t_r * buf1[i].imag;
@@ -362,7 +343,7 @@
return bessel;
}
-void a52_imdct_init (uint32_t mm_accel)
+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel)
{
int i, k;
double sum;
@@ -371,50 +352,50 @@
sum = 0;
for (i = 0; i < 256; i++) {
sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256));
- a52_imdct_window[i] = sum;
+ state->a52_imdct_window[i] = sum;
}
sum++;
for (i = 0; i < 256; i++)
- a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum);
+ state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum);
for (i = 0; i < 3; i++)
- roots16[i] = cos ((M_PI / 8) * (i + 1));
+ state->roots16[i] = cos ((M_PI / 8) * (i + 1));
for (i = 0; i < 7; i++)
- roots32[i] = cos ((M_PI / 16) * (i + 1));
+ state->roots32[i] = cos ((M_PI / 16) * (i + 1));
for (i = 0; i < 15; i++)
- roots64[i] = cos ((M_PI / 32) * (i + 1));
+ state->roots64[i] = cos ((M_PI / 32) * (i + 1));
for (i = 0; i < 31; i++)
- roots128[i] = cos ((M_PI / 64) * (i + 1));
+ state->roots128[i] = cos ((M_PI / 64) * (i + 1));
for (i = 0; i < 64; i++) {
k = fftorder[i] / 2 + 64;
- pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
- pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
}
for (i = 64; i < 128; i++) {
k = fftorder[i] / 2 + 64;
- pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
- pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
+ state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
}
for (i = 0; i < 64; i++) {
- post1[i].real = cos ((M_PI / 256) * (i + 0.5));
- post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
+ state->post1[i].real = cos ((M_PI / 256) * (i + 0.5));
+ state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
}
for (i = 0; i < 64; i++) {
k = fftorder[i] / 4;
- pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
- pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
+ state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
+ state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
}
for (i = 0; i < 32; i++) {
- post2[i].real = cos ((M_PI / 128) * (i + 0.5));
- post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
+ state->post2[i].real = cos ((M_PI / 128) * (i + 0.5));
+ state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
}
#ifdef LIBA52_DJBFFT
diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c
--- a52dec.old/liba52/parse.c 2012-07-16 14:24:14.000000000 +0200
+++ a52dec.new/liba52/parse.c 2012-07-16 14:33:00.000000000 +0200
@@ -56,16 +56,53 @@
a52_state_t * state;
int i;
- state = malloc (sizeof (a52_state_t));
+ state = calloc (1, sizeof (a52_state_t));
if (state == NULL)
return NULL;
state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
if (state->samples == NULL) {
- free (state);
- return NULL;
+ goto fail;
}
+ /* Root values for IFFT */
+ state->roots16 = memalign (16, 3 * sizeof (sample_t));
+ if (state->roots16 == NULL)
+ goto fail;
+
+ state->roots32 = memalign (16, 7 * sizeof (sample_t));
+ if (state->roots32 == NULL)
+ goto fail;
+
+ state->roots64 = memalign (16, 15 * sizeof (sample_t));
+ if (state->roots64 == NULL)
+ goto fail;
+
+ state->roots128 = memalign (16, 31 * sizeof (sample_t));
+ if (state->roots128 == NULL)
+ goto fail;
+
+ /* Twiddle factors for IMDCT */
+ state->pre1 = memalign (16, 128 * sizeof (complex_t));
+ if (state->pre1 == NULL)
+ goto fail;
+
+ state->post1 = memalign (16, 64 * sizeof (complex_t));
+ if (state->post1 == NULL)
+ goto fail;
+
+ state->pre2 = memalign (16, 64 * sizeof (complex_t));
+ if (state->pre2 == NULL)
+ goto fail;
+
+ state->post2 = memalign (16, 32 * sizeof (complex_t));
+ if (state->post2 == NULL)
+ goto fail;
+
+ state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t));
+ if (state->a52_imdct_window == NULL)
+ goto fail;
+
for (i = 0; i < 256 * 12; i++)
state->samples[i] = 0;
@@ -73,9 +110,27 @@
state->lfsr_state = 1;
- a52_imdct_init (mm_accel);
+ a52_imdct_init (state, mm_accel);
return state;
+
+fail:
+ if ( state )
+ {
+ free (state->a52_imdct_window);
+ free (state->post2);
+ free (state->pre2);
+ free (state->post1);
+ free (state->pre1);
+ free (state->roots128);
+ free (state->roots64);
+ free (state->roots32);
+ free (state->roots16);
+ free (state->samples);
+ free (state);
+ }
+ return NULL;
+
}
sample_t * a52_samples (a52_state_t * state)
@@ -825,7 +880,7 @@
state->dynrng, 0, 7);
for (i = 7; i < 256; i++)
(samples-256)[i] = 0;
- a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias);
+ a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias);
} else {
/* just skip the LFE coefficients */
coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer,
@@ -854,10 +909,10 @@
if (coeff[i]) {
if (blksw[i])
- a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
bias);
else
- a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
bias);
} else {
int j;
@@ -883,11 +938,11 @@
if (blksw[0])
for (i = 0; i < nfchans; i++)
- a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
state->bias);
else
for (i = 0; i < nfchans; i++)
- a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
+ a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
state->bias);
}
@@ -896,6 +951,15 @@
void a52_free (a52_state_t * state)
{
+ free (state->a52_imdct_window);
+ free (state->post2);
+ free (state->pre2);
+ free (state->post1);
+ free (state->pre1);
+ free (state->roots128);
+ free (state->roots64);
+ free (state->roots32);
+ free (state->roots16);
free (state->samples);
free (state);
}

View File

@ -0,0 +1,11 @@
diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c
--- a52dec.old/liba52/imdct.c 2002-07-28 03:52:07.000000000 +0200
+++ a52dec.new/liba52/imdct.c 2011-07-15 20:29:09.000000000 +0200
@@ -425,7 +425,6 @@
} else
#endif
{
- fprintf (stderr, "No accelerated IMDCT transform found\n");
ifft128 = ifft128_c;
ifft64 = ifft64_c;
}

View File

@ -0,0 +1,12 @@
diff -Naur a52dec.orig/configure.in a52dec/configure.in
--- a52dec.orig/configure.in 2002-07-27 23:50:20.000000000 -0400
+++ a52dec/configure.in 2013-01-28 21:06:27.000000000 -0500
@@ -6,7 +6,7 @@
AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
AM_INIT_AUTOMAKE([a52dec],[0.7.4])
-AM_CONFIG_HEADER(include/config.h)
+AC_CONFIG_HEADER(include/config.h)
AM_MAINTAINER_MODE
AC_CANONICAL_HOST

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "a52dec-0.7.4";
name = "a52dec-0.7.4p4";
src = fetchurl {
url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz";
@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-fpic";
# From Handbrake
patches = [
./A00-a52-state-t-public.patch
./A01-thread-safe.patch
./A02-imdct-shutup.patch
./A03-automake.patch
];
meta = {
description = "ATSC A/52 stream decoder";
homepage = http://liba52.sourceforge.net/;

View File

@ -1,5 +1,7 @@
{ stdenv, fetchurl, m4, cxx ? true }:
with { inherit (stdenv.lib) optional; };
stdenv.mkDerivation rec {
name = "gmp-5.1.3";
@ -14,9 +16,12 @@ stdenv.mkDerivation rec {
# Build a "fat binary", with routines for several sub-architectures
# (x86), except on Solaris where some tests crash with "Memory fault".
# See <http://hydra.nixos.org/build/2760931>, for instance.
(stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat")
++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ])
++ (if stdenv.is64bit then [ "--with-pic" ] else []);
optional (!stdenv.isSunOS) "--enable-fat"
++ (if cxx then [ "--enable-cxx" ]
else [ "--disable-cxx" ])
++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
++ optional stdenv.is64bit "--with-pic"
;
doCheck = true;

View File

@ -4,11 +4,11 @@
assert guileBindings -> guile != null;
stdenv.mkDerivation rec {
name = "gnutls-3.1.22";
name = "gnutls-3.1.25";
src = fetchurl {
url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz";
sha256 = "177kmq4jn67s7mmb249722nwxmbjwjpphmib7bhzfk43z02j3pvh";
sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g";
};
# FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
# XXX: Gnulib's `test-select' fails on FreeBSD:
# http://hydra.nixos.org/build/2962084/nixlog/1/raw .
doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin);
meta = {
description = "The GNU Transport Layer Security Library";
@ -64,4 +64,5 @@ stdenv.mkDerivation rec {
license = "LGPLv2.1+";
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}
}

View File

@ -4,11 +4,11 @@
assert guileBindings -> guile != null;
stdenv.mkDerivation rec {
name = "gnutls-3.2.12.1";
name = "gnutls-3.2.15";
src = fetchurl {
url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz";
sha256 = "1787n4iard3ad0p44xbl4aj3r3f5ir3sz0b2s27qpaaia2w4774g";
sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q";
};
patches =

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, glibmm, gstreamer, gst_plugins_base, libsigcxx, libxmlxx, pkgconfig }:
let
ver_maj = "0.10";
ver_min = "11";
in
stdenv.mkDerivation rec {
name = "gstreamermm-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/gstreamermm/${ver_maj}/gstreamermm-${ver_maj}.${ver_min}.tar.xz";
sha256 = "12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6";
};
doCheck = false; # Tests require pulseaudio in /homeless-shelter
propagatedBuildInputs = [
glibmm gstreamer gst_plugins_base libsigcxx libxmlxx
];
nativeBuildInputs = [ pkgconfig ];
meta = {
description = "C++ bindings for the GStreamer streaming multimedia library";
homepage = http://www.gtkmm.org/;
license = "LGPLv2+";
maintainers = "Philip Lykke Carlsen <plcplc@gmail.com>";
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty
, icu, graphite2
, withIcu ? false # recommended by upstream as default, but most don't needed and it's big
, withGraphite2 ? !stdenv.isDarwin # it is small and major distros do include it
, withGraphite2 ? true # it is small and major distros do include it
}:
# TODO: split non-icu and icu lib into different outputs?

View File

@ -0,0 +1,24 @@
{ cabal, blazeHtml, boolExtras, cmdargs, dataDefault, filepath
, HaXml, haxr, highlightingKate, hscolour, lens, mtl, pandoc
, pandocCiteproc, pandocTypes, parsec, split, strict, temporary
, transformers, utf8String
}:
cabal.mkDerivation (self: {
pname = "BlogLiterately";
version = "0.7.1.6";
sha256 = "0mzq0br9jsymml57kcxqyr401lckzm43fy74l3wy25n6grv64hd4";
isLibrary = true;
isExecutable = true;
buildDepends = [
blazeHtml boolExtras cmdargs dataDefault filepath HaXml haxr
highlightingKate hscolour lens mtl pandoc pandocCiteproc
pandocTypes parsec split strict temporary transformers utf8String
];
meta = {
homepage = "http://byorgey.wordpress.com/blogliterately/";
description = "A tool for posting Haskelly articles to blogs";
license = "GPL";
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,16 @@
{ cabal, cpphs, JuicyPixels, linear, OpenGL, OpenGLRaw, vector }:
cabal.mkDerivation (self: {
pname = "GLUtil";
version = "0.7.4";
sha256 = "0l1w0k3q5g22y90w5frljqh1v4jb7gjzb3scg79zp42pc9v3h4l5";
buildDepends = [
cpphs JuicyPixels linear OpenGL OpenGLRaw vector
];
buildTools = [ cpphs ];
meta = {
description = "Miscellaneous OpenGL utilities";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,15 @@
{ cabal, aeson, haskellSrcMeta, hspec, parsec, text, vector }:
cabal.mkDerivation (self: {
pname = "aeson-qq";
version = "0.6.1";
sha256 = "164nqk1qfb8a9c95yv5hg0zgcjcg49vrra2wi00h325bgpq6wa5n";
buildDepends = [ aeson haskellSrcMeta parsec text vector ];
testDepends = [ aeson hspec ];
meta = {
homepage = "http://github.com/zalora/aeson-qq";
description = "Json Quasiquatation for Haskell";
license = self.stdenv.lib.licenses.mit;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,13 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "bool-extras";
version = "0.4.0";
sha256 = "008m43f04ncx2c24c241gzwjyyglw8rwpq2gsakqkw0nwz3czs61";
meta = {
homepage = "http://tom.lokhorst.eu/bool-extras";
description = "A fold function for Bool";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,19 @@
{ cabal, comonad, fingertree, hashable, keys, pointed, reducers
, semigroupoids, semigroups, unorderedContainers
}:
cabal.mkDerivation (self: {
pname = "compressed";
version = "3.10";
sha256 = "1y290n421knfh8k8zbcabhw24hb13xj9pkxx4h4v15yji97p5mcw";
buildDepends = [
comonad fingertree hashable keys pointed reducers semigroupoids
semigroups unorderedContainers
];
meta = {
homepage = "http://github.com/ekmett/compressed/";
description = "Compressed containers and reducers";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -73,7 +73,8 @@ cabal.mkDerivation (self: rec {
for i in $docPackages; do
import_dbs $i/share/doc
ln -sf $i/share/doc/* $out/share/hoogle/doc
ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \
|| ln -sf $i/share/doc/* $out/share/hoogle/doc
done
import_dbs ${self.ghc}/share/doc/ghc*/html/libraries

View File

@ -0,0 +1,27 @@
{ cabal, async, caseInsensitive, cond, dataDefault, dyre, feed
, filepath, hslogger, httpConduit, httpTypes, lens, mimeMail
, monadControl, mtl, network, opml, random, resourcet, text
, textIcu, time, timerep, tls, transformers, transformersBase
, utf8String, xdgBasedir, xml
}:
cabal.mkDerivation (self: {
pname = "imm";
version = "0.6.0.1";
sha256 = "11m6937wafl6nic69mbibrjnxib503907y21n9zmsxc8vnjl3pps";
patches = [ ./latest-feed-http-conduit-tls.patch ];
isLibrary = true;
isExecutable = true;
buildDepends = [
async caseInsensitive cond dataDefault dyre feed filepath hslogger
httpConduit httpTypes lens mimeMail monadControl mtl network opml
random resourcet text textIcu time timerep tls transformers
transformersBase utf8String xdgBasedir xml
];
meta = {
description = "Retrieve RSS/Atom feeds and write one mail per new item in a maildir";
license = "unknown";
platforms = self.ghc.meta.platforms;
maintainers = [ "Daniel Bergey <bergey@teallabs.org>" ];
};
})

View File

@ -0,0 +1,73 @@
# HG changeset patch
# User Daniel Bergey <bergey@alum.mit.edu>
# Date 1398284724 0
# Wed Apr 23 20:25:24 2014 +0000
# Node ID 4cc692e7acc4f21ffab9e5572d286495791d22d1
# Parent 31e3ba1aaaf9efdce66e8ef5c192d0f4214150f4
Update for feed-0.3.9.2, http-conduit-2.0, tls-1.2
diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 Imm/Error.hs
--- a/Imm/Error.hs Sun Jun 16 12:23:40 2013 +0200
+++ b/Imm/Error.hs Wed Apr 23 20:25:24 2014 +0000
@@ -41,7 +41,7 @@
data ImmError =
OtherError String
| HTTPError HttpException
- | TLSError HandshakeFailed
+ | TLSError TLSException
| UnicodeError UnicodeException
| ParseUriError String
| ParseTimeError String
@@ -63,7 +63,7 @@
"/!\\ Cannot parse date from item: ",
" title: " ++ (show $ getItemTitle item),
" link:" ++ (show $ getItemLink item),
- " publish date:" ++ (show $ getItemPublishDate item),
+ " publish date:" ++ (show (getItemPublishDate item :: Maybe (Maybe UTCTime))),
" date:" ++ (show $ getItemDate item)]
show (ParseTimeError raw) = "/!\\ Cannot parse time: " ++ raw
show (ParseFeedError raw) = "/!\\ Cannot parse feed: " ++ raw
diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 Imm/HTTP.hs
--- a/Imm/HTTP.hs Sun Jun 16 12:23:40 2013 +0200
+++ b/Imm/HTTP.hs Wed Apr 23 20:25:24 2014 +0000
@@ -50,13 +50,13 @@
either throwError return res
-- | Monad-agnostic version of 'parseUrl'
-parseURL :: (MonadBase IO m, MonadError ImmError m) => String -> m (Request m')
+parseURL :: (MonadBase IO m, MonadError ImmError m) => String -> m Request
parseURL uri = do
result <- io $ (Right <$> parseUrl uri) `catch` (return . Left . HTTPError)
either throwError return result
-- | Build an HTTP request for given URI
-request :: (MonadBase IO m, MonadError ImmError m) => String -> m (Request a)
+request :: (MonadBase IO m, MonadError ImmError m) => String -> m Request
request uri = do
req <- parseURL uri
return $ req { requestHeaders = [
diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 imm.cabal
--- a/imm.cabal Sun Jun 16 12:23:40 2013 +0200
+++ b/imm.cabal Wed Apr 23 20:25:24 2014 +0000
@@ -46,10 +46,10 @@
data-default,
directory,
dyre,
- feed,
+ feed == 0.3.9.2,
filepath,
hslogger,
- http-conduit >= 1.9.0,
+ http-conduit >= 2.0 && < 2.2,
http-types,
lens,
mime-mail,
@@ -66,7 +66,7 @@
transformers,
time,
timerep >= 1.0.3,
- tls,
+ tls >= 1.2 && < 1.3,
utf8-string,
xdg-basedir,
xml

View File

@ -0,0 +1,19 @@
{ cabal, comonad, doctest, filepath, free, mtl, pointed
, profunctors, semigroups, transformers, void
}:
cabal.mkDerivation (self: {
pname = "machines";
version = "0.2.5";
sha256 = "0745lhmfwq27nna517q7b82q59pda587wgh6840nw65syaj2qfhp";
buildDepends = [
comonad free mtl pointed profunctors semigroups transformers void
];
testDepends = [ doctest filepath ];
meta = {
homepage = "http://github.com/ekmett/machines/";
description = "Networked stream transducers";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,13 @@
{ cabal, xml }:
cabal.mkDerivation (self: {
pname = "opml";
version = "0.4";
sha256 = "1bnr6lkcf2qs7pvrmd8a5xmklcg67l64b776hzclfvxqy1qil29x";
buildDepends = [ xml ];
meta = {
description = "Representing and handling OPML subscription information";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -11,6 +11,9 @@ cabal.mkDerivation (self: {
text
];
testDepends = [ conduit hspec ];
# This check is being disabled until process-conduit is updated to properly
# support conduit 1.1.x
doCheck = false;
meta = {
homepage = "http://github.com/tanakh/process-conduit";
description = "Conduits for processes";

View File

@ -0,0 +1,21 @@
{ cabal, hspec, HUnit, mtl, systemFileio, systemFilepath, text
, time, unixCompat
}:
cabal.mkDerivation (self: {
pname = "shelly";
version = "0.15.4.1";
sha256 = "12m11s22izz0ny1syb1ykp2hi9n240myf0nhapvn8jx1fgf5iyck";
buildDepends = [
mtl systemFileio systemFilepath text time unixCompat
];
testDepends = [
hspec HUnit mtl systemFileio systemFilepath text time unixCompat
];
meta = {
homepage = "https://github.com/yesodweb/Shelly.hs";
description = "shell-like (systems) programming in Haskell";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

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