Merge remote-tracking branch 'upstream/master' into hardened-stdenv
This commit is contained in:
commit
f60c9df0ba
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,7 +1,10 @@
|
|||||||
###### Things done:
|
###### Things done:
|
||||||
|
|
||||||
- [ ] Tested using sandboxing (`nix-build --option build-use-chroot true` or [nix.useChroot](http://nixos.org/nixos/manual/options.html#opt-nix.useChroot) on NixOS)
|
- [ ] Tested using sandboxing (`nix-build --option build-use-chroot true` or [nix.useChroot](http://nixos.org/nixos/manual/options.html#opt-nix.useChroot) on NixOS)
|
||||||
- [ ] Built on platform(s): NixOS / OSX / Linux
|
- Built on platform(s)
|
||||||
|
- [ ] NixOS
|
||||||
|
- [ ] OS X
|
||||||
|
- [ ] Linux
|
||||||
- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run "nox-review wip"`
|
- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run "nox-review wip"`
|
||||||
- [ ] Tested execution of all binary files (usually in `./result/bin/`)
|
- [ ] Tested execution of all binary files (usually in `./result/bin/`)
|
||||||
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).
|
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).
|
||||||
|
@ -6,4 +6,4 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins.
|
|||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
import ./pkgs/top-level/all-packages.nix
|
import ./pkgs/top-level
|
||||||
|
@ -23,22 +23,8 @@ such as Perl or Haskell. These are described in this chapter.</para>
|
|||||||
<xi:include href="idris.xml" /> <!-- generated from ../../pkgs/development/idris-modules/README.md -->
|
<xi:include href="idris.xml" /> <!-- generated from ../../pkgs/development/idris-modules/README.md -->
|
||||||
<xi:include href="r.xml" /> <!-- generated from ../../pkgs/development/r-modules/README.md -->
|
<xi:include href="r.xml" /> <!-- generated from ../../pkgs/development/r-modules/README.md -->
|
||||||
<xi:include href="qt.xml" />
|
<xi:include href="qt.xml" />
|
||||||
|
<xi:include href="texlive.xml" />
|
||||||
|
|
||||||
<!--
|
|
||||||
<section><title>Haskell</title>
|
|
||||||
|
|
||||||
<para>TODO</para>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section><title>TeX / LaTeX</title>
|
|
||||||
|
|
||||||
<para>* Special support for building TeX documents</para>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
|
@ -12,25 +12,26 @@
|
|||||||
<screen>
|
<screen>
|
||||||
<![CDATA[$ cd pkgs/servers/monitoring
|
<![CDATA[$ cd pkgs/servers/monitoring
|
||||||
$ mkdir sensu
|
$ mkdir sensu
|
||||||
|
$ cd sensu
|
||||||
$ cat > Gemfile
|
$ cat > Gemfile
|
||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
gem 'sensu'
|
gem 'sensu'
|
||||||
$ bundler package --path /tmp/vendor/bundle
|
$ nix-shell -p bundler --command "bundler package --path /tmp/vendor/bundle"
|
||||||
$ $(nix-build '<nixpkgs>' -A bundix)/bin/bundix
|
$ $(nix-build '<nixpkgs>' -A bundix)/bin/bundix
|
||||||
$ cat > default.nix
|
$ cat > default.nix
|
||||||
{ lib, bundlerEnv, ruby }:
|
{ lib, bundlerEnv, ruby }:
|
||||||
|
|
||||||
bundlerEnv {
|
bundlerEnv rec {
|
||||||
name = "sensu-0.17.1";
|
name = "sensu-${version}";
|
||||||
|
|
||||||
|
version = (import gemset).sensu.version;
|
||||||
inherit ruby;
|
inherit ruby;
|
||||||
gemfile = ./Gemfile;
|
gemfile = ./Gemfile;
|
||||||
lockfile = ./Gemfile.lock;
|
lockfile = ./Gemfile.lock;
|
||||||
gemset = ./gemset.nix;
|
gemset = ./gemset.nix;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A monitoring framework that aims to be simple, malleable,
|
description = "A monitoring framework that aims to be simple, malleable, and scalable";
|
||||||
and scalable.";
|
|
||||||
homepage = http://sensuapp.org/;
|
homepage = http://sensuapp.org/;
|
||||||
license = with licenses; mit;
|
license = with licenses; mit;
|
||||||
maintainers = with maintainers; [ theuni ];
|
maintainers = with maintainers; [ theuni ];
|
||||||
|
59
doc/languages-frameworks/texlive.xml
Normal file
59
doc/languages-frameworks/texlive.xml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xml:id="sec-language-texlive">
|
||||||
|
|
||||||
|
<title>TeX Live</title>
|
||||||
|
|
||||||
|
<para>Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute <varname>texlive</varname>.</para>
|
||||||
|
<section><title>User's guide</title>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
For basic usage just pull <varname>texlive.combined.scheme-basic</varname> for an environment with basic LaTeX support.</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
It typically won't work to use separately installed packages together.
|
||||||
|
Instead, you can build a custom set of packages like this:
|
||||||
|
<programlisting>
|
||||||
|
texlive.combine {
|
||||||
|
inherit (texlive) scheme-small collection-langkorean algorithms cm-super;
|
||||||
|
}
|
||||||
|
</programlisting>
|
||||||
|
There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
By default you only get executables and files needed during runtime, and a little documentation for the core packages. To change that, you need to add <varname>pkgFilter</varname> function to <varname>combine</varname>.
|
||||||
|
<programlisting>
|
||||||
|
texlive.combine {
|
||||||
|
# inherit (texlive) whatever-you-want;
|
||||||
|
pkgFilter = pkg:
|
||||||
|
pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super";
|
||||||
|
# elem tlType [ "run" "bin" "doc" "source" ]
|
||||||
|
# there are also other attributes: version, name
|
||||||
|
}
|
||||||
|
</programlisting>
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
You can list packages e.g. by <command>nix-repl</command>.
|
||||||
|
<programlisting>
|
||||||
|
$ nix-repl
|
||||||
|
nix-repl> texlive.collection-<TAB>
|
||||||
|
</programlisting>
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section><title>Known problems</title>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
Some tools are still missing, e.g. luajittex;</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
some apps aren't packaged/tested yet (asymptote, biber, etc.);</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
feature/bug: when a package is rejected by <varname>pkgFilter</varname>, its dependencies are still propagated;</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
@ -12,6 +12,7 @@
|
|||||||
abbradar = "Nikolay Amiantov <ab@fmap.me>";
|
abbradar = "Nikolay Amiantov <ab@fmap.me>";
|
||||||
aboseley = "Adam Boseley <adam.boseley@gmail.com>";
|
aboseley = "Adam Boseley <adam.boseley@gmail.com>";
|
||||||
adev = "Adrien Devresse <adev@adev.name>";
|
adev = "Adrien Devresse <adev@adev.name>";
|
||||||
|
Adjective-Object = "Maxwell Huang-Hobbs <mhuan13@gmail.com>";
|
||||||
aespinosa = "Allan Espinosa <allan.espinosa@outlook.com>";
|
aespinosa = "Allan Espinosa <allan.espinosa@outlook.com>";
|
||||||
aflatter = "Alexander Flatter <flatter@fastmail.fm>";
|
aflatter = "Alexander Flatter <flatter@fastmail.fm>";
|
||||||
aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
|
aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
|
||||||
@ -59,6 +60,7 @@
|
|||||||
bodil = "Bodil Stokke <nix@bodil.org>";
|
bodil = "Bodil Stokke <nix@bodil.org>";
|
||||||
boothead = "Ben Ford <ben@perurbis.com>";
|
boothead = "Ben Ford <ben@perurbis.com>";
|
||||||
bosu = "Boris Sukholitko <boriss@gmail.com>";
|
bosu = "Boris Sukholitko <boriss@gmail.com>";
|
||||||
|
bradediger = "Brad Ediger <brad@bradediger.com>";
|
||||||
bramd = "Bram Duvigneau <bram@bramd.nl>";
|
bramd = "Bram Duvigneau <bram@bramd.nl>";
|
||||||
bstrik = "Berno Strik <dutchman55@gmx.com>";
|
bstrik = "Berno Strik <dutchman55@gmx.com>";
|
||||||
bzizou = "Bruno Bzeznik <Bruno@bzizou.net>";
|
bzizou = "Bruno Bzeznik <Bruno@bzizou.net>";
|
||||||
@ -250,6 +252,7 @@
|
|||||||
olcai = "Erik Timan <dev@timan.info>";
|
olcai = "Erik Timan <dev@timan.info>";
|
||||||
orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
|
orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
|
||||||
osener = "Ozan Sener <ozan@ozansener.com>";
|
osener = "Ozan Sener <ozan@ozansener.com>";
|
||||||
|
otwieracz = "Slawomir Gonet <slawek@otwiera.cz>";
|
||||||
oxij = "Jan Malakhovski <oxij@oxij.org>";
|
oxij = "Jan Malakhovski <oxij@oxij.org>";
|
||||||
page = "Carles Pagès <page@cubata.homelinux.net>";
|
page = "Carles Pagès <page@cubata.homelinux.net>";
|
||||||
paholg = "Paho Lurie-Gregg <paho@paholg.com>";
|
paholg = "Paho Lurie-Gregg <paho@paholg.com>";
|
||||||
@ -257,6 +260,7 @@
|
|||||||
palo = "Ingolf Wanger <palipalo9@googlemail.com>";
|
palo = "Ingolf Wanger <palipalo9@googlemail.com>";
|
||||||
pashev = "Igor Pashev <pashev.igor@gmail.com>";
|
pashev = "Igor Pashev <pashev.igor@gmail.com>";
|
||||||
pesterhazy = "Paulus Esterhazy <pesterhazy@gmail.com>";
|
pesterhazy = "Paulus Esterhazy <pesterhazy@gmail.com>";
|
||||||
|
peterhoeg = "Peter Hoeg <peter@hoeg.com>";
|
||||||
philandstuff = "Philip Potter <philip.g.potter@gmail.com>";
|
philandstuff = "Philip Potter <philip.g.potter@gmail.com>";
|
||||||
phile314 = "Philipp Hausmann <nix@314.ch>";
|
phile314 = "Philipp Hausmann <nix@314.ch>";
|
||||||
Phlogistique = "Noé Rubinstein <noe.rubinstein@gmail.com>";
|
Phlogistique = "Noé Rubinstein <noe.rubinstein@gmail.com>";
|
||||||
@ -275,6 +279,7 @@
|
|||||||
psibi = "Sibi <sibi@psibi.in>";
|
psibi = "Sibi <sibi@psibi.in>";
|
||||||
pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
|
pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
|
||||||
puffnfresh = "Brian McKenna <brian@brianmckenna.org>";
|
puffnfresh = "Brian McKenna <brian@brianmckenna.org>";
|
||||||
|
pxc = "Patrick Callahan <patrick.callahan@latitudeengineering.com>";
|
||||||
qknight = "Joachim Schiele <js@lastlog.de>";
|
qknight = "Joachim Schiele <js@lastlog.de>";
|
||||||
ragge = "Ragnar Dahlen <r.dahlen@gmail.com>";
|
ragge = "Ragnar Dahlen <r.dahlen@gmail.com>";
|
||||||
raskin = "Michael Raskin <7c6f434c@mail.ru>";
|
raskin = "Michael Raskin <7c6f434c@mail.ru>";
|
||||||
@ -295,6 +300,7 @@
|
|||||||
rushmorem = "Rushmore Mushambi <rushmore@webenchanter.com>";
|
rushmorem = "Rushmore Mushambi <rushmore@webenchanter.com>";
|
||||||
rvl = "Rodney Lorrimar <dev+nix@rodney.id.au>";
|
rvl = "Rodney Lorrimar <dev+nix@rodney.id.au>";
|
||||||
rvlander = "Gaëtan André <rvlander@gaetanandre.eu>";
|
rvlander = "Gaëtan André <rvlander@gaetanandre.eu>";
|
||||||
|
ryanartecona = "Ryan Artecona <ryanartecona@gmail.com>";
|
||||||
ryantm = "Ryan Mulligan <ryan@ryantm.com>";
|
ryantm = "Ryan Mulligan <ryan@ryantm.com>";
|
||||||
rycee = "Robert Helgesson <robert@rycee.net>";
|
rycee = "Robert Helgesson <robert@rycee.net>";
|
||||||
samuelrivas = "Samuel Rivas <samuelrivas@gmail.com>";
|
samuelrivas = "Samuel Rivas <samuelrivas@gmail.com>";
|
||||||
@ -346,6 +352,7 @@
|
|||||||
tv = "Tomislav Viljetić <tv@shackspace.de>";
|
tv = "Tomislav Viljetić <tv@shackspace.de>";
|
||||||
tvestelind = "Tomas Vestelind <tomas.vestelind@fripost.org>";
|
tvestelind = "Tomas Vestelind <tomas.vestelind@fripost.org>";
|
||||||
twey = "James ‘Twey’ Kay <twey@twey.co.uk>";
|
twey = "James ‘Twey’ Kay <twey@twey.co.uk>";
|
||||||
|
uralbash = "Svintsov Dmitry <root@uralbash.ru>";
|
||||||
urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
|
urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
|
||||||
vandenoever = "Jos van den Oever <jos@vandenoever.info>";
|
vandenoever = "Jos van den Oever <jos@vandenoever.info>";
|
||||||
vanzef = "Ivan Solyankin <vanzef@gmail.com>";
|
vanzef = "Ivan Solyankin <vanzef@gmail.com>";
|
||||||
|
@ -187,6 +187,7 @@ in rec {
|
|||||||
--param man.output.in.separate.dir 1 \
|
--param man.output.in.separate.dir 1 \
|
||||||
--param man.output.base.dir "'$out/share/man/'" \
|
--param man.output.base.dir "'$out/share/man/'" \
|
||||||
--param man.endnotes.are.numbered 0 \
|
--param man.endnotes.are.numbered 0 \
|
||||||
|
--param man.break.after.slash 1 \
|
||||||
${docbook5_xsl}/xml/xsl/docbook/manpages/docbook.xsl \
|
${docbook5_xsl}/xml/xsl/docbook/manpages/docbook.xsl \
|
||||||
./man-pages.xml
|
./man-pages.xml
|
||||||
'';
|
'';
|
||||||
|
@ -262,6 +262,18 @@ services.syncthing = {
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>networking.firewall.allowPing</literal> is now enabled by
|
||||||
|
default. Users are encourarged to configure an approiate rate limit for
|
||||||
|
their machines using the Kernel interface at
|
||||||
|
<filename>/proc/sys/net/ipv4/icmp_ratelimit</filename> and
|
||||||
|
<filename>/proc/sys/net/ipv6/icmp/ratelimit</filename> or using the
|
||||||
|
firewall itself, i.e. by setting the NixOS option
|
||||||
|
<literal>networking.firewall.pingLimit</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,12 +22,13 @@
|
|||||||
, # Shell code executed after the VM has finished.
|
, # Shell code executed after the VM has finished.
|
||||||
postVM ? ""
|
postVM ? ""
|
||||||
|
|
||||||
|
, name ? "nixos-disk-image"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
pkgs.vmTools.runInLinuxVM (
|
pkgs.vmTools.runInLinuxVM (
|
||||||
pkgs.runCommand "nixos-disk-image"
|
pkgs.runCommand name
|
||||||
{ preVM =
|
{ preVM =
|
||||||
''
|
''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
|
|
||||||
, # The volume ID.
|
, # The volume ID.
|
||||||
volumeID ? ""
|
volumeID ? ""
|
||||||
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert bootable -> bootImage != "";
|
assert bootable -> bootImage != "";
|
||||||
@ -47,7 +46,7 @@ assert efiBootable -> efiBootImage != "";
|
|||||||
assert usbBootable -> isohybridMbrImage != "";
|
assert usbBootable -> isohybridMbrImage != "";
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "iso9660-image";
|
name = isoName;
|
||||||
builder = ./make-iso9660-image.sh;
|
builder = ./make-iso9660-image.sh;
|
||||||
buildInputs = [perl xorriso syslinux];
|
buildInputs = [perl xorriso syslinux];
|
||||||
|
|
||||||
|
@ -133,3 +133,4 @@ fi
|
|||||||
|
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo $system > $out/nix-support/system
|
echo $system > $out/nix-support/system
|
||||||
|
echo "file iso $out/iso/$isoName" >> $out/nix-support/hydra-build-products
|
||||||
|
@ -103,7 +103,7 @@ in
|
|||||||
hardware.opengl.extraPackages32 = mkOption {
|
hardware.opengl.extraPackages32 = mkOption {
|
||||||
type = types.listOf types.package;
|
type = types.listOf types.package;
|
||||||
default = [];
|
default = [];
|
||||||
example = literalExample "with pkgs; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]";
|
example = literalExample "with pkgs.pkgsi686Linux; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]";
|
||||||
description = ''
|
description = ''
|
||||||
Additional packages to add to 32-bit OpenGL drivers on
|
Additional packages to add to 32-bit OpenGL drivers on
|
||||||
64-bit systems. Used when <option>driSupport32Bit</option> is
|
64-bit systems. Used when <option>driSupport32Bit</option> is
|
||||||
|
@ -176,7 +176,6 @@
|
|||||||
seeks = 148;
|
seeks = 148;
|
||||||
prosody = 149;
|
prosody = 149;
|
||||||
i2pd = 150;
|
i2pd = 150;
|
||||||
dnscrypt-proxy = 151;
|
|
||||||
systemd-network = 152;
|
systemd-network = 152;
|
||||||
systemd-resolve = 153;
|
systemd-resolve = 153;
|
||||||
systemd-timesync = 154;
|
systemd-timesync = 154;
|
||||||
@ -255,6 +254,9 @@
|
|||||||
avahi-autoipd = 231;
|
avahi-autoipd = 231;
|
||||||
nntp-proxy = 232;
|
nntp-proxy = 232;
|
||||||
mjpg-streamer = 233;
|
mjpg-streamer = 233;
|
||||||
|
radicale = 234;
|
||||||
|
hydra-queue-runner = 235;
|
||||||
|
hydra-www = 236;
|
||||||
|
|
||||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||||
|
|
||||||
@ -411,7 +413,6 @@
|
|||||||
seeks = 148;
|
seeks = 148;
|
||||||
prosody = 149;
|
prosody = 149;
|
||||||
i2pd = 150;
|
i2pd = 150;
|
||||||
dnscrypt-proxy = 151;
|
|
||||||
systemd-network = 152;
|
systemd-network = 152;
|
||||||
systemd-resolve = 153;
|
systemd-resolve = 153;
|
||||||
systemd-timesync = 154;
|
systemd-timesync = 154;
|
||||||
@ -483,6 +484,7 @@
|
|||||||
cfdyndns = 227;
|
cfdyndns = 227;
|
||||||
pdnsd = 229;
|
pdnsd = 229;
|
||||||
octoprint = 230;
|
octoprint = 230;
|
||||||
|
radicale = 234;
|
||||||
|
|
||||||
# When adding a gid, make sure it doesn't match an existing
|
# When adding a gid, make sure it doesn't match an existing
|
||||||
# uid. Users and groups with the same name should have equal
|
# uid. Users and groups with the same name should have equal
|
||||||
|
@ -114,6 +114,7 @@
|
|||||||
./services/backup/rsnapshot.nix
|
./services/backup/rsnapshot.nix
|
||||||
./services/backup/sitecopy-backup.nix
|
./services/backup/sitecopy-backup.nix
|
||||||
./services/backup/tarsnap.nix
|
./services/backup/tarsnap.nix
|
||||||
|
./services/backup/znapzend.nix
|
||||||
./services/cluster/fleet.nix
|
./services/cluster/fleet.nix
|
||||||
./services/cluster/kubernetes.nix
|
./services/cluster/kubernetes.nix
|
||||||
./services/cluster/panamax.nix
|
./services/cluster/panamax.nix
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
pkgs.ddrescue
|
pkgs.ddrescue
|
||||||
pkgs.ccrypt
|
pkgs.ccrypt
|
||||||
pkgs.cryptsetup # needed for dm-crypt volumes
|
pkgs.cryptsetup # needed for dm-crypt volumes
|
||||||
pkgs.which # 88K size
|
|
||||||
|
|
||||||
# Some networking tools.
|
# Some networking tools.
|
||||||
pkgs.fuse
|
pkgs.fuse
|
||||||
|
@ -56,7 +56,7 @@ in
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
shellAliases = mkOption {
|
shellAliases = mkOption {
|
||||||
default = config.environment.shellAliases;
|
default = config.environment.shellAliases // { which = "type -P"; };
|
||||||
description = ''
|
description = ''
|
||||||
Set of aliases for bash shell. See <option>environment.shellAliases</option>
|
Set of aliases for bash shell. See <option>environment.shellAliases</option>
|
||||||
for an option format description.
|
for an option format description.
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
let
|
let
|
||||||
msg = "Importing <nixpkgs/nixos/modules/programs/virtualbox.nix> is "
|
msg = "Importing <nixpkgs/nixos/modules/programs/virtualbox.nix> is "
|
||||||
+ "deprecated, please use `services.virtualboxHost.enable = true' "
|
+ "deprecated, please use `virtualisation.virtualbox.host.enable = true' "
|
||||||
+ "instead.";
|
+ "instead.";
|
||||||
in {
|
in {
|
||||||
config.warnings = [ msg ];
|
config.warnings = [ msg ];
|
||||||
config.services.virtualboxHost.enable = true;
|
config.virtualisation.virtualbox.host.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -111,6 +111,7 @@ with lib;
|
|||||||
(mkRemovedOptionModule [ "services" "openvpn" "enable" ])
|
(mkRemovedOptionModule [ "services" "openvpn" "enable" ])
|
||||||
(mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ])
|
(mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ])
|
||||||
(mkRemovedOptionModule [ "services" "printing" "cupsdConf" ])
|
(mkRemovedOptionModule [ "services" "printing" "cupsdConf" ])
|
||||||
|
(mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ])
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,14 @@ with lib;
|
|||||||
ensureDir ${crashplan.vardir}/cache 700
|
ensureDir ${crashplan.vardir}/cache 700
|
||||||
ensureDir ${crashplan.vardir}/backupArchives 700
|
ensureDir ${crashplan.vardir}/backupArchives 700
|
||||||
ensureDir ${crashplan.vardir}/log 777
|
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
|
||||||
|
true;
|
||||||
|
else
|
||||||
|
ln -s ${crashplan}/$x ${crashplan.vardir}/$x;
|
||||||
|
fi;
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
36
nixos/modules/services/backup/znapzend.nix
Normal file
36
nixos/modules/services/backup/znapzend.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.znapzend;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.znapzend = {
|
||||||
|
enable = mkEnableOption "ZnapZend daemon";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.znapzend ];
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
"znapzend" = {
|
||||||
|
description = "ZnapZend - ZFS Backup System";
|
||||||
|
after = [ "zfs.target" ];
|
||||||
|
|
||||||
|
path = with pkgs; [ znapzend zfs mbuffer openssh ];
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
znapzend
|
||||||
|
'';
|
||||||
|
|
||||||
|
reload = ''
|
||||||
|
/bin/kill -HUP $MAINPID
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
@ -98,8 +98,8 @@ in
|
|||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.dovecot22;
|
default = pkgs.dovecot;
|
||||||
defaultText = "pkgs.dovecot22";
|
defaultText = "pkgs.dovecot";
|
||||||
description = "Dovecot package to use.";
|
description = "Dovecot package to use.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -104,6 +104,7 @@ in {
|
|||||||
systemd.services.dspam = {
|
systemd.services.dspam = {
|
||||||
description = "dspam spam filtering daemon";
|
description = "dspam spam filtering daemon";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "postgresql.service" ];
|
||||||
restartTriggers = [ cfgfile ];
|
restartTriggers = [ cfgfile ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
@ -114,7 +115,7 @@ in {
|
|||||||
RuntimeDirectoryMode = optional (cfg.domainSocket == defaultSock) "0750";
|
RuntimeDirectoryMode = optional (cfg.domainSocket == defaultSock) "0750";
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
# DSPAM segfaults on just about every error
|
# DSPAM segfaults on just about every error
|
||||||
Restart = "on-failure";
|
Restart = "on-abort";
|
||||||
RestartSec = "1s";
|
RestartSec = "1s";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,9 +12,9 @@ with lib;
|
|||||||
|
|
||||||
sendmailSetuidWrapper = mkOption {
|
sendmailSetuidWrapper = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
|
internal = true;
|
||||||
description = ''
|
description = ''
|
||||||
Configuration for the sendmail setuid wrwapper (like an element of
|
Configuration for the sendmail setuid wapper.
|
||||||
security.setuidOwners)";
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,6 +114,7 @@ in {
|
|||||||
}) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf);
|
}) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf);
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
Type = "notify";
|
||||||
ExecStart = "${pkgs.etcd}/bin/etcd";
|
ExecStart = "${pkgs.etcd}/bin/etcd";
|
||||||
User = "etcd";
|
User = "etcd";
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
|
@ -206,12 +206,6 @@ in {
|
|||||||
description = "Gitlab database user.";
|
description = "Gitlab database user.";
|
||||||
};
|
};
|
||||||
|
|
||||||
emailFrom = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "example@example.org";
|
|
||||||
description = "The source address for emails sent by gitlab.";
|
|
||||||
};
|
|
||||||
|
|
||||||
host = mkOption {
|
host = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = config.networking.hostName;
|
default = config.networking.hostName;
|
||||||
|
@ -39,7 +39,7 @@ let
|
|||||||
build-users-group = nixbld
|
build-users-group = nixbld
|
||||||
build-max-jobs = ${toString (cfg.maxJobs)}
|
build-max-jobs = ${toString (cfg.maxJobs)}
|
||||||
build-cores = ${toString (cfg.buildCores)}
|
build-cores = ${toString (cfg.buildCores)}
|
||||||
build-use-chroot = ${if cfg.useChroot then "true" else "false"}
|
build-use-chroot = ${if (builtins.isBool cfg.useChroot) then (if cfg.useChroot then "true" else "false") else cfg.useChroot}
|
||||||
build-chroot-dirs = ${toString cfg.chrootDirs} /bin/sh=${sh} $(echo $extraPaths)
|
build-chroot-dirs = ${toString cfg.chrootDirs} /bin/sh=${sh} $(echo $extraPaths)
|
||||||
binary-caches = ${toString cfg.binaryCaches}
|
binary-caches = ${toString cfg.binaryCaches}
|
||||||
trusted-binary-caches = ${toString cfg.trustedBinaryCaches}
|
trusted-binary-caches = ${toString cfg.trustedBinaryCaches}
|
||||||
@ -99,7 +99,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
useChroot = mkOption {
|
useChroot = mkOption {
|
||||||
type = types.bool;
|
type = types.either types.bool (types.enum ["relaxed"]);
|
||||||
default = false;
|
default = false;
|
||||||
description = "
|
description = "
|
||||||
If set, Nix will perform builds in a chroot-environment that it
|
If set, Nix will perform builds in a chroot-environment that it
|
||||||
|
@ -5,13 +5,17 @@ let
|
|||||||
apparmorEnabled = config.security.apparmor.enable;
|
apparmorEnabled = config.security.apparmor.enable;
|
||||||
dnscrypt-proxy = pkgs.dnscrypt-proxy;
|
dnscrypt-proxy = pkgs.dnscrypt-proxy;
|
||||||
cfg = config.services.dnscrypt-proxy;
|
cfg = config.services.dnscrypt-proxy;
|
||||||
|
|
||||||
resolverListFile = "${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv";
|
resolverListFile = "${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv";
|
||||||
localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
|
localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
|
||||||
|
|
||||||
daemonArgs =
|
daemonArgs =
|
||||||
[ "--local-address=${localAddress}"
|
[ "--local-address=${localAddress}"
|
||||||
(optionalString cfg.tcpOnly "--tcp-only")
|
(optionalString cfg.tcpOnly "--tcp-only")
|
||||||
|
(optionalString cfg.ephemeralKeys "-E")
|
||||||
]
|
]
|
||||||
++ resolverArgs;
|
++ resolverArgs;
|
||||||
|
|
||||||
resolverArgs = if (cfg.customResolver != null)
|
resolverArgs = if (cfg.customResolver != null)
|
||||||
then
|
then
|
||||||
[ "--resolver-address=${cfg.customResolver.address}:${toString cfg.customResolver.port}"
|
[ "--resolver-address=${cfg.customResolver.address}:${toString cfg.customResolver.port}"
|
||||||
@ -27,43 +31,63 @@ in
|
|||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
services.dnscrypt-proxy = {
|
services.dnscrypt-proxy = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption "dnscrypt-proxy" // { description = ''
|
||||||
Enable dnscrypt-proxy. The proxy relays regular DNS queries to a
|
Whether to enable the DNSCrypt client proxy. The proxy relays
|
||||||
DNSCrypt enabled upstream resolver. The traffic between the
|
DNS queries to a DNSCrypt enabled upstream resolver. The traffic
|
||||||
client and the upstream resolver is encrypted and authenticated,
|
between the client and the upstream resolver is encrypted and
|
||||||
which may mitigate the risk of MITM attacks and third-party
|
authenticated, mitigating the risk of MITM attacks and third-party
|
||||||
snooping (assuming the upstream is trustworthy).
|
snooping (assuming the upstream is trustworthy).
|
||||||
'';
|
|
||||||
|
Enabling this option does not alter the system nameserver; to relay
|
||||||
|
local queries, prepend <literal>127.0.0.1</literal> to
|
||||||
|
<option>networking.nameservers</option>.
|
||||||
|
|
||||||
|
The recommended configuration is to run DNSCrypt proxy as a forwarder
|
||||||
|
for a caching DNS client, as in
|
||||||
|
<programlisting>
|
||||||
|
{
|
||||||
|
services.dnscrypt-proxy.enable = true;
|
||||||
|
services.dnscrypt-proxy.localPort = 43;
|
||||||
|
services.dnsmasq.enable = true;
|
||||||
|
services.dnsmasq.servers = [ "127.0.0.1#43" ];
|
||||||
|
services.dnsmasq.resolveLocalQueries = true; # this is the default
|
||||||
|
}
|
||||||
|
</programlisting>
|
||||||
|
''; };
|
||||||
localAddress = mkOption {
|
localAddress = mkOption {
|
||||||
default = "127.0.0.1";
|
default = "127.0.0.1";
|
||||||
type = types.string;
|
type = types.string;
|
||||||
description = ''
|
description = ''
|
||||||
Listen for DNS queries on this address.
|
Listen for DNS queries to relay on this address. The only reason to
|
||||||
|
change this from its default value is to proxy queries on behalf
|
||||||
|
of other machines (typically on the local network).
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
localPort = mkOption {
|
localPort = mkOption {
|
||||||
default = 53;
|
default = 53;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = ''
|
description = ''
|
||||||
Listen on this port.
|
Listen for DNS queries to relay on this port. The default value
|
||||||
|
assumes that the DNSCrypt proxy should relay DNS queries directly.
|
||||||
|
When running as a forwarder for another DNS client, set this option
|
||||||
|
to a different value; otherwise leave the default.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
resolverName = mkOption {
|
resolverName = mkOption {
|
||||||
default = "cisco";
|
default = "dnscrypt.eu-nl";
|
||||||
type = types.nullOr types.string;
|
type = types.nullOr types.string;
|
||||||
description = ''
|
description = ''
|
||||||
The name of the upstream DNSCrypt resolver to use. See
|
The name of the upstream DNSCrypt resolver to use. See
|
||||||
<literal>${resolverListFile}</literal> for alternative resolvers
|
<filename>${resolverListFile}</filename> for alternative resolvers.
|
||||||
(e.g., if you are concerned about logging and/or server
|
The default resolver is located in Holland, supports DNS security
|
||||||
location).
|
extensions, and claims to not keep logs.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
customResolver = mkOption {
|
customResolver = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Use a resolver not listed in the upstream list (e.g.,
|
Use an unlisted resolver (e.g., a private DNSCrypt provider). For
|
||||||
a private DNSCrypt provider). For advanced users only.
|
advanced users only. If specified, this option takes precedence.
|
||||||
If specified, this option takes precedence.
|
|
||||||
'';
|
'';
|
||||||
type = types.nullOr (types.submodule ({ ... }: { options = {
|
type = types.nullOr (types.submodule ({ ... }: { options = {
|
||||||
address = mkOption {
|
address = mkOption {
|
||||||
@ -85,15 +109,26 @@ in
|
|||||||
type = types.str;
|
type = types.str;
|
||||||
description = "Provider public key";
|
description = "Provider public key";
|
||||||
example = "B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79";
|
example = "B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79";
|
||||||
}; }; }));
|
};
|
||||||
|
}; }));
|
||||||
};
|
};
|
||||||
tcpOnly = mkOption {
|
tcpOnly = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = ''
|
description = ''
|
||||||
Force sending encrypted DNS queries to the upstream resolver
|
Force sending encrypted DNS queries to the upstream resolver over
|
||||||
over TCP instead of UDP (on port 443). Enabling this option may
|
TCP instead of UDP (on port 443). Use only if the UDP port is blocked.
|
||||||
help circumvent filtering, but should not be used otherwise.
|
'';
|
||||||
|
};
|
||||||
|
ephemeralKeys = mkOption {
|
||||||
|
default = false;
|
||||||
|
type = types.bool;
|
||||||
|
description = ''
|
||||||
|
Compute a new key pair for every query. Enabling this option
|
||||||
|
increases CPU usage, but makes it more difficult for the upstream
|
||||||
|
resolver to track your usage of their service across IP addresses.
|
||||||
|
The default is to re-use the public key pair for all queries, making
|
||||||
|
tracking trivial.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -138,11 +173,12 @@ in
|
|||||||
}
|
}
|
||||||
''));
|
''));
|
||||||
|
|
||||||
users.extraUsers.dnscrypt-proxy = {
|
users.users.dnscrypt-proxy = {
|
||||||
uid = config.ids.uids.dnscrypt-proxy;
|
|
||||||
description = "dnscrypt-proxy daemon user";
|
description = "dnscrypt-proxy daemon user";
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "dnscrypt-proxy";
|
||||||
};
|
};
|
||||||
users.extraGroups.dnscrypt-proxy.gid = config.ids.gids.dnscrypt-proxy;
|
users.groups.dnscrypt-proxy = {};
|
||||||
|
|
||||||
systemd.sockets.dnscrypt-proxy = {
|
systemd.sockets.dnscrypt-proxy = {
|
||||||
description = "dnscrypt-proxy listening socket";
|
description = "dnscrypt-proxy listening socket";
|
||||||
@ -155,16 +191,21 @@ in
|
|||||||
|
|
||||||
systemd.services.dnscrypt-proxy = {
|
systemd.services.dnscrypt-proxy = {
|
||||||
description = "dnscrypt-proxy daemon";
|
description = "dnscrypt-proxy daemon";
|
||||||
|
|
||||||
after = [ "network.target" ] ++ optional apparmorEnabled "apparmor.service";
|
after = [ "network.target" ] ++ optional apparmorEnabled "apparmor.service";
|
||||||
requires = [ "dnscrypt-proxy.socket "] ++ optional apparmorEnabled "apparmor.service";
|
requires = [ "dnscrypt-proxy.socket "] ++ optional apparmorEnabled "apparmor.service";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
NonBlocking = "true";
|
NonBlocking = "true";
|
||||||
ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
|
ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
|
||||||
|
|
||||||
User = "dnscrypt-proxy";
|
User = "dnscrypt-proxy";
|
||||||
Group = "dnscrypt-proxy";
|
Group = "dnscrypt-proxy";
|
||||||
|
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
PrivateDevices = true;
|
PrivateDevices = true;
|
||||||
|
ProtectHome = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -338,7 +338,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowPing = mkOption {
|
networking.firewall.allowPing = mkOption {
|
||||||
default = false;
|
default = true;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -64,8 +64,7 @@ in
|
|||||||
|
|
||||||
systemd.services.iodined = {
|
systemd.services.iodined = {
|
||||||
description = "iodine, ip over dns daemon";
|
description = "iodine, ip over dns daemon";
|
||||||
after = [ "network.target" ];
|
wantedBy = [ "ip-up.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig.ExecStart = "${pkgs.iodine}/sbin/iodined -f -u ${iodinedUser} ${cfg.extraConfig} ${cfg.ip} ${cfg.domain}";
|
serviceConfig.ExecStart = "${pkgs.iodine}/sbin/iodined -f -u ${iodinedUser} ${cfg.extraConfig} ${cfg.ip} ${cfg.domain}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -35,12 +35,27 @@ in
|
|||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = [ pkgs.pythonPackages.radicale ];
|
environment.systemPackages = [ pkgs.pythonPackages.radicale ];
|
||||||
|
|
||||||
|
users.extraUsers = singleton
|
||||||
|
{ name = "radicale";
|
||||||
|
uid = config.ids.uids.radicale;
|
||||||
|
description = "radicale user";
|
||||||
|
home = "/var/lib/radicale";
|
||||||
|
createHome = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.extraGroups = singleton
|
||||||
|
{ name = "radicale";
|
||||||
|
gid = config.ids.gids.radicale;
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.radicale = {
|
systemd.services.radicale = {
|
||||||
description = "A Simple Calendar and Contact Server";
|
description = "A Simple Calendar and Contact Server";
|
||||||
after = [ "network-interfaces.target" ];
|
after = [ "network-interfaces.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
script = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -d";
|
script = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -d";
|
||||||
serviceConfig.Type = "forking";
|
serviceConfig.Type = "forking";
|
||||||
|
serviceConfig.User = "radicale";
|
||||||
|
serviceConfig.Group = "radicale";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -311,7 +311,9 @@ in
|
|||||||
[ ! -e "/var/lib/cups/$i" ] && ln -s "${rootdir}/etc/cups/$i" "/var/lib/cups/$i"
|
[ ! -e "/var/lib/cups/$i" ] && ln -s "${rootdir}/etc/cups/$i" "/var/lib/cups/$i"
|
||||||
done
|
done
|
||||||
${optionalString cfg.gutenprint ''
|
${optionalString cfg.gutenprint ''
|
||||||
${gutenprint}/bin/cups-genppdupdate -p /etc/cups/ppd
|
if [ -d /var/lib/cups/ppd ]; then
|
||||||
|
${gutenprint}/bin/cups-genppdupdate -p /var/lib/cups/ppd
|
||||||
|
fi
|
||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -32,17 +32,27 @@ let
|
|||||||
self = pythonPackages;
|
self = pythonPackages;
|
||||||
};
|
};
|
||||||
|
|
||||||
json = builtins.toJSON {
|
penv = python.buildEnv.override {
|
||||||
|
extraLibs = (c.pythonPackages or (self: [])) pythonPackages;
|
||||||
|
};
|
||||||
|
|
||||||
|
uwsgiCfg = {
|
||||||
uwsgi =
|
uwsgi =
|
||||||
if c.type == "normal"
|
if c.type == "normal"
|
||||||
then {
|
then {
|
||||||
inherit plugins;
|
inherit plugins;
|
||||||
} // removeAttrs c [ "type" "pythonPackages" ]
|
} // removeAttrs c [ "type" "pythonPackages" ]
|
||||||
// optionalAttrs (python != null) {
|
// optionalAttrs (python != null) {
|
||||||
pythonpath = "@PYTHONPATH@";
|
pythonpath = "${penv}/${python.sitePackages}";
|
||||||
env = (c.env or {}) // {
|
env =
|
||||||
PATH = optionalString (c ? env.PATH) "${c.env.PATH}:" + "@PATH@";
|
# Argh, uwsgi expects list of key-values there instead of a dictionary.
|
||||||
};
|
let env' = c.env or [];
|
||||||
|
getPath =
|
||||||
|
x: if hasPrefix "PATH=" x
|
||||||
|
then substring (stringLength "PATH=") (stringLength x) x
|
||||||
|
else null;
|
||||||
|
oldPaths = filter (x: x != null) (map getPath env');
|
||||||
|
in env' ++ [ "PATH=${optionalString (oldPaths != []) "${last oldPaths}:"}${penv}/bin" ];
|
||||||
}
|
}
|
||||||
else if c.type == "emperor"
|
else if c.type == "emperor"
|
||||||
then {
|
then {
|
||||||
@ -55,35 +65,7 @@ let
|
|||||||
else throw "`type` attribute in UWSGI configuration should be either 'normal' or 'emperor'";
|
else throw "`type` attribute in UWSGI configuration should be either 'normal' or 'emperor'";
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in pkgs.writeTextDir "${name}.json" (builtins.toJSON uwsgiCfg);
|
||||||
if python == null || c.type != "normal"
|
|
||||||
then pkgs.writeTextDir "${name}.json" json
|
|
||||||
else pkgs.stdenv.mkDerivation {
|
|
||||||
name = "uwsgi-config";
|
|
||||||
inherit json;
|
|
||||||
passAsFile = [ "json" ];
|
|
||||||
nativeBuildInputs = [ pythonPackages.wrapPython ];
|
|
||||||
pythonInputs = (c.pythonPackages or (self: [])) pythonPackages;
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir $out
|
|
||||||
declare -A pythonPathsSeen=()
|
|
||||||
program_PYTHONPATH=
|
|
||||||
program_PATH=
|
|
||||||
if [ -n "$pythonInputs" ]; then
|
|
||||||
for i in $pythonInputs; do
|
|
||||||
_addToPythonPath $i
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
# A hack to replace "@PYTHONPATH@" with a JSON list
|
|
||||||
if [ -n "$program_PYTHONPATH" ]; then
|
|
||||||
program_PYTHONPATH="\"''${program_PYTHONPATH//:/\",\"}\""
|
|
||||||
fi
|
|
||||||
substitute $jsonPath $out/${name}.json \
|
|
||||||
--replace '"@PYTHONPATH@"' "[$program_PYTHONPATH]" \
|
|
||||||
--subst-var-by PATH "$program_PATH"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
@ -49,17 +49,6 @@ let
|
|||||||
fi
|
fi
|
||||||
''}
|
''}
|
||||||
|
|
||||||
${optionalString cfg.startGnuPGAgent ''
|
|
||||||
if test -z "$SSH_AUTH_SOCK"; then
|
|
||||||
# Restart this script as a child of the GnuPG agent.
|
|
||||||
exec "${pkgs.gnupg}/bin/gpg-agent" \
|
|
||||||
--enable-ssh-support --daemon \
|
|
||||||
--pinentry-program "${pkgs.pinentry}/bin/pinentry-gtk-2" \
|
|
||||||
--write-env-file "$HOME/.gpg-agent-info" \
|
|
||||||
"$0" "$sessionType"
|
|
||||||
fi
|
|
||||||
''}
|
|
||||||
|
|
||||||
# Handle being called by kdm.
|
# Handle being called by kdm.
|
||||||
if test "''${1:0:1}" = /; then eval exec "$1"; fi
|
if test "''${1:0:1}" = /; then eval exec "$1"; fi
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ in
|
|||||||
imports = [
|
imports = [
|
||||||
./afterstep.nix
|
./afterstep.nix
|
||||||
./bspwm.nix
|
./bspwm.nix
|
||||||
./clfswm.nix
|
|
||||||
./compiz.nix
|
./compiz.nix
|
||||||
./dwm.nix
|
./dwm.nix
|
||||||
./exwm.nix
|
./exwm.nix
|
||||||
|
@ -160,7 +160,7 @@ in
|
|||||||
[ '''
|
[ '''
|
||||||
Identifier "Trackpoint Wheel Emulation"
|
Identifier "Trackpoint Wheel Emulation"
|
||||||
MatchProduct "ThinkPad USB Keyboard with TrackPoint"
|
MatchProduct "ThinkPad USB Keyboard with TrackPoint"
|
||||||
Option "EmulateWheel" "true
|
Option "EmulateWheel" "true"
|
||||||
Option "EmulateWheelButton" "2"
|
Option "EmulateWheelButton" "2"
|
||||||
Option "Emulate3Buttons" "false"
|
Option "Emulate3Buttons" "false"
|
||||||
'''
|
'''
|
||||||
@ -219,17 +219,6 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
startGnuPGAgent = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to start the GnuPG agent when you log in. The GnuPG agent
|
|
||||||
remembers private keys for you so that you don't have to type in
|
|
||||||
passphrases every time you make an SSH connection or sign/encrypt
|
|
||||||
data. Use <command>ssh-add</command> to add a key to the agent.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
startDbusSession = mkOption {
|
startDbusSession = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
@ -444,14 +433,7 @@ in
|
|||||||
in optional (driver != null) ({ inherit name; driverName = name; } // driver));
|
in optional (driver != null) ({ inherit name; driverName = name; } // driver));
|
||||||
|
|
||||||
assertions =
|
assertions =
|
||||||
[ { assertion = !(config.programs.ssh.startAgent && cfg.startGnuPGAgent);
|
[ { assertion = config.security.polkit.enable;
|
||||||
message =
|
|
||||||
''
|
|
||||||
The OpenSSH agent and GnuPG agent cannot be started both. Please
|
|
||||||
choose between ‘programs.ssh.startAgent’ and ‘services.xserver.startGnuPGAgent’.
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
{ assertion = config.security.polkit.enable;
|
|
||||||
message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’).";
|
message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’).";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -33,7 +33,8 @@ with lib;
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.systemd.coredump.enable {
|
config = mkMerge [
|
||||||
|
(mkIf config.systemd.coredump.enable {
|
||||||
|
|
||||||
environment.etc."systemd/coredump.conf".text =
|
environment.etc."systemd/coredump.conf".text =
|
||||||
''
|
''
|
||||||
@ -45,7 +46,11 @@ with lib;
|
|||||||
# From systemd's 50-coredump.conf file. See:
|
# From systemd's 50-coredump.conf file. See:
|
||||||
# <https://github.com/systemd/systemd/blob/v218/sysctl.d/50-coredump.conf.in>
|
# <https://github.com/systemd/systemd/blob/v218/sysctl.d/50-coredump.conf.in>
|
||||||
boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %p %u %g %s %t %e";
|
boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %p %u %g %s %t %e";
|
||||||
|
})
|
||||||
|
|
||||||
};
|
(mkIf (!config.systemd.coredump.enable) {
|
||||||
|
boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -882,10 +882,8 @@ in
|
|||||||
optionalString hasBonds "options bonding max_bonds=0";
|
optionalString hasBonds "options bonding max_bonds=0";
|
||||||
|
|
||||||
boot.kernel.sysctl = {
|
boot.kernel.sysctl = {
|
||||||
"net.net.ipv4.conf.all.promote_secondaries" = true;
|
|
||||||
"net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6);
|
"net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6);
|
||||||
"net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
|
"net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
|
||||||
"net.ipv4.conf.all_forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
|
|
||||||
"net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
|
"net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
|
||||||
} // listToAttrs (concatLists (flip map (filter (i: i.proxyARP) interfaces)
|
} // listToAttrs (concatLists (flip map (filter (i: i.proxyARP) interfaces)
|
||||||
(i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))
|
(i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))
|
||||||
|
@ -22,7 +22,9 @@ in {
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
system.build.virtualBoxImage = import ../../lib/make-disk-image.nix {
|
system.build.virtualBoxOVA = import ../../lib/make-disk-image.nix {
|
||||||
|
name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}";
|
||||||
|
|
||||||
inherit pkgs lib config;
|
inherit pkgs lib config;
|
||||||
partitioned = true;
|
partitioned = true;
|
||||||
diskSize = cfg.baseImageSize;
|
diskSize = cfg.baseImageSize;
|
||||||
@ -37,19 +39,13 @@ in {
|
|||||||
postVM =
|
postVM =
|
||||||
''
|
''
|
||||||
echo "creating VirtualBox disk image..."
|
echo "creating VirtualBox disk image..."
|
||||||
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vdi $diskImage $out/disk.vdi
|
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vdi $diskImage disk.vdi
|
||||||
rm $diskImage
|
rm $diskImage
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
system.build.virtualBoxOVA = pkgs.runCommand "virtualbox-ova"
|
|
||||||
{ buildInputs = [ pkgs.linuxPackages.virtualbox ];
|
|
||||||
vmName = "NixOS ${config.system.nixosLabel} (${pkgs.stdenv.system})";
|
|
||||||
fileName = "nixos-image-${config.system.nixosLabel}-${pkgs.stdenv.system}.ova";
|
|
||||||
}
|
|
||||||
''
|
|
||||||
echo "creating VirtualBox VM..."
|
echo "creating VirtualBox VM..."
|
||||||
export HOME=$PWD
|
export HOME=$PWD
|
||||||
|
export PATH=${pkgs.linuxPackages.virtualbox}/bin:$PATH
|
||||||
|
vmName="NixOS ${config.system.nixosLabel} (${pkgs.stdenv.system})"
|
||||||
VBoxManage createvm --name "$vmName" --register \
|
VBoxManage createvm --name "$vmName" --register \
|
||||||
--ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
|
--ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
|
||||||
VBoxManage modifyvm "$vmName" \
|
VBoxManage modifyvm "$vmName" \
|
||||||
@ -61,12 +57,17 @@ in {
|
|||||||
--usb on --mouse usbtablet
|
--usb on --mouse usbtablet
|
||||||
VBoxManage storagectl "$vmName" --name SATA --add sata --portcount 4 --bootable on --hostiocache on
|
VBoxManage storagectl "$vmName" --name SATA --add sata --portcount 4 --bootable on --hostiocache on
|
||||||
VBoxManage storageattach "$vmName" --storagectl SATA --port 0 --device 0 --type hdd \
|
VBoxManage storageattach "$vmName" --storagectl SATA --port 0 --device 0 --type hdd \
|
||||||
--medium ${config.system.build.virtualBoxImage}/disk.vdi
|
--medium disk.vdi
|
||||||
|
|
||||||
echo "exporting VirtualBox VM..."
|
echo "exporting VirtualBox VM..."
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
VBoxManage export "$vmName" --output "$out/$fileName"
|
fn="$out/nixos-${config.system.nixosLabel}-${pkgs.stdenv.system}.ova"
|
||||||
|
VBoxManage export "$vmName" --output "$fn"
|
||||||
|
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo "file ova $fn" >> $out/nix-support/hydra-build-products
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/".device = "/dev/disk/by-label/nixos";
|
fileSystems."/".device = "/dev/disk/by-label/nixos";
|
||||||
|
|
||||||
|
@ -44,11 +44,11 @@ in rec {
|
|||||||
(all nixos.manual)
|
(all nixos.manual)
|
||||||
|
|
||||||
(all nixos.iso_minimal)
|
(all nixos.iso_minimal)
|
||||||
(all nixos.iso_graphical)
|
nixos.iso_graphical.x86_64-linux
|
||||||
(all nixos.ova)
|
nixos.ova.x86_64-linux
|
||||||
|
|
||||||
#(all nixos.tests.containers)
|
#(all nixos.tests.containers)
|
||||||
(all nixos.tests.chromium.stable)
|
#(all nixos.tests.chromium.stable)
|
||||||
(all nixos.tests.firefox)
|
(all nixos.tests.firefox)
|
||||||
(all nixos.tests.firewall)
|
(all nixos.tests.firewall)
|
||||||
nixos.tests.gnome3.x86_64-linux # FIXME: i686-linux
|
nixos.tests.gnome3.x86_64-linux # FIXME: i686-linux
|
||||||
|
@ -43,34 +43,14 @@ let
|
|||||||
|
|
||||||
|
|
||||||
makeIso =
|
makeIso =
|
||||||
{ module, type, description ? type, maintainers ? ["eelco"], system }:
|
{ module, type, maintainers ? ["eelco"], system }:
|
||||||
|
|
||||||
with import nixpkgs { inherit system; };
|
with import nixpkgs { inherit system; };
|
||||||
|
|
||||||
let
|
hydraJob ((import lib/eval-config.nix {
|
||||||
|
|
||||||
config = (import lib/eval-config.nix {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [ module versionModule { isoImage.isoBaseName = "nixos-${type}"; } ];
|
modules = [ module versionModule { isoImage.isoBaseName = "nixos-${type}"; } ];
|
||||||
}).config;
|
}).config.system.build.isoImage);
|
||||||
|
|
||||||
iso = config.system.build.isoImage;
|
|
||||||
|
|
||||||
in
|
|
||||||
# Declare the ISO as a build product so that it shows up in Hydra.
|
|
||||||
hydraJob (runCommand "nixos-iso-${config.system.nixosVersion}"
|
|
||||||
{ meta = {
|
|
||||||
description = "NixOS installation CD (${description}) - ISO image for ${system}";
|
|
||||||
maintainers = map (x: lib.maintainers.${x}) maintainers;
|
|
||||||
};
|
|
||||||
inherit iso;
|
|
||||||
passthru = { inherit config; };
|
|
||||||
preferLocalBuild = true;
|
|
||||||
}
|
|
||||||
''
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
echo "file iso" $iso/iso/*.iso* >> $out/nix-support/hydra-build-products
|
|
||||||
''); # */
|
|
||||||
|
|
||||||
|
|
||||||
makeSystemTarball =
|
makeSystemTarball =
|
||||||
@ -130,7 +110,7 @@ in rec {
|
|||||||
inherit system;
|
inherit system;
|
||||||
});
|
});
|
||||||
|
|
||||||
iso_graphical = forAllSystems (system: makeIso {
|
iso_graphical = genAttrs [ "x86_64-linux" ] (system: makeIso {
|
||||||
module = ./modules/installer/cd-dvd/installation-cd-graphical-kde.nix;
|
module = ./modules/installer/cd-dvd/installation-cd-graphical-kde.nix;
|
||||||
type = "graphical";
|
type = "graphical";
|
||||||
inherit system;
|
inherit system;
|
||||||
@ -138,7 +118,7 @@ in rec {
|
|||||||
|
|
||||||
# A variant with a more recent (but possibly less stable) kernel
|
# A variant with a more recent (but possibly less stable) kernel
|
||||||
# that might support more hardware.
|
# that might support more hardware.
|
||||||
iso_minimal_new_kernel = forAllSystems (system: makeIso {
|
iso_minimal_new_kernel = genAttrs [ "x86_64-linux" ] (system: makeIso {
|
||||||
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
|
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
|
||||||
type = "minimal-new-kernel";
|
type = "minimal-new-kernel";
|
||||||
inherit system;
|
inherit system;
|
||||||
@ -146,35 +126,17 @@ in rec {
|
|||||||
|
|
||||||
|
|
||||||
# A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
|
# A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
|
||||||
ova = forAllSystems (system:
|
ova = genAttrs [ "x86_64-linux" ] (system:
|
||||||
|
|
||||||
with import nixpkgs { inherit system; };
|
with import nixpkgs { inherit system; };
|
||||||
|
|
||||||
let
|
hydraJob ((import lib/eval-config.nix {
|
||||||
|
|
||||||
config = (import lib/eval-config.nix {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
modules =
|
modules =
|
||||||
[ versionModule
|
[ versionModule
|
||||||
./modules/installer/virtualbox-demo.nix
|
./modules/installer/virtualbox-demo.nix
|
||||||
];
|
];
|
||||||
}).config;
|
}).config.system.build.virtualBoxOVA)
|
||||||
|
|
||||||
in
|
|
||||||
# Declare the OVA as a build product so that it shows up in Hydra.
|
|
||||||
hydraJob (runCommand "nixos-ova-${config.system.nixosVersion}-${system}"
|
|
||||||
{ meta = {
|
|
||||||
description = "NixOS VirtualBox appliance (${system})";
|
|
||||||
maintainers = maintainers.eelco;
|
|
||||||
};
|
|
||||||
ova = config.system.build.virtualBoxOVA;
|
|
||||||
preferLocalBuild = true;
|
|
||||||
}
|
|
||||||
''
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
fn=$(echo $ova/*.ova)
|
|
||||||
echo "file ova $fn" >> $out/nix-support/hydra-build-products
|
|
||||||
'') # */
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1,4 +1,11 @@
|
|||||||
{ system ? builtins.currentSystem }:
|
{ system ? builtins.currentSystem
|
||||||
|
, pkgs ? import ../.. { inherit system; }
|
||||||
|
, channelMap ? {
|
||||||
|
stable = pkgs.chromium;
|
||||||
|
beta = pkgs.chromiumBeta;
|
||||||
|
dev = pkgs.chromiumDev;
|
||||||
|
}
|
||||||
|
}:
|
||||||
|
|
||||||
with import ../lib/testing.nix { inherit system; };
|
with import ../lib/testing.nix { inherit system; };
|
||||||
with pkgs.lib;
|
with pkgs.lib;
|
||||||
@ -160,8 +167,4 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
|||||||
|
|
||||||
$machine->shutdown;
|
$machine->shutdown;
|
||||||
'';
|
'';
|
||||||
}) {
|
}) channelMap
|
||||||
stable = pkgs.chromium;
|
|
||||||
beta = pkgs.chromiumBeta;
|
|
||||||
dev = pkgs.chromiumDev;
|
|
||||||
}
|
|
||||||
|
@ -23,10 +23,11 @@ import ./make-test.nix ({ pkgs, ... }: {
|
|||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
$client->start;
|
$client->start;
|
||||||
$client->waitForUnit("multi-user.target");
|
$client->waitForUnit("sockets.target");
|
||||||
|
$client->waitForUnit("dnsmasq");
|
||||||
|
|
||||||
# The daemon is socket activated; sending a single ping should activate it.
|
# The daemon is socket activated; sending a single ping should activate it.
|
||||||
$client->execute("${pkgs.iputils}/bin/ping -c1 example.com");
|
$client->execute("${pkgs.iputils}/bin/ping -c1 example.com");
|
||||||
$client->succeed("systemctl is-active dnscrypt-proxy.service");
|
$client->succeed("systemctl is-active dnscrypt-proxy");
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -20,7 +20,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
testScript = ''
|
testScript = ''
|
||||||
startAll;
|
startAll;
|
||||||
|
|
||||||
$docker->waitForUnit("docker.service");
|
$docker->waitForUnit("sockets.target");
|
||||||
$docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
|
$docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
|
||||||
$docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
|
$docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
|
||||||
$docker->succeed("docker ps | grep sleeping");
|
$docker->succeed("docker ps | grep sleeping");
|
||||||
|
@ -35,9 +35,9 @@ import ./make-test.nix ( { pkgs, ... } : {
|
|||||||
# Local connections should still work.
|
# Local connections should still work.
|
||||||
$walled->succeed("curl -v http://localhost/ >&2");
|
$walled->succeed("curl -v http://localhost/ >&2");
|
||||||
|
|
||||||
# Connections to the firewalled machine should fail.
|
# Connections to the firewalled machine should fail, but ping should succeed.
|
||||||
$attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2");
|
$attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2");
|
||||||
$attacker->fail("ping -c 1 walled >&2");
|
$attacker->succeed("ping -c 1 walled >&2");
|
||||||
|
|
||||||
# Outgoing connections/pings should still work.
|
# Outgoing connections/pings should still work.
|
||||||
$walled->succeed("curl -v http://attacker/ >&2");
|
$walled->succeed("curl -v http://attacker/ >&2");
|
||||||
|
@ -23,6 +23,8 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
{ wantedBy = [ "multi-user.target" ];
|
{ wantedBy = [ "multi-user.target" ];
|
||||||
where = "/tmp2";
|
where = "/tmp2";
|
||||||
};
|
};
|
||||||
|
users.users.sybil = { isNormalUser = true; group = "wheel"; };
|
||||||
|
security.sudo = { enable = true; wheelNeedsPassword = false; };
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript =
|
testScript =
|
||||||
@ -110,5 +112,10 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
subtest "nix-db", sub {
|
subtest "nix-db", sub {
|
||||||
$machine->succeed("nix-store -qR /run/current-system | grep nixos-");
|
$machine->succeed("nix-store -qR /run/current-system | grep nixos-");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Test sudo
|
||||||
|
subtest "sudo", sub {
|
||||||
|
$machine->succeed("su - sybil -c 'sudo true'");
|
||||||
|
};
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -7,7 +7,7 @@ import ./make-test.nix {
|
|||||||
|
|
||||||
{
|
{
|
||||||
services.riak.enable = true;
|
services.riak.enable = true;
|
||||||
services.riak.package = pkgs.riak2;
|
services.riak.package = pkgs.riak;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,6 +50,12 @@ let
|
|||||||
name = "clementine-free-${version}";
|
name = "clementine-free-${version}";
|
||||||
inherit patches src buildInputs;
|
inherit patches src buildInputs;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
postPatch = ''
|
||||||
|
sed -i src/CMakeLists.txt \
|
||||||
|
-e 's,-Werror,,g' \
|
||||||
|
-e 's,-Wno-unknown-warning-option,,g' \
|
||||||
|
-e 's,-Wno-unused-private-field,,g'
|
||||||
|
'';
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = "http://www.clementine-player.org";
|
homepage = "http://www.clementine-player.org";
|
||||||
description = "A multiplatform music player";
|
description = "A multiplatform music player";
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.9.8.1";
|
version = "0.9.9";
|
||||||
name = "drumgizmo-${version}";
|
name = "drumgizmo-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
|
url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
|
||||||
sha256 = "1plfjhwhaz1mr3kgf5imcp3kjflk6ni9sq39gmxjxzya6gn2r6gg";
|
sha256 = "03dnh2p4s6n107n0r86h9j1jwy85a8qwjkh0288k60qpdqy1c7vp";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [ "--enable-lv2" ];
|
configureFlags = [ "--enable-lv2" ];
|
||||||
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "An LV2 sample based drum plugin";
|
description = "An LV2 sample based drum plugin";
|
||||||
homepage = http://www.drumgizmo.org;
|
homepage = http://www.drumgizmo.org;
|
||||||
license = licenses.gpl3;
|
license = licenses.lgpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.goibhniu maintainers.nico202 ];
|
maintainers = [ maintainers.goibhniu maintainers.nico202 ];
|
||||||
};
|
};
|
||||||
|
@ -2,20 +2,21 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "seq24-${version}";
|
name = "seq24-${version}";
|
||||||
version = "0.9.2";
|
version = "0.9.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz";
|
url = "http://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz";
|
||||||
sha256 = "07n80zj95i80vjmsflnlbqx5vv90qmp5f6a0zap8d30849l4y258";
|
sha256 = "1qpyb7355s21sgy6gibkybxpzx4ikha57a8w644lca6qy9mhcwi3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ alsaLib gtkmm libjack2 pkgconfig ];
|
buildInputs = [ alsaLib gtkmm libjack2 ];
|
||||||
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "minimal loop based midi sequencer";
|
description = "minimal loop based midi sequencer";
|
||||||
homepage = "http://www.filter24.org/seq24";
|
homepage = "http://www.filter24.org/seq24";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = with maintainers; [ goibhniu nckx ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
url = "https://github.com/zamaudio/zam-plugins.git";
|
url = "https://github.com/zamaudio/zam-plugins.git";
|
||||||
deepClone = true;
|
deepClone = true;
|
||||||
rev = "91fe56931a3e57b80f18c740d2dde6b44f962aee";
|
rev = "91fe56931a3e57b80f18c740d2dde6b44f962aee";
|
||||||
sha256 = "1d8w3086xshl61yqaxg6lrvqb7bww30dsdzcd0mnii49wyzjpj0b";
|
sha256 = "1s0s028h3z3pfd4qvi63fsg6bv33bvz0p5fbmbmhypzqjlx6mlkb";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ boost libX11 mesa liblo libjack2 ladspaH lv2 pkgconfig rubberband libsndfile ];
|
buildInputs = [ boost libX11 mesa liblo libjack2 ladspaH lv2 pkgconfig rubberband libsndfile ];
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "zynaddsubfx-${version}";
|
name = "zynaddsubfx-${version}";
|
||||||
version = "2.5.2";
|
version = "2.5.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.gz";
|
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2";
|
||||||
sha256 = "11yrady7xwfrzszkk2fvq81ymv99mq474h60qnirk27khdygk24m";
|
sha256 = "16llaa2wg2gbgjhwp3632b2vx9jvanj4csv7d41k233ms6d1sjq1";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ alsaLib libjack2 fftw fltk13 libjpeg minixml zlib liblo ];
|
buildInputs = [ alsaLib libjack2 fftw fltk13 libjpeg minixml zlib liblo ];
|
||||||
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://zynaddsubfx.sourceforge.net;
|
homepage = http://zynaddsubfx.sourceforge.net;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.goibhniu maintainers.palo ];
|
maintainers = [ maintainers.goibhniu maintainers.nico202 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
--- ./scripts/CrashPlanDesktop 2014-12-18 09:51:14.050804325 +0100
|
--- ./scripts/CrashPlanDesktop 2016-03-02 21:01:58.000000000 -0500
|
||||||
+++ ./scripts/CrashPlanDesktop-1 2014-12-18 09:51:32.271009382 +0100
|
+++ ./scripts/CrashPlanDesktop-1 2016-03-18 20:52:10.117686266 -0400
|
||||||
@@ -9,4 +9,4 @@
|
@@ -11,7 +11,7 @@
|
||||||
|
|
||||||
cd ${TARGETDIR}
|
cd ${TARGETDIR}
|
||||||
|
|
||||||
-${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
|
if [ "_${VERSION_5_UI}" == "_true" ]; then
|
||||||
+${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop &
|
- ${TARGETDIR}/electron/crashplan > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
|
||||||
|
+ ${TARGETDIR}/electron/crashplan &
|
||||||
|
else
|
||||||
|
- ${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
|
||||||
|
+ ${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop &
|
||||||
|
fi
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
|
{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
|
||||||
|
|
||||||
let version = "3.6.4";
|
let version = "4.6.0";
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "crashplan-${version}";
|
name = "crashplan-${version}";
|
||||||
|
|
||||||
crashPlanArchive = fetchurl {
|
crashPlanArchive = fetchurl {
|
||||||
url = "http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
|
url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
|
||||||
sha256 = "0xmzpxfm8vghk552jy167wg1nky1pp93dqds1p922hn73g0x5cv3";
|
sha256 = "0h9zk6i1pdvl101c8l4v4x6i7q4wkmkqp2dkm0lq7ha96lrvac47";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcs = [ crashPlanArchive ];
|
srcs = [ crashPlanArchive ];
|
||||||
@ -16,7 +16,6 @@ in stdenv.mkDerivation rec {
|
|||||||
description = "An online/offline backup solution";
|
description = "An online/offline backup solution";
|
||||||
homepage = "http://www.crashplan.org";
|
homepage = "http://www.crashplan.org";
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
broken = true; # outdated and new client has trouble starting (nullpointer exception)
|
|
||||||
maintainers = with maintainers; [ sztupi iElectric ];
|
maintainers = with maintainers; [ sztupi iElectric ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ in stdenv.mkDerivation rec {
|
|||||||
# Make sure the daemon is running using the same localization as
|
# Make sure the daemon is running using the same localization as
|
||||||
# the (installing) user
|
# the (installing) user
|
||||||
echo "" >> run.conf
|
echo "" >> run.conf
|
||||||
echo "export LC_ALL=en_US.UTF-8" >> run.conf
|
echo "LC_ALL=en_US.UTF-8" >> run.conf
|
||||||
|
|
||||||
install -d -m 755 unpacked $out
|
install -d -m 755 unpacked $out
|
||||||
|
|
||||||
@ -49,15 +48,15 @@ in stdenv.mkDerivation rec {
|
|||||||
install -D -m 644 scripts/CrashPlan.desktop $out/share/applications/CrashPlan.desktop
|
install -D -m 644 scripts/CrashPlan.desktop $out/share/applications/CrashPlan.desktop
|
||||||
|
|
||||||
rm -r $out/log
|
rm -r $out/log
|
||||||
|
mv -v $out/conf $out/conf.template
|
||||||
ln -s $vardir/log $out/log
|
ln -s $vardir/log $out/log
|
||||||
ln -s $vardir/cache $out/cache
|
ln -s $vardir/cache $out/cache
|
||||||
ln -s $vardir/backupArchives $out/backupArchives
|
ln -s $vardir/backupArchives $out/backupArchives
|
||||||
ln -s $vardir/conf/service.model $out/conf/service.model
|
ln -s $vardir/conf $out/conf
|
||||||
ln -s $vardir/conf/my.service.xml $out/conf/my.service.xml
|
|
||||||
|
|
||||||
echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars
|
echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars
|
||||||
echo "APP_BASENAME=CrashPlan" >> $out/install.vars
|
echo "APP_BASENAME=CrashPlan" >> $out/install.vars
|
||||||
echo "TARGETDIR=$out" >> $out/install.vars
|
echo "TARGETDIR=${vardir}" >> $out/install.vars
|
||||||
echo "BINSDIR=$out/bin" >> $out/install.vars
|
echo "BINSDIR=$out/bin" >> $out/install.vars
|
||||||
echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars
|
echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars
|
||||||
echo "VARDIR=${vardir}" >> $out/install.vars
|
echo "VARDIR=${vardir}" >> $out/install.vars
|
||||||
@ -77,7 +76,8 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
substituteInPlace $out/share/applications/CrashPlan.desktop \
|
substituteInPlace $out/share/applications/CrashPlan.desktop \
|
||||||
--replace /usr/local $out \
|
--replace /usr/local $out \
|
||||||
--replace crashplan/skin skin
|
--replace crashplan/skin skin \
|
||||||
|
--replace bin/CrashPlanDesktop CrashPlanDesktop
|
||||||
|
|
||||||
wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${gtk2}/lib:${glib}/lib:${libXtst}/lib"
|
wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${gtk2}/lib:${glib}/lib:${libXtst}/lib"
|
||||||
'';
|
'';
|
||||||
|
@ -16,11 +16,11 @@ let
|
|||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "atom-${version}";
|
name = "atom-${version}";
|
||||||
version = "1.5.4";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||||
sha256 = "0jnszf1v7xqhm2sy5wzm3f8aw7j1dnapnbw4d46bvshv9hbbzrn8";
|
sha256 = "1izp2fwxk4rrksdbhcaj8fn0aazi7brid72n1vp7f49adrkqqc1b";
|
||||||
name = "${name}.deb";
|
name = "${name}.deb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -312,7 +312,7 @@ rec {
|
|||||||
};
|
};
|
||||||
eclipse_sdk_451 = eclipse-sdk-451; # backward compatibility, added 2016-01-30
|
eclipse_sdk_451 = eclipse-sdk-451; # backward compatibility, added 2016-01-30
|
||||||
|
|
||||||
eclipse-platform = eclipse-platform-451;
|
eclipse-platform = eclipse-platform-452;
|
||||||
|
|
||||||
eclipse-platform-45 = buildEclipse {
|
eclipse-platform-45 = buildEclipse {
|
||||||
name = "eclipse-platform-4.5";
|
name = "eclipse-platform-4.5";
|
||||||
@ -344,6 +344,21 @@ rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
eclipse-platform-452 = buildEclipse {
|
||||||
|
name = "eclipse-platform-4.5.2";
|
||||||
|
description = "Eclipse platform";
|
||||||
|
sources = {
|
||||||
|
"x86_64-linux" = fetchurl {
|
||||||
|
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz;
|
||||||
|
sha256 = "13dsd5f5i39wd0sr2bgp57hd2msn8g2dnmw5j8hfwif22c62py47";
|
||||||
|
};
|
||||||
|
"i686-linux" = fetchurl {
|
||||||
|
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk.tar.gz;
|
||||||
|
sha256 = "00jsmbrl4xhpbgd8hyxijgzqdic700kd3yw2qwgl0cs3ncvybxvq";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
eclipseWithPlugins = { eclipse, plugins ? [], jvmArgs ? [] }:
|
eclipseWithPlugins = { eclipse, plugins ? [], jvmArgs ? [] }:
|
||||||
let
|
let
|
||||||
# Gather up the desired plugins.
|
# Gather up the desired plugins.
|
||||||
|
@ -377,16 +377,16 @@ rec {
|
|||||||
|
|
||||||
testng = buildEclipsePlugin rec {
|
testng = buildEclipsePlugin rec {
|
||||||
name = "testng-${version}";
|
name = "testng-${version}";
|
||||||
version = "6.9.10.201512020421";
|
version = "6.9.11.201603260617";
|
||||||
|
|
||||||
srcFeature = fetchurl {
|
srcFeature = fetchurl {
|
||||||
url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar";
|
url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar";
|
||||||
sha256 = "17y0cb1xprldjav14iy2sinv7lcw4xnjs2fwz9gl41m9m1c0hajk";
|
sha256 = "0cd7d3bdp6f081vrampsv53z55g1mjn04w9ngz3h8dr0h6jnxz3y";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcPlugin = fetchurl {
|
srcPlugin = fetchurl {
|
||||||
url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar";
|
url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar";
|
||||||
sha256 = "1iwq0ifk9l56z11vhy5yscvl8l1xk6igkp103v9vwvcx6nlmkfgc";
|
sha256 = "10kdwnydmsvngn8ahijxrv50aps6wa4ckbf7p24mxbwlnmpqfj03";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -35,11 +35,11 @@ self:
|
|||||||
};
|
};
|
||||||
|
|
||||||
overrides = {
|
overrides = {
|
||||||
# These packages require emacs-25
|
el-search = markBroken super.el-search; # requires emacs-25
|
||||||
el-search = markBroken super.el-search;
|
iterators = markBroken super.iterators; # requires emacs-25
|
||||||
iterators = markBroken super.iterators;
|
midi-kbd = markBroken super.midi-kbd; # requires emacs-25
|
||||||
midi-kbd = markBroken super.midi-kbd;
|
stream = markBroken super.stream; # requires emacs-25
|
||||||
stream = markBroken super.stream;
|
cl-lib = null; # builtin
|
||||||
};
|
};
|
||||||
|
|
||||||
elpaPackages = super // overrides;
|
elpaPackages = super // overrides;
|
||||||
|
@ -185,25 +185,25 @@ in
|
|||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
name = "idea-community-${version}";
|
||||||
version = "15.0.4";
|
version = "2016.1";
|
||||||
build = "IC-143.2287";
|
build = "IC-145.258.11";
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||||
sha256 = "05kah5cx7x3rlaaxkvbbm7g8jvy9hc38q4jv7j5r9rkxd38fslvn";
|
sha256 = "1grgyaapsbf7xn0m18x6fgghjh9n1n2zblz9608g9qgx5p28kn6q";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
name = "idea-ultimate-${version}";
|
||||||
version = "15.0.4";
|
version = "2016.1";
|
||||||
build = "IU-143.2287";
|
build = "IU-145.258.11";
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
|
||||||
sha256 = "0416y7krrak1q5pb8axskdamy06nfxmn4hj7421j8jaz0nc50dn4";
|
sha256 = "15ybqdy311wi3iqi7bzk798cd91jpl73ngl86kzwr68d24nyy3zb";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
21
pkgs/applications/editors/tweak/default.nix
Normal file
21
pkgs/applications/editors/tweak/default.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ stdenv, fetchurl, ncurses }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "tweak-${version}";
|
||||||
|
version = "3.02";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.chiark.greenend.org.uk/~sgtatham/tweak/${name}.tar.gz";
|
||||||
|
sha256 = "06js54pr5hwpwyxj77zs5s40n5aqvaw48dkj7rid2d47pyqijk2v";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ ncurses ];
|
||||||
|
preBuild = "substituteInPlace Makefile --replace '$(DESTDIR)/usr/local' $out";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "An efficient hex editor";
|
||||||
|
homepage = "http://www.chiark.greenend.org.uk/~sgtatham/tweak";
|
||||||
|
license = licenses.mit;
|
||||||
|
platform = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -10,13 +10,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "vim-${version}";
|
name = "vim-${version}";
|
||||||
version = "7.4.827";
|
version = "7.4.1585";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vim";
|
owner = "vim";
|
||||||
repo = "vim";
|
repo = "vim";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1m34s2hsc5lcish6gmvn2iwaz0k7jc3kg9q4nf30fj9inl7gaybs";
|
sha256 = "1kjdwpka269i4cyl0rmnmzg23dl26g65k26h32w8ayzfm3kbj123";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, cmake, fetchurl, gnumake, pkgconfig, makeWrapper
|
{ stdenv, cmake, fetchurl, gnumake, pkgconfig, makeWrapper
|
||||||
, boost, gettext, tclap, wxGTK
|
, boost, gettext, tclap, wxGTK
|
||||||
, freeglut, glew, libXi, libXmu, mesa
|
, freeglut, glew, libX11, libXi, libXmu, mesa, cairo
|
||||||
, autopanosiftc, enblend-enfuse, exiv2, fftw, ilmbase, lensfun, libpng, libtiff
|
, autopanosiftc, enblend-enfuse, exiv2, fftw, ilmbase, lensfun, libpng, libtiff
|
||||||
, openexr, panotools, perlPackages, sqlite, vigra
|
, openexr, panotools, perlPackages, sqlite, vigra
|
||||||
}:
|
}:
|
||||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
|
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
|
||||||
|
|
||||||
buildInputs = [ boost gettext tclap wxGTK
|
buildInputs = [ boost gettext tclap wxGTK
|
||||||
freeglut glew libXi libXmu mesa
|
freeglut glew libX11 libXi libXmu mesa cairo
|
||||||
exiv2 fftw ilmbase lensfun libtiff libpng openexr panotools
|
exiv2 fftw ilmbase lensfun libtiff libpng openexr panotools
|
||||||
sqlite vigra
|
sqlite vigra
|
||||||
perlPackages.ImageExifTool makeWrapper
|
perlPackages.ImageExifTool makeWrapper
|
||||||
|
@ -16,8 +16,11 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ qt4 zlib ];
|
buildInputs = [ qt4 zlib ];
|
||||||
|
|
||||||
prefixKey="INSTALL_PREFIX=";
|
prefixKey = "INSTALL_PREFIX=";
|
||||||
configureScript = "qmake leocad.pro";
|
configureScript = "qmake leocad.pro";
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace common/camera.cpp --replace "isnan(" "std::isnan("
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "CAD program for creating virtual LEGO models";
|
description = "CAD program for creating virtual LEGO models";
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "openimageio-${version}";
|
name = "openimageio-${version}";
|
||||||
version = "1.6.9";
|
version = "1.6.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
|
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
|
||||||
sha256 = "0942xj877875f4dpfg7aqwyw015y82vkhaqap7yhybmvzsfj7wki";
|
sha256 = "0cr0z81a41bg193dx9crcq1mns7mmzz7qys4lrbm18cmdbwkk88x";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper, xulrunner }:
|
{ stdenv, fetchurl, makeWrapper, xulrunner }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.0.15";
|
version = "2.0.18";
|
||||||
name = "pencil-${version}";
|
name = "pencil-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/prikhi/pencil/releases/download/v${version}/Pencil-${version}-linux-pkg.tar.gz";
|
url = "https://github.com/prikhi/pencil/releases/download/v${version}/Pencil-${version}-linux-pkg.tar.gz";
|
||||||
sha256 = "be338558b613f51506337a2c7c80f209e8644656c2925f41c294e2872feabc3b";
|
sha256 = "0x0kibb2na12fwl0x68xhkjpbm5h2widm346cx2r29gp1kq9kklc";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildPhase = "";
|
buildPhase = "";
|
||||||
|
@ -2,12 +2,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "phototonic-${version}";
|
name = "phototonic-${version}";
|
||||||
version = "1.7";
|
version = "1.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "phototonic";
|
repo = "phototonic";
|
||||||
owner = "oferkv";
|
owner = "oferkv";
|
||||||
rev = "v${version}";
|
# There is currently no tag for 1.7.1 see
|
||||||
|
# https://github.com/oferkv/phototonic/issues/214
|
||||||
|
rev = "c37070e4a068570d34ece8de1e48aa0882c80c5b";
|
||||||
sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj";
|
sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ callPackage, fetchgit, ... } @ args:
|
{ callPackage, fetchgit, ... } @ args:
|
||||||
|
|
||||||
callPackage ./generic.nix (args // {
|
callPackage ./generic.nix (args // {
|
||||||
version = "2016-03-05";
|
version = "2016-03-24";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
sha256 = "dc84530d5e0233427acfd132aa08a4cf9973c936ff72a66ee08ecf836200d367";
|
sha256 = "593672ccfef6e3e0f3cb8ae4bbc67db9b2f1a821df4914343e4cf32f75cea865";
|
||||||
rev = "23eb95582da718791103b83ea002e947caa0f5fc";
|
rev = "41a416e4afcf6cada69193dc408ef184d0e5f678";
|
||||||
url = "git://alioth.debian.org/git/sane/sane-backends.git";
|
url = "git://alioth.debian.org/git/sane/sane-backends.git";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "simple-scan-${version}";
|
name = "simple-scan-${version}";
|
||||||
version = "3.19.92";
|
version = "3.20.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
sha256 = "1zz6y4cih1v0npxjfxvnqz3bz7i5aripdsfy0hg9mhr1f4r0ig19";
|
sha256 = "0b5ndrjwi7yipkr9bhyifpbdil65izdm677if23yj832n2jsbxcd";
|
||||||
url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz";
|
url = "https://launchpad.net/simple-scan/3.20/${version}/+download/${name}.tar.xz";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cairo colord glib gusb gtk3 libusb1 libxml2 sane-backends
|
buildInputs = [ cairo colord glib gusb gtk3 libusb1 libxml2 sane-backends
|
||||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
configureFlags = [ "--disable-packagekit" ];
|
configureFlags = [ "--disable-packagekit" ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
# Clean up stale .c files referencing packagekit headers as of 3.19.91:
|
# Clean up stale .c files referencing packagekit headers as of 3.20.0:
|
||||||
make clean
|
make clean
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -1,15 +1,23 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, ncurses, readline }:
|
{ stdenv, fetchurl, fetchpatch, pkgconfig, ncurses, readline }:
|
||||||
|
|
||||||
let version = "0.6.0pre2"; in
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "abook-${version}";
|
name = "abook-0.6.0pre2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://abook.sourceforge.net/devel/${name}.tar.gz";
|
url = "http://abook.sourceforge.net/devel/${name}.tar.gz";
|
||||||
sha256 = "59d444504109dd96816e003b3023175981ae179af479349c34fa70bc12f6d385";
|
sha256 = "11fkyq9bqw7s6jf38yglk8bsx0ar2wik0fq0ds0rdp8985849m2r";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig ncurses readline ];
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/gcc5.patch?h=packages/abook";
|
||||||
|
name = "gcc5.patch";
|
||||||
|
sha256 = "13n3qd6yy45i5n8ppjn9hj6y63ymjrq96280683xk7f7rjavw5nn";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
buildInputs = [ ncurses readline ];
|
||||||
|
|
||||||
# Changed inline semantics in GCC5, need to export symbols for inline funcs
|
# Changed inline semantics in GCC5, need to export symbols for inline funcs
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "blender-2.76b";
|
name = "blender-2.77";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.blender.org/source/${name}.tar.gz";
|
url = "http://download.blender.org/source/${name}.tar.gz";
|
||||||
sha256 = "0pb0mlj4vj0iir528ifqq67nsh3ca1942933d9cwlbpcja2jm1dx";
|
sha256 = "0aynm249xgrnm6h5hlp9x40ww0hn391d9ka2mg9mmqrdzhih286n";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
|
|||||||
# They comment two licenses: GPLv2 and Blender License, but they
|
# They comment two licenses: GPLv2 and Blender License, but they
|
||||||
# say: "We've decided to cancel the BL offering for an indefinite period."
|
# say: "We've decided to cancel the BL offering for an indefinite period."
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.linux;
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
34
pkgs/applications/misc/buku/default.nix
Normal file
34
pkgs/applications/misc/buku/default.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ stdenv, pythonPackages, fetchFromGitHub,
|
||||||
|
encryptionSupport ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
pythonPackages.buildPythonApplication rec {
|
||||||
|
version = "1.8";
|
||||||
|
name = "buku-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jarun";
|
||||||
|
repo = "buku";
|
||||||
|
rev = "53d48ee56a3abfb53b94ed25fb620ee759141c96";
|
||||||
|
sha256 = "185d3gndw20c3l6f3mf0iq4qapm8g30bl0hn0wsqpp36vl0bpq28";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = stdenv.lib.optional encryptionSupport pythonPackages.pycrypto;
|
||||||
|
|
||||||
|
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make install PREFIX=$out
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Private cmdline bookmark manager";
|
||||||
|
homepage = https://github.com/jarun/Buku;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ matthiasbeyer ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -5,12 +5,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.52.0";
|
version = "2.53.0";
|
||||||
name = "calibre-${version}";
|
name = "calibre-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||||
sha256 = "1la114vhkm73iv0rrzwws28ydiszl58q5y9d6aafn5sh16ph2aws";
|
sha256 = "0rvfh39a6j5r398p6xzrbzvhxapm1iyhc0d46xk5fwa52kscadhz";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit python;
|
inherit python;
|
||||||
|
@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ acl libcap ];
|
buildInputs = [ acl libcap ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed "/\.mk3/d" -i libschily/Targets.man
|
||||||
|
substituteInPlace man/Makefile --replace "man4" ""
|
||||||
|
'';
|
||||||
|
|
||||||
configurePhase = "true";
|
configurePhase = "true";
|
||||||
|
|
||||||
GMAKE_NOWARN = true;
|
GMAKE_NOWARN = true;
|
||||||
|
36
pkgs/applications/misc/deco/default.nix
Normal file
36
pkgs/applications/misc/deco/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, scsh, feh, xlibs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "deco";
|
||||||
|
version = "0.0.1";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ebzzry";
|
||||||
|
repo = pname;
|
||||||
|
rev = "037f473ae4bdce5d3e2f76891785f0f7479cca75";
|
||||||
|
sha256 = "1fv15nc9zqbn3c51vnm50yidj5ivpi61zg55cs46x3gi2x79x43q";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp ${pname} $out/bin
|
||||||
|
chmod +x $out/bin/${pname}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
substituteInPlace $out/bin/deco --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
|
||||||
|
substituteInPlace $out/bin/deco --replace "feh" "${feh}/bin/feh"
|
||||||
|
substituteInPlace $out/bin/deco --replace "xdpyinfo" "${xlibs.xdpyinfo}/bin/xdpyinfo"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/ebzzry/deco;
|
||||||
|
description = "A simple root image setter";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.ebzzry ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
}
|
@ -18,11 +18,11 @@ in
|
|||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
name = "electrum-${version}";
|
name = "electrum-${version}";
|
||||||
version = "2.6.2";
|
version = "2.6.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||||
sha256 = "1wvzlx9aj88z01vljhyg3v67zsk2iz18r58727pdq7h94vwwjc86";
|
sha256 = "0lj3a8zg6dznpnnxyza8a05c13py52j62rqlad1zcgksm5g63vic";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with pythonPackages; [
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "emem";
|
pname = "emem";
|
||||||
version = "0.2.12";
|
version = "0.2.15";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
inherit jdk;
|
inherit jdk;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
|
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
|
||||||
sha256 = "1ynn72n9pw9zk29c9q2zybxjg8dniilp05vghrc9vnslyi8ml90d";
|
sha256 = "0jj990syd9biq2awnjydi4x3p4hivigc522ds59hdf5wg4y2gg6c";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ];
|
buildInputs = [ ];
|
||||||
@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
cp $src $out/share/java
|
cp $src $out/share/java/${pname}.jar
|
||||||
|
|
||||||
cat > $out/bin/emem <<EOF
|
cat > $out/bin/${pname} <<EOF
|
||||||
#! $SHELL
|
#! $SHELL
|
||||||
$jdk/bin/java -jar $out/share/java/$(basename $src) "\$@"
|
$jdk/bin/java -jar $out/share/java/${pname}.jar "\$@"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
chmod +x $out/bin/emem
|
chmod +x $out/bin/${pname}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -23,11 +23,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnuradio-${version}";
|
name = "gnuradio-${version}";
|
||||||
version = "3.7.8.1";
|
version = "3.7.9.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
|
url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
|
||||||
sha256 = "1ap5gbgisnbny3jbnm2i5wm2sy6qkbhz747av3sjxp2z12fz81l4";
|
sha256 = "0zlnxyqq3dyrg0nz2hpydlhyzv26vlkdavs8w01k448lxkqz01lw";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
|
|||||||
cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
|
cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
|
||||||
];
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable"
|
||||||
'';
|
'';
|
||||||
@ -72,6 +74,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://www.gnuradio.org;
|
homepage = http://www.gnuradio.org;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.bjornfor ];
|
maintainers = with maintainers; [ bjornfor fpletz ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, qt4, gnuradio, boost, gnuradio-osmosdr
|
{ stdenv, fetchFromGitHub, qt4, gnuradio, boost, gnuradio-osmosdr
|
||||||
# drivers (optional):
|
# drivers (optional):
|
||||||
, rtl-sdr, hackrf
|
, rtl-sdr, hackrf
|
||||||
, pulseaudioSupport ? true, libpulseaudio
|
, pulseaudioSupport ? true, libpulseaudio
|
||||||
@ -8,11 +8,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gqrx-${version}";
|
name = "gqrx-${version}";
|
||||||
version = "2.3.2";
|
version = "2.5.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/project/gqrx/${version}/${name}.tar.xz";
|
owner = "csete";
|
||||||
sha256 = "1vfqqa976xlbapqkpc9nka364zydvsy18xiwfqjy015kpasshdz1";
|
repo = "gqrx";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "02pavd1kc0gsnrl18bfa01r2f3j4j05zly4a8zwss9yrsgf8432x";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -21,12 +23,14 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
configurePhase = ''qmake PREFIX="$out"'';
|
configurePhase = ''qmake PREFIX="$out"'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p "$out/share/applications"
|
mkdir -p "$out/share/applications"
|
||||||
mkdir -p "$out/share/icons"
|
mkdir -p "$out/share/icons"
|
||||||
|
|
||||||
cp gqrx.desktop "$out/share/applications/"
|
cp gqrx.desktop "$out/share/applications/"
|
||||||
cp icons/gqrx.svg "$out/share/icons/"
|
cp resources/icons/gqrx.svg "$out/share/icons/"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -42,6 +46,6 @@ stdenv.mkDerivation rec {
|
|||||||
# it's currently unknown which version of the BSD license that is.
|
# it's currently unknown which version of the BSD license that is.
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux; # should work on Darwin / OS X too
|
platforms = platforms.linux; # should work on Darwin / OS X too
|
||||||
maintainers = with maintainers; [ bjornfor the-kenny ];
|
maintainers = with maintainers; [ bjornfor the-kenny fpletz ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "josm-${version}";
|
name = "josm-${version}";
|
||||||
version = "9900";
|
version = "9979";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
||||||
sha256 = "1dsfamh2bsiz3xkhmh7g4jz6bbh25x22k3zgj1k0v0gj8k6yl7dy";
|
sha256 = "0zy88f4h71qyj7vlhiwnayaaz50gg6bj5pfypy43ghmjrh01d9vh";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
|
@ -8,11 +8,11 @@
|
|||||||
# plugin derivations in the Nix store and nowhere else.
|
# plugin derivations in the Nix store and nowhere else.
|
||||||
with builtins; buildDotnetPackage rec {
|
with builtins; buildDotnetPackage rec {
|
||||||
baseName = "keepass";
|
baseName = "keepass";
|
||||||
version = "2.31";
|
version = "2.32";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
|
url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
|
||||||
sha256 = "10bqxpq30gzfq2ip6dkmqlzzsh3bnfdb01jry5xhgxvlycq1lnsm";
|
sha256 = "11bkflmqrpfk95v2j7pjcm78nilx2s611mn2x7kxwn77ilnbcjbw";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
name = "OctoPrint-${version}";
|
name = "OctoPrint-${version}";
|
||||||
version = "1.2.9";
|
version = "1.2.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "foosel";
|
owner = "foosel";
|
||||||
repo = "OctoPrint";
|
repo = "OctoPrint";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "00hhq52jqwykhk3p57mn9kkcjbjz6g9mcrp96vx8lqzhw42m3a86";
|
sha256 = "1ips1083c4qrfnkssvp1lxrs92svlid29l225ifsymrinpbjawav";
|
||||||
};
|
};
|
||||||
|
|
||||||
# We need old Tornado
|
# We need old Tornado
|
||||||
|
@ -8,13 +8,13 @@ in {
|
|||||||
|
|
||||||
m3d-fio = buildPlugin rec {
|
m3d-fio = buildPlugin rec {
|
||||||
name = "M3D-Fio-${version}";
|
name = "M3D-Fio-${version}";
|
||||||
version = "0.29";
|
version = "0.30.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "donovan6000";
|
owner = "donovan6000";
|
||||||
repo = "M3D-Fio";
|
repo = "M3D-Fio";
|
||||||
rev = "V${version}";
|
rev = "V${version}";
|
||||||
sha256 = "17jyr7qf9psq3xcckk1zjhaw0h8a0mh3v8lcv9vgqzni27kq9pnb";
|
sha256 = "1knm41hwjf6v4yjx8khr2zd9ryndmw8bkp3y80hgjc5p4nqxrmg3";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0gkqpj8cg6jd6yhssrij1cbh960rg9fkjbdzcpryi6axwv0ag7ki";
|
sha256 = "0gkqpj8cg6jd6yhssrij1cbh960rg9fkjbdzcpryi6axwv0ag7ki";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
|
buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
EncodeLocale MathClipper ExtUtilsXSpp threads
|
EncodeLocale MathClipper ExtUtilsXSpp threads
|
||||||
MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
|
MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
|
||||||
IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX
|
IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX
|
||||||
ExtUtilsMakeMaker OpenGL WxGLCanvas
|
ExtUtilsMakeMaker OpenGL WxGLCanvas ModuleBuild
|
||||||
];
|
];
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
This patch is from OpenSUSE .src.rpm for the following crash on startup:
|
|
||||||
|
|
||||||
ERROR:compositelookup.cpp:53:void CompositeLookup::send_net_dict_request(const string&, const string&): assertion failed: (NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
|
|
||||||
|
|
||||||
--- dict/src/lib/compositelookup.cpp
|
|
||||||
+++ dict/src/lib/compositelookup.cpp
|
|
||||||
@@ -50,8 +50,10 @@
|
|
||||||
void CompositeLookup::send_net_dict_request(const std::string& dict_id, const std::string& key)
|
|
||||||
{
|
|
||||||
NetDictRequest request(dict_id, key);
|
|
||||||
- g_assert(NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request));
|
|
||||||
- NetDictRequests.push_back(request);
|
|
||||||
+ if(NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
|
|
||||||
+ {
|
|
||||||
+ NetDictRequests.push_back(request);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* returns true if got expected response */
|
|
@ -1,13 +0,0 @@
|
|||||||
http://bugs.gentoo.org/396219
|
|
||||||
|
|
||||||
--- dict/src/tomboykeybinder.h
|
|
||||||
+++ dict/src/tomboykeybinder.h
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
#ifndef __TOMBOY_KEY_BINDER_H__
|
|
||||||
#define __TOMBOY_KEY_BINDER_H__
|
|
||||||
|
|
||||||
-#include <glib/gtypes.h>
|
|
||||||
+#include <glib.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
|||||||
warning: key "Encoding" in group "Desktop Entry" is deprecated
|
|
||||||
error: value "stardict.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension
|
|
||||||
error: value "Dictionary" in key "Categories" in group "Desktop Entry" requires another category to be present among the following categories: Office;TextTools
|
|
||||||
|
|
||||||
--- dict/data/stardict.desktop.in
|
|
||||||
+++ dict/data/stardict.desktop.in
|
|
||||||
@@ -1,11 +1,10 @@
|
|
||||||
[Desktop Entry]
|
|
||||||
-Encoding=UTF-8
|
|
||||||
_Name=StarDict
|
|
||||||
_Comment=Lookup words
|
|
||||||
Exec=stardict
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
-Icon=stardict.png
|
|
||||||
+Icon=stardict
|
|
||||||
StartupNotify=true
|
|
||||||
-Categories=Utility;Dictionary;
|
|
||||||
+Categories=Utility;Office;TextTools;Dictionary;
|
|
||||||
X-GNOME-DocPath=stardict/stardict.xml
|
|
@ -1,13 +0,0 @@
|
|||||||
http://bugs.gentoo.org/362299
|
|
||||||
|
|
||||||
--- dict/stardict-plugins/stardict-wordnet-plugin/scene.h
|
|
||||||
+++ dict/stardict-plugins/stardict-wordnet-plugin/scene.h
|
|
||||||
@@ -25,6 +25,8 @@
|
|
||||||
#ifndef __PHYSICS_H__
|
|
||||||
#define __PHYSICS_H__
|
|
||||||
|
|
||||||
+#include <cstddef>
|
|
||||||
+
|
|
||||||
#include "partic.h"
|
|
||||||
#include "spring.h"
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
This patch is stardict-tools-3.0.3-destbufferoverflow.patch from OpenSUSE .src.rpm for:
|
|
||||||
|
|
||||||
warning: call to ‘__fgets_chk_warn’ declared with attribute warning: fgets called with bigger size than length of destination buffer [enabled by default]
|
|
||||||
|
|
||||||
--- tools/src/myspell2dic.c
|
|
||||||
+++ tools/src/myspell2dic.c
|
|
||||||
@@ -132,7 +132,7 @@ if (argc<3)
|
|
||||||
|
|
||||||
fprintf(stderr, "Enter grammar language [Spanish]: ");
|
|
||||||
fflush(stderr);
|
|
||||||
-fgets(lang, 100, stdin);
|
|
||||||
+fgets(lang, 50, stdin);
|
|
||||||
if ((p=strchr(lang, '\n'))!=NULL) *p=0;
|
|
||||||
if (*lang==0) strcpy(lang, "Spanish");
|
|
||||||
|
|
||||||
--- tools/src/ooo2dict.c
|
|
||||||
+++ tools/src/ooo2dict.c
|
|
||||||
@@ -71,7 +71,7 @@ current2=malloc(10000);
|
|
||||||
|
|
||||||
fprintf(stderr, "Enter thesaurus language [WordNet_English]: ");
|
|
||||||
fflush(stderr);
|
|
||||||
-fgets(lang, 100, stdin);
|
|
||||||
+fgets(lang, 50, stdin);
|
|
||||||
if ((p=strchr(lang, '\n'))!=NULL) *p=0;
|
|
||||||
if (*lang==0) strcpy(lang, "WordNet_English");
|
|
||||||
F=fopen((argc>1)? argv[1]: "/usr/share/myspell/dicts/th_en_US_v2.dat", "rt");
|
|
@ -1,39 +0,0 @@
|
|||||||
http://bugs.gentoo.org/401887
|
|
||||||
|
|
||||||
diff --git a/lib/src/libcommon.cpp b/lib/src/libcommon.cpp
|
|
||||||
index 16770a3..a4299e7 100644
|
|
||||||
--- a/lib/src/libcommon.cpp
|
|
||||||
+++ b/lib/src/libcommon.cpp
|
|
||||||
@@ -614,7 +614,7 @@ int unpack_zlib(const char* arch_file_name, const char* out_file_name)
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
while(true) {
|
|
||||||
- len = gzread(get_impl(in), buf, buffer_size);
|
|
||||||
+ len = gzread((gzFile)get_impl(in), buf, buffer_size);
|
|
||||||
if(len < 0) {
|
|
||||||
g_critical(read_file_err, arch_file_name, "");
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
@@ -871,3 +871,8 @@ int remove_recursive(const std::string& path)
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+int gzclose_compat(void * file)
|
|
||||||
+{
|
|
||||||
+ return gzclose ((gzFile)file);
|
|
||||||
+}
|
|
||||||
diff --git a/lib/src/libcommon.h b/lib/src/libcommon.h
|
|
||||||
index 10f13b4..bdcbf2f 100644
|
|
||||||
--- a/lib/src/libcommon.h
|
|
||||||
+++ b/lib/src/libcommon.h
|
|
||||||
@@ -187,8 +187,9 @@ namespace clib {
|
|
||||||
typedef ResourceWrapper<FILE, FILE*, int, fclose> File;
|
|
||||||
}
|
|
||||||
|
|
||||||
+extern int gzclose_compat(void * file);
|
|
||||||
namespace zip {
|
|
||||||
-typedef ResourceWrapper<void, void*, int, gzclose> gzFile;
|
|
||||||
+typedef ResourceWrapper<void, void*, int, gzclose_compat> gzFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create a new temporary file. Return file name in file name encoding.
|
|
@ -1,45 +0,0 @@
|
|||||||
{stdenv, fetchurl, pkgconfig, gtk, glib, zlib, libxml2, intltool, gnome_doc_utils, libgnomeui, scrollkeeper, mysql, pcre, which, libxslt}:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name= "stardict-3.0.3";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://stardict-3.googlecode.com/files/${name}.tar.bz2";
|
|
||||||
sha256 = "0wrb8xqy6x9piwrn0vw5alivr9h3b70xlf51qy0jpl6d7mdhm8cv";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ pkgconfig gtk glib zlib libxml2 intltool gnome_doc_utils libgnomeui scrollkeeper mysql.lib pcre which libxslt];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# mysql hacks: we need dynamic linking as there is no libmysqlclient.a
|
|
||||||
substituteInPlace tools/configure --replace '/usr/local/include/mysql' '${mysql.lib}/include/mysql/'
|
|
||||||
substituteInPlace tools/configure --replace 'AC_FIND_FILE([libmysqlclient.a]' 'AC_FIND_FILE([libmysqlclient.so]'
|
|
||||||
substituteInPlace tools/configure --replace '/usr/local/lib/mysql' '${mysql.lib}/lib/mysql/'
|
|
||||||
substituteInPlace tools/configure --replace 'for y in libmysqlclient.a' 'for y in libmysqlclient.so'
|
|
||||||
substituteInPlace tools/configure --replace 'libmysqlclient.a' 'libmysqlclient.so'
|
|
||||||
|
|
||||||
# a list of p0 patches from gentoo devs
|
|
||||||
patch -p0 < ${./stardict-3.0.3-overflow.patch}
|
|
||||||
patch -p0 < ${./stardict-3.0.3-gcc46.patch}
|
|
||||||
patch -p0 < ${./stardict-3.0.3-compositelookup_cpp.patch}
|
|
||||||
patch -p0 < ${./stardict-3.0.3-correct-glib-include.patch}
|
|
||||||
patch -p0 < ${./stardict-3.0.3-entry.patch}
|
|
||||||
|
|
||||||
# disable the xsltproc internet query
|
|
||||||
substituteInPlace dict/help/Makefile.am --replace 'xsltproc -o' 'xsltproc --nonet -o'
|
|
||||||
substituteInPlace dict/help/Makefile.in --replace 'xsltproc -o' 'xsltproc --nonet -o'
|
|
||||||
'';
|
|
||||||
|
|
||||||
# another gentoo patch: a p1 patch
|
|
||||||
patches = [ ./stardict-3.0.3-zlib-1.2.5.2.patch ];
|
|
||||||
|
|
||||||
configurePhase = ''
|
|
||||||
./configure --disable-spell --disable-gucharmap --disable-festival --disable-espeak --disable-scrollkeeper --prefix=$out
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "An international dictionary supporting fuzzy and glob style matching";
|
|
||||||
license = stdenv.lib.licenses.lgpl3;
|
|
||||||
maintainers = with stdenv.lib.maintainers; [qknight];
|
|
||||||
broken = true;
|
|
||||||
};
|
|
||||||
}
|
|
24
pkgs/applications/misc/xautoclick/default.nix
Normal file
24
pkgs/applications/misc/xautoclick/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchurl, xorg, pkgconfig
|
||||||
|
, gtkSupport ? true, gtk
|
||||||
|
, qtSupport ? true, qt4
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "0.31";
|
||||||
|
name = "xautoclick-${version}";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://downloads.sourceforge.net/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz";
|
||||||
|
sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm";
|
||||||
|
};
|
||||||
|
buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext pkgconfig ]
|
||||||
|
++ stdenv.lib.optionals gtkSupport [ gtk ]
|
||||||
|
++ stdenv.lib.optionals qtSupport [ qt4 ];
|
||||||
|
patchPhase = ''
|
||||||
|
substituteInPlace configure --replace /usr/X11R6 ${xorg.libX11}
|
||||||
|
'';
|
||||||
|
preConfigure = stdenv.lib.optional qtSupport ''
|
||||||
|
mkdir .bin
|
||||||
|
ln -s ${qt4}/bin/moc .bin/moc-qt4
|
||||||
|
addToSearchPath PATH .bin
|
||||||
|
'';
|
||||||
|
}
|
66
pkgs/applications/misc/yakuake/3.0.nix
Normal file
66
pkgs/applications/misc/yakuake/3.0.nix
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchurl
|
||||||
|
, cmake
|
||||||
|
, extra-cmake-modules
|
||||||
|
, karchive
|
||||||
|
, kcrash
|
||||||
|
, kdbusaddons
|
||||||
|
, ki18n
|
||||||
|
, kiconthemes
|
||||||
|
, knewstuff
|
||||||
|
, knotifications
|
||||||
|
, knotifyconfig
|
||||||
|
, konsole
|
||||||
|
, kparts
|
||||||
|
, kwindowsystem
|
||||||
|
, makeQtWrapper
|
||||||
|
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "yakuake";
|
||||||
|
version = "3.0.2";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz";
|
||||||
|
sha256 = "0vcdji1k8d3pz7k6lkw8ighkj94zff2l2cf9v1avf83f4hjyfhg5";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
cmake
|
||||||
|
extra-cmake-modules
|
||||||
|
karchive
|
||||||
|
kcrash
|
||||||
|
kdbusaddons
|
||||||
|
ki18n
|
||||||
|
kiconthemes
|
||||||
|
knewstuff
|
||||||
|
knotifications
|
||||||
|
knotifyconfig
|
||||||
|
kparts
|
||||||
|
kwindowsystem
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
extra-cmake-modules
|
||||||
|
makeQtWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedUserEnvPkgs = [
|
||||||
|
konsole
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapQtProgram "$out/bin/yakuake"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = https://yakuake.kde.org;
|
||||||
|
description = "Quad-style terminal emulator for KDE";
|
||||||
|
maintainers = with lib.maintainers; [ fridh ];
|
||||||
|
};
|
||||||
|
}
|
@ -29,8 +29,6 @@ mkChromiumDerivation (base: rec {
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preHook = "unset NIX_ENFORCE_PURITY";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "An open source web browser from Google";
|
description = "An open source web browser from Google";
|
||||||
homepage = http://www.chromium.org/;
|
homepage = http://www.chromium.org/;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ninja, which
|
{ stdenv, ninja, which
|
||||||
|
|
||||||
# default dependencies
|
# default dependencies
|
||||||
, bzip2, flac, speex, libopus
|
, bzip2, flac, speex, libopus
|
||||||
@ -29,8 +29,7 @@
|
|||||||
, pulseSupport ? false, libpulseaudio ? null
|
, pulseSupport ? false, libpulseaudio ? null
|
||||||
, hiDPISupport ? false
|
, hiDPISupport ? false
|
||||||
|
|
||||||
, source
|
, upstream-info
|
||||||
, plugins
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildFun:
|
buildFun:
|
||||||
@ -98,9 +97,17 @@ let
|
|||||||
|
|
||||||
base = rec {
|
base = rec {
|
||||||
name = "${packageName}-${version}";
|
name = "${packageName}-${version}";
|
||||||
inherit (source) version;
|
inherit (upstream-info) version;
|
||||||
inherit packageName buildType buildPath;
|
inherit packageName buildType buildPath;
|
||||||
src = source;
|
|
||||||
|
src = upstream-info.main;
|
||||||
|
|
||||||
|
unpackCmd = ''
|
||||||
|
tar xf "$src" \
|
||||||
|
--anchored \
|
||||||
|
--no-wildcards-match-slash \
|
||||||
|
--exclude='*/tools/gyp'
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = defaultDependencies ++ [
|
buildInputs = defaultDependencies ++ [
|
||||||
which
|
which
|
||||||
@ -118,16 +125,21 @@ let
|
|||||||
++ optionals cupsSupport [ libgcrypt cups ]
|
++ optionals cupsSupport [ libgcrypt cups ]
|
||||||
++ optional pulseSupport libpulseaudio;
|
++ optional pulseSupport libpulseaudio;
|
||||||
|
|
||||||
# XXX: Wait for https://crbug.com/239107 and https://crbug.com/239181 to
|
patches = [
|
||||||
# be fixed, then try again to unbundle everything into separate
|
./patches/build_fixes_46.patch
|
||||||
# derivations.
|
./patches/widevine.patch
|
||||||
prePatch = ''
|
(if versionOlder version "50.0.0.0"
|
||||||
cp -dr --no-preserve=mode "${source.main}"/* .
|
then ./patches/nix_plugin_paths_46.patch
|
||||||
cp -dr "${source.bundled}" third_party
|
else ./patches/nix_plugin_paths_50.patch)
|
||||||
chmod -R u+w third_party
|
];
|
||||||
'';
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
sed -i -r \
|
||||||
|
-e 's/-f(stack-protector)(-all)?/-fno-\1/' \
|
||||||
|
-e 's|/bin/echo|echo|' \
|
||||||
|
-e "/python_arch/s/: *'[^']*'/: '""'/" \
|
||||||
|
build/common.gypi chrome/chrome_tests.gypi
|
||||||
|
|
||||||
sed -i -e '/module_path *=.*libexif.so/ {
|
sed -i -e '/module_path *=.*libexif.so/ {
|
||||||
s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
|
s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
|
||||||
}' chrome/utility/media_galleries/image_metadata_extractor.cc
|
}' chrome/utility/media_galleries/image_metadata_extractor.cc
|
||||||
@ -142,8 +154,8 @@ let
|
|||||||
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
|
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
|
||||||
linux_use_bundled_binutils = false;
|
linux_use_bundled_binutils = false;
|
||||||
linux_use_bundled_gold = false;
|
linux_use_bundled_gold = false;
|
||||||
linux_use_gold_binary = false;
|
linux_use_gold_flags = true;
|
||||||
linux_use_gold_flags = false;
|
|
||||||
proprietary_codecs = false;
|
proprietary_codecs = false;
|
||||||
use_sysroot = false;
|
use_sysroot = false;
|
||||||
use_gnome_keyring = gnomeKeyringSupport;
|
use_gnome_keyring = gnomeKeyringSupport;
|
||||||
@ -182,7 +194,7 @@ let
|
|||||||
} // (extraAttrs.gypFlags or {}));
|
} // (extraAttrs.gypFlags or {}));
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
# Precompile .pyc files to prevent race conditions during build
|
echo "Precompiling .py files to prevent race conditions..." >&2
|
||||||
python -m compileall -q -f . > /dev/null 2>&1 || : # ignore errors
|
python -m compileall -q -f . > /dev/null 2>&1 || : # ignore errors
|
||||||
|
|
||||||
# This is to ensure expansion of $out.
|
# This is to ensure expansion of $out.
|
||||||
|
@ -19,10 +19,9 @@ let
|
|||||||
callPackage = newScope chromium;
|
callPackage = newScope chromium;
|
||||||
|
|
||||||
chromium = {
|
chromium = {
|
||||||
source = callPackage ./source {
|
upstream-info = (import ./update.nix {
|
||||||
inherit channel;
|
inherit (stdenv) system;
|
||||||
# XXX: common config
|
}).getChannel channel;
|
||||||
};
|
|
||||||
|
|
||||||
mkChromiumDerivation = callPackage ./common.nix {
|
mkChromiumDerivation = callPackage ./common.nix {
|
||||||
inherit enableSELinux enableNaCl enableHotwording gnomeSupport
|
inherit enableSELinux enableNaCl enableHotwording gnomeSupport
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
, enablePepperFlash ? false
|
, enablePepperFlash ? false
|
||||||
, enableWideVine ? false
|
, enableWideVine ? false
|
||||||
|
|
||||||
, source
|
, upstream-info
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -40,16 +40,15 @@ let
|
|||||||
plugins = stdenv.mkDerivation {
|
plugins = stdenv.mkDerivation {
|
||||||
name = "chromium-binary-plugins";
|
name = "chromium-binary-plugins";
|
||||||
|
|
||||||
# XXX: Only temporary and has to be version-specific
|
src = upstream-info.binary;
|
||||||
src = source.plugins;
|
|
||||||
|
|
||||||
phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
|
phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
|
||||||
outputs = [ "flash" "widevine" ];
|
outputs = [ "flash" "widevine" ];
|
||||||
|
|
||||||
unpackCmd = let
|
unpackCmd = let
|
||||||
chan = if source.channel == "dev" then "chrome-unstable"
|
chan = if upstream-info.channel == "dev" then "chrome-unstable"
|
||||||
else if source.channel == "stable" then "chrome"
|
else if upstream-info.channel == "stable" then "chrome"
|
||||||
else "chrome-${source.channel}";
|
else "chrome-${upstream-info.channel}";
|
||||||
in ''
|
in ''
|
||||||
mkdir -p plugins
|
mkdir -p plugins
|
||||||
ar p "$src" data.tar.xz | tar xJ -C plugins --strip-components=4 \
|
ar p "$src" data.tar.xz | tar xJ -C plugins --strip-components=4 \
|
||||||
@ -84,7 +83,9 @@ let
|
|||||||
wvModule = "@widevine@/lib/libwidevinecdmadapter.so";
|
wvModule = "@widevine@/lib/libwidevinecdmadapter.so";
|
||||||
wvInfo = "#${wvName}#${wvDescription};${wvMimeTypes}";
|
wvInfo = "#${wvName}#${wvDescription};${wvMimeTypes}";
|
||||||
in ''
|
in ''
|
||||||
flashVersion="$(${jshon}/bin/jshon -F PepperFlash/manifest.json -e version -u)"
|
flashVersion="$(
|
||||||
|
"${jshon}/bin/jshon" -F PepperFlash/manifest.json -e version -u
|
||||||
|
)"
|
||||||
|
|
||||||
install -vD PepperFlash/libpepflashplayer.so \
|
install -vD PepperFlash/libpepflashplayer.so \
|
||||||
"$flash/lib/libpepflashplayer.so"
|
"$flash/lib/libpepflashplayer.so"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user