Merge branch 'master' into typespeed
This commit is contained in:
commit
7386e9f171
@ -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)
|
||||
|
@ -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>";
|
||||
|
@ -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>It’s 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 you’ll 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:
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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!
|
||||
|
||||
|
@ -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
|
||||
|
241
nixos/modules/services/databases/influxdb.nix
Normal file
241
nixos/modules/services/databases/influxdb.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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";
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
142
nixos/modules/services/networking/teamspeak3.nix
Normal file
142
nixos/modules/services/networking/teamspeak3.nix
Normal 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
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -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}";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
69
nixos/modules/tasks/encrypted-devices.nix
Normal file
69
nixos/modules/tasks/encrypted-devices.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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
34
nixos/tests/influxdb.nix
Normal 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
|
||||
~);
|
||||
'';
|
||||
}
|
@ -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}
|
||||
|
||||
|
@ -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/;
|
||||
|
@ -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
|
||||
|
101
pkgs/applications/editors/emacs-24/macport.nix
Normal file
101
pkgs/applications/editors/emacs-24/macport.nix
Normal 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 editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
programming language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs
|
||||
Lisp code or a graphical interface; a large number of extensions that
|
||||
add other functionality, including a project planner, mail and news
|
||||
reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.
|
||||
|
||||
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.
|
||||
'';
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
23
pkgs/applications/editors/vim/python_framework.patch
Normal file
23
pkgs/applications/editors/vim/python_framework.patch
Normal 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
|
||||
|
@ -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+";
|
||||
|
27
pkgs/applications/graphics/sane/config.nix
Normal file
27
pkgs/applications/graphics/sane/config.nix
Normal 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;
|
||||
}
|
42
pkgs/applications/misc/avrdudess/default.nix
Normal file
42
pkgs/applications/misc/avrdudess/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
35
pkgs/applications/misc/galculator/default.nix
Normal file
35
pkgs/applications/misc/galculator/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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]
|
||||
|
69
pkgs/applications/misc/ocropus/default.nix
Normal file
69
pkgs/applications/misc/ocropus/default.nix
Normal 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;
|
||||
};
|
||||
}
|
17
pkgs/applications/misc/ocropus/display.patch
Normal file
17
pkgs/applications/misc/ocropus/display.patch
Normal 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/"
|
@ -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 "
|
||||
|
@ -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"),
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
17
pkgs/applications/misc/zathura/pdf-mupdf/config.patch
Normal file
17
pkgs/applications/misc/zathura/pdf-mupdf/config.patch
Normal 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)
|
29
pkgs/applications/misc/zathura/pdf-mupdf/default.nix
Normal file
29
pkgs/applications/misc/zathura/pdf-mupdf/default.nix
Normal 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 = [ ];
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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 ];
|
||||
|
@ -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 = {
|
||||
|
@ -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)
|
||||
*/
|
@ -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 =
|
||||
|
@ -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 = ''
|
||||
|
@ -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"
|
||||
|
||||
|
28
pkgs/applications/networking/syncthing/upnp.patch
Normal file
28
pkgs/applications/networking/syncthing/upnp.patch
Normal 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 {
|
@ -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 ]
|
||||
|
24
pkgs/applications/science/electronics/pulseview/default.nix
Normal file
24
pkgs/applications/science/electronics/pulseview/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
100
pkgs/applications/video/handbrake/default.nix
Normal file
100
pkgs/applications/video/handbrake/default.nix
Normal 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;
|
||||
};
|
||||
}
|
101
pkgs/applications/video/handbrake/disable-unfree.patch
Normal file
101
pkgs/applications/video/handbrake/disable-unfree.patch
Normal 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
|
45
pkgs/applications/video/subtitleeditor/default.nix
Normal file
45
pkgs/applications/video/subtitleeditor/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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"
|
||||
'';
|
||||
|
||||
|
@ -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
|
||||
|
14
pkgs/build-support/libredirect/default.nix
Normal file
14
pkgs/build-support/libredirect/default.nix
Normal 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";
|
||||
}
|
104
pkgs/build-support/libredirect/libredirect.c
Normal file
104
pkgs/build-support/libredirect/libredirect.c
Normal 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);
|
||||
}
|
22
pkgs/data/fonts/lohit-fonts/default.nix
Normal file
22
pkgs/data/fonts/lohit-fonts/default.nix
Normal 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;
|
||||
};
|
||||
}
|
59
pkgs/data/fonts/nafees/default.nix
Normal file
59
pkgs/data/fonts/nafees/default.nix
Normal 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>" ];
|
||||
};
|
||||
}
|
22
pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
Normal file
22
pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -171,6 +171,8 @@ rec {
|
||||
|
||||
gnome-photos = callPackage ./apps/gnome-photos { };
|
||||
|
||||
nautilus-sendto = callPackage ./apps/nautilus-sendto { };
|
||||
|
||||
# scrollkeeper replacement
|
||||
rarian = callPackage ./desktop/rarian { };
|
||||
|
||||
|
22
pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix
Normal file
22
pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
24
pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch
Normal file
24
pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch
Normal 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);
|
||||
}
|
@ -203,6 +203,8 @@ rec {
|
||||
|
||||
gnome-photos = callPackage ./apps/gnome-photos { };
|
||||
|
||||
nautilus-sendto = callPackage ./apps/nautilus-sendto { };
|
||||
|
||||
# scrollkeeper replacement
|
||||
rarian = callPackage ./desktop/rarian { };
|
||||
|
||||
|
@ -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";
|
||||
|
71
pkgs/development/compilers/aliceml/builder.sh
Normal file
71
pkgs/development/compilers/aliceml/builder.sh
Normal 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 ..
|
||||
|
||||
|
70
pkgs/development/compilers/aliceml/default.nix
Normal file
70
pkgs/development/compilers/aliceml/default.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
'';
|
||||
|
||||
|
41
pkgs/development/compilers/opendylan/bin.nix
Normal file
41
pkgs/development/compilers/opendylan/bin.nix
Normal 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";
|
||||
};
|
||||
}
|
37
pkgs/development/compilers/opendylan/default.nix
Normal file
37
pkgs/development/compilers/opendylan/default.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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 = {
|
||||
|
@ -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.
|
||||
|
152
pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
Normal file
152
pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
Normal 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
|
462
pkgs/development/libraries/a52dec/A01-thread-safe.patch
Normal file
462
pkgs/development/libraries/a52dec/A01-thread-safe.patch
Normal 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);
|
||||
}
|
11
pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
Normal file
11
pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
Normal 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;
|
||||
}
|
12
pkgs/development/libraries/a52dec/A03-automake.patch
Normal file
12
pkgs/development/libraries/a52dec/A03-automake.patch
Normal 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
|
||||
|
@ -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/;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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 =
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
@ -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?
|
||||
|
@ -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;
|
||||
};
|
||||
})
|
16
pkgs/development/libraries/haskell/GLUtil/default.nix
Normal file
16
pkgs/development/libraries/haskell/GLUtil/default.nix
Normal 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;
|
||||
};
|
||||
})
|
15
pkgs/development/libraries/haskell/aeson-qq/default.nix
Normal file
15
pkgs/development/libraries/haskell/aeson-qq/default.nix
Normal 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;
|
||||
};
|
||||
})
|
13
pkgs/development/libraries/haskell/bool-extras/default.nix
Normal file
13
pkgs/development/libraries/haskell/bool-extras/default.nix
Normal 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;
|
||||
};
|
||||
})
|
19
pkgs/development/libraries/haskell/compressed/default.nix
Normal file
19
pkgs/development/libraries/haskell/compressed/default.nix
Normal 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;
|
||||
};
|
||||
})
|
@ -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
|
||||
|
27
pkgs/development/libraries/haskell/imm/default.nix
Normal file
27
pkgs/development/libraries/haskell/imm/default.nix
Normal 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>" ];
|
||||
};
|
||||
})
|
@ -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
|
19
pkgs/development/libraries/haskell/machines/default.nix
Normal file
19
pkgs/development/libraries/haskell/machines/default.nix
Normal 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;
|
||||
};
|
||||
})
|
13
pkgs/development/libraries/haskell/opml/default.nix
Normal file
13
pkgs/development/libraries/haskell/opml/default.nix
Normal 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;
|
||||
};
|
||||
})
|
@ -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";
|
||||
|
21
pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
Normal file
21
pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
Normal 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
Loading…
Reference in New Issue
Block a user