Merge branch 'master' into closure-size
Comparison to master evaluations on Hydra: - 1255515 for nixos - 1255502 for nixpkgs
This commit is contained in:
commit
30f14243c3
20
.github/ISSUE_TEMPLATE.md
vendored
20
.github/ISSUE_TEMPLATE.md
vendored
|
@ -1,17 +1,13 @@
|
|||
## Basic info
|
||||
## Issue description
|
||||
|
||||
To make sure that we are on the same page:
|
||||
|
||||
* Kernel: (run `uname -a`)
|
||||
* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
|
||||
* Nix version: (run `nix-env --version`)
|
||||
* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
|
||||
|
||||
## Describe your issue here
|
||||
|
||||
### Expected result
|
||||
|
||||
### Actual result
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
|
||||
|
||||
## Technical details
|
||||
|
||||
* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
|
||||
* Nix version: (run `nix-env --version`)
|
||||
* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
|
||||
|
|
|
@ -14,12 +14,12 @@ build daemon as so-called channels. To get channel information via git, add
|
|||
```
|
||||
|
||||
For stability and maximum binary package support, it is recommended to maintain
|
||||
custom changes on top of one of the channels, e.g. `nixos-15.09` for the latest
|
||||
custom changes on top of one of the channels, e.g. `nixos-16.03` for the latest
|
||||
release and `nixos-unstable` for the latest successful build of master:
|
||||
|
||||
```
|
||||
% git remote update channels
|
||||
% git rebase channels/nixos-15.09
|
||||
% git rebase channels/nixos-16.03
|
||||
```
|
||||
|
||||
For pull-requests, please rebase onto nixpkgs `master`.
|
||||
|
@ -33,9 +33,9 @@ For pull-requests, please rebase onto nixpkgs `master`.
|
|||
* [Manual (NixOS)](https://nixos.org/nixos/manual/)
|
||||
* [Nix Wiki](https://nixos.org/wiki/)
|
||||
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
||||
* [Continuous package builds for 15.09 release](https://hydra.nixos.org/jobset/nixos/release-15.09)
|
||||
* [Continuous package builds for 16.03 release](https://hydra.nixos.org/jobset/nixos/release-16.03)
|
||||
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
|
||||
* [Tests for 15.09 release](https://hydra.nixos.org/job/nixos/release-15.09/tested#tabs-constituents)
|
||||
* [Tests for 16.03 release](https://hydra.nixos.org/job/nixos/release-16.03/tested#tabs-constituents)
|
||||
|
||||
Communication:
|
||||
|
||||
|
|
|
@ -6,13 +6,14 @@ date: 2015-11-25
|
|||
|
||||
# Introduction
|
||||
|
||||
The Nix Packages collection (Nixpkgs) is a set of over 30,000 packages for the
|
||||
[Nix package manager](http://nixos.org/nix/), released under a [permissive MIT/X11 license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
|
||||
Packages are available for several architectures, and can be used with the Nix package manager
|
||||
on most GNU/Linux distributions as well as NixOS.
|
||||
The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
|
||||
[Nix package manager](http://nixos.org/nix/), released under a
|
||||
[permissive MIT/X11 license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
|
||||
Packages are available for several platforms, and can be used with the Nix
|
||||
package manager on most GNU/Linux distributions as well as NixOS.
|
||||
|
||||
This manual describes how to write packages for the Nix Packages collection
|
||||
(Nixpkgs). Thus it’s for packagers and developers who want to add packages to
|
||||
This manual primarily describes how to write packages for the Nix Packages collection
|
||||
(Nixpkgs). Thus it’s mainly for packagers and developers who want to add packages to
|
||||
Nixpkgs. If you like to learn more about the Nix package manager and the Nix
|
||||
expression language, then you are kindly referred to the [Nix manual](http://nixos.org/nix/manual/).
|
||||
|
||||
|
@ -20,29 +21,33 @@ expression language, then you are kindly referred to the [Nix manual](http://nix
|
|||
|
||||
Nix expressions describe how to build packages from source and are collected in
|
||||
the [nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the
|
||||
collection are Nix expressions for [NixOS modules](http://nixos.org/nixos/manual/index.html#sec-writing-modules). With
|
||||
these expressions the Nix package manager can build binary packages.
|
||||
collection are Nix expressions for
|
||||
[NixOS modules](http://nixos.org/nixos/manual/index.html#sec-writing-modules).
|
||||
With these expressions the Nix package manager can build binary packages.
|
||||
|
||||
Packages, including the Nix packages collection, are distributed through
|
||||
[channels](http://nixos.org/nix/manual/#sec-channels). The collection is
|
||||
distributed for users of Nix on non-NixOS distributions through the channel
|
||||
`nixpkgs`. Users of NixOS generally use one of the `nixos-*` channels, e.g.
|
||||
`nixos-15.09`, which includes all packages and modules for the stable NixOS
|
||||
15.09. The channels of the stable NixOS releases are generally only given
|
||||
`nixos-16.03`, which includes all packages and modules for the stable NixOS
|
||||
16.03. The purpose of stable NixOS releases are generally only given
|
||||
security updates. More up to date packages and modules are available via the
|
||||
`nixos-unstable` channel.
|
||||
|
||||
Both `nixos-unstable` and `nixpkgs` follow the `master` branch of the Nixpkgs
|
||||
repository, although both do lag the `master` branch by generally [a couple of days](http://howoldis.herokuapp.com/). Updates to a channel are distributed as
|
||||
soon as all tests for that channel pass, e.g. [this table](http://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
|
||||
repository, although both do lag the `master` branch by generally
|
||||
[a couple of days](http://howoldis.herokuapp.com/). Updates to a channel are
|
||||
distributed as soon as all tests for that channel pass, e.g.
|
||||
[this table](http://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
|
||||
shows the status of tests for the `nixpkgs` channel.
|
||||
|
||||
The tests are conducted by a cluster called [Hydra](http://nixos.org/hydra/),
|
||||
which also builds binary packages from the Nix expressions in Nixpkgs. As soon
|
||||
as a channel is updated, the binaries are made available via a [binary cache](https://cache.nixos.org). Until the channel updates, binaries that have
|
||||
already been built, are available via [Hydra's binary cache](https://hydra.nixos.org).
|
||||
which also builds binary packages from the Nix expressions in Nixpkgs for
|
||||
`x86_64-linux`, `i686-linux` and `x86_64-darwin`.
|
||||
The binaries are made available via a [binary cache](https://cache.nixos.org).
|
||||
|
||||
The current Nix expressions of the channels are available in the
|
||||
[`nixpkgs-channels`](https://github.com/NixOS/nixpkgs-channels) repository,
|
||||
which has branches corresponding to the available channels. There is also the
|
||||
Nixpkgs Monitor which keeps track of updates and security vulnerabilities.
|
||||
[Nixpkgs Monitor](http://monitor.nixos.org) which keeps track of updates
|
||||
and security vulnerabilities.
|
||||
|
|
|
@ -81,6 +81,7 @@
|
|||
copumpkin = "Dan Peebles <pumpkingod@gmail.com>";
|
||||
coroa = "Jonas Hörsch <jonas@chaoflow.net>";
|
||||
couchemar = "Andrey Pavlov <couchemar@yandex.ru>";
|
||||
CrystalGamma = "Jona Stubbe <nixos@crystalgamma.de>";
|
||||
cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>";
|
||||
cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
|
||||
DamienCassou = "Damien Cassou <damien@cassou.me>";
|
||||
|
@ -117,6 +118,7 @@
|
|||
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
|
||||
exi = "Reno Reckling <nixos@reckling.org>";
|
||||
exlevan = "Alexey Levan <exlevan@gmail.com>";
|
||||
expipiplus1 = "Joe Hermaszewski <nix@monoid.al>";
|
||||
fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>";
|
||||
falsifian = "James Cook <james.cook@utoronto.ca>";
|
||||
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
|
||||
|
@ -186,6 +188,7 @@
|
|||
ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
|
||||
lassulus = "Lassulus <lassulus@gmail.com>";
|
||||
layus = "Guillaume Maudoux <layus.on@gmail.com>";
|
||||
ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
|
||||
lebastr = "Alexander Lebedev <lebastr@gmail.com>";
|
||||
leenaars = "Michiel Leenaars <ml.software@leenaa.rs>";
|
||||
leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";
|
||||
|
|
|
@ -260,7 +260,7 @@ rec {
|
|||
/* Cut a string with a separator and produces a list of strings which
|
||||
were separated by this separator.
|
||||
|
||||
NOTE: this function is not performant and should be avoided
|
||||
NOTE: this function is not performant and should never be used.
|
||||
|
||||
Example:
|
||||
splitString "." "foo.bar.baz"
|
||||
|
|
|
@ -14,12 +14,12 @@ let
|
|||
operator = const [ ];
|
||||
});
|
||||
|
||||
urls = map (drv: { url = head drv.urls; hash = drv.outputHash; type = drv.outputHashAlgo; }) fetchurlDependencies;
|
||||
urls = map (drv: { url = head (drv.urls or [ drv.url ]); hash = drv.outputHash; type = drv.outputHashAlgo; }) fetchurlDependencies;
|
||||
|
||||
fetchurlDependencies =
|
||||
filter
|
||||
(drv: drv.outputHash or "" != "" && drv.outputHashMode or "flat" == "flat"
|
||||
&& drv.postFetch or "" == "" && drv ? urls)
|
||||
&& drv.postFetch or "" == "" && (drv ? url || drv ? urls))
|
||||
dependencies;
|
||||
|
||||
dependencies = map (x: x.value) (genericClosure {
|
||||
|
|
|
@ -7,10 +7,18 @@
|
|||
<title>Booting from a USB Drive</title>
|
||||
|
||||
<para>For systems without CD drive, the NixOS live CD can be booted from
|
||||
a USB stick. For non-UEFI installations,
|
||||
<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>
|
||||
will work. For UEFI installations, you should mount the ISO, copy its contents
|
||||
verbatim to your drive, then either:
|
||||
a USB stick. You can use the <command>dd</command> utility to write the image:
|
||||
<command>dd if=<replaceable>path-to-image</replaceable>
|
||||
of=<replaceable>/dev/sdb</replaceable></command>. Be careful about specifying the
|
||||
correct drive; you can use the <command>lsblk</command> command to get a list of
|
||||
block devices.</para>
|
||||
|
||||
<para>The <command>dd</command> utility will write the image verbatim to the drive,
|
||||
making it the recommended option for both UEFI and non-UEFI installations. For
|
||||
non-UEFI installations, you can alternatively use
|
||||
<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>. If you
|
||||
cannot use <command>dd</command> for a UEFI installation, you can also mount the
|
||||
ISO, copy its contents verbatim to your drive, then either:
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
|
|
|
@ -157,10 +157,6 @@ $ nano /mnt/etc/nixos/configuration.nix
|
|||
<command>nixos-generate-config</command> will figure out the
|
||||
required modules.</para></note>
|
||||
|
||||
<para>Examples of real-world NixOS configuration files can be
|
||||
found at <link
|
||||
xlink:href="https://nixos.org/repos/nix/configurations/trunk/"/>.</para>
|
||||
|
||||
</listitem>
|
||||
|
||||
<listitem><para>Do the installation:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
version="5.0"
|
||||
xml:id="sec-release-16.03">
|
||||
|
||||
<title>Release 16.03 (“Emu”, 2016/03/??)</title>
|
||||
<title>Release 16.03 (“Emu”, 2016/03/31)</title>
|
||||
|
||||
<para>In addition to numerous new and upgraded packages, this release
|
||||
has the following highlights:</para>
|
||||
|
@ -33,6 +33,10 @@ has the following highlights:</para>
|
|||
<para>Glibc 2.23 (was 2.21).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Binutils 2.26 (was 2.23.1). See #909</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Improved support for ensuring <link
|
||||
xlink:href="https://reproducible-builds.org/">bitwise reproducible
|
||||
|
@ -58,10 +62,57 @@ has the following highlights:</para>
|
|||
|
||||
<itemizedlist>
|
||||
<listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/security/haka.nix</literal></para></listitem>
|
||||
<listitem><para><literal>hardware/video/webcam/facetimehd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem>
|
||||
<listitem><para><literal>i18n/inputMethod/fcitx.nix</literal></para></listitem>
|
||||
<listitem><para><literal>i18n/inputMethod/ibus.nix</literal></para></listitem>
|
||||
<listitem><para><literal>i18n/inputMethod/nabi.nix</literal></para></listitem>
|
||||
<listitem><para><literal>i18n/inputMethod/uim.nix</literal></para></listitem>
|
||||
<listitem><para><literal>programs/fish.nix</literal></para></listitem>
|
||||
<listitem><para><literal>security/acme.nix</literal></para></listitem>
|
||||
<listitem><para><literal>security/audit.nix</literal></para></listitem>
|
||||
<listitem><para><literal>security/oath.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/hardware/irqbalance.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/mail/dspam.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/mail/opendkim.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/mail/postsrsd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/mail/rspamd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/mail/rmilter.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/autofs.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/bepasty.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/calibre-server.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/cfdyndns.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/gammu-smsd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/mathics.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/matrix-synapse.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/misc/octoprint.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/monitoring/hdaps.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/monitoring/heapster.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/network-filesystems/netatalk.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/network-filesystems/xtreemfs.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/autossh.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/dnschain.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/gale.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/miniupnpd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/namecoind.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/ostinato.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/shairport-sync.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/networking/supplicant.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/search/kibana.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/security/haka.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/security/physlock.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/x11/hardware/libinput.nix</literal></para></listitem>
|
||||
<listitem><para><literal>services/x11/window-managers/windowlab.nix</literal></para></listitem>
|
||||
<listitem><para><literal>system/boot/initrd-network.nix</literal></para></listitem>
|
||||
<listitem><para><literal>system/boot/initrd-ssh.nix</literal></para></listitem>
|
||||
<listitem><para><literal>system/boot/loader/loader.nix</literal></para></listitem>
|
||||
<listitem><para><literal>system/boot/networkd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>system/boot/resolved.nix</literal></para></listitem>
|
||||
<listitem><para><literal>virtualisation/lxd.nix</literal></para></listitem>
|
||||
<listitem><para><literal>virtualisation/rkt.nix</literal></para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
|
@ -114,7 +165,7 @@ following incompatible changes:</para>
|
|||
|
||||
<programlisting><![CDATA[
|
||||
{
|
||||
imports = [ <nixos/modules/services/misc/gitit.nix> ];
|
||||
imports = [ <nixpkgs/nixos/modules/services/misc/gitit.nix> ];
|
||||
}
|
||||
]]></programlisting>
|
||||
|
||||
|
@ -297,7 +348,7 @@ $TTL 1800
|
|||
<para>
|
||||
<literal>service.syncthing.dataDir</literal> options now has to point
|
||||
to exact folder where syncthing is writing to. Example configuration should
|
||||
loook something like:
|
||||
look something like:
|
||||
</para>
|
||||
<programlisting>
|
||||
services.syncthing = {
|
||||
|
|
|
@ -8,14 +8,15 @@ echo "keeping state in $stateDir"
|
|||
mkdir -p $stateDir
|
||||
|
||||
version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.nixpkgsVersion | sed s/'"'//g)
|
||||
echo "NixOS version is $version"
|
||||
major=${version:0:5}
|
||||
echo "NixOS version is $version ($major)"
|
||||
|
||||
rm -f ec2-amis.nix
|
||||
|
||||
|
||||
for type in hvm pv; do
|
||||
link=$stateDir/$type
|
||||
imageFile=$link/nixos.img
|
||||
imageFile=$link/nixos.qcow2
|
||||
system=x86_64-linux
|
||||
arch=x86_64
|
||||
|
||||
|
@ -61,12 +62,19 @@ for type in hvm pv; do
|
|||
# Bundle the image.
|
||||
imageDir=$stateDir/$type-bundled
|
||||
|
||||
# Convert the image to raw format.
|
||||
rawFile=$stateDir/$type.raw
|
||||
if ! [ -e $rawFile ]; then
|
||||
qemu-img convert -f qcow2 -O raw $imageFile $rawFile.tmp
|
||||
mv $rawFile.tmp $rawFile
|
||||
fi
|
||||
|
||||
if ! [ -d $imageDir ]; then
|
||||
rm -rf $imageDir.tmp
|
||||
mkdir -p $imageDir.tmp
|
||||
ec2-bundle-image \
|
||||
-d $imageDir.tmp \
|
||||
-i $imageFile --arch $arch \
|
||||
-i $rawFile --arch $arch \
|
||||
--user "$AWS_ACCOUNT" -c "$EC2_CERT" -k "$EC2_PRIVATE_KEY"
|
||||
mv $imageDir.tmp $imageDir
|
||||
fi
|
||||
|
@ -75,14 +83,14 @@ for type in hvm pv; do
|
|||
if ! [ -e $imageDir/uploaded ]; then
|
||||
echo "uploading bundle to S3..."
|
||||
ec2-upload-bundle \
|
||||
-m $imageDir/nixos.img.manifest.xml \
|
||||
-m $imageDir/$type.raw.manifest.xml \
|
||||
-b "$bucket/$bucketDir" \
|
||||
-a "$EC2_ACCESS_KEY" -s "$EC2_SECRET_KEY" \
|
||||
--location EU
|
||||
touch $imageDir/uploaded
|
||||
fi
|
||||
|
||||
extraFlags="$bucket/$bucketDir/nixos.img.manifest.xml"
|
||||
extraFlags="$bucket/$bucketDir/$type.raw.manifest.xml"
|
||||
|
||||
else
|
||||
|
||||
|
@ -90,7 +98,7 @@ for type in hvm pv; do
|
|||
# to upload a huge raw image.
|
||||
vhdFile=$stateDir/$type.vhd
|
||||
if ! [ -e $vhdFile ]; then
|
||||
qemu-img convert -O vpc $imageFile $vhdFile.tmp
|
||||
qemu-img convert -f qcow2 -O vpc $imageFile $vhdFile.tmp
|
||||
mv $vhdFile.tmp $vhdFile
|
||||
fi
|
||||
|
||||
|
@ -209,7 +217,7 @@ for type in hvm pv; do
|
|||
prevRegion="$region"
|
||||
fi
|
||||
|
||||
echo " \"15.09\".$region.$type-$store = \"$ami\";" >> ec2-amis.nix
|
||||
echo " \"$major\".$region.$type-$store = \"$ami\";" >> ec2-amis.nix
|
||||
done
|
||||
|
||||
done
|
||||
|
|
|
@ -150,6 +150,29 @@ in {
|
|||
target = "pulse/default.pa";
|
||||
source = cfg.configFile;
|
||||
};
|
||||
|
||||
systemd.user = {
|
||||
services.pulseaudio = {
|
||||
description = "PulseAudio Server";
|
||||
# NixOS doesn't support "Also" so we bring it in manually
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
sockets.pulseaudio = {
|
||||
description = "PulseAudio Socket";
|
||||
wantedBy = [ "sockets.target" ];
|
||||
socketConfig = {
|
||||
Priority = 6;
|
||||
Backlog = 5;
|
||||
ListenStream = "%t/pulse/native";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf systemWide {
|
||||
|
@ -171,8 +194,9 @@ in {
|
|||
before = [ "sound.target" ];
|
||||
environment.PULSE_RUNTIME_PATH = stateDir;
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package.out}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}";
|
||||
PIDFile = "${stateDir}/pid";
|
||||
Type = "notify";
|
||||
ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
|
|
@ -165,7 +165,7 @@ sub pciCheck {
|
|||
) )
|
||||
{
|
||||
# we need e.g. brcmfmac43602-pcie.bin
|
||||
push @imports, "<nixos/modules/hardware/network/broadcom-43xx.nix>";
|
||||
push @imports, "<nixpkgs/nixos/modules/hardware/network/broadcom-43xx.nix>";
|
||||
}
|
||||
|
||||
# Can't rely on $module here, since the module may not be loaded
|
||||
|
|
|
@ -257,6 +257,8 @@
|
|||
radicale = 234;
|
||||
hydra-queue-runner = 235;
|
||||
hydra-www = 236;
|
||||
syncthing = 237;
|
||||
mfi = 238;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
|
@ -485,6 +487,8 @@
|
|||
pdnsd = 229;
|
||||
octoprint = 230;
|
||||
radicale = 234;
|
||||
syncthing = 237;
|
||||
#mfi = 238; # unused
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
|
|
@ -283,6 +283,7 @@
|
|||
./services/network-filesystems/openafs-client/default.nix
|
||||
./services/network-filesystems/rsyncd.nix
|
||||
./services/network-filesystems/samba.nix
|
||||
./services/network-filesystems/tahoe.nix
|
||||
./services/network-filesystems/diod.nix
|
||||
./services/network-filesystems/u9fs.nix
|
||||
./services/network-filesystems/yandex-disk.nix
|
||||
|
@ -327,12 +328,13 @@
|
|||
./services/networking/hostapd.nix
|
||||
./services/networking/i2pd.nix
|
||||
./services/networking/i2p.nix
|
||||
./services/networking/iodined.nix
|
||||
./services/networking/iodine.nix
|
||||
./services/networking/ircd-hybrid/default.nix
|
||||
./services/networking/kippo.nix
|
||||
./services/networking/lambdabot.nix
|
||||
./services/networking/libreswan.nix
|
||||
./services/networking/mailpile.nix
|
||||
./services/networking/mfi.nix
|
||||
./services/networking/mjpg-streamer.nix
|
||||
./services/networking/minidlna.nix
|
||||
./services/networking/miniupnpd.nix
|
||||
|
|
|
@ -101,6 +101,9 @@ in
|
|||
end
|
||||
'';
|
||||
|
||||
# include programs that bring their own completions
|
||||
environment.pathsToLink = [ "/share/fish/vendor_completions.d" ];
|
||||
|
||||
environment.systemPackages = [ pkgs.fish ];
|
||||
|
||||
environment.shells = [
|
||||
|
|
|
@ -189,6 +189,7 @@ in
|
|||
|
||||
# Allow DSA keys for now. (These were deprecated in OpenSSH 7.0.)
|
||||
PubkeyAcceptedKeyTypes +ssh-dss
|
||||
HostKeyAlgorithms +ssh-dss
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
|
|
@ -101,6 +101,13 @@ with lib;
|
|||
# Enlightenment
|
||||
(mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
|
||||
|
||||
# Iodine
|
||||
(mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ])
|
||||
(mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ])
|
||||
(mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
|
||||
(mkRemovedOptionModule [ "services" "iodined" "client" ])
|
||||
|
||||
# Options that are obsolete and have no replacement.
|
||||
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ])
|
||||
(mkRemovedOptionModule [ "programs" "bash" "enable" ])
|
||||
|
|
|
@ -50,7 +50,7 @@ with lib;
|
|||
ensureDir ${crashplan.vardir}/log 777
|
||||
cp -avn ${crashplan}/conf.template/* ${crashplan.vardir}/conf
|
||||
for x in app.asar bin EULA.txt install.vars lang lib libjniwrap64.so libjniwrap.so libjtux64.so libjtux.so libmd564.so libmd5.so share skin upgrade; do
|
||||
if [ -e $x ]; then
|
||||
if [ -e ${crashplan.vardir}/$x ]; then
|
||||
true;
|
||||
else
|
||||
ln -s ${crashplan}/$x ${crashplan.vardir}/$x;
|
||||
|
|
|
@ -128,6 +128,7 @@ in
|
|||
Group = cfg.group;
|
||||
PermissionsStartOnly = "true";
|
||||
ExecStart = "/bin/sh -c '${cfg.package}/usr/lib/plexmediaserver/Plex\\ Media\\ Server'";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
environment = {
|
||||
PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=cfg.dataDir;
|
||||
|
|
286
nixos/modules/services/network-filesystems/tahoe.nix
Normal file
286
nixos/modules/services/network-filesystems/tahoe.nix
Normal file
|
@ -0,0 +1,286 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.tahoe;
|
||||
in
|
||||
{
|
||||
options.services.tahoe = {
|
||||
introducers = mkOption {
|
||||
default = {};
|
||||
type = types.loaOf types.optionSet;
|
||||
description = ''
|
||||
The Tahoe introducers.
|
||||
'';
|
||||
options = {
|
||||
nickname = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The nickname of this Tahoe introducer.
|
||||
'';
|
||||
};
|
||||
tub.port = mkOption {
|
||||
default = 3458;
|
||||
type = types.int;
|
||||
description = ''
|
||||
The port on which the introducer will listen.
|
||||
'';
|
||||
};
|
||||
package = mkOption {
|
||||
default = pkgs.tahoelafs;
|
||||
defaultText = "pkgs.tahoelafs";
|
||||
type = types.package;
|
||||
example = literalExample "pkgs.tahoelafs";
|
||||
description = ''
|
||||
The package to use for the Tahoe LAFS daemon.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
nodes = mkOption {
|
||||
default = {};
|
||||
type = types.loaOf types.optionSet;
|
||||
description = ''
|
||||
The Tahoe nodes.
|
||||
'';
|
||||
options = {
|
||||
nickname = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The nickname of this Tahoe node.
|
||||
'';
|
||||
};
|
||||
tub.port = mkOption {
|
||||
default = 3457;
|
||||
type = types.int;
|
||||
description = ''
|
||||
The port on which the tub will listen.
|
||||
|
||||
This is the correct setting to tweak if you want Tahoe's storage
|
||||
system to listen on a different port.
|
||||
'';
|
||||
};
|
||||
web.port = mkOption {
|
||||
default = 3456;
|
||||
type = types.int;
|
||||
description = ''
|
||||
The port on which the Web server will listen.
|
||||
|
||||
This is the correct setting to tweak if you want Tahoe's WUI to
|
||||
listen on a different port.
|
||||
'';
|
||||
};
|
||||
client.introducer = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
The furl for a Tahoe introducer node.
|
||||
|
||||
Like all furls, keep this safe and don't share it.
|
||||
'';
|
||||
};
|
||||
client.helper = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
The furl for a Tahoe helper node.
|
||||
|
||||
Like all furls, keep this safe and don't share it.
|
||||
'';
|
||||
};
|
||||
client.shares.needed = mkOption {
|
||||
default = 3;
|
||||
type = types.int;
|
||||
description = ''
|
||||
The number of shares required to reconstitute a file.
|
||||
'';
|
||||
};
|
||||
client.shares.happy = mkOption {
|
||||
default = 7;
|
||||
type = types.int;
|
||||
description = ''
|
||||
The number of distinct storage nodes required to store
|
||||
a file.
|
||||
'';
|
||||
};
|
||||
client.shares.total = mkOption {
|
||||
default = 10;
|
||||
type = types.int;
|
||||
description = ''
|
||||
The number of shares required to store a file.
|
||||
'';
|
||||
};
|
||||
storage.enable = mkEnableOption "storage service";
|
||||
storage.reservedSpace = mkOption {
|
||||
default = "1G";
|
||||
type = types.str;
|
||||
description = ''
|
||||
The amount of filesystem space to not use for storage.
|
||||
'';
|
||||
};
|
||||
helper.enable = mkEnableOption "helper service";
|
||||
package = mkOption {
|
||||
default = pkgs.tahoelafs;
|
||||
defaultText = "pkgs.tahoelafs";
|
||||
type = types.package;
|
||||
example = literalExample "pkgs.tahoelafs";
|
||||
description = ''
|
||||
The package to use for the Tahoe LAFS daemon.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.introducers != {}) {
|
||||
environment = {
|
||||
etc = flip mapAttrs' cfg.introducers (node: settings:
|
||||
nameValuePair "tahoe-lafs/introducer-${node}.cfg" {
|
||||
mode = "0444";
|
||||
text = ''
|
||||
# This configuration is generated by Nix. Edit at your own
|
||||
# peril; here be dragons.
|
||||
|
||||
[node]
|
||||
nickname = ${settings.nickname}
|
||||
tub.port = ${toString settings.tub.port}
|
||||
'';
|
||||
});
|
||||
# Actually require Tahoe, so that we will have it installed.
|
||||
systemPackages = flip mapAttrsToList cfg.introducers (node: settings:
|
||||
settings.package
|
||||
);
|
||||
};
|
||||
# Open up the firewall.
|
||||
# networking.firewall.allowedTCPPorts = flip mapAttrsToList cfg.introducers
|
||||
# (node: settings: settings.tub.port);
|
||||
systemd.services = flip mapAttrs' cfg.introducers (node: settings:
|
||||
let
|
||||
pidfile = "/run/tahoe.introducer-${node}.pid";
|
||||
# This is a directory, but it has no trailing slash. Tahoe commands
|
||||
# get antsy when there's a trailing slash.
|
||||
nodedir = "/var/db/tahoe-lafs/introducer-${node}";
|
||||
in nameValuePair "tahoe.introducer-${node}" {
|
||||
description = "Tahoe LAFS node ${node}";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ settings.package ];
|
||||
restartTriggers = [
|
||||
config.environment.etc."tahoe-lafs/introducer-${node}.cfg".source ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
PIDFile = pidfile;
|
||||
};
|
||||
preStart = ''
|
||||
if [ \! -d ${nodedir} ]; then
|
||||
mkdir -p /var/db/tahoe-lafs
|
||||
tahoe create-introducer ${nodedir}
|
||||
fi
|
||||
|
||||
# Tahoe has created a predefined tahoe.cfg which we must now
|
||||
# scribble over.
|
||||
# XXX I thought that a symlink would work here, but it doesn't, so
|
||||
# we must do this on every prestart. Fixes welcome.
|
||||
# rm ${nodedir}/tahoe.cfg
|
||||
# ln -s /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg
|
||||
cp /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg
|
||||
'';
|
||||
# Believe it or not, Tahoe is very brittle about the order of
|
||||
# arguments to $(tahoe start). The node directory must come first,
|
||||
# and arguments which alter Twisted's behavior come afterwards.
|
||||
script = ''
|
||||
tahoe start ${nodedir} -n -l- --pidfile=${pidfile}
|
||||
'';
|
||||
});
|
||||
users.extraUsers = flip mapAttrs' cfg.introducers (node: _:
|
||||
nameValuePair "tahoe.introducer-${node}" {
|
||||
description = "Tahoe node user for introducer ${node}";
|
||||
isSystemUser = true;
|
||||
});
|
||||
})
|
||||
(mkIf (cfg.nodes != {}) {
|
||||
environment = {
|
||||
etc = flip mapAttrs' cfg.nodes (node: settings:
|
||||
nameValuePair "tahoe-lafs/${node}.cfg" {
|
||||
mode = "0444";
|
||||
text = ''
|
||||
# This configuration is generated by Nix. Edit at your own
|
||||
# peril; here be dragons.
|
||||
|
||||
[node]
|
||||
nickname = ${settings.nickname}
|
||||
tub.port = ${toString settings.tub.port}
|
||||
# This is a Twisted endpoint. Twisted Web doesn't work on
|
||||
# non-TCP. ~ C.
|
||||
web.port = tcp:${toString settings.web.port}
|
||||
|
||||
[client]
|
||||
${optionalString (settings.client.introducer != null)
|
||||
"introducer.furl = ${settings.client.introducer}"}
|
||||
${optionalString (settings.client.helper != null)
|
||||
"helper.furl = ${settings.client.helper}"}
|
||||
|
||||
shares.needed = ${toString settings.client.shares.needed}
|
||||
shares.happy = ${toString settings.client.shares.happy}
|
||||
shares.total = ${toString settings.client.shares.total}
|
||||
|
||||
[storage]
|
||||
enabled = ${if settings.storage.enable then "true" else "false"}
|
||||
reserved_space = ${settings.storage.reservedSpace}
|
||||
|
||||
[helper]
|
||||
enabled = ${if settings.helper.enable then "true" else "false"}
|
||||
'';
|
||||
});
|
||||
# Actually require Tahoe, so that we will have it installed.
|
||||
systemPackages = flip mapAttrsToList cfg.nodes (node: settings:
|
||||
settings.package
|
||||
);
|
||||
};
|
||||
# Open up the firewall.
|
||||
# networking.firewall.allowedTCPPorts = flip mapAttrsToList cfg.nodes
|
||||
# (node: settings: settings.tub.port);
|
||||
systemd.services = flip mapAttrs' cfg.nodes (node: settings:
|
||||
let
|
||||
pidfile = "/run/tahoe.${node}.pid";
|
||||
# This is a directory, but it has no trailing slash. Tahoe commands
|
||||
# get antsy when there's a trailing slash.
|
||||
nodedir = "/var/db/tahoe-lafs/${node}";
|
||||
in nameValuePair "tahoe.${node}" {
|
||||
description = "Tahoe LAFS node ${node}";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ settings.package ];
|
||||
restartTriggers = [
|
||||
config.environment.etc."tahoe-lafs/${node}.cfg".source ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
PIDFile = pidfile;
|
||||
};
|
||||
preStart = ''
|
||||
if [ \! -d ${nodedir} ]; then
|
||||
mkdir -p /var/db/tahoe-lafs
|
||||
tahoe create-node ${nodedir}
|
||||
fi
|
||||
|
||||
# Tahoe has created a predefined tahoe.cfg which we must now
|
||||
# scribble over.
|
||||
# XXX I thought that a symlink would work here, but it doesn't, so
|
||||
# we must do this on every prestart. Fixes welcome.
|
||||
# rm ${nodedir}/tahoe.cfg
|
||||
# ln -s /etc/tahoe-lafs/${node}.cfg ${nodedir}/tahoe.cfg
|
||||
cp /etc/tahoe-lafs/${node}.cfg ${nodedir}/tahoe.cfg
|
||||
'';
|
||||
# Believe it or not, Tahoe is very brittle about the order of
|
||||
# arguments to $(tahoe start). The node directory must come first,
|
||||
# and arguments which alter Twisted's behavior come afterwards.
|
||||
script = ''
|
||||
tahoe start ${nodedir} -n -l- --pidfile=${pidfile}
|
||||
'';
|
||||
});
|
||||
users.extraUsers = flip mapAttrs' cfg.nodes (node: _:
|
||||
nameValuePair "tahoe.${node}" {
|
||||
description = "Tahoe node user for node ${node}";
|
||||
isSystemUser = true;
|
||||
});
|
||||
})
|
||||
];
|
||||
}
|
|
@ -27,10 +27,17 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "nobody";
|
||||
description =
|
||||
"User to run u9fs under.";
|
||||
};
|
||||
|
||||
extraArgs = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "-a none -u nobody";
|
||||
example = "-a none";
|
||||
description =
|
||||
''
|
||||
Extra arguments to pass on invocation,
|
||||
|
@ -38,13 +45,6 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
fsroot = mkOption {
|
||||
type = types.path;
|
||||
default = "/";
|
||||
example = "/srv";
|
||||
description = "File system root to serve to clients.";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -63,9 +63,10 @@ in
|
|||
reloadIfChanged = true;
|
||||
requires = [ "u9fs.socket" ];
|
||||
serviceConfig =
|
||||
{ ExecStart = "-${pkgs.u9fs}/bin/u9fs ${cfg.extraArgs} ${cfg.fsroot}";
|
||||
{ ExecStart = "-${pkgs.u9fs}/bin/u9fs ${cfg.extraArgs}";
|
||||
StandardInput = "socket";
|
||||
StandardError = "journal";
|
||||
User = cfg.user;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
136
nixos/modules/services/networking/iodine.nix
Normal file
136
nixos/modules/services/networking/iodine.nix
Normal file
|
@ -0,0 +1,136 @@
|
|||
# NixOS module for iodine, ip over dns daemon
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.iodine;
|
||||
|
||||
iodinedUser = "iodined";
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
### configuration
|
||||
|
||||
options = {
|
||||
|
||||
services.iodine = {
|
||||
clients = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
Each attribute of this option defines a systemd service that
|
||||
runs iodine. Many or none may be defined.
|
||||
The name of each service is
|
||||
<literal>iodine-<replaceable>name</replaceable></literal>
|
||||
where <replaceable>name</replaceable> is the name of the
|
||||
corresponding attribute name.
|
||||
'';
|
||||
example = literalExample ''
|
||||
{
|
||||
foo = {
|
||||
server = "tunnel.mdomain.com";
|
||||
relay = "8.8.8.8";
|
||||
extraConfig = "-P mysecurepassword";
|
||||
}
|
||||
}
|
||||
'';
|
||||
type = types.attrsOf (types.submodule (
|
||||
{
|
||||
options = {
|
||||
server = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Domain or Subdomain of server running iodined";
|
||||
example = "tunnel.mydomain.com";
|
||||
};
|
||||
|
||||
relay = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "DNS server to use as a intermediate relay to the iodined server";
|
||||
example = "8.8.8.8";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Additional command line parameters";
|
||||
example = "-P mysecurepassword -l 192.168.1.10 -p 23";
|
||||
};
|
||||
};
|
||||
}));
|
||||
};
|
||||
|
||||
server = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enable iodined server";
|
||||
};
|
||||
|
||||
ip = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "The assigned ip address or ip range";
|
||||
example = "172.16.10.1/24";
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Domain or subdomain of which nameservers point to us";
|
||||
example = "tunnel.mydomain.com";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Additional command line parameters";
|
||||
example = "-P mysecurepassword -l 192.168.1.10 -p 23";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
### implementation
|
||||
|
||||
config = mkIf (cfg.server.enable || cfg.clients != {}) {
|
||||
environment.systemPackages = [ pkgs.iodine ];
|
||||
boot.kernelModules = [ "tun" ];
|
||||
|
||||
systemd.services =
|
||||
let
|
||||
createIodineClientService = name: cfg:
|
||||
{
|
||||
description = "iodine client - ${name}";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
serviceConfig = {
|
||||
RestartSec = "30s";
|
||||
Restart = "always";
|
||||
ExecStart = "${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${cfg.relay} ${cfg.server}";
|
||||
};
|
||||
};
|
||||
in
|
||||
listToAttrs (
|
||||
mapAttrsToList
|
||||
(name: value: nameValuePair "iodine-${name}" (createIodineClientService name value))
|
||||
cfg.clients
|
||||
) // {
|
||||
iodined = mkIf (cfg.server.enable) {
|
||||
description = "iodine, ip over dns server daemon";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
serviceConfig.ExecStart = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${cfg.server.ip} ${cfg.server.domain}";
|
||||
};
|
||||
};
|
||||
|
||||
users.extraUsers = singleton {
|
||||
name = iodinedUser;
|
||||
uid = config.ids.uids.iodined;
|
||||
description = "Iodine daemon user";
|
||||
};
|
||||
users.extraGroups.iodined.gid = config.ids.gids.iodined;
|
||||
};
|
||||
}
|
|
@ -1,86 +0,0 @@
|
|||
# NixOS module for iodine, ip over dns daemon
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.iodined;
|
||||
|
||||
iodinedUser = "iodined";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
### configuration
|
||||
|
||||
options = {
|
||||
|
||||
services.iodined = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable iodine, ip over dns daemon";
|
||||
};
|
||||
|
||||
client = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Start iodine in client mode";
|
||||
};
|
||||
|
||||
ip = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Assigned ip address or ip range";
|
||||
example = "172.16.10.1/24";
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Domain or subdomain of which nameservers point to us";
|
||||
example = "tunnel.mydomain.com";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Additional command line parameters";
|
||||
example = "-P mysecurepassword -l 192.168.1.10 -p 23";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.iodine ];
|
||||
boot.kernelModules = [ "tun" ];
|
||||
|
||||
systemd.services.iodined = {
|
||||
description = "iodine, ip over dns daemon";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
serviceConfig.ExecStart = "${pkgs.iodine}/sbin/iodined -f -u ${iodinedUser} ${cfg.extraConfig} ${cfg.ip} ${cfg.domain}";
|
||||
};
|
||||
|
||||
|
||||
users.extraUsers = singleton {
|
||||
name = iodinedUser;
|
||||
uid = config.ids.uids.iodined;
|
||||
description = "Iodine daemon user";
|
||||
};
|
||||
users.extraGroups.iodined.gid = config.ids.gids.iodined;
|
||||
|
||||
assertions = [{ assertion = if !cfg.client then cfg.ip != "" else true;
|
||||
message = "cannot start iodined without ip set";}
|
||||
{ assertion = cfg.domain != "";
|
||||
message = "cannot start iodined without domain name set";}];
|
||||
|
||||
};
|
||||
|
||||
}
|
90
nixos/modules/services/networking/mfi.nix
Normal file
90
nixos/modules/services/networking/mfi.nix
Normal file
|
@ -0,0 +1,90 @@
|
|||
{ config, lib, pkgs, utils, ... }:
|
||||
with lib;
|
||||
let
|
||||
name = "Ubiquiti mFi Controller";
|
||||
cfg = config.services.mfi;
|
||||
stateDir = "/var/lib/mfi";
|
||||
# XXX 2 runtime exceptions using jre8: JSPException on GET / ; can't initialize ./data/keystore on first run.
|
||||
cmd = "@${pkgs.jre7}/bin/java java -jar ${stateDir}/lib/ace.jar";
|
||||
mountPoints = [
|
||||
{ what = "${pkgs.mfi}/dl"; where = "${stateDir}/dl"; }
|
||||
{ what = "${pkgs.mfi}/lib"; where = "${stateDir}/lib"; }
|
||||
{ what = "${pkgs.mongodb248}/bin"; where = "${stateDir}/bin"; }
|
||||
];
|
||||
systemdMountPoints = map (m: "${utils.escapeSystemdPath m.where}.mount") mountPoints;
|
||||
ports = [ 6080 6880 6443 6843 ];
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.mfi = {
|
||||
enable = mkEnableOption name;
|
||||
openPorts = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Whether to open TCP ports ${concatMapStrings (a: "${toString a} ") ports}for the services.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
networking.firewall.allowedTCPPorts = mkIf config.services.mfi.openPorts ports;
|
||||
|
||||
users.users.mfi = {
|
||||
uid = config.ids.uids.mfi;
|
||||
description = "mFi controller daemon user";
|
||||
home = "${stateDir}";
|
||||
};
|
||||
|
||||
# We must create the binary directories as bind mounts instead of symlinks
|
||||
# This is because the controller resolves all symlinks to absolute paths
|
||||
# to be used as the working directory.
|
||||
systemd.mounts = map ({ what, where }: {
|
||||
bindsTo = [ "mfi.service" ];
|
||||
partOf = [ "mfi.service" ];
|
||||
unitConfig.RequiresMountsFor = stateDir;
|
||||
options = "bind";
|
||||
what = what;
|
||||
where = where;
|
||||
}) mountPoints;
|
||||
|
||||
systemd.services.mfi = {
|
||||
description = "mFi controller daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ] ++ systemdMountPoints;
|
||||
partOf = systemdMountPoints;
|
||||
bindsTo = systemdMountPoints;
|
||||
unitConfig.RequiresMountsFor = stateDir;
|
||||
|
||||
preStart = ''
|
||||
# Clear ./webapps each run.
|
||||
rm -rf "${stateDir}/webapps"
|
||||
mkdir -p "${stateDir}/webapps"
|
||||
ln -s "${pkgs.mfi}/webapps/ROOT.war" "${stateDir}/webapps"
|
||||
|
||||
# Copy initial config only once.
|
||||
test -e "${stateDir}/conf" || cp -ar "${pkgs.mfi}/conf" "${stateDir}/conf"
|
||||
test -e "${stateDir}/data" || cp -ar "${pkgs.mfi}/data" "${stateDir}/data"
|
||||
|
||||
# Fix Permissions.
|
||||
# (Bind-mounts cause errors; ignore exit codes)
|
||||
chown -fR mfi: "${stateDir}" || true
|
||||
chmod -fR u=rwX,go= "${stateDir}" || true
|
||||
'';
|
||||
|
||||
postStop = ''
|
||||
rm -rf "${stateDir}/webapps"
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${cmd} start";
|
||||
ExecStop = "${cmd} stop";
|
||||
User = "mfi";
|
||||
PermissionsStartOnly = true;
|
||||
UMask = "0077";
|
||||
WorkingDirectory = "${stateDir}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -58,9 +58,9 @@ in
|
|||
services.minidlna.config =
|
||||
''
|
||||
port=${toString port}
|
||||
friendly_name=NixOS Media Server
|
||||
friendly_name=${config.networking.hostName} MiniDLNA
|
||||
db_dir=/var/cache/minidlna
|
||||
log_dir=/var/log/minidlna
|
||||
log_level=warn
|
||||
inotify=yes
|
||||
${concatMapStrings (dir: ''
|
||||
media_dir=${dir}
|
||||
|
@ -83,21 +83,18 @@ in
|
|||
|
||||
preStart =
|
||||
''
|
||||
mkdir -p /var/cache/minidlna /var/log/minidlna /run/minidlna
|
||||
chown minidlna /var/cache/minidlna /var/log/minidlna /run/minidlna
|
||||
mkdir -p /var/cache/minidlna
|
||||
chown -R minidlna:minidlna /var/cache/minidlna
|
||||
'';
|
||||
|
||||
# FIXME: log through the journal rather than
|
||||
# /var/log/minidlna. The -d flag does that, but also raises
|
||||
# the log level to debug...
|
||||
serviceConfig =
|
||||
{ User = "minidlna";
|
||||
Group = "nogroup";
|
||||
Group = "minidlna";
|
||||
PermissionsStartOnly = true;
|
||||
Type = "forking";
|
||||
RuntimeDirectory = "minidlna";
|
||||
PIDFile = "/run/minidlna/pid";
|
||||
ExecStart =
|
||||
"@${pkgs.minidlna}/sbin/minidlnad minidlnad -P /run/minidlna/pid" +
|
||||
"${pkgs.minidlna}/sbin/minidlnad -S -P /run/minidlna/pid" +
|
||||
" -f ${pkgs.writeText "minidlna.conf" cfg.config}";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -5,6 +5,7 @@ with lib;
|
|||
let
|
||||
|
||||
cfg = config.services.syncthing;
|
||||
defaultUser = "syncthing";
|
||||
|
||||
in
|
||||
|
||||
|
@ -17,6 +18,7 @@ in
|
|||
services.syncthing = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable the Syncthing, self-hosted open-source alternative
|
||||
|
@ -26,7 +28,8 @@ in
|
|||
};
|
||||
|
||||
user = mkOption {
|
||||
default = "syncthing";
|
||||
type = types.string;
|
||||
default = defaultUser;
|
||||
description = ''
|
||||
Syncthing will be run under this user (user must exist,
|
||||
this can be your user name).
|
||||
|
@ -34,8 +37,8 @@ in
|
|||
};
|
||||
|
||||
all_proxy = mkOption {
|
||||
type = types.string;
|
||||
default = "";
|
||||
type = types.nullOr types.string;
|
||||
default = null;
|
||||
example = "socks5://address.com:1234";
|
||||
description = ''
|
||||
Overwrites all_proxy environment variable for the syncthing process to
|
||||
|
@ -45,6 +48,7 @@ in
|
|||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/syncthing";
|
||||
description = ''
|
||||
Path where the settings and keys will exist.
|
||||
|
@ -71,20 +75,33 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
users = mkIf (cfg.user == defaultUser) {
|
||||
extraUsers."${defaultUser}" =
|
||||
{ group = defaultUser;
|
||||
home = cfg.dataDir;
|
||||
createHome = true;
|
||||
uid = config.ids.uids.syncthing;
|
||||
description = "Syncthing daemon user";
|
||||
};
|
||||
|
||||
extraGroups."${defaultUser}".gid =
|
||||
config.ids.gids.syncthing;
|
||||
};
|
||||
|
||||
systemd.services.syncthing =
|
||||
{
|
||||
description = "Syncthing service";
|
||||
after = [ "network.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = {
|
||||
STNORESTART = "yes"; # do not self-restart
|
||||
STNOUPGRADE = "yes";
|
||||
} //
|
||||
(config.networking.proxy.envVars) //
|
||||
(if cfg.all_proxy != "" then { all_proxy = cfg.all_proxy; } else {});
|
||||
inherit (cfg) all_proxy;
|
||||
} // config.networking.proxy.envVars;
|
||||
|
||||
serviceConfig = {
|
||||
User = "${cfg.user}";
|
||||
User = cfg.user;
|
||||
Group = optionalString (cfg.user == defaultUser) defaultUser;
|
||||
PermissionsStartOnly = true;
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -home=${cfg.dataDir}";
|
||||
|
|
|
@ -139,6 +139,30 @@ in
|
|||
|
||||
systemd.services.dbus.restartTriggers = [ configDir ];
|
||||
|
||||
systemd.user = {
|
||||
services.dbus = {
|
||||
description = "D-Bus User Message Bus";
|
||||
requires = [ "dbus.socket" ];
|
||||
# NixOS doesn't support "Also" so we pull it in manually
|
||||
# As the .service is supposed to come up at the same time as
|
||||
# the .socket, we use basic.target instead of default.target
|
||||
wantedBy = [ "basic.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.dbus_daemon}/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation";
|
||||
ExecReload = "${pkgs.dbus_daemon}/bin/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig";
|
||||
};
|
||||
};
|
||||
|
||||
sockets.dbus = {
|
||||
description = "D-Bus User Message Bus Socket";
|
||||
socketConfig = {
|
||||
ListenStream = "%t/bus";
|
||||
ExecStartPost = "-${config.systemd.package}/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus";
|
||||
};
|
||||
wantedBy = [ "sockets.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
environment.pathsToLink = [ "/etc/dbus-1" "/share/dbus-1" ];
|
||||
|
||||
};
|
||||
|
|
|
@ -685,6 +685,7 @@ in
|
|||
|
||||
serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}";
|
||||
serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop";
|
||||
serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful";
|
||||
serviceConfig.Type = "forking";
|
||||
serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid";
|
||||
serviceConfig.Restart = "always";
|
||||
|
|
|
@ -5,14 +5,19 @@ with lib;
|
|||
let
|
||||
|
||||
# Build a Subversion instance with Apache modules and Swig/Python bindings.
|
||||
subversion = pkgs.subversion.override (origArgs: {
|
||||
subversion = pkgs.subversion.override {
|
||||
bdbSupport = true;
|
||||
httpServer = true;
|
||||
pythonBindings = true;
|
||||
});
|
||||
apacheHttpd = httpd;
|
||||
};
|
||||
|
||||
pythonLib = p: "${p}/";
|
||||
|
||||
httpd = serverInfo.serverConfig.package;
|
||||
|
||||
versionPre24 = versionOlder httpd.version "2.4";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -82,7 +87,7 @@ in
|
|||
AuthName "${config.ldapAuthentication.name}"
|
||||
AuthBasicProvider "ldap"
|
||||
AuthLDAPURL "${config.ldapAuthentication.url}"
|
||||
authzldapauthoritative Off
|
||||
${if versionPre24 then "authzldapauthoritative Off" else ""}
|
||||
require valid-user
|
||||
</LocationMatch>
|
||||
'' else ""}
|
||||
|
|
|
@ -183,7 +183,10 @@ in
|
|||
services.upower.enable = config.powerManagement.enable;
|
||||
|
||||
# Extra UDEV rules used by Solid
|
||||
services.udev.packages = [ pkgs.media-player-info ];
|
||||
services.udev.packages = [
|
||||
pkgs.libmtp
|
||||
pkgs.media-player-info
|
||||
];
|
||||
|
||||
services.xserver.displayManager.sddm = {
|
||||
theme = "breeze";
|
||||
|
|
|
@ -219,6 +219,12 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
dpi = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = 0;
|
||||
description = "DPI resolution to use for X server.";
|
||||
};
|
||||
|
||||
startDbusSession = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
|
@ -513,6 +519,7 @@ in
|
|||
"-xkbdir" "${cfg.xkbDir}"
|
||||
] ++ optional (cfg.display != null) ":${toString cfg.display}"
|
||||
++ optional (cfg.tty != null) "vt${toString cfg.tty}"
|
||||
++ optional (cfg.dpi != null) "-dpi ${toString cfg.dpi}"
|
||||
++ optionals (cfg.display != null) [ "-logfile" "/var/log/X.${toString cfg.display}.log" ]
|
||||
++ optional (!cfg.enableTCP) "-nolisten tcp";
|
||||
|
||||
|
|
|
@ -434,11 +434,8 @@ udevadm control --exit
|
|||
|
||||
# Reset the logging file descriptors.
|
||||
# Do this just before pkill, which will kill the tee process.
|
||||
if test -n "@logCommands@"
|
||||
then
|
||||
exec 1>&$logOutFd 2>&$logErrFd
|
||||
eval "exec $logOutFd>&- $logErrFd>&-"
|
||||
fi
|
||||
exec 1>&$logOutFd 2>&$logErrFd
|
||||
eval "exec $logOutFd>&- $logErrFd>&-"
|
||||
|
||||
# Kill any remaining processes, just to be sure we're not taking any
|
||||
# with us into stage 2. But keep storage daemons like unionfs-fuse.
|
||||
|
|
|
@ -67,6 +67,10 @@ let
|
|||
copy_bin_and_libs $BIN
|
||||
done
|
||||
|
||||
# Copy modprobe.
|
||||
copy_bin_and_libs ${pkgs.kmod}/bin/kmod
|
||||
ln -sf kmod $out/bin/modprobe
|
||||
|
||||
# Copy resize2fs if needed.
|
||||
${optionalString (any (fs: fs.autoResize) (attrValues config.fileSystems)) ''
|
||||
# We need mke2fs in the initrd.
|
||||
|
|
|
@ -89,4 +89,41 @@
|
|||
"15.09".us-west-2.hvm-s3 = "ami-2956b849";
|
||||
"15.09".us-west-2.pv-ebs = "ami-005fb160";
|
||||
"15.09".us-west-2.pv-s3 = "ami-cd55bbad";
|
||||
|
||||
"16.03".ap-northeast-1.hvm-ebs = "ami-885040e6";
|
||||
"16.03".ap-northeast-1.hvm-s3 = "ami-d15a4abf";
|
||||
"16.03".ap-northeast-1.pv-ebs = "ami-7f455511";
|
||||
"16.03".ap-northeast-1.pv-s3 = "ami-6d7d6d03";
|
||||
"16.03".ap-southeast-1.hvm-ebs = "ami-478a5f24";
|
||||
"16.03".ap-southeast-1.hvm-s3 = "ami-b2885dd1";
|
||||
"16.03".ap-southeast-1.pv-ebs = "ami-55b46136";
|
||||
"16.03".ap-southeast-1.pv-s3 = "ami-92b762f1";
|
||||
"16.03".ap-southeast-2.hvm-ebs = "ami-26b09345";
|
||||
"16.03".ap-southeast-2.hvm-s3 = "ami-52ac8f31";
|
||||
"16.03".ap-southeast-2.pv-ebs = "ami-1fb3907c";
|
||||
"16.03".ap-southeast-2.pv-s3 = "ami-49b1922a";
|
||||
"16.03".eu-central-1.hvm-ebs = "ami-2bd63744";
|
||||
"16.03".eu-central-1.hvm-s3 = "ami-82d435ed";
|
||||
"16.03".eu-central-1.pv-ebs = "ami-b729c8d8";
|
||||
"16.03".eu-central-1.pv-s3 = "ami-a12dccce";
|
||||
"16.03".eu-west-1.hvm-ebs = "ami-87c242f4";
|
||||
"16.03".eu-west-1.hvm-s3 = "ami-b6c343c5";
|
||||
"16.03".eu-west-1.pv-ebs = "ami-6bc94918";
|
||||
"16.03".eu-west-1.pv-s3 = "ami-00cb4b73";
|
||||
"16.03".sa-east-1.hvm-ebs = "ami-845cd3e8";
|
||||
"16.03".sa-east-1.hvm-s3 = "ami-8142cded";
|
||||
"16.03".sa-east-1.pv-ebs = "ami-1643cc7a";
|
||||
"16.03".sa-east-1.pv-s3 = "ami-1646c97a";
|
||||
"16.03".us-east-1.hvm-ebs = "ami-2cc4d046";
|
||||
"16.03".us-east-1.hvm-s3 = "ami-9bc9ddf1";
|
||||
"16.03".us-east-1.pv-ebs = "ami-7df4e017";
|
||||
"16.03".us-east-1.pv-s3 = "ami-90f2e6fa";
|
||||
"16.03".us-west-1.hvm-ebs = "ami-d8116db8";
|
||||
"16.03".us-west-1.hvm-s3 = "ami-a7166ac7";
|
||||
"16.03".us-west-1.pv-ebs = "ami-e90c7089";
|
||||
"16.03".us-west-1.pv-s3 = "ami-5b0c703b";
|
||||
"16.03".us-west-2.hvm-ebs = "ami-b339ccd3";
|
||||
"16.03".us-west-2.hvm-s3 = "ami-2c3bce4c";
|
||||
"16.03".us-west-2.pv-ebs = "ami-0625d066";
|
||||
"16.03".us-west-2.pv-s3 = "ami-7414e114";
|
||||
}
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.9.9";
|
||||
version = "0.9.10";
|
||||
name = "drumgizmo-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
|
||||
sha256 = "03dnh2p4s6n107n0r86h9j1jwy85a8qwjkh0288k60qpdqy1c7vp";
|
||||
sha256 = "142si734lsyywxhn7msiz053ir96kl5im3h1jql3vhcb4807f3d1";
|
||||
};
|
||||
|
||||
configureFlags = [ "--enable-lv2" ];
|
||||
|
|
30
pkgs/applications/audio/japa/default.nix
Normal file
30
pkgs/applications/audio/japa/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ stdenv, fetchurl, alsaLib, libjack2, fftwFloat, libclthreads, libclxclient, libX11, libXft, zita-alsa-pcmi, }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.8.4";
|
||||
name = "japa-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
|
||||
sha256 = "1jhj7s4vqk5c4lchdall0kslvj5sh91902hhfjvs6r3a5nrhwcp0";
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib libjack2 fftwFloat libclthreads libclxclient libX11 libXft zita-alsa-pcmi ];
|
||||
|
||||
preConfigure = ''
|
||||
cd ./source/
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
"SUFFIX=''"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A 'perceptual' or 'psychoacoustic' audio spectrum analyser for JACK and ALSA";
|
||||
homepage = http://kokkinizita.linuxaudio.org/linuxaudio/index.html;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = [ stdenv.lib.maintainers.magnetophon ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{ fetchurl, stdenv, pkgconfig, libpulseaudio, gtkmm, libglademm
|
||||
, dbus_glib, gconfmm, intltool }:
|
||||
, dbus_glib, GConf, gconfmm, intltool }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "paprefs-0.9.10";
|
||||
|
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
propagatedUserEnvPkgs = [ GConf ];
|
||||
|
||||
configureFlags = [ "--disable-lynx" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl_1_0_1, freetype
|
||||
{ fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype
|
||||
, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
|
||||
, libgcrypt, libudev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }:
|
||||
|
||||
assert stdenv.system == "x86_64-linux";
|
||||
|
||||
let
|
||||
version = "1.0.26.125.g64dc8bc6-14";
|
||||
version = "1.0.27.71.g0a26e3b2-9";
|
||||
|
||||
deps = [
|
||||
alsaLib
|
||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation {
|
|||
src =
|
||||
fetchurl {
|
||||
url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
|
||||
sha256 = "09wanpml2a6k8asfc0pd56n7fia37amgsplsan1qdh6dwdzr3rv5";
|
||||
sha256 = "1rs08cvn0y1lzazlmzj4sn2iyacadwi6j70n5c7rvfvvs4p61p42";
|
||||
};
|
||||
|
||||
buildInputs = [ dpkg makeWrapper ];
|
||||
|
@ -68,8 +68,8 @@ stdenv.mkDerivation {
|
|||
# Work around Spotify referring to a specific minor version of
|
||||
# OpenSSL.
|
||||
|
||||
ln -s ${openssl_1_0_1.out}/lib/libssl.so $libdir/libssl.so.1.0.0
|
||||
ln -s ${openssl_1_0_1.out}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0
|
||||
ln -s ${openssl.out}/lib/libssl.so $libdir/libssl.so.1.0.0
|
||||
ln -s ${openssl.out}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0
|
||||
ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so
|
||||
ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
|
||||
|
||||
let version = "4.6.0";
|
||||
let
|
||||
version = "4.6.0";
|
||||
rev = "2"; #tracks unversioned changes that occur on download.code42.com from time to time
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "crashplan-${version}";
|
||||
name = "crashplan-${version}-r${rev}";
|
||||
|
||||
crashPlanArchive = fetchurl {
|
||||
url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
|
||||
sha256 = "0h9zk6i1pdvl101c8l4v4x6i7q4wkmkqp2dkm0lq7ha96lrvac47";
|
||||
sha256 = "13rmmdj048r8k4v7ig4i6pnvwyzc1vasfgksf070bx6ksklgbq47";
|
||||
};
|
||||
|
||||
srcs = [ crashPlanArchive ];
|
||||
|
|
|
@ -16,11 +16,11 @@ let
|
|||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "atom-${version}";
|
||||
version = "1.6.0";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||
sha256 = "1izp2fwxk4rrksdbhcaj8fn0aazi7brid72n1vp7f49adrkqqc1b";
|
||||
sha256 = "1kl2pc0smacn4lgk5wwlaiw03rm8b0763vaisgp843p35zzsbc9n";
|
||||
name = "${name}.deb";
|
||||
};
|
||||
|
||||
|
|
|
@ -359,11 +359,11 @@ rec {
|
|||
|
||||
scala = buildEclipseUpdateSite rec {
|
||||
name = "scala-${version}";
|
||||
version = "4.3.0.201512011535";
|
||||
version = "4.4.0.201604010956";
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/update-site.zip";
|
||||
sha256 = "1j0qw4frkvvmyl64wdbznglgjjr9sfg8wb9npar0x7qv1hj4hw3x";
|
||||
sha256 = "1yypzcf2iwlcj43vd6h9n4y2ka1gxjf5vm3yx87bgfbzbchzckz7";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -5,6 +5,8 @@ source $stdenv/setup
|
|||
# *our* versions, not the ones found in the system, as it would do by default.
|
||||
# On other platforms, this appears to be unnecessary.
|
||||
preConfigure() {
|
||||
./autogen.sh
|
||||
|
||||
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
|
||||
substituteInPlace $i --replace /bin/pwd pwd
|
||||
done
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchgit, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
|
||||
{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
|
||||
, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
|
||||
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
|
||||
, alsaLib, cairo, acl, gpm, AppKit, Foundation, libobjc
|
||||
, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
|
||||
, autoconf, automake
|
||||
, withX ? !stdenv.isDarwin
|
||||
, withGTK3 ? false, gtk3 ? null
|
||||
|
@ -23,17 +23,16 @@ let
|
|||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-25.0.50-1b5630e";
|
||||
name = "emacs-25.0.92";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.savannah.gnu.org/emacs.git";
|
||||
rev = "1b5630eb47d3f4bade09708c958ab006b83b3fc0";
|
||||
sha256 = "0n3qbri84akmy7ad1pbv89j4jn4x9pnkz0p4nbhh6m1c37cbz58l";
|
||||
src = fetchurl {
|
||||
url = "ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-25.0.92.tar.xz";
|
||||
sha256 = "13jnj1js2l90k4yk219r3z67fff90r6mniprsp0sgip2kaak75y2";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optionals stdenv.isDarwin [
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
./at-fdcwd.patch
|
||||
];
|
||||
|
||||
|
@ -52,11 +51,7 @@ stdenv.mkDerivation rec {
|
|||
++ stdenv.lib.optional (withX && withGTK3) gtk3
|
||||
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
|
||||
|
||||
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit Foundation libobjc
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
|
||||
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
|
||||
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
|
||||
|
||||
configureFlags =
|
||||
if stdenv.isDarwin
|
||||
|
@ -81,18 +76,16 @@ stdenv.mkDerivation rec {
|
|||
mv nextstep/Emacs.app $out/Applications
|
||||
'';
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
# https://github.com/NixOS/nixpkgs/issues/13573
|
||||
doCheck = false;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GNU Emacs 25 (pre), the extensible, customizable text editor";
|
||||
homepage = http://www.gnu.org/software/emacs/;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ chaoflow lovek323 simons the-kenny ];
|
||||
maintainers = with maintainers; [ chaoflow lovek323 simons the-kenny jwiegley ];
|
||||
platforms = platforms.all;
|
||||
|
||||
# So that Exuberant ctags is preferred
|
||||
priority = 1;
|
||||
|
||||
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
|
||||
|
|
|
@ -75,8 +75,10 @@ let
|
|||
glib
|
||||
libtermkey
|
||||
libuv
|
||||
luajit
|
||||
# For some reason, `luajit` has to be listed after `lua`. See
|
||||
# https://github.com/NixOS/nixpkgs/issues/14442
|
||||
lua
|
||||
luajit
|
||||
lpeg
|
||||
luaMessagePack
|
||||
luabitop
|
||||
|
|
101
pkgs/applications/editors/vscode/default.nix
Normal file
101
pkgs/applications/editors/vscode/default.nix
Normal file
|
@ -0,0 +1,101 @@
|
|||
{ callPackage, stdenv, fetchurl, makeWrapper
|
||||
, jq, xlibs, gtk, python, nodejs
|
||||
, ...
|
||||
} @ args:
|
||||
|
||||
let
|
||||
electron = callPackage ../../../development/tools/electron/default.nix (args // rec {
|
||||
version = "0.35.6";
|
||||
sha256 = "1bwn14769nby04zkza9jphsya2p6fjnkm1k2y4h5y2l4gnqdvmx0";
|
||||
});
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vscode-${version}";
|
||||
version = "0.10.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Microsoft/vscode/archive/${version}.tar.gz";
|
||||
sha256 = "1mzkip6621111xwwksqjad1kgpbhna4dhpkf6cnj2r18dkk2jmcw";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper jq xlibs.libX11 xlibs.xproto gtk python nodejs electron ];
|
||||
|
||||
extensionGalleryJSON = ''
|
||||
{
|
||||
\"extensionsGallery\": {
|
||||
\"serviceUrl\": \"https://marketplace.visualstudio.com/_apis/public/gallery\",
|
||||
\"cacheUrl\": \"https://vscode.blob.core.windows.net/gallery/index\",
|
||||
\"itemUrl\": \"https://marketplace.visualstudio.com/items\"
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
# PATCH SCRIPT SHEBANGS
|
||||
echo "PATCH SCRIPT SHEBANGS"
|
||||
patchShebangs ./scripts
|
||||
|
||||
# ADD EXTENSION GALLERY URLS TO APPLICATION CONFIGURATION
|
||||
echo "AUGMENT APPLICATION CONFIGURATION"
|
||||
echo "$(cat ./product.json) ${extensionGalleryJSON}" | jq -s add > tmpFile && \
|
||||
mv tmpFile ./product.json
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
# BUILD COMPILE- & RUN-TIME DEPENDENCIES
|
||||
echo "BUILD COMPILE- & RUN-TIME DEPENDENCIES"
|
||||
mkdir -p ./tmp
|
||||
HOME=./tmp ./scripts/npm.sh install
|
||||
|
||||
# COMPILE SOURCES
|
||||
echo "COMPILE SOURCES"
|
||||
./node_modules/.bin/gulp
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
# CHECK APPLICATION
|
||||
echo "CHECK APPLICATION"
|
||||
ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 ${electron}/bin/electron ./node_modules/.bin/_mocha
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
# PRUNE COMPILE-TIME DEPENDENCIES
|
||||
echo "PRUNE COMPILE-TIME DEPENDENCIES"
|
||||
npm prune --production
|
||||
|
||||
# COPY FILES NEEDED FOR RUNNING APPLICATION TO OUT DIRECTORY
|
||||
echo "COPY FILES NEEDED FOR RUNNING APPLICATION TO OUT DIRECTORY"
|
||||
mkdir -p "$out"
|
||||
cp -R ./.vscode "$out"/.vscode
|
||||
cp -R ./extensions "$out"/extensions
|
||||
cp -R ./out "$out"/out
|
||||
cp -R ./node_modules "$out"/node_modules
|
||||
cp ./package.json "$out"/package.json
|
||||
cp ./product.json "$out"/product.json
|
||||
cp ./tslint.json "$out"/tslint.json
|
||||
# COPY LEGAL STUFF
|
||||
cp ./LICENSE.txt "$out"/LICENSE.txt
|
||||
cp ./OSSREADME.json "$out"/OSSREADME.json
|
||||
cp ./ThirdPartyNotices.txt "$out"/ThirdPartyNotices.txt
|
||||
|
||||
# CREATE RUNNER SCRIPT
|
||||
echo "CREATE RUNNER SCRIPT"
|
||||
mkdir -p "$out"/bin
|
||||
makeWrapper "${electron}/bin/electron" "$out/bin/vscode" \
|
||||
--set VSCODE_DEV 1 \
|
||||
--add-flags "$out"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.";
|
||||
longDescription = ''
|
||||
Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.
|
||||
It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
|
||||
It is also customizable, so users can change the editor's theme, keyboard shortcuts, and preferences.
|
||||
'';
|
||||
homepage = http://code.visualstudio.com/;
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -1,19 +1,19 @@
|
|||
{ stdenv, fetchurl, libjpeg, libexif, libungif, libtiff, libpng, libwebp
|
||||
{ stdenv, fetchurl, libjpeg, libexif, libungif, libtiff, libpng, libwebp, libdrm
|
||||
, pkgconfig, freetype, fontconfig, which, imagemagick, curl, sane-backends
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fbida-2.10";
|
||||
name = "fbida-2.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.bytesex.org/releases/fbida/${name}.tar.gz";
|
||||
sha256 = "1dkc1d6qlfa1gn94wcbyr7ayiy728q52fvbipwmnl2mlc6n3lnks";
|
||||
sha256 = "00x1lppb66b0gvp6sqs7zjgnlfh80lnkwvsm15ifzvlss3b67akw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig which ];
|
||||
buildInputs =
|
||||
[ libexif libjpeg libpng libungif freetype fontconfig libtiff libwebp
|
||||
imagemagick curl sane-backends
|
||||
imagemagick curl sane-backends libdrm
|
||||
];
|
||||
|
||||
makeFlags = [ "prefix=$(out)" "verbose=yes" ];
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ callPackage, fetchgit, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "2016-03-24";
|
||||
version = "2016-04-06";
|
||||
src = fetchgit {
|
||||
sha256 = "593672ccfef6e3e0f3cb8ae4bbc67db9b2f1a821df4914343e4cf32f75cea865";
|
||||
rev = "41a416e4afcf6cada69193dc408ef184d0e5f678";
|
||||
sha256 = "af0b5943787bfe86169cd9bbf34284152e18b6df1f692773369545047e54a288";
|
||||
rev = "e6b6ad9d4847e86aed8be0837a19bfada881f52d";
|
||||
url = "git://alioth.debian.org/git/sane/sane-backends.git";
|
||||
};
|
||||
})
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{ stdenv, fetchFromGitHub, qtbase, qtx11extras, makeQtWrapper, muparser, cmake }:
|
||||
{ stdenv, fetchFromGitHub, qtbase, qtsvg, qtx11extras, makeQtWrapper, muparser, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "albert-${version}";
|
||||
version = "0.8.0";
|
||||
version = "0.8.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "manuelschneid3r";
|
||||
repo = "albert";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lzj1gbcc5sp2x1c0d3s21y55kcnnn4dmy8d205mrgnyavjrak7n";
|
||||
sha256 = "04k6cawil6kqkmsilq5mpjy8lwgk0g08s0v23d5a83calpq3ljpc";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake qtbase qtx11extras muparser makeQtWrapper ];
|
||||
buildInputs = [ cmake qtbase qtsvg qtx11extras muparser makeQtWrapper ];
|
||||
|
||||
fixupPhase = ''
|
||||
wrapQtProgram $out/bin/albert
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "blender-2.77";
|
||||
name = "blender-2.77a";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.blender.org/source/${name}.tar.gz";
|
||||
sha256 = "0aynm249xgrnm6h5hlp9x40ww0hn391d9ka2mg9mmqrdzhih286n";
|
||||
sha256 = "0rswx2n52wjr4jpvg1a6mir5das2i752brjzigmm8rhayl0glw1p";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.53.0";
|
||||
version = "2.54.0";
|
||||
name = "calibre-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||
sha256 = "0rvfh39a6j5r398p6xzrbzvhxapm1iyhc0d46xk5fwa52kscadhz";
|
||||
sha256 = "1r2cxnqiqnx51gbw283z8lz58i9zpvbf0a5ncrg5b2i9bphdiq79";
|
||||
};
|
||||
|
||||
inherit python;
|
||||
|
|
24
pkgs/applications/misc/eterm/default.nix
Normal file
24
pkgs/applications/misc/eterm/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ stdenv, fetchurl
|
||||
, libX11, libXext, libXaw
|
||||
, pkgconfig, imlib2, libast }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eterm-${version}";
|
||||
version = "0.9.6";
|
||||
srcName = "Eterm-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.eterm.org/download/${srcName}.tar.gz";
|
||||
sha256 = "0g71szjklkiczxwzbjjfm59y6v9w4hp8mg7cy99z1g7qcjm0gfbj";
|
||||
};
|
||||
|
||||
buildInputs = [ libX11 libXext libXaw pkgconfig imlib2 ];
|
||||
propagatedBuildInputs = [ libast ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Terminal emulator";
|
||||
homepage = "http://www.eterm.org";
|
||||
license = licenses.bsd2;
|
||||
maintainers = [ maintainers.AndersonTorres ];
|
||||
};
|
||||
}
|
|
@ -1,17 +1,17 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, cmake, fftwFloat, qt5 }:
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, cmake, boost, fftwFloat, qt5, gnuradio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "inspectrum-${version}";
|
||||
version = "20160103";
|
||||
version = "20160403";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "miek";
|
||||
repo = "inspectrum";
|
||||
rev = "a60d711b46130d37b7c05074285558cd67a28820";
|
||||
sha256 = "1q7izpyi7c9qszygiaq0zs3swihxlss3n52q7wx2jq97hdi2hmzy";
|
||||
rev = "27381dbb30f59267a429c04d17d792d3953a6b99";
|
||||
sha256 = "0y4j62khq6fcv2qqlqi0kn2ix821m5gcqzg72nhc2zzfb3cdm9nm";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig cmake qt5.qtbase fftwFloat ];
|
||||
buildInputs = [ pkgconfig cmake qt5.qtbase fftwFloat boost gnuradio ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Tool for analysing captured signals from sdr receivers";
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ stdenv, fetchurl, pkgs, python2Packages }:
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
version = "0.8.1";
|
||||
version = "0.9.0";
|
||||
name = "khard-${version}";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz";
|
||||
sha256 = "13axfrs96isirx0c483545xdmjwwfq1k7yy92xpk7l184v71rgi1";
|
||||
sha256 = "1cj6rlvbk05cfjkl1lnyvq12sb847jjwqy5j8906p2b2x4wq72qi";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
|
|
|
@ -106,5 +106,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://kiwix.org;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ robbinch ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
, desktop_file_utils, libSM, imagemagick }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7.83";
|
||||
version = "0.7.84";
|
||||
name = "mediainfo-gui-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
|
||||
sha256 = "0d8mph9lbg2lw0ccg1la0kqhbisra8q9rzn195lncch5cia5zyg7";
|
||||
sha256 = "0w3hm34amfy5bq3n1jihbwqvwqn0f8kvvq3lfc8nfwf8v7mjn7q9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7.83";
|
||||
version = "0.7.84";
|
||||
name = "mediainfo-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
|
||||
sha256 = "0d8mph9lbg2lw0ccg1la0kqhbisra8q9rzn195lncch5cia5zyg7";
|
||||
sha256 = "0w3hm34amfy5bq3n1jihbwqvwqn0f8kvvq3lfc8nfwf8v7mjn7q9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
|
|
39
pkgs/applications/misc/pell/default.nix
Normal file
39
pkgs/applications/misc/pell/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{ stdenv, fetchFromGitHub, scsh, sox, libnotify }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pell";
|
||||
version = "0.0.1";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ebzzry";
|
||||
repo = pname;
|
||||
rev = "3f95341eb9439c7a6be1f3c6366c0552ab8208f0";
|
||||
sha256 = "183aj3ys080g2kahl8x8rkhzlsb6h5ls9xm1v2kasfbn1pi5i6nn";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share
|
||||
cp pell $out/bin
|
||||
cp resources/notification.mp3 $out/share
|
||||
chmod +x $out/bin/pell
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace $out/bin/pell --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
|
||||
substituteInPlace $out/bin/pell --replace "(play " "(${sox}/bin/play "
|
||||
substituteInPlace $out/bin/pell --replace "(notify-send " "(${libnotify}/bin/notify-send "
|
||||
substituteInPlace $out/bin/pell --replace "/usr/share/pell/notification.mp3" "$out/share/notification.mp3"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/ebzzry/pell;
|
||||
description = "A simple periodic host monitor using ping";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.ebzzry ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
{ stdenv, fetchFromGitHub, pkgs, lib, python, pythonPackages }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
version = "1.8.0";
|
||||
version = "1.9.0";
|
||||
name = "rtv-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michael-lazar";
|
||||
repo = "rtv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0vp9yapm6bm4zdhd1ibbirc23ck7smrbsrask7xkrnz7qysxgsd3";
|
||||
sha256 = "18r3i2zlcprj6d4nzhhbd6sm1fs2x28924xsm6lcxa1643gkyb7i";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
|
@ -24,6 +24,6 @@ pythonPackages.buildPythonApplication rec {
|
|||
homepage = https://github.com/michael-lazar/rtv;
|
||||
description = "Browse Reddit from your Terminal";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ matthiasbeyer jgeerds ];
|
||||
maintainers = with maintainers; [ matthiasbeyer jgeerds wedens ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{ stdenv, fetchurl, libpng, libX11, libXft }:
|
||||
{ stdenv, fetchurl, libpng, libX11, libXft
|
||||
, patches ? [] }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sent-0.2";
|
||||
|
@ -10,6 +11,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ libpng libX11 libXft ];
|
||||
|
||||
inherit patches;
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
25
pkgs/applications/misc/timewarrior/default.nix
Normal file
25
pkgs/applications/misc/timewarrior/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ stdenv, fetchgit, cmake, libuuid, gnutls }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "timewarrior-${version}";
|
||||
version = "2016-03-29";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.tasktools.org/scm/tm/timew.git";
|
||||
rev = "2175849a81ddd03707dca7b4c9d69d8fa11e35f7";
|
||||
sha256 = "1c55a5jsm9n2zcyskklhqiclnlb2pz2h7klbzx481nsn62xd6bbg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A command-line time tracker";
|
||||
homepage = http://tasktools.org/projects/timewarrior.html;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ matthiasbeyer ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
{ stdenv, fetchgit, unzip, firefox, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "conkeror-1.0pre-20150730";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pkgname = "conkeror";
|
||||
version = "1.0pre-20160130";
|
||||
name = "${pkgname}-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = git://repo.or.cz/conkeror.git;
|
||||
rev = "a1f7e879b129df5cf14ea4ce80a9c1407380ed58";
|
||||
sha256 = "12d8949a81a670037664dd930f7efe3d54b321aad48deea68343eba9aaea8785";
|
||||
rev = "3e4732cd0d15aa70121fe0a0403103b777c964bf";
|
||||
sha256 = "1c4ri6011wqnkkz1gcn4l6dkvz693mycwqgncbanhydmy8pcb7jk";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip makeWrapper ];
|
||||
|
|
|
@ -122,6 +122,7 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec {
|
|||
passthru = {
|
||||
inherit gtk nspr version;
|
||||
isFirefox3Like = true;
|
||||
browserName = pname;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
}:
|
||||
|
||||
## configurability of the wrapper itself
|
||||
browser :
|
||||
{ browserName ? (lib.head (lib.splitString "-" browser.name)) # name of the executable
|
||||
browser:
|
||||
{ browserName ? browser.browserName or (builtins.parseDrvName browser.name).name
|
||||
, name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
|
||||
, desktopName ? # browserName with first letter capitalized
|
||||
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
||||
|
|
|
@ -36,6 +36,13 @@
|
|||
|
||||
}:
|
||||
|
||||
/* When updating this package, test that the following derivations build:
|
||||
|
||||
* flashplayer
|
||||
* flashplayer-standalone
|
||||
* flashplayer-standalone-debugger
|
||||
*/
|
||||
|
||||
let
|
||||
arch =
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
|
@ -49,66 +56,59 @@ let
|
|||
suffix =
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
if debug then throw "no x86_64 debugging version available"
|
||||
else "-release.x86_64"
|
||||
else "_linux.x86_64"
|
||||
else if stdenv.system == "i686-linux" then
|
||||
if debug then "_linux_debug.i386"
|
||||
else "_linux.i386"
|
||||
else throw "Flash Player is not supported on this platform";
|
||||
|
||||
saname =
|
||||
if debug then "flashplayerdebugger"
|
||||
else "flashplayer";
|
||||
|
||||
is-i686 = (stdenv.system == "i686-linux");
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "flashplayer-${version}";
|
||||
version = "11.2.202.577";
|
||||
version = "11.2.202.616";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fpdownload.macromedia.com/pub/flashplayer/installers/archive/fp_${version}_archive.zip";
|
||||
sha256 = "1k02d6c9y8z9lxyqyq04zsc5735cvm30mkwli71mh87fr1va2q4j";
|
||||
sha256 = "0y4bjkla6ils4crmx61pi31s4gscy8rgiv7xccx1z0g6hba9j73l";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip ];
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
postUnpack = ''
|
||||
pushd $sourceRoot
|
||||
tar -xvzf *${arch}/*${suffix}.tar.gz
|
||||
cd *${arch}
|
||||
|
||||
${ lib.optionalString is-i686 ''
|
||||
tar -xvzf */*_sa.*.tar.gz
|
||||
tar -xvzf */*_sa_debug.*.tar.gz
|
||||
tar -xvzf *${suffix}.tar.gz
|
||||
|
||||
${lib.optionalString is-i686 ''
|
||||
tar -xvzf *_sa[_.]*.tar.gz
|
||||
''}
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
sourceRoot = "fp_${version}_archive";
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
outputs = [ "out" ] ++ lib.optionals is-i686 ["sa" "saDbg" ];
|
||||
outputs = [ "out" ] ++ lib.optional is-i686 "sa";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/mozilla/plugins
|
||||
cp -pv libflashplayer.so $out/lib/mozilla/plugins
|
||||
|
||||
patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
|
||||
|
||||
${ lib.optionalString is-i686 ''
|
||||
mkdir -p $sa/bin
|
||||
cp flashplayer $sa/bin/
|
||||
${lib.optionalString is-i686 ''
|
||||
install -Dm755 ${saname} $sa/bin/flashplayer
|
||||
|
||||
patchelf \
|
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
--set-rpath "$rpath" \
|
||||
$sa/bin/flashplayer
|
||||
|
||||
|
||||
mkdir -p $saDbg/bin
|
||||
cp flashplayerdebugger $saDbg/bin/
|
||||
|
||||
patchelf \
|
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
--set-rpath "$rpath" \
|
||||
$saDbg/bin/flashplayerdebugger
|
||||
patchelf \
|
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
--set-rpath "$rpath" \
|
||||
$sa/bin/flashplayer
|
||||
''}
|
||||
'';
|
||||
|
||||
|
@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
|
|||
mozillaPlugin = "/lib/mozilla/plugins";
|
||||
};
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath
|
||||
rpath = lib.makeLibraryPath
|
||||
[ zlib alsaLib curl nspr fontconfig freetype expat libX11
|
||||
libXext libXrender libXcursor libXt gtk glib pango atk cairo gdk_pixbuf
|
||||
libvdpau nss
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, jinja2, pygments, pyyaml, pypeg2, gst-plugins-base, gst-plugins-good
|
||||
, gst-plugins-bad, gst-libav, wrapGAppsHook, glib_networking }:
|
||||
|
||||
let version = "0.5.1"; in
|
||||
let version = "0.6.0"; in
|
||||
|
||||
buildPythonApplication rec {
|
||||
name = "qutebrowser-${version}";
|
||||
|
@ -10,7 +10,7 @@ buildPythonApplication rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
|
||||
sha256 = "1pxgap04rv94kgcp9a05xx2kwg3j6jv8f6d3ww7hqs2xnkj8wzqb";
|
||||
sha256 = "1vf9gh1f12wza72y3yqj568h2wsm7wfvjjs6qsh6apw5mgjysz91";
|
||||
};
|
||||
|
||||
# Needs tox
|
||||
|
|
|
@ -10,7 +10,7 @@ let
|
|||
soext = if stdenv.system == "x86_64-darwin" then "dylib" else "so";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "0.27.1";
|
||||
version = "0.28.0";
|
||||
name = "mesos-${version}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/mesos/${version}/${name}.tar.gz";
|
||||
sha256 = "147iq7vwi09kqblx1h8r6lkrg9g50i257qk1cph1zr5j3rncz7l8";
|
||||
sha256 = "05dnj6r5pspizna0fk7yayn38a4w9hlcswgg8l9qmb35m6nq6hby";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
{ stdenv, fetchurl
|
||||
, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf
|
||||
, glib, gnome, gtk, libnotify, libX11, libXcomposite, libXcursor, libXdamage
|
||||
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, pango
|
||||
, udev }:
|
||||
|
||||
let version = "0.0.1"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
name = "discord-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://storage.googleapis.com/discord-developer/test/discord-canary-${version}.tar.gz";
|
||||
sha256 = "1skmwc84s4xqyc167qrplhy5ah06kwfa3d3rxiwi4c8rc55vdd0g";
|
||||
};
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath [
|
||||
stdenv.cc.cc alsaLib atk cairo cups dbus expat fontconfig freetype
|
||||
gdk_pixbuf glib gnome.GConf gtk libnotify libX11 libXcomposite
|
||||
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
|
||||
libXtst nspr nss pango udev
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mv * $out
|
||||
|
||||
# Copying how adobe-reader does it,
|
||||
# see pkgs/applications/misc/adobe-reader/builder.sh
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "$out:$libPath" \
|
||||
$out/DiscordCanary
|
||||
|
||||
ln -s $out/DiscordCanary $out/bin/
|
||||
|
||||
# Putting udev in the path won't work :(
|
||||
ln -s ${udev}/lib/libudev.so.1 $out
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "All-in-one voice and text chat for gamers that’s free, secure, and works on both your desktop and phone";
|
||||
homepage = "https://discordapp.com/";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.ldesgoui ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -70,6 +70,8 @@ stdenv.mkDerivation {
|
|||
patchelf --set-rpath ${rpath}:$out/libexec/hipchat/lib:\$ORIGIN $file || true
|
||||
done
|
||||
|
||||
patchShebangs $d/linuxbrowserlaunch.sh
|
||||
|
||||
substituteInPlace $out/share/applications/hipchat4.desktop \
|
||||
--replace /opt/HipChat4/bin/HipChat4 $out/bin/hipchat
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM
|
||||
, libICE, qca2, pkgconfig, liboil, speex, callPackage, which, glib
|
||||
{ stdenv, fetchurl, enchant, qt4, zlib, sox, libX11, xproto, libSM
|
||||
, libICE, qca2, pkgconfig, callPackage, which, glib
|
||||
, libXScrnSaver, scrnsaverproto
|
||||
}:
|
||||
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs =
|
||||
[ aspell qt4 zlib sox libX11 xproto libSM libICE
|
||||
[ enchant qt4 zlib sox libX11 xproto libSM libICE
|
||||
qca2 pkgconfig which glib scrnsaverproto libXScrnSaver
|
||||
];
|
||||
|
||||
|
@ -20,20 +20,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
NIX_LDFLAGS="-lqca";
|
||||
|
||||
psiMedia = callPackage ./psimedia.nix { };
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-aspell-inc=${aspell}/include"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
PSI_PLUGINS="$out/lib/psi/plugins"
|
||||
mkdir -p "$PSI_PLUGINS"
|
||||
ln -s "${psiMedia}"/share/psi/plugins/*.so "$PSI_PLUGINS"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Psi, an XMPP (Jabber) client";
|
||||
maintainers = [ stdenv.lib.maintainers.raskin ];
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-im/psimedia/files/psimedia-1.0.3-glib2.32.patch?view=log
|
||||
|
||||
Index: psimedia-1.0.3/gstprovider/gstcustomelements/gstcustomelements.h
|
||||
===================================================================
|
||||
--- psimedia-1.0.3.orig/gstprovider/gstcustomelements/gstcustomelements.h
|
||||
+++ psimedia-1.0.3/gstprovider/gstcustomelements/gstcustomelements.h
|
||||
@@ -21,7 +21,7 @@
|
||||
#ifndef GSTCUSTOMELEMENTS_H
|
||||
#define GSTCUSTOMELEMENTS_H
|
||||
|
||||
-#include <glib/gthread.h>
|
||||
+#include <glib.h>
|
||||
#include <gst/gst.h>
|
||||
#include <gst/base/gstpushsrc.h>
|
||||
#include <gst/video/video.h>
|
||||
Index: psimedia-1.0.3/gstprovider/gstelements/static/gstelements.h
|
||||
===================================================================
|
||||
--- psimedia-1.0.3.orig/gstprovider/gstelements/static/gstelements.h
|
||||
+++ psimedia-1.0.3/gstprovider/gstelements/static/gstelements.h
|
||||
@@ -21,7 +21,7 @@
|
||||
#ifndef PSI_GSTELEMENTS_H
|
||||
#define PSI_GSTELEMENTS_H
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
+#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
Index: psimedia-1.0.3/gstprovider/gstthread.h
|
||||
===================================================================
|
||||
--- psimedia-1.0.3.orig/gstprovider/gstthread.h
|
||||
+++ psimedia-1.0.3/gstprovider/gstthread.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define PSI_GSTTHREAD_H
|
||||
|
||||
#include <QThread>
|
||||
-#include <glib/gmain.h>
|
||||
+#include <glib.h>
|
||||
|
||||
namespace PsiMedia {
|
||||
|
||||
Index: psimedia-1.0.3/gstprovider/rwcontrol.h
|
||||
===================================================================
|
||||
--- psimedia-1.0.3.orig/gstprovider/rwcontrol.h
|
||||
+++ psimedia-1.0.3/gstprovider/rwcontrol.h
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <QMutex>
|
||||
#include <QWaitCondition>
|
||||
#include <QTimer>
|
||||
-#include <glib/gmain.h>
|
||||
+#include <glib.h>
|
||||
#include "psimediaprovider.h"
|
||||
#include "rtpworker.h"
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
http://pkgs.fedoraproject.org/gitweb/?p=psimedia.git;a=blob_plain;f=psimedia-remove-v4l.patch;hb=HEAD
|
||||
|
||||
--- a/gstprovider/deviceenum/deviceenum_unix.cpp
|
||||
+++ b/gstprovider/deviceenum/deviceenum_unix.cpp
|
||||
@@ -35,7 +35,7 @@
|
||||
# include <sys/stat.h>
|
||||
# include <dirent.h>
|
||||
# include <sys/ioctl.h>
|
||||
-# include <linux/videodev.h>
|
||||
+# include <linux/videodev2.h>
|
||||
#endif
|
||||
|
||||
namespace DeviceEnum {
|
||||
@@ -478,72 +478,7 @@
|
||||
// v4l detection scheme adapted from PWLib (used by Ekiga/Gnomemeeting)
|
||||
static QList<Item> get_v4l_items()
|
||||
{
|
||||
-#ifdef Q_OS_LINUX
|
||||
- QList<Item> out;
|
||||
-
|
||||
- QList<V4LName> list = get_v4l_names("/sys/class/video4linux", true);
|
||||
- if(list.isEmpty())
|
||||
- list = get_v4l_names("/proc/video/dev", false);
|
||||
-
|
||||
- // if we can't find anything, then do a raw scan for possibilities
|
||||
- if(list.isEmpty())
|
||||
- {
|
||||
- QStringList possible = scan_for_videodevs("/dev");
|
||||
- foreach(QString str, possible)
|
||||
- {
|
||||
- V4LName v;
|
||||
- v.dev = str;
|
||||
- list += v;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- for(int n = 0; n < list.count(); ++n)
|
||||
- {
|
||||
- V4LName &v = list[n];
|
||||
-
|
||||
- // if we already have a friendly name then we'll skip the confirm
|
||||
- // in order to save resources. the only real drawback here that
|
||||
- // I can think of is if the device isn't a capture type. but
|
||||
- // what does it mean to have a V4L device that isn't capture??
|
||||
- if(v.friendlyName.isEmpty())
|
||||
- {
|
||||
- int fd = open(QFile::encodeName(v.dev).data(), O_RDONLY | O_NONBLOCK);
|
||||
- if(fd == -1)
|
||||
- continue;
|
||||
-
|
||||
- // get video capabilities and close
|
||||
- struct video_capability caps;
|
||||
- memset(&caps, 0, sizeof(caps));
|
||||
- int ret = ioctl(fd, VIDIOCGCAP, &caps);
|
||||
- close(fd);
|
||||
- if(ret == -1)
|
||||
- continue;
|
||||
-
|
||||
- if(!(caps.type & VID_TYPE_CAPTURE))
|
||||
- continue;
|
||||
-
|
||||
- v.friendlyName = caps.name;
|
||||
- }
|
||||
-
|
||||
- Item i;
|
||||
- i.type = Item::Video;
|
||||
- i.dir = Item::Input;
|
||||
- i.name = v.friendlyName;
|
||||
- i.driver = "v4l";
|
||||
- i.id = v.dev;
|
||||
-
|
||||
- // HACK
|
||||
- if(v.friendlyName == "Labtec Webcam Notebook")
|
||||
- i.explicitCaptureSize = QSize(640, 480);
|
||||
-
|
||||
- out += i;
|
||||
- }
|
||||
-
|
||||
- return out;
|
||||
-#else
|
||||
- // return empty list if non-linux
|
||||
return QList<Item>();
|
||||
-#endif
|
||||
}
|
||||
|
||||
static QList<Item> get_v4l2_items()
|
|
@ -1,27 +0,0 @@
|
|||
{ stdenv, fetchurl, qt4, gstreamer, gst_plugins_base, liboil, speex, which
|
||||
, glib, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "psimedia-1.0.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://delta.affinix.com/download/psimedia/${name}.tar.bz2";
|
||||
sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781";
|
||||
};
|
||||
|
||||
patches = [ ./glib-2.32.patch ./linux-headers.patch ];
|
||||
|
||||
buildInputs = [ qt4 gstreamer gst_plugins_base liboil speex which glib pkgconfig ];
|
||||
|
||||
configurePhase = ''./configure'';
|
||||
|
||||
postBuild = ''
|
||||
TARGET="$out/share/psi/plugins"
|
||||
mkdir -p "$TARGET"
|
||||
cp gstprovider/*.so "$TARGET"/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Psi Media, a plugin to provide Voice/Video over XMPP";
|
||||
};
|
||||
}
|
|
@ -3,12 +3,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "telegram-cli-2015-07-30";
|
||||
name = "telegram-cli-2016-03-23";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/vysheng/tg.git";
|
||||
sha256 = "0phn9nl0sf2fylzfwi427xq60cfrnpsvhh8bp55y1wcjkmp0fxsn";
|
||||
rev = "2052f4b381337d75e783facdbfad56b04dec1a9c";
|
||||
sha256 = "07x6172nyipbz4bk7n417a2ydj5r7y1ch2zl3hp79nckfw11fix7";
|
||||
rev = "6547c0b21b977b327b3c5e8142963f4bc246187a";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "irssi-0.8.17";
|
||||
|
||||
version = "0.8.19";
|
||||
name = "irssi-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [ "https://distfiles.macports.org/irssi/${name}.tar.bz2"
|
||||
"http://irssi.org/files/${name}.tar.bz2"
|
||||
];
|
||||
sha256 = "01v82q2pfiimx6lh271kdvgp8hl4pahc3srg04fqzxgdsb5015iw";
|
||||
urls = [ "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz" ];
|
||||
sha256 = "0ny8dry1b8siyc5glaxcwzng0d2mxnwxk74v64f8xplqhrvlnkzy";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
|
||||
|
|
46
pkgs/applications/networking/irc/wraith/default.nix
Normal file
46
pkgs/applications/networking/irc/wraith/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ stdenv, fetchurl, openssl }:
|
||||
|
||||
with stdenv;
|
||||
with stdenv.lib;
|
||||
|
||||
mkDerivation rec {
|
||||
name = "wraith-${version}";
|
||||
version = "1.4.6";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz";
|
||||
sha256 = "0vb2hbjmwh040f5yhxvwcfxvgxa0q9zdy9vvddydn8zn782d7wl8";
|
||||
};
|
||||
buildInputs = [ openssl ];
|
||||
patches = [ ./dlopen.patch ];
|
||||
postPatch = ''
|
||||
substituteInPlace src/libssl.cc --subst-var-by openssl ${openssl}
|
||||
substituteInPlace src/libcrypto.cc --subst-var-by openssl ${openssl}
|
||||
'';
|
||||
configureFlags = "--with-openssl=${openssl}";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -a wraith $out/bin/wraith
|
||||
ln -s wraith $out/bin/hub
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "An IRC channel management bot written purely in C/C++";
|
||||
longDescription = ''
|
||||
Wraith is an IRC channel management bot written purely in C/C++. It has
|
||||
been in development since late 2003. It is based on Eggdrop 1.6.12 but has
|
||||
since evolved into something much different at its core. TCL and loadable
|
||||
modules are currently not supported.
|
||||
|
||||
Maintainer's Notes:
|
||||
Copy the binary out of the store before running it with the -C option to
|
||||
configure it. See https://github.com/wraith/wraith/wiki/GettingStarted .
|
||||
|
||||
The binary will not run when moved onto non-NixOS systems; use patchelf
|
||||
to fix its runtime dependenices.
|
||||
'';
|
||||
homepage = http://wraith.botpack.net/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ elitak ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
48
pkgs/applications/networking/irc/wraith/dlopen.patch
Normal file
48
pkgs/applications/networking/irc/wraith/dlopen.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
diff --git a/src/libcrypto.cc b/src/libcrypto.cc
|
||||
index 0339258..68746c8 100644
|
||||
--- a/src/libcrypto.cc
|
||||
+++ b/src/libcrypto.cc
|
||||
@@ -95,17 +95,9 @@ int load_libcrypto() {
|
||||
}
|
||||
|
||||
sdprintf("Loading libcrypto");
|
||||
+ dlerror(); // Clear Errors
|
||||
+ libcrypto_handle = dlopen("@openssl@/lib/libcrypto.so", RTLD_LAZY|RTLD_GLOBAL);
|
||||
|
||||
- bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.0.9.8 libcrypto.so.7 libcrypto.so.6").split(' '));
|
||||
-
|
||||
- for (size_t i = 0; i < libs_list.length(); ++i) {
|
||||
- dlerror(); // Clear Errors
|
||||
- libcrypto_handle = dlopen(bd::String(libs_list[i]).c_str(), RTLD_LAZY|RTLD_GLOBAL);
|
||||
- if (libcrypto_handle) {
|
||||
- sdprintf("Found libcrypto: %s", bd::String(libs_list[i]).c_str());
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
if (!libcrypto_handle) {
|
||||
fprintf(stderr, STR("Unable to find libcrypto\n"));
|
||||
return(1);
|
||||
diff --git a/src/libssl.cc b/src/libssl.cc
|
||||
index b432c7b..8940998 100644
|
||||
--- a/src/libssl.cc
|
||||
+++ b/src/libssl.cc
|
||||
@@ -68,17 +68,9 @@ int load_libssl() {
|
||||
}
|
||||
|
||||
sdprintf("Loading libssl");
|
||||
+ dlerror(); // Clear Errors
|
||||
+ libssl_handle = dlopen("@openssl@/lib/libssl.so", RTLD_LAZY);
|
||||
|
||||
- bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.0.9.8 libssl.so.7 libssl.so.6").split(' '));
|
||||
-
|
||||
- for (size_t i = 0; i < libs_list.length(); ++i) {
|
||||
- dlerror(); // Clear Errors
|
||||
- libssl_handle = dlopen(bd::String(libs_list[i]).c_str(), RTLD_LAZY);
|
||||
- if (libssl_handle) {
|
||||
- sdprintf("Found libssl: %s", bd::String(libs_list[i]).c_str());
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
if (!libssl_handle) {
|
||||
fprintf(stderr, STR("Unable to find libssl\n"));
|
||||
return(1);
|
|
@ -17,14 +17,14 @@ assert saslSupport -> cyrus_sasl != null;
|
|||
assert gpgmeSupport -> gpgme != null;
|
||||
|
||||
let
|
||||
version = "1.5.24";
|
||||
version = "1.6.0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/mutt-${version}.tar.gz";
|
||||
sha256 = "0012njrgxf1barjksqkx7ccid2l0xyikhna9mjs9vcfpbrvcm4m2";
|
||||
sha256 = "06bc2drbgalkk68rzg7hq2v5m5qgjxff5357wg0419dpi8ivdbr9";
|
||||
};
|
||||
|
||||
buildInputs = with stdenv.lib;
|
||||
|
|
|
@ -78,7 +78,7 @@ index 5dfeff6..cf1ac98 100644
|
|||
score.c send.c sendlib.c signal.c sort.c \
|
||||
status.c system.c thread.c charset.c history.c lib.c \
|
||||
+ sidebar.c \
|
||||
muttlib.c editmsg.c mbyte.c \
|
||||
muttlib.c editmsg.c mbyte.c mutt_idna.c \
|
||||
url.c ascii.c crypt-mod.c crypt-mod.h safe_asprintf.c
|
||||
|
||||
diff --git a/OPS b/OPS
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
source "https://rubygems.org"
|
||||
|
||||
gem 'rake'
|
||||
gem 'sup'
|
||||
gem 'gpgme'
|
||||
|
||||
# Sup tries to `xapian-ruby` in its extconf instead of listing it as a
|
||||
# dependency.
|
||||
gem 'xapian-ruby', "~> 1.2.15"
|
||||
gem 'xapian-ruby', "~> 1.2.22"
|
||||
|
|
|
@ -2,33 +2,40 @@ GEM
|
|||
remote: https://rubygems.org/
|
||||
specs:
|
||||
chronic (0.9.1)
|
||||
gpgme (2.0.7)
|
||||
mini_portile (>= 0.5.0, <= 0.6.0)
|
||||
highline (1.6.21)
|
||||
locale (2.1.0)
|
||||
gpgme (2.0.12)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
highline (1.7.8)
|
||||
locale (2.1.2)
|
||||
lockfile (2.1.3)
|
||||
mime-types (1.25.1)
|
||||
mini_portile (0.6.0)
|
||||
mime-types (3.0)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2016.0221)
|
||||
mini_portile2 (2.1.0)
|
||||
ncursesw (1.4.9)
|
||||
rake (11.1.2)
|
||||
rmail-sup (1.0.1)
|
||||
sup (0.20.0)
|
||||
sup (0.22.1)
|
||||
chronic (~> 0.9.1)
|
||||
highline
|
||||
locale (~> 2.0)
|
||||
lockfile
|
||||
mime-types (~> 1.0)
|
||||
mime-types (> 2.0)
|
||||
ncursesw (~> 1.4.0)
|
||||
rmail-sup (~> 1.0.1)
|
||||
trollop (>= 1.12)
|
||||
unicode (~> 0.4.4)
|
||||
trollop (2.1.1)
|
||||
trollop (2.1.2)
|
||||
unicode (0.4.4.2)
|
||||
xapian-ruby (1.2.19.1)
|
||||
xapian-ruby (1.2.22)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
gpgme
|
||||
rake
|
||||
sup
|
||||
xapian-ruby (~> 1.2.15)
|
||||
xapian-ruby (~> 1.2.22)
|
||||
|
||||
BUNDLED WITH
|
||||
1.10.6
|
||||
|
|
|
@ -2,9 +2,14 @@
|
|||
, pkgconfig, which }:
|
||||
|
||||
bundlerEnv {
|
||||
name = "sup-0.20.0";
|
||||
name = "sup-0.22.1";
|
||||
|
||||
inherit ruby;
|
||||
|
||||
# Updated with:
|
||||
# nix-shell -p bundix -p bundler -p ncurses -p ruby -p which -p zlib -p libuuid
|
||||
# bundle install --path ./vendor
|
||||
# bundix
|
||||
gemfile = ./Gemfile;
|
||||
lockfile = ./Gemfile.lock;
|
||||
gemset = ./gemset.nix;
|
||||
|
|
|
@ -1,107 +1,126 @@
|
|||
{
|
||||
"chronic" = {
|
||||
version = "0.9.1";
|
||||
xapian-ruby = {
|
||||
version = "1.2.22";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1xbarnxmhy6r0rxpspn4wk85j183w6b18nah73djcs06b3gfas15";
|
||||
};
|
||||
dependencies = [ "rake" ];
|
||||
};
|
||||
"gpgme" = {
|
||||
version = "2.0.7";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "1p84zhiri2ihcld7py9mwc2kg5xs5da8fk11zhndrhmw05yvf5mr";
|
||||
};
|
||||
dependencies = [
|
||||
"mini_portile"
|
||||
];
|
||||
};
|
||||
"highline" = {
|
||||
version = "1.6.21";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
|
||||
};
|
||||
};
|
||||
"locale" = {
|
||||
version = "2.1.0";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "18bb0g24flq9dr8qv4j7pm7w9i2vmvmqrbmry95ibf1r1c4s60yj";
|
||||
};
|
||||
};
|
||||
"lockfile" = {
|
||||
version = "2.1.3";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr";
|
||||
};
|
||||
};
|
||||
"mime-types" = {
|
||||
version = "1.25.1";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
|
||||
};
|
||||
};
|
||||
"mini_portile" = {
|
||||
version = "0.6.0";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn";
|
||||
};
|
||||
};
|
||||
"ncursesw" = {
|
||||
version = "1.4.9";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "154cls3b237imdbhih7rni5p85nw6mpbpkzdw08jxzvqaml7q093";
|
||||
};
|
||||
};
|
||||
"rmail-sup" = {
|
||||
version = "1.0.1";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g";
|
||||
};
|
||||
};
|
||||
"sup" = {
|
||||
version = "0.20.0";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "1lpqgrqkv29xr1h1142qsbmknlshpgys7fc3w1nkyhib8s3ikamg";
|
||||
};
|
||||
dependencies = [
|
||||
"chronic"
|
||||
"highline"
|
||||
"locale"
|
||||
"lockfile"
|
||||
"mime-types"
|
||||
"ncursesw"
|
||||
"rmail-sup"
|
||||
"trollop"
|
||||
"unicode"
|
||||
];
|
||||
};
|
||||
"trollop" = {
|
||||
version = "2.1.1";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "0z5dvh7glwqjprlihsjx67hfzy4whsjfhqj9akyyrby9q5va1i4k";
|
||||
};
|
||||
};
|
||||
"unicode" = {
|
||||
unicode = {
|
||||
version = "0.4.4.2";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15fggljzan8zvmr8h12b5m7pcj1gvskmmnx367xs4p0rrpnpil8g";
|
||||
};
|
||||
};
|
||||
"xapian-ruby" = {
|
||||
version = "1.2.19.1";
|
||||
trollop = {
|
||||
version = "2.1.2";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "1crfrmc8kf6qq1xcfcmgf213zg66badpg4d86n7y9x3i1f5lxlbv";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0415y63df86sqj43c0l82and65ia5h64if7n0znkbrmi6y0jwhl8";
|
||||
};
|
||||
};
|
||||
}
|
||||
sup = {
|
||||
version = "0.22.1";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17s2sxismf46zdhgr6g2v53fw9f3sp1ijx7xdw3wx8qpcsgazcgi";
|
||||
};
|
||||
dependencies = ["chronic" "highline" "locale" "lockfile" "mime-types" "ncursesw" "rmail-sup" "trollop" "unicode" "rake" ];
|
||||
};
|
||||
rmail-sup = {
|
||||
version = "1.0.1";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g";
|
||||
};
|
||||
};
|
||||
rake = {
|
||||
version = "11.1.2";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jfmy7kd543ldi3d4fg35a1w7q6jikpnzxqj4bzchfbn94cbabqz";
|
||||
};
|
||||
};
|
||||
ncursesw = {
|
||||
version = "1.4.9";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "154cls3b237imdbhih7rni5p85nw6mpbpkzdw08jxzvqaml7q093";
|
||||
};
|
||||
};
|
||||
mini_portile2 = {
|
||||
version = "2.1.0";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
|
||||
};
|
||||
};
|
||||
mime-types-data = {
|
||||
version = "3.2016.0221";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05ygjn0nnfh6yp1wsi574jckk95wqg9a6g598wk4svvrkmkrzkpn";
|
||||
};
|
||||
};
|
||||
mime-types = {
|
||||
version = "3.0";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1snjc38a9vqvy8j41xld1i1byq9prbl955pbjw7dxqcfcirqlzra";
|
||||
};
|
||||
dependencies = ["mime-types-data"];
|
||||
};
|
||||
lockfile = {
|
||||
version = "2.1.3";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr";
|
||||
};
|
||||
};
|
||||
locale = {
|
||||
version = "2.1.2";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
|
||||
};
|
||||
};
|
||||
highline = {
|
||||
version = "1.7.8";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
|
||||
};
|
||||
};
|
||||
gpgme = {
|
||||
version = "2.0.12";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0a04a76dw9dias0a8rp6dyk3vx2y024gim40lg2md6zdh2m1kx85";
|
||||
};
|
||||
dependencies = ["mini_portile2"];
|
||||
};
|
||||
chronic = {
|
||||
version = "0.9.1";
|
||||
source = {
|
||||
type = "gem";
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,123 +4,123 @@
|
|||
# ruby generate_sources.rb > sources.nix
|
||||
|
||||
{
|
||||
version = "38.7.1";
|
||||
version = "38.7.2";
|
||||
sources = [
|
||||
{ locale = "ar"; arch = "linux-i686"; sha256 = "186ba5f03adc7cb94c69351f5edcf241abdba1a3602f9b140a46682cb94b053c"; }
|
||||
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "7c6308024524c8ba458bb43cace95bdf92dfa7d797c7ff936598257c018e4807"; }
|
||||
{ locale = "ast"; arch = "linux-i686"; sha256 = "61de0fc548ff70367334c82bec580caa895f3db63c6b045c5a717bfa282e69db"; }
|
||||
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "34c935a0b162e182a341699782143cad1e225ea63bf314c158d25f629889c5e1"; }
|
||||
{ locale = "be"; arch = "linux-i686"; sha256 = "4442d37c8bb411c5c151bd98d06a375dc8ffcf72fee4d03bed6ac8691ccd8e2c"; }
|
||||
{ locale = "be"; arch = "linux-x86_64"; sha256 = "e7226b6b42e7cfe4d36c430eca755f5deae8899fd64ea1877ad576f96fe29b8c"; }
|
||||
{ locale = "bg"; arch = "linux-i686"; sha256 = "eaf46e571b55800dfaf63a807236e8bf5fa8e8ba77bc996830ab0dfcdce23300"; }
|
||||
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "62edb0cee78dd88a871355c996107901456f1fb70793d21209e75875c33d91a3"; }
|
||||
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "76e3222d9b7bc4f5948c56be6248deb23c1777550f497f115487e323c16b2f95"; }
|
||||
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "b7ad9dd397abb89b844f8a1adbd34d0dfdea6bb85b3f8ad5d5f297e7f8b1b081"; }
|
||||
{ locale = "br"; arch = "linux-i686"; sha256 = "b10c7e572ba88f79acb2d57988308c5af6fde268f64434956c4312f8a7c3ed42"; }
|
||||
{ locale = "br"; arch = "linux-x86_64"; sha256 = "174f671aa90307e4dd6756d60f37a0b628d7d1cee8c7bb623a1a32c55b26a967"; }
|
||||
{ locale = "ca"; arch = "linux-i686"; sha256 = "b966f3381a30567db88890dd3885c56f9cf367d9c92e192d0c6c79066e482c91"; }
|
||||
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "e5d96ddd9ed6b685b872d90e95bded23124e21575e9e0bcb7aeaa77ef0226009"; }
|
||||
{ locale = "cs"; arch = "linux-i686"; sha256 = "fdbe97bc87656569b20d8154619cd7b3b5c3b03cbbcd7ff2f1e07a3af547bb41"; }
|
||||
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "b24ea0ae2977d9380cadfd130f83971e798677ce956152d794523e90a54222e6"; }
|
||||
{ locale = "cy"; arch = "linux-i686"; sha256 = "ba39bd39698ad0486e22806ff468b9a763712f35e943b93e6021365dc061c2ce"; }
|
||||
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "f51e4dcaeac1aeb53d858d029c34c366e948616f7ca3f35eb22b165fd2839376"; }
|
||||
{ locale = "da"; arch = "linux-i686"; sha256 = "511441bfe56749643f59e10c9219b8c3192d64c50008ee3d8a2dc342993c0133"; }
|
||||
{ locale = "da"; arch = "linux-x86_64"; sha256 = "9f60a1c06da4e61a415359eeaed831d61a8c8ad377952948c1475ee6a2bc0cd3"; }
|
||||
{ locale = "de"; arch = "linux-i686"; sha256 = "d48939ad0dab7c4829cd41cd6afe9239d12ab2a2337296203b660613cbba2698"; }
|
||||
{ locale = "de"; arch = "linux-x86_64"; sha256 = "6b1398161ab1271caa14b20c4ad0b3e4372fca743b4ae2e3d5bd1d77d8038c15"; }
|
||||
{ locale = "dsb"; arch = "linux-i686"; sha256 = "c30f3fea47cca28fcc928d813e8c631db43a665d8f347f174b23ef3c1fdd7550"; }
|
||||
{ locale = "dsb"; arch = "linux-x86_64"; sha256 = "592b18fa8ff3749c7a68b5f5406f5ae42f9f97e47cc8c2f9c18b242c8f192b8d"; }
|
||||
{ locale = "el"; arch = "linux-i686"; sha256 = "1ccdde8b11337e75feabbd1e40f1316c287862769d0b9c37934f22108c74bf1a"; }
|
||||
{ locale = "el"; arch = "linux-x86_64"; sha256 = "acb837b0120f00f6cb39e447e86cb140c0cabbe599bff70d85429126df377d85"; }
|
||||
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "ba4c223c22fda306f4b66daa6ed0d157c5c24489ec7627e1124c9f79b5aca989"; }
|
||||
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "f4bb5a60493f3fbf519a55dc7ff2fa7bb455ad344d27b133addb2864f9d9d100"; }
|
||||
{ locale = "en-US"; arch = "linux-i686"; sha256 = "205729f0ce14666ef98b7e23dad0882d450a508b568fc1d2c99cdfffd2cc9547"; }
|
||||
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "7c7cb801ea902f93e57f944209e1358bcbe73f8ee312112e94ade2a2ef4b1194"; }
|
||||
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "8bbb39afd31656bc7cdab60b179e0a5bb9d9d9fed62e1ad398dfc5c0f40a35ab"; }
|
||||
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "0d86ebebfd2ba294b0f27b5eb84b083a7c8cecc8fea944705525831cf3c161b8"; }
|
||||
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "76673ffb93fb3b902366c5939619dfa11ecd724dc5ff37fe769d598dc937c353"; }
|
||||
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "6e7098cf9eb6f1b55d7504b341b709133fb5d4d20cb761984647422749b71615"; }
|
||||
{ locale = "et"; arch = "linux-i686"; sha256 = "3de2c84af3c7111a306e35f1f7304bf7a77a0e50c8d2c9bfbc896a11a6a23e5d"; }
|
||||
{ locale = "et"; arch = "linux-x86_64"; sha256 = "a2bb5c2b6e174a65cf825293f57cc1628930686f6a674d2cb7fcee6aaf755afc"; }
|
||||
{ locale = "eu"; arch = "linux-i686"; sha256 = "f0ec8c9613ee04c7f7c1b55cb81386036220a715b58edc302e2099882e2c642d"; }
|
||||
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "3ed3c4431fc604fbc05b6f17c9c6e74057278e9ef85480d60ea638843eab1394"; }
|
||||
{ locale = "fi"; arch = "linux-i686"; sha256 = "e4dac93472bc5f41a75daf9ca18265de527b5fc621812bde2c634f1fa5a4692c"; }
|
||||
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "8a30c0c7a586f598e6065f20b2a0dc1e105f59d3e4adac8167da462e8e0193d2"; }
|
||||
{ locale = "fr"; arch = "linux-i686"; sha256 = "adfe8aca07faf08ba780ca0f84d638d461f4a0f00b92d5a9cebe8102a94bce79"; }
|
||||
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "19ccb4a2ec44b1c8edce204627af3d0e84f214591d3b7a4f6e67e297dd9db0f9"; }
|
||||
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "88f763080b2bbfb8957ed6b52189f2195b3317a1bfb851a6e686765e8a12181a"; }
|
||||
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "5955d594802281794ef25e9fda196206464ac0594ce12e957b5c40c589c89ad0"; }
|
||||
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "7fb849565e25b1bba853b434d7f0207bfc9b3f39251f08edf65a8a38ccd0dd96"; }
|
||||
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "b56cd8b5fc665ad24061fdf2ac3196aff9f953395e894007b133bc83f676be33"; }
|
||||
{ locale = "gd"; arch = "linux-i686"; sha256 = "860dca420cd8c6c18bc703ab4934948e038b4e7e91a1d80d3f632980f0799424"; }
|
||||
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "4e8723dacd9a4961f02fece36066166c044880fbc0c7aab4e0f1289a36bd22c6"; }
|
||||
{ locale = "gl"; arch = "linux-i686"; sha256 = "fd071bf547ba0baaf13141e30f34c15108fb6e44432b02d55508cf3dfca91cdb"; }
|
||||
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "b999261eb53e28c5b43fa5d3ffcb2f9c12cca45a38c6e8fc56a342b1a5dda78a"; }
|
||||
{ locale = "he"; arch = "linux-i686"; sha256 = "2c2e7d7a459dd85f88fb3839002e2eb602d47ce5df4d0572928d8a35a0df4773"; }
|
||||
{ locale = "he"; arch = "linux-x86_64"; sha256 = "0c540f0ffb1224c8d3b18423690f319d25ff5e0c004d18cc8bc6b7d69ecbc48a"; }
|
||||
{ locale = "hr"; arch = "linux-i686"; sha256 = "5d7e14f94f53c7623dc4fce69aa991a67792e0d2405a6c7044558d5023ea0cc0"; }
|
||||
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "6355145ae642332d1798f8ce169cb85cc930af6add6c8cda142e8183666fdb71"; }
|
||||
{ locale = "hsb"; arch = "linux-i686"; sha256 = "897eca9ffdbf28f3d3f720dd44f68f67a289e4d2aff91005c180688b34358b08"; }
|
||||
{ locale = "hsb"; arch = "linux-x86_64"; sha256 = "43d2cf464be8be57a5d2bdba1683e6179641448e351d9a8bee9889febe1ebefd"; }
|
||||
{ locale = "hu"; arch = "linux-i686"; sha256 = "5e6b806364d7e97384bf3f30e4f398c8041cd8acc000b21edcf218ca24e1903a"; }
|
||||
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "5b96ea401ec1af9473cc57e4f09f6f264598e52196dd9da38cebe3e802649fc9"; }
|
||||
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "3fbd40d914f9347f09848ffb3486d1cec9734f9ae3cc969bc71a8d9c61aea92b"; }
|
||||
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9f60903ccb571eebdf7fab4c62e1f0675d4c7f5bcbca7589e669c931b355b55a"; }
|
||||
{ locale = "id"; arch = "linux-i686"; sha256 = "bd0e53bb5d792c9caf2aedc67cf1df2281d234905b96748766446e842448e39e"; }
|
||||
{ locale = "id"; arch = "linux-x86_64"; sha256 = "f7bc98632e15fb73c61c5fd54c3e349e93f3f07b61ee92d704b105b05386949d"; }
|
||||
{ locale = "is"; arch = "linux-i686"; sha256 = "6361b21f9a57468cb8e6273805437d4a40f90c0b461d447b17543f84f9cae8c2"; }
|
||||
{ locale = "is"; arch = "linux-x86_64"; sha256 = "df4d4ef5a25a8aa2f9cbbfef2425056c19b568030e2b217f9bb535fcd81cc017"; }
|
||||
{ locale = "it"; arch = "linux-i686"; sha256 = "def27fdc02da10e148b3312199826157b981165a98ea9a3f5135866092e07ad3"; }
|
||||
{ locale = "it"; arch = "linux-x86_64"; sha256 = "3c55c72d8b9936dc0b0ecf2e88024d4e128f4cbdb32ec5770d4caa930e12d696"; }
|
||||
{ locale = "ja"; arch = "linux-i686"; sha256 = "7f1e39da21362857afd57151b0bb606c7a8b52f0ea1362cbb5bf9c4eb9b18db8"; }
|
||||
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "3b70e990616d999c572a9e95f92dc62b004f5449891778a6530ee81dc1f42703"; }
|
||||
{ locale = "ko"; arch = "linux-i686"; sha256 = "7023635ab8fde872b41b08f523128721863091d7bd7e76646ea2f2929a667719"; }
|
||||
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "370075633a30d3f4afbe69c617ecc4df33e51aa95704ef9fff599a13e9cb3ab2"; }
|
||||
{ locale = "lt"; arch = "linux-i686"; sha256 = "f143791c658916ee2ddac2199293ded234cfd8201cd6399775ccb996cb784e18"; }
|
||||
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "5d48abb53a5b71be190dc4c127c5718704fbc12590c2c5fbcf3b4046f9840415"; }
|
||||
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "319df90e458817537f7323e97c3d7fdeb2fd965a215b1173f87378b3c94e3ac7"; }
|
||||
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "2f93a35135f387c8cb2e4ca4b0c800f846596d0f93350f3be0983797a0571359"; }
|
||||
{ locale = "nl"; arch = "linux-i686"; sha256 = "8e3d9003a67a0d38821dae7a070eebe32698ae6a89272394d4f7faea91595360"; }
|
||||
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "bf2bb1676c5966b6fdcf34c93eb3444ed0f3dd6ed03c8e2a39f6757811bf0e7f"; }
|
||||
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "e938fcf2e84bc19d766c89312f8ca8e055ffeaf7fe20ba8d616aeb0b862cd064"; }
|
||||
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ab0b01922e883a34874de33f6eae08a8e4e40d23dd7ddcdf42254386218728e6"; }
|
||||
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "fd3fd9fe5280365a27ef4e81f7965da2e85ad149e4e026f6a8714a73d976eeb2"; }
|
||||
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "6a68c72828036a256a8d04b1678be58c786671ef97f106b23812ebcf149f1d15"; }
|
||||
{ locale = "pl"; arch = "linux-i686"; sha256 = "26bb8ca3617c70d1126ef4111787ab267bc6dcd28b2b995e07b7296bdf24723b"; }
|
||||
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "de6ac16163aab662ba4fef2130dd822ec9cfecc0f4beec54f2017785fec8eb0a"; }
|
||||
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "82c459a487d2a7b156f92db36e85c815c714d59474ed9bd8cde46b08c69f1d57"; }
|
||||
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "1f4caae64ced0c69fe6ba6330921fce0d220b616a0eb8b1e696da85cdcf5ec01"; }
|
||||
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "830b649a394cd844bb1b159a76d265455f6ace76dec6697491367b2f6eff1588"; }
|
||||
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "e89e906cd896c8e04754a9658dc72617954e0a097e6e3b648e5ce827c8cec7d7"; }
|
||||
{ locale = "rm"; arch = "linux-i686"; sha256 = "260fc959ce74945d827c230124a451cec75b6347b78d7d8bbeb65a2bd91f5bd8"; }
|
||||
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "aa416170d0d04d0e2e570d0b0874b6c585d706f8b670de3c24bc5a9ce9819d8d"; }
|
||||
{ locale = "ro"; arch = "linux-i686"; sha256 = "a24ec33c8812921ad0f15dd4306218a2443f7018be5141bcc8e87e0ce3f52929"; }
|
||||
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "5c8bb4872206cacd17cfb77ed3cf58024cdc81be181908213f80659c4d36594b"; }
|
||||
{ locale = "ru"; arch = "linux-i686"; sha256 = "06bde08af3d4b73db3f0a8b87f4f5f3bbc95fd92d717a9ac83efddb7ebc0f12b"; }
|
||||
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "6adf1e6992b05b6c93152bb19a79fe39f319b5a5a62d2491191544eaaabbcc1b"; }
|
||||
{ locale = "si"; arch = "linux-i686"; sha256 = "3f757064e857d8c4d025c0de8325b3bfd81648ac2b77ee11ca847e8ea85d35a5"; }
|
||||
{ locale = "si"; arch = "linux-x86_64"; sha256 = "01147194ad382e4cc61c22c6a2672a01740ced6fdb3d4c2a9394ca9d62503c24"; }
|
||||
{ locale = "sk"; arch = "linux-i686"; sha256 = "ffd8e8bbadb7be4672555f1ec8e4134af5c0898041cc197e1d0081b636d07642"; }
|
||||
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "d1e9df7d081afa272e94534ee3d6310c3498629cd7bba0fd7ab86675ea885714"; }
|
||||
{ locale = "sl"; arch = "linux-i686"; sha256 = "2835ea496c48c171efa0d79924cd3183c12f6de49ce05af72214f6ad4a407c85"; }
|
||||
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "e585b0839c2b31ef12f562c4303b46b392493c6619b7e1b0c92e21c3afdb7461"; }
|
||||
{ locale = "sq"; arch = "linux-i686"; sha256 = "592ece3de096b4135c24e9079f20b85b8c394d488caa6b7907b75d49f51fb30d"; }
|
||||
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "048bcb92d0915b909e2174c990948dd5c50345452369e067bf8c5770bc7b40c4"; }
|
||||
{ locale = "sr"; arch = "linux-i686"; sha256 = "b24e02beeb02d44ba64884864cdfb6605e7b3454b6e953767ceeaf4817f41d95"; }
|
||||
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "caad067689a49308c2e51385750f3d2319e3a06757cf56060ce3c5ecb74a9ed6"; }
|
||||
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "a2dc5de82a1736dd3aa157da305f5db478625508444df244a3492dfaff8278f3"; }
|
||||
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "d2c4ab30e6e5d17716d7981d0039f043a41107edb917a838be66659d60653074"; }
|
||||
{ locale = "ta-LK"; arch = "linux-i686"; sha256 = "58773ebf8d949541a2c19924935eb09f0d996aa4059ad3c17a71c664357c2bcc"; }
|
||||
{ locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "bb5c4d1d81373c1d25c1df4d896fbd1ba52acfed4e890a81650e34e5b9bd2ef0"; }
|
||||
{ locale = "tr"; arch = "linux-i686"; sha256 = "c95f531aaa3d36788cf6511d51afa1242657890bdc10628218aef60d6d80b106"; }
|
||||
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "bf04a4f7b629e20f8389aad530b89b592686bd1a8340090311882934f9bea391"; }
|
||||
{ locale = "uk"; arch = "linux-i686"; sha256 = "2c0c6d3a2d4228b7838864835665ff7d46cf8564d59db817ee1d8f9665828410"; }
|
||||
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "c51477c9aaa96765205c163df83acb003c2db837243225d5d1e8753b1de5b71b"; }
|
||||
{ locale = "vi"; arch = "linux-i686"; sha256 = "3c92aef738962dab12fa0e118d64d29bb0d110f9ef2050630b3649d574036476"; }
|
||||
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "4854536b65fb7afb8925315ff4192c369db53f55b3ccec698cb561af1bc03f68"; }
|
||||
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "3aa69342828a99d075e0b70938d1360dcb9016ad322638c57fba9288e37b9b3e"; }
|
||||
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "9d590c31e369d8e1287c915cb91061f14359329c89e5038e3491052ff3df894a"; }
|
||||
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "f133efa32b74f0203186abfeb5b191bf50711f04bf29762e2569b78e0feb66e3"; }
|
||||
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "15d71526ef072de2b9adacb300e0eb158170839be82a7def9efa6ac55adcda37"; }
|
||||
{ locale = "ar"; arch = "linux-i686"; sha256 = "63cdb91df96bc132e0b9b6c702cdc82b9583a58be11863c76c0a1a04b689b1ed"; }
|
||||
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "d1dc64cc1ca886b81da71e132b31644d89b8f61b4fab5f886c00b3b8defcd49a"; }
|
||||
{ locale = "ast"; arch = "linux-i686"; sha256 = "b71ee84b0e56d7dd9b4cb40032055c8c1f8b4c18e9d679d84b71c226c928a189"; }
|
||||
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "dbb80209a669529b17553d152d5b3ccffbabd5c44b1e6a7e63a2d011e5425a2c"; }
|
||||
{ locale = "be"; arch = "linux-i686"; sha256 = "358cf7d9b9b13cbd5614daa4f140a412e777f2dffe0dfa2673b33582f59e02f9"; }
|
||||
{ locale = "be"; arch = "linux-x86_64"; sha256 = "bd4ac7afafcc4b4a65e34f207f7c07b24be36c06c8e067fb75f4a22ce759fb4b"; }
|
||||
{ locale = "bg"; arch = "linux-i686"; sha256 = "853629b5625f9dd9a81d5f18d862f0f527043435a7c4624f6f78fa68541a5bba"; }
|
||||
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "8d094f3d934d2ca42c38b985145bec7f72b4ddb9af7c31e30413721eaecc934d"; }
|
||||
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "d569e6211c4c011955553f3480fd8530ba6dd853b227859f95b0d8af4d9e8c6e"; }
|
||||
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "5ed4e24f7725864b47dcbb0602463bc95bb33c8e4413483854e0bf3f33ad9376"; }
|
||||
{ locale = "br"; arch = "linux-i686"; sha256 = "683716f591654dfc843a32198d5bbf6199bccb1a035d391293c4877f0ec47b1c"; }
|
||||
{ locale = "br"; arch = "linux-x86_64"; sha256 = "965d58b4ea4280f20d197e28e0e9eb87b29fc955e4f6e15b6582027000d0da6f"; }
|
||||
{ locale = "ca"; arch = "linux-i686"; sha256 = "eadc1248c9352574dcfcdcb3264a662d3a29f85a2f112f77a843f76d8778cba2"; }
|
||||
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "cdd631c4a32d529a85f04bee01bbc7f50396b183a0f154808e801d29f0f11aab"; }
|
||||
{ locale = "cs"; arch = "linux-i686"; sha256 = "093f01ad325ba33f3f33f2efd72fb5cf3a87dd81162b094dc544744af78f3705"; }
|
||||
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "f74b39dfd0d9f2241ea65d55a6e9459296796adf228def80c57dd66c3f05921d"; }
|
||||
{ locale = "cy"; arch = "linux-i686"; sha256 = "f84113f32952ae91a35d2aa166f16c4683e03fa43ce6fbd911d0f7f237b22ee8"; }
|
||||
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "6e53fd624a5c968e60cd485ea7c7b80a68c164c2f165287ec68a180066c560cb"; }
|
||||
{ locale = "da"; arch = "linux-i686"; sha256 = "ff1f79558185d2a29487d15f95140716603f5978e8fcd891206ea0c5697342a0"; }
|
||||
{ locale = "da"; arch = "linux-x86_64"; sha256 = "522c53748cc7ab0faab84e124e45f3bcdb865f4b5312ff129fc50700ebc4d8ef"; }
|
||||
{ locale = "de"; arch = "linux-i686"; sha256 = "3e83bca492c325438f48880d76a259c3fbfa65eac71569a79e1fdff858268621"; }
|
||||
{ locale = "de"; arch = "linux-x86_64"; sha256 = "020655df7c19750f86a7e1778846ed53e2fe350d44a76f4ac0acaeb82c9d4100"; }
|
||||
{ locale = "dsb"; arch = "linux-i686"; sha256 = "3409d2988bb31b2dfc490e03976471e2d09139660a4c08daab518f3095b45170"; }
|
||||
{ locale = "dsb"; arch = "linux-x86_64"; sha256 = "f5d084e8efe87488fed491432d93fb74c7e14b1fbcbc2abf21af6c669110b5bf"; }
|
||||
{ locale = "el"; arch = "linux-i686"; sha256 = "514a3262c1d0e146b3dbfc24d54b73ce0a5e27e02f26692e25ba6e36897da125"; }
|
||||
{ locale = "el"; arch = "linux-x86_64"; sha256 = "924b0e1514cddbad893446bb6561ca9422d46f6f5303fa7f847550f2f92a988f"; }
|
||||
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "1cff7f847a1ca8a52cfc9a733b7e223a8468a82f5ea9c7d8e1c074868a9baf27"; }
|
||||
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "5e803270db14ba348ab7b8697d488d172b774a8d782c22f079db0e8ccda793bf"; }
|
||||
{ locale = "en-US"; arch = "linux-i686"; sha256 = "95428cacb129137747da7cab4c793f102f87a5224ad2a5adc6f52939df746432"; }
|
||||
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "828317d27c4336aebf7122e2e5268697d8d0cdcde9bf874b63798f7fc6f84fd1"; }
|
||||
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "7ec8555eeb01f126671b89fd8dcc46f219bc938cf15ca8b7f67b13a1df38a101"; }
|
||||
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "082c9ace7d6775aff0e0b379206fa5109ce5bac08686ab937b7441edd6e17d6f"; }
|
||||
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "722e87bb5dbde3a7aa6ce5a913622a050a3fd1da822656a787cac6a18881737f"; }
|
||||
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "4420c5d0b773e76bdfa4e4ac842b86f3875ad81dc5b4d0666497a30d77267720"; }
|
||||
{ locale = "et"; arch = "linux-i686"; sha256 = "a3128b1315428ec2906ff44bef49f8f448d7116bae80be7bd68bf78138cf5192"; }
|
||||
{ locale = "et"; arch = "linux-x86_64"; sha256 = "299284d934129a15b70ca9f2d26fb05773d555972b14afe9f65826aaeda7bbf6"; }
|
||||
{ locale = "eu"; arch = "linux-i686"; sha256 = "197ba5387010a6d95fff049d780829526d1676de43f1eaa16be2ae1f04f1601a"; }
|
||||
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "fc8386c294d107994463311d3778ad507a8848af3be8a533fd2c5be7394b9222"; }
|
||||
{ locale = "fi"; arch = "linux-i686"; sha256 = "db764598fb0cec2fdd0e585b3396e53fa873af303c4f9a027061a0179e445705"; }
|
||||
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "ea87a217ec9934fae484a32f4dcc655cac04116c9b0c73e458eaee7e595f2b77"; }
|
||||
{ locale = "fr"; arch = "linux-i686"; sha256 = "e27563fdfcfceb5ed4b2643d63d5c26834ca9afed1d887151671fd13086fd66a"; }
|
||||
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "0ee8fdb3d0a1e50afa5f232fba57d84b97c428c41176e73a712a2438bc3e8796"; }
|
||||
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "a5a785c9ebfb40a7962e29603792de280c57ff5d77f7836c5048074d5c9d4178"; }
|
||||
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "c5bbbb471fc2af310d768e7b01ff1336f78791a42a60b4473cdab00c0bd6e980"; }
|
||||
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "9c18f2677315f8613203dc69a7877b83e787f6c0b96fb150ab7e4ba3ac712e54"; }
|
||||
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "ccfcca939876bcca2e3b9fd81aee747d1c94f0df02f5258c9ae43564f61c7c23"; }
|
||||
{ locale = "gd"; arch = "linux-i686"; sha256 = "60031f3767779568e49ea477fd2677adf0f437d5663a53b7d96203e2cbc85f1e"; }
|
||||
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "1090d5993cfffa923be8a8bb3acb197bd7968c994a1558a1024d81283e9341b2"; }
|
||||
{ locale = "gl"; arch = "linux-i686"; sha256 = "5a67627f06ae51553730e9185a11208f6ba15c421ebc5fa3ba358a341830efae"; }
|
||||
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "2f7d114cfd69859f1cecd479ad00735744efe19b8a3db1be391fcd7dfe6ca757"; }
|
||||
{ locale = "he"; arch = "linux-i686"; sha256 = "f6cd331db9669ec8d910210061e95f2c87e64afe6343f5faaf75a321a5b99471"; }
|
||||
{ locale = "he"; arch = "linux-x86_64"; sha256 = "f665b75ad6ad846c57007e747931b89d773984beedb825c87fcb07a86ab52f9b"; }
|
||||
{ locale = "hr"; arch = "linux-i686"; sha256 = "69b5baa57f47ce77373aa9505b2ccba0baf90911f2c3ebaef28b043b601ad34b"; }
|
||||
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "7bd6d9e36e87cf2e3aadb4fc7dec2dea371004466bc9a84ead3f60a59af38ae8"; }
|
||||
{ locale = "hsb"; arch = "linux-i686"; sha256 = "72cd9a12387bc5dc02783bb6f6a1d55ab8444557e4d2c46c35b93ce0ab0cf394"; }
|
||||
{ locale = "hsb"; arch = "linux-x86_64"; sha256 = "27b60e8cee363317070e74702d9ba97e5d68318caba0e17fc37aad6bf0fbb362"; }
|
||||
{ locale = "hu"; arch = "linux-i686"; sha256 = "b0b8219da55e81f3feb0872333eadd0f490b251fae09244d31287f2e40339861"; }
|
||||
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "fb1b52b27253280f98e01b11e6f46e01d854998831b337a52922b925570ca330"; }
|
||||
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "8474bc4a1fd0f8b27131ed3ba999402e1a56b7e04be157e571b95c470f43e779"; }
|
||||
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e68036c3057ce7c369b43335397c8248e5aac83a6db6e729c8e1116ed57a20a1"; }
|
||||
{ locale = "id"; arch = "linux-i686"; sha256 = "23ea1fb9c64baf835be0a87f7633ee5b87cc05db90a652ca05f17d6b2cb1904c"; }
|
||||
{ locale = "id"; arch = "linux-x86_64"; sha256 = "52584ff6ec72359f44891e630b099fc9114e1266a11cd0d063db5ff6034ed02e"; }
|
||||
{ locale = "is"; arch = "linux-i686"; sha256 = "3e018dd9407823747dce9d32571a390a8fdff11339826bcd68c6879b8edb9c1b"; }
|
||||
{ locale = "is"; arch = "linux-x86_64"; sha256 = "f86a8cd6be21403749607690c467baa126be38e547d1b0e3f50d40477b346fde"; }
|
||||
{ locale = "it"; arch = "linux-i686"; sha256 = "82afb08b29d44aa09da71c454c42d31fbf7ee2756c6f1ddca5c456179e5a7f89"; }
|
||||
{ locale = "it"; arch = "linux-x86_64"; sha256 = "d449b869faf6438697bb7e3f692c9bca6c1a116441b08dbd84e775de62564470"; }
|
||||
{ locale = "ja"; arch = "linux-i686"; sha256 = "02bcacb390dd85bf2e7809751d840fa7c87bb8eac467d9bc2cb50a77559060f9"; }
|
||||
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "8ee832167990dc9546775a1c32518e4524b0f92147ce11e149b0b447932f7ecc"; }
|
||||
{ locale = "ko"; arch = "linux-i686"; sha256 = "374b797f6d662e3deb5a05f6939f650a0ec272f7788cc7dc1a02fc0262e5c903"; }
|
||||
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "e0308132773119f13443ab475d66e651182adf508b7ca04b0efb65fd84013916"; }
|
||||
{ locale = "lt"; arch = "linux-i686"; sha256 = "dce54478d896490141be7f10ef780196ce446e3312cf5623315baedc4354f992"; }
|
||||
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "e4b478609faa58ab0e8de7e2f542290f9ecf268d68f32828182208337523d3f5"; }
|
||||
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "14b2df6e331ae651d1d913c2d7116466df63e9fd24aad02db7a7f3dd010820c4"; }
|
||||
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "779f48e75546babae4ee153ce7d16f93af9daabf70f855dd702281e948a75cba"; }
|
||||
{ locale = "nl"; arch = "linux-i686"; sha256 = "faa6893cff053c090428035964fe67af8ecf9f5b71225678754e96d38d498311"; }
|
||||
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "8a3ddebc51e182175afc272f16bdb7a584d78dd7af8849844f4e02892a439efd"; }
|
||||
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "3298284a9b326eccc05343ec5795034fa46dbfe75458e19d39d23564391840ac"; }
|
||||
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "e1f2da61eaf58f723e0c0021eb728e2a78a8cf36db60353e58d0233c2de60f73"; }
|
||||
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "4cb1c3b16b8d70f19e14a185bfbbc505d66795ddc4d55e1575193dd018c950d6"; }
|
||||
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "72b2c72ee5da9c4b353868efc0431b78feaeb0be8c18eecab6df4cfa0c5c7a3c"; }
|
||||
{ locale = "pl"; arch = "linux-i686"; sha256 = "48e7d195e4b6b9144e32f4a254a40f10c59a167a05ce0f38a013f4b914511d55"; }
|
||||
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "ac6b2064b76b2a5f3cfad6089897126bca7cbf64922b61474eb01b0d65638221"; }
|
||||
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "57aee02d52b638d393df6a824021a1355df83711dc50663cc67a71366004a017"; }
|
||||
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "451de8f95bc2eaf67d1abb7ec604f566e5cb2f6b9a8ae2f2495f10a7157a12eb"; }
|
||||
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "98391cba2a9cfd194cb427243738e588f6de9c112762a6c1e099ba7a4fe621a0"; }
|
||||
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "92eeb485a7da11f1d600371d596c31fff778415784b54ec2fc5ba74199f49ec5"; }
|
||||
{ locale = "rm"; arch = "linux-i686"; sha256 = "f4e3073d31b221dc2fb37162011d6ab9c0980137cd81f0d9bf70384cfda91e4a"; }
|
||||
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "4694fd61f7fe2a1066e08f85f041112076d63cf0fcb99db79c5833d714684388"; }
|
||||
{ locale = "ro"; arch = "linux-i686"; sha256 = "088c29a337c926dcbe11ef19c072624014ae7b59cf0ba2a0b8f25a5a725ec796"; }
|
||||
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "0cb7c16955538ce7089e3aa8e5bc5c3325c4867aadf56837e7e3a05e86c4f482"; }
|
||||
{ locale = "ru"; arch = "linux-i686"; sha256 = "b420443eec07c56afed8435c02c305d355935cb0131b672814878cc9fb0143e6"; }
|
||||
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "5964971c7261ba0619d34ce70d1fcf00aa105f159e2e47853d67fe03579dcbb7"; }
|
||||
{ locale = "si"; arch = "linux-i686"; sha256 = "ffb21e8a7a02ec8ef445735bc519671f3f3bf90f994db750a4d29385d574fd24"; }
|
||||
{ locale = "si"; arch = "linux-x86_64"; sha256 = "1177e20ff9b866c4c7e49a929c1f54c47174f80a8541ad0c98d5e472c4f20d26"; }
|
||||
{ locale = "sk"; arch = "linux-i686"; sha256 = "1309eaf342d7bd7a31c1022183e13e1b02275b01228fbfbd0d5e8b3ef235cceb"; }
|
||||
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "adf736651eab43de2a927cd7ad471042f35eada0a5df4a09c0bbccf75dd17b44"; }
|
||||
{ locale = "sl"; arch = "linux-i686"; sha256 = "102c828dd42872ca9472d94ff842f412bd907be1f4cec8605805fea9f75250e2"; }
|
||||
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "ebb608409f3c4ab44a6818020a826be7c3402977c18b08200df6b332e0a7fd3c"; }
|
||||
{ locale = "sq"; arch = "linux-i686"; sha256 = "ff984951130343fdba5377f91e325e7cd21b7c4e25a524b4a1bc98978842e45c"; }
|
||||
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "15ca7d36207f8e7a80744d0d15966015c8dc395464cf7f70c98b643059f19fcb"; }
|
||||
{ locale = "sr"; arch = "linux-i686"; sha256 = "6c93f80d249ab5558543cc7b13cf72c2abba1da0616a817661f790e5c17c24cd"; }
|
||||
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "3c6c64fbc264d4a3c98ae69c92ea778a87bd84ea23ded7f63117b4c77f93b4d5"; }
|
||||
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "3a82d99b249d9a99d207fc0b1d5a1bd8523833dc61ec09dd917ff427659ec338"; }
|
||||
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "0bf0e9ff45b3d25ef1b31f28b91e30280e8bdb25f864a31ccac795f66e27bb68"; }
|
||||
{ locale = "ta-LK"; arch = "linux-i686"; sha256 = "d346b57092959dbc880c9dc5a8b832dc7967c171ac361aa9b7e77b5589bd4c9e"; }
|
||||
{ locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "6d86d75981ba1850980c3fa498c804dc64b4328c90d12d3a5c13af2f1e47af6d"; }
|
||||
{ locale = "tr"; arch = "linux-i686"; sha256 = "179a67fbb2420615e179d1c69cc5dccf1b135a7c61aea26bda658c724655931f"; }
|
||||
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "bc95ac4b30ae806658218df21f5d9aa6c26b8b8c5fc8a58090de92e347735c58"; }
|
||||
{ locale = "uk"; arch = "linux-i686"; sha256 = "8b49fbe88dcc328b94a99f3b30af9f783910dbcdea1fc5b160526409d56994f7"; }
|
||||
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "2ab49ec5742c07c44028d8aa980a6bd96623c554699037fd64d28cf4744789ce"; }
|
||||
{ locale = "vi"; arch = "linux-i686"; sha256 = "6eecd8d5fa6d6a826fec7a09ba11092348a0fa74c7c7a8c1239f41392d2e2055"; }
|
||||
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "fdb2a25480eee0659803432fea02794f73aa18e9fe5a4b1c1c70ac5aceb09b4f"; }
|
||||
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "64358161ecc5064ee9fd26e301136a58f32b387466d6127604772b59b44f32c5"; }
|
||||
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f9f54927e4ee378f56879b6ffc121d02ad300f6982d7751e730564ed9a9d8c80"; }
|
||||
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "78a6721da743bec597c9dd1e6bededffa43d675784f3585b0d1f03989007f295"; }
|
||||
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "fc3460aae0c3395220644ec0ce8c139512726e62d591ef51f4900ac3c9a9e461"; }
|
||||
];
|
||||
}
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
}:
|
||||
|
||||
let pname = "liferea";
|
||||
version = "1.10.18";
|
||||
version = "1.10.19";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
|
||||
sha256 = "0xyy0qm3h22b69if2hmg36jzvvljxb1w0zy2m2a28kdqfzpa6m8g";
|
||||
sha256 = "1h6x8xd4ldrgw9mbf2gwf7wxi6z34h0d0rnwy9kyskdcgkymvi80";
|
||||
};
|
||||
|
||||
buildInputs = with gst_all_1; [
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{ stdenv, fetchurl, cmake, qt4, pkgconfig, neon, qtkeychain, sqlite }:
|
||||
{ stdenv, fetchurl, cmake, qt4, pkgconfig, qtkeychain, sqlite }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "owncloud-client" + "-" + version;
|
||||
|
||||
version = "1.7.1";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.owncloud.com/desktop/stable/mirall-${version}.tar.bz2";
|
||||
sha256 = "0n9gv97jqval7xjyix2lkywvmvvfv052s0bd1i8kybdl9rwca6yf";
|
||||
url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
|
||||
sha256 = "4e7cfeb72ec565392e7968f352c4a7f0ef2988cc577ebdfd668a3887d320b1cb";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ cmake qt4 pkgconfig neon qtkeychain sqlite];
|
||||
[ cmake qt4 pkgconfig qtkeychain sqlite];
|
||||
|
||||
#configurePhase = ''
|
||||
# mkdir build
|
||||
|
|
|
@ -121,9 +121,14 @@ stdenv.mkDerivation rec {
|
|||
find $ICAInstDir -type f -exec file {} \; |
|
||||
grep 'ELF.*executable' |
|
||||
cut -f 1 -d : |
|
||||
xargs -t -n 1 patchelf \
|
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
--set-rpath "$ICAInstDir:$libPath"
|
||||
while read f
|
||||
do
|
||||
echo "Patching ELF intrepreter and rpath for $f"
|
||||
chmod u+w "$f"
|
||||
patchelf \
|
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
||||
--set-rpath "$ICAInstDir:$libPath" "$f"
|
||||
done
|
||||
|
||||
echo "Wrapping wfica..."
|
||||
mkdir "$out/bin"
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv, fetchurl, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut, libtool }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.66";
|
||||
version = "0.67";
|
||||
name = "putty-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://the.earth.li/~sgtatham/putty/latest/${name}.tar.gz";
|
||||
sha256 = "14r9yfqjs61l82q09m8zifgcxrzvs6dvgx32ndl5i1jldkv14wzy";
|
||||
sha256 = "0isak6dy5vmfzf9ckcq6jvhgrn3xfmfcmziaa7g2jqm4x1c286c0";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, intltool, glib, gtk, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
|
||||
, webkit, glibcLocales, gsettings_desktop_schemas, makeWrapper, dconf, file
|
||||
, gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers
|
||||
, pango, gdk_pixbuf
|
||||
}:
|
||||
|
||||
/*
|
||||
|
@ -78,7 +79,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
# The following settings fix failures in the test suite. It's not required otherwise.
|
||||
NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib}/lib";
|
||||
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ guile glib gtk pango gdk_pixbuf ];
|
||||
preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
|
||||
doCheck = true;
|
||||
|
||||
|
|
|
@ -12,14 +12,14 @@ let
|
|||
then "i386"
|
||||
else "amd64";
|
||||
|
||||
shortVersion = "1.16-stable";
|
||||
shortVersion = "1.16.1-stable";
|
||||
|
||||
version = "${shortVersion}_${arch}";
|
||||
|
||||
url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
|
||||
sha256 = if stdenv.system == arch32
|
||||
then "da56abe0e0e86d868d305119f06cf6d14273d2f65e5c135fc2d190ca599b3cb6"
|
||||
else "e9c2f026fd267db34396ff5f24bce9c6a4beba530bd8b40265a792d417282fba";
|
||||
then "0lsmaw8zzyfvndsz1awz3vl5cdvsik9wc3ck8983y20awh7r9f4m"
|
||||
else "12p6rgxiqajnfgd8nmknyb8icdkln727sshba8x1xlxakxg5c4q4";
|
||||
|
||||
deps = [
|
||||
gcc.cc
|
||||
|
|
|
@ -1,21 +1,39 @@
|
|||
{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext }:
|
||||
{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext, glew, cairo, openssl, boost, pkgconfig, doxygen }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kicad-20131025";
|
||||
name = "kicad-${series}";
|
||||
series = "4.0";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchbzr {
|
||||
url = "https://code.launchpad.net/kicad/stable";
|
||||
rev = 4024;
|
||||
sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5";
|
||||
};
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "https://code.launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
|
||||
sha256 = "1fcf91fmxj6ha3mm6gzdb0px50j58m80p8wrncm8ca9shj36kbif";
|
||||
})
|
||||
|
||||
srcLibrary = fetchbzr {
|
||||
url = "http://bazaar.launchpad.net/~kicad-product-committers/kicad/library";
|
||||
rev = 293;
|
||||
sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i";
|
||||
};
|
||||
(fetchurl {
|
||||
url = "http://downloads.kicad-pcb.org/libraries/kicad-library-${version}.tar.gz";
|
||||
sha256 = "1xk9sxxb3d42chdysqmvizrjcbm0467q7nsq5cahq3j1hci49m6l";
|
||||
})
|
||||
|
||||
cmakeFlags = "-DKICAD_STABLE_VERSION=ON";
|
||||
(fetchurl {
|
||||
url = "http://downloads.kicad-pcb.org/libraries/kicad-footprints-${version}.tar.gz";
|
||||
sha256 = "0vrzykgxx423iwgz6186bi8724kmbi5wfl92gfwb3r6mqammgwpg";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = "kicad-${version}";
|
||||
|
||||
cmakeFlags = ''
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DKICAD_SKIP_BOOST=ON
|
||||
-DKICAD_BUILD_VERSION=${version}
|
||||
-DKICAD_REPO_NAME=stable
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory
|
||||
|
||||
buildInputs = [ cmake mesa wxGTK zlib libX11 gettext glew cairo openssl boost pkgconfig doxygen ];
|
||||
|
||||
# They say they only support installs to /usr or /usr/local,
|
||||
# so we have to handle this.
|
||||
|
@ -23,17 +41,26 @@ stdenv.mkDerivation rec {
|
|||
sed -i -e 's,/usr/local/kicad,'$out,g common/gestfich.cpp
|
||||
'';
|
||||
|
||||
#enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory
|
||||
|
||||
buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ];
|
||||
postUnpack = ''
|
||||
pushd $(pwd)
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir library
|
||||
cd library
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$out $srcLibrary
|
||||
popd
|
||||
|
||||
pushd kicad-library-*
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$out
|
||||
make $MAKE_FLAGS
|
||||
make install
|
||||
popd
|
||||
|
||||
pushd kicad-footprints-*
|
||||
mkdir -p $out/share/kicad/modules
|
||||
cp -R *.pretty $out/share/kicad/modules/
|
||||
popd
|
||||
'';
|
||||
|
||||
|
||||
meta = {
|
||||
description = "Free Software EDA Suite";
|
||||
homepage = "http://www.kicad-pcb.org/";
|
||||
|
|
|
@ -2,20 +2,18 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "picosat-${version}";
|
||||
version = "960";
|
||||
version = "965";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://fmv.jku.at/picosat/${name}.tar.gz";
|
||||
sha256 = "05z8cfjk84mkna5ryqlq2jiksjifg3jhlgbijaq36sbn0i51iczd";
|
||||
sha256 = "0m578rpa5rdn08d10kr4lbsdwp4402hpavrz6n7n53xs517rn5hm";
|
||||
};
|
||||
|
||||
dontAddPrefix = true;
|
||||
configureFlags = "--shared";
|
||||
configurePhase = "./configure.sh --shared --trace";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib $out/include/picosat
|
||||
cp picomus "$out"/bin
|
||||
cp picosat "$out"/bin
|
||||
cp picomus picomcs picosat picogcnf "$out"/bin
|
||||
|
||||
cp libpicosat.a "$out"/lib
|
||||
cp libpicosat.so "$out"/lib
|
||||
|
|
|
@ -1,71 +1,66 @@
|
|||
x@{builderDefsPackage
|
||||
, sbcl, zlib
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{stdenv, fetchurl, ocaml, zlib, which, eprover, makeWrapper, coq}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "satallax-${version}";
|
||||
version = "2.7";
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
baseName="satallax";
|
||||
version="1.4";
|
||||
name="${baseName}-${version}";
|
||||
url="http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz";
|
||||
hash="0l8dq4nyfw2bdsyqmgb4v6fjw3739p8nqv4bh2gh2924ibzrq5fc";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
buildInputs = [ocaml zlib which eprover makeWrapper coq];
|
||||
src = fetchurl {
|
||||
url = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz";
|
||||
sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
preConfigure = ''
|
||||
mkdir fake-tools
|
||||
echo "echo 'Nix-build-host.localdomain'" > fake-tools/hostname
|
||||
chmod a+x fake-tools/hostname
|
||||
export PATH="$PATH:$PWD/fake-tools"
|
||||
|
||||
phaseNames = ["doDeployMinisat" "doDeploy"];
|
||||
|
||||
doDeployMinisat = a.fullDepEntry (''
|
||||
(
|
||||
cd minisat/simp
|
||||
cd picosat-*
|
||||
./configure
|
||||
make
|
||||
)
|
||||
export PATH="$PATH:$PWD/libexec/satallax"
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
cp minisat/simp/minisat "$out/bin"
|
||||
mkdir -p "$out/libexec/satallax"
|
||||
cp picosat-*/picosat picosat-*/picomus "$out/libexec/satallax"
|
||||
|
||||
echo "(setq *minisat-binary* \"$out/bin/minisat\")" > config.lisp
|
||||
(
|
||||
cd minisat
|
||||
export MROOT=$PWD
|
||||
cd core
|
||||
make
|
||||
cd ../simp
|
||||
make
|
||||
)
|
||||
'';
|
||||
|
||||
'') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
|
||||
doDeploy = a.fullDepEntry (''
|
||||
mkdir -p "$out/share/satallax/build-dir"
|
||||
cp -r * "$out/share/satallax/build-dir"
|
||||
cd "$out/share/satallax/build-dir"
|
||||
postBuild = "echo testing; ! (bash ./test | grep ERROR)";
|
||||
|
||||
sbcl --load make.lisp
|
||||
! ( ./test | grep ERROR )
|
||||
installPhase = ''
|
||||
mkdir -p "$out/share/doc/satallax" "$out/bin" "$out/lib" "$out/lib/satallax"
|
||||
cp bin/satallax.opt "$out/bin/satallax"
|
||||
wrapProgram "$out/bin/satallax" \
|
||||
--suffix PATH : "${coq}/bin:${eprover}/bin:$out/libexec/satallax" \
|
||||
--add-flags "-M" --add-flags "$out/lib/satallax/modes"
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
cp bin/satallax "$out/bin"
|
||||
'') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
|
||||
cp LICENSE README "$out/share/doc/satallax"
|
||||
|
||||
cp bin/*.so "$out/lib"
|
||||
|
||||
cp -r modes "$out/lib/satallax/"
|
||||
cp -r problems "$out/lib/satallax/"
|
||||
cp -r coq* "$out/lib/satallax/"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A higher-order logic prover";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
unix;
|
||||
license = a.lib.licenses.free;
|
||||
homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
|
||||
inherit version;
|
||||
description = ''Automated theorem prover for higher-order logic'';
|
||||
license = stdenv.lib.licenses.mit ;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads.php";
|
||||
homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/index.php";
|
||||
updateWalker = true;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "why3-${version}";
|
||||
version = "0.86.3";
|
||||
version = "0.87.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://gforge.inria.fr/frs/download.php/file/35537/why3-0.86.3.tar.gz;
|
||||
sha256 = "0sph6i4ga9450bk60wpm5cq3psw3g8xprnac7yjfq64iqz1dyz03";
|
||||
url = https://gforge.inria.fr/frs/download.php/file/35643/why3-0.87.0.tar.gz;
|
||||
sha256 = "0c3vhcb70ay7iwvmq0m25fqh38y40c5x7mki4r9pxf13vgbs3xb0";
|
||||
};
|
||||
|
||||
buildInputs = (with ocamlPackages; [
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
{ stdenv, writeText, fetchurl,
|
||||
libpng, fftw,
|
||||
mpiSupport ? false, mpi ? null
|
||||
}:
|
||||
|
||||
assert mpiSupport -> mpi != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
# LAMMPS has weird versioning converted to ISO 8601 format
|
||||
version = "2016-02-16";
|
||||
name = "lammps-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/lammps/lammps-16Feb16.tar.gz";
|
||||
sha256 = "1yzfbkxma3xa1288rnn66h4w0smbmjkwq1fx1y60pjiw0prmk105";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit mpi;
|
||||
};
|
||||
|
||||
buildInputs = [ fftw libpng ]
|
||||
++ (stdenv.lib.optionals mpiSupport [ mpi ]);
|
||||
|
||||
# Must do manual build due to LAMMPS requiring a seperate build for
|
||||
# the libraries and executable
|
||||
builder = writeText "builder.sh" ''
|
||||
source $stdenv/setup
|
||||
|
||||
tar xzf $src
|
||||
cd lammps-*/src
|
||||
make mode=exe ${if mpiSupport then "mpi" else "serial"} SHELL=$SHELL LMP_INC="-DLAMMPS_GZIP -DLAMMPS_PNG" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng
|
||||
make mode=shlib ${if mpiSupport then "mpi" else "serial"} SHELL=$SHELL LMP_INC="-DLAMMPS_GZIP -DLAMMPS_PNG" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -v lmp_* $out/bin/lammps
|
||||
|
||||
mkdir -p $out/lib
|
||||
cp -v liblammps* $out/lib/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Classical Molecular Dynamics simulation code";
|
||||
longDescription = ''
|
||||
LAMMPS is a classical molecular dynamics simulation code designed to
|
||||
run efficiently on parallel computers. It was developed at Sandia
|
||||
National Laboratories, a US Department of Energy facility, with
|
||||
funding from the DOE. It is an open-source code, distributed freely
|
||||
under the terms of the GNU Public License (GPL).
|
||||
'';
|
||||
homepage = "http://lammps.sandia.gov";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
, ApplicationServices, cf-private }:
|
||||
|
||||
let
|
||||
version = "3.7.1";
|
||||
version = "3.7.3";
|
||||
name = "mercurial-${version}";
|
||||
in
|
||||
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
|||
|
||||
src = fetchurl {
|
||||
url = "http://mercurial.selenic.com/release/${name}.tar.gz";
|
||||
sha256 = "1vfgqlb8z2k1vcx2nvcianxmml79cqqqncchw6aj40sa8hgpvlwn";
|
||||
sha256 = "0c2vkad9piqkggyk8y310rf619qgdfcwswnk3nv21mg2fhnw96f0";
|
||||
};
|
||||
|
||||
inherit python; # pass it so that the same version can be used in hg2git
|
||||
|
|
|
@ -142,14 +142,14 @@ in
|
|||
|
||||
plugin = "svtplay";
|
||||
namespace = "plugin.video.svtplay";
|
||||
version = "4.0.23";
|
||||
version = "4.0.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = plugin + "-" + version + ".tar.gz";
|
||||
owner = "nilzen";
|
||||
repo = "xbmc-" + plugin;
|
||||
rev = "80b6d241adb046c105ceb63d637da3f7f3684f1a";
|
||||
sha256 = "1236kanzl4dra78whpwic1r5iifaj3f27qycia9jr54z01id083s";
|
||||
rev = "e66e2af6529e3ffd030ad486c849894a9ffdeb45";
|
||||
sha256 = "01nq6gac83q6ayhqcj1whvk58pzrm1haw801s321f4vc8gswag56";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -58,12 +58,12 @@ let
|
|||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "mpv-${meta.version}";
|
||||
name = "mpv-${version}";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mpv-player/mpv/archive/v${meta.version}.tar.gz";
|
||||
sha256 = "1p0b83048g66icpz5n66v3k4ldr1z0rmg5d2rr7kcbspm1xj2cbx";
|
||||
url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
|
||||
sha256 = "1fiqxx85s418qynq2fp0v7cpzrz8j285hwmc4fqgn5ny1vg1jdpw";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -129,7 +129,6 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
version = "0.15.0";
|
||||
description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
|
||||
homepage = http://mpv.io;
|
||||
license = licenses.gpl2Plus;
|
||||
|
|
25
pkgs/applications/video/qgifer/default.nix
Normal file
25
pkgs/applications/video/qgifer/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ stdenv, fetchsvn, cmake, opencv, qt, giflib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qgifer-${version}";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "https://svn.code.sf.net/p/qgifer/code/tags/${name}";
|
||||
sha256 = "0fv40n58xjwfr06ix9ga79hs527rrzfaq1sll3n2xxchpgf3wf4f";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt --replace "SET(CMAKE_INSTALL_PREFIX" "#"
|
||||
'';
|
||||
|
||||
buildInputs = [ cmake opencv qt giflib ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Video-based animated GIF creator";
|
||||
homepage = https://sourceforge.net/projects/qgifer/;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.andrewrk ];
|
||||
};
|
||||
}
|
|
@ -19,7 +19,7 @@ buildPythonApplication rec {
|
|||
|
||||
propagatedBuildInputs =
|
||||
[ eventlet greenlet gflags netaddr carrot routes
|
||||
PasteDeploy m2crypto ipy twisted sqlalchemy_migrate_0_7
|
||||
PasteDeploy m2crypto ipy twisted
|
||||
distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
|
||||
urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
|
||||
libvirt libxml2Python ipaddr vte libosinfo gobjectIntrospection gtk3 mox
|
||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
pythonPath = with pythonPackages;
|
||||
[ setuptools eventlet greenlet gflags netaddr carrot routes
|
||||
PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
|
||||
PasteDeploy m2crypto ipy twisted
|
||||
distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
|
||||
# !!! should libvirt be a build-time dependency? Note that
|
||||
# libxml2Python is a dependency of libvirt.py.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue