Merge branch 'master' into staging

* master: (293 commits)
  go_1_9: skip flaky TestServerCancelsReadTimeoutWhenIdle
  qsyncthingtray: fix build
  qt56.qtwebengine: fix build
  stdman: d860212 -> 2017.04.02
  jackett: use mono50
  hg-git: disable with python3
  hg-git: 0.8.5 -> 0.8.10
  xfce4-settings: enable parallel building
  gcc-snapshot: mark as broken
  heaptrack: 2017-02-14 -> 2017-10-30
  nixos-container: Modify existing test to cover show-ip command
  nixos-container: Make show-ip work together with ipv4 + netmask
  linux-copperhead: 4.13.12.a -> 4.13.13.a
  matterbridge: 1.1.0 -> 1.4.1
  nixos/nghttpx: add module for the nghttpx proxy server (#31680)
  mattermost: 4.3.0 -> 4.4.0
  breakpad: delete
  simp_le: 0.2.0 -> 0.6.1
  certbot: 0.11.1 -> 0.19.0
  afl: 2.51b -> 2.52b
  ...
This commit is contained in:
Orivej Desh 2017-11-17 05:35:09 +00:00
commit d99a2fc093
349 changed files with 9856 additions and 68183 deletions

3
.github/CODEOWNERS vendored
View File

@ -80,3 +80,6 @@
# Eclipse
/pkgs/applications/editors/eclipse @rycee
# https://github.com/NixOS/nixpkgs/issues/31401
/lib/maintainers.nix @ghost

View File

@ -12,7 +12,7 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
## Submitting changes
* Format the commits in the following way:
* Format the commit messages in the following way:
```
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)

View File

@ -8,7 +8,5 @@
## Technical details
* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
* Nix version: (run `nix-env --version`)
* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
* Sandboxing enabled: (run `grep build-use-sandbox /etc/nix/nix.conf`)
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the
results.

View File

@ -1,35 +0,0 @@
language: nix
sudo: true
# 'sudo: false' == containers that start fast, but only get 4G ram;
# 'sudo: true' == VMs that start slow, but with 8G
# ..as per: https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
# Nixpkgs PR tests OOM with 4G: https://github.com/NixOS/nixpkgs/issues/24200
matrix:
include:
- os: linux
sudo: required
script:
- ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable
- ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual
env:
- BUILD_TYPE="Test Nixpkgs evaluation & NixOS manual build"
- os: linux
sudo: required
dist: trusty
before_script:
- sudo mount -o remount,exec,size=2G,mode=755 /run/user
script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
env:
- BUILD_TYPE="Build affected packages (Linux)"
- os: osx
osx_image: xcode7.3
script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
env:
- BUILD_TYPE="Build affected packages (macOS)"
env:
global:
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
notifications:
email: false

View File

@ -11,7 +11,7 @@
For example, a typical use of cross compilation is to compile programs for embedded devices.
These devices often don't have the computing power and memory to compile their own programs.
One might think that cross-compilation is a fairly niche concern, but there are advantages to being rigorous about distinguishing build-time vs run-time environments even when one is developing and deploying on the same machine.
Nixpkgs is increasingly adopting this opinion in that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
Nixpkgs is increasingly adopting the opinion that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
</para>
<para>
@ -30,11 +30,11 @@
<section>
<title>Platform parameters</title>
<para>
The three GNU Autoconf platforms, <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>, are historically the result of much confusion.
<link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html" /> clears this up somewhat but there is more to be said.
An important advice to get out the way is, unless you are packaging a compiler or other build tool, just worry about the build and host platforms.
Dealing with just two platforms usually better matches people's preconceptions, and in this case is completely correct.
Nixpkgs follows the <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">common historical convention of GNU autoconf</link> of distinguishing between 3 types of platform: <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>.
In summary, <wordasword>build</wordasword> is the platform on which a package is being built, <wordasword>host</wordasword> is the platform on which it is to run. The third attribute, <wordasword>target</wordasword>, is relevant only for certain specific compilers and build tools.
</para>
<para>
In Nixpkgs, these three platforms are defined as attribute sets under the names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal>.
All three are always defined as attributes in the standard environment, and at the top level. That means one can get at them just like a dependency in a function that is imported with <literal>callPackage</literal>:
@ -52,7 +52,7 @@
<varlistentry>
<term><varname>hostPlatform</varname></term>
<listitem><para>
The "host platform" is the platform on which a package is run.
The "host platform" is the platform on which a package will be run.
This is the simplest platform to understand, but also the one with the worst name.
</para></listitem>
</varlistentry>
@ -60,22 +60,24 @@
<term><varname>targetPlatform</varname></term>
<listitem>
<para>
The "target platform" is black sheep.
The other two intrinsically apply to all compiled software—or any build process with a notion of "build-time" followed by "run-time".
The target platform only applies to programming tools, and even then only is a good for for some of them.
Briefly, GCC, Binutils, GHC, and certain other tools are written in such a way such that a single build can only compile code for a single platform.
Thus, when building them, one must think ahead about which platforms they wish to use the tool to produce machine code for, and build binaries for each.
The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software.
Instead, it is only relevant for compatability with building certain specific compilers and build tools.
It can be safely ignored for all other packages.
</para>
<para>
There is no fundamental need to think about the target ahead of time like this.
LLVM, for example, was designed from the beginning with cross-compilation in mind, and so a normal LLVM binary will support every architecture that LLVM supports.
If the tool supports modular or pluggable backends, one might imagine specifying a <emphasis>set</emphasis> of target platforms / backends one wishes to support, rather than a single one.
The build process of certain compilers is written in such a way that the compiler resulting from a single build can itself only produce binaries for a single platform.
The task specifying this single "target platform" is thus pushed to build time of the compiler.
The root cause of this mistake is often that the compiler (which will be run on the host) and the the standard library/runtime (which will be run on the target) are built by a single build process.
</para>
<para>
The biggest reason for mess, if there is one, is that many compilers have the bad habit a build process that builds the compiler and standard library/runtime together.
Then the specifying target platform is essential, because it determines the host platform of the standard library/runtime.
Nixpkgs tries to avoid this where possible too, but still, because the concept of a target platform is so ingrained now in Autoconf and other tools, it is best to support it as is.
Tools like LLVM that don't need up-front target platforms can safely ignore it like normal packages, and it will do no harm.
There is no fundamental need to think about a single target ahead of time like this.
If the tool supports modular or pluggable backends, both the need to specify the target at build time and the constraint of having only a single target disappear.
An example of such a tool is LLVM.
</para>
<para>
Although the existance of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf.
Nixpkgs tries to avoid sharing in the mistake where possible.
Still, because the concept of a target platform is so ingrained, it is best to support it as is.
</para>
</listitem>
</varlistentry>
@ -155,14 +157,22 @@
<section>
<title>Specifying Dependencies</title>
<para>
As mentioned in the introduction to this chapter, one can think about a build time vs run time distinction whether cross-compiling or not.
In the case of cross-compilation, this corresponds with whether a derivation running on the native or foreign platform is produced.
An interesting thing to think about is how this corresponds with the three Autoconf platforms.
In the run-time case, the depending and depended-on package simply have matching build, host, and target platforms.
But in the build-time case, one can imagine "sliding" the platforms one over.
The depended-on package's host and target platforms (respectively) become the depending package's build and host platforms.
This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
In this section we explore the relationship between both runtime and buildtime dependencies and the 3 Autoconf platforms.
</para>
<para>
A runtime dependency between 2 packages implies that between them both the host and target platforms match.
This is directly implied by the meaning of "host platform" and "runtime dependency":
The package dependency exists while both packages are runnign on a single host platform.
</para>
<para>
A build time dependency, however, implies a shift in platforms between the depending package and the depended-on package.
The meaning of a build time dependency is that to build the depending package we need to be able to run the depended-on's package.
The depending package's build platform is therefore equal to the depended-on package's host platform.
Analogously, the depending package's host platform is equal to the depended-on package's target platform.
</para>
<para>
In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
</para>
<para>
Some examples will probably make this clearer.

View File

@ -231,7 +231,8 @@ genericBuild
<listitem><para>
Like <varname>nativeBuildInputs</varname>, but these dependencies are <emphasis>propagated</emphasis>:
that is, the dependencies listed here are added to the <varname>nativeBuildInputs</varname> of any package that uses <emphasis>this</emphasis> package as a dependency.
So if package Y has <literal>propagatedBuildInputs = [X]</literal>, and package Z has <literal>buildInputs = [Y]</literal>, then package X will appear in Zs build environment automatically.
So if package Y has <literal>propagatedNativeBuildInputs = [X]</literal>, and package Z has <literal>nativeBuildInputs = [Y]</literal>,
then package X will appear in Zs build environment automatically.
</para></listitem>
</varlistentry>

View File

@ -62,7 +62,7 @@
asppsa = "Alastair Pharo <asppsa@gmail.com>";
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
asymmetric = "Lorenzo Manacorda <lorenzo@mailbox.org>";
aszlig = "aszlig <aszlig@redmoonstudios.org>";
aszlig = "aszlig <aszlig@nix.build>";
auntie = "Jonathan Glines <auntieNeo@gmail.com>";
avnik = "Alexander V. Nikolaev <avn@avnik.info>";
aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
@ -111,6 +111,7 @@
changlinli = "Changlin Li <mail@changlinli.com>";
chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
chattered = "Phil Scott <me@philscotted.com>";
ChengCat = "Yucheng Zhang <yu@cheng.cat>";
choochootrain = "Hurshal Patel <hurshal@imap.cc>";
chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
chris-martin = "Chris Martin <ch.martin@gmail.com>";
@ -144,6 +145,7 @@
DamienCassou = "Damien Cassou <damien@cassou.me>";
danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
dancek = "Hannu Hartikainen <hannu.hartikainen@gmail.com>";
danharaj = "Dan Haraj <dan@obsidian.systems>";
danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
david50407 = "David Kuo <me@davy.tw>";
@ -218,6 +220,7 @@
falsifian = "James Cook <james.cook@utoronto.ca>";
fare = "Francois-Rene Rideau <fahree@gmail.com>";
fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
FireyFly = "Jonas Höglund <nix@firefly.nu>";
flokli = "Florian Klink <flokli@flokli.de>";
florianjacob = "Florian Jacob <projects+nixos@florianjacob.de>";
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
@ -282,6 +285,7 @@
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
ironpinguin = "Michele Catalano <michele@catalano.de>";
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
ixmatus = "Parnell Springmeyer <parnell@digitalmentat.com>";
j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
jammerful = "jammerful <jammerful@gmail.com>";
@ -325,6 +329,7 @@
kaiha = "Kai Harries <kai.harries@gmail.com>";
kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
karolchmist = "karolchmist <info+nix@chmist.com>";
kentjames = "James Kent <jameschristopherkent@gmail.com";
kevincox = "Kevin Cox <kevincox@kevincox.ca>";
khumba = "Bryan Gardiner <bog@khumba.net>";

View File

@ -1,82 +0,0 @@
#! /usr/bin/env bash
set -e
while test -n "$1"; do
# tell Travis to use folding
echo -en "travis_fold:start:$1\r"
case $1 in
nixpkgs-verify)
echo "=== Verifying that nixpkgs evaluates..."
nix-env --file $TRAVIS_BUILD_DIR --query --available --json > /dev/null
;;
nixos-options)
echo "=== Checking NixOS options"
nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr options --show-trace
;;
nixos-manual)
echo "=== Checking NixOS manuals"
nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr manual --show-trace
;;
nixpkgs-manual)
echo "=== Checking nixpkgs manuals"
nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr manual --show-trace
;;
nixpkgs-tarball)
echo "=== Checking nixpkgs tarball creation"
nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace
;;
nixpkgs-unstable)
echo "=== Checking nixpkgs unstable job"
nix-instantiate $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr unstable --show-trace
;;
nixpkgs-lint)
echo "=== Checking nixpkgs lint"
nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR"
;;
nox)
echo "=== Fetching Nox from binary cache"
# build nox (+ a basic nix-shell env) silently so it's not in the log
nix-shell -p nox stdenv --command true
;;
pr)
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
echo "=== No pull request found"
else
echo "=== Building pull request #$TRAVIS_PULL_REQUEST"
token=""
if [ -n "$GITHUB_TOKEN" ]; then
token="--token $GITHUB_TOKEN"
fi
nix-shell --packages nox --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
fi
;;
*)
echo "Skipping unknown option $1"
;;
esac
echo -en "travis_fold:end:$1\r"
shift
done

View File

@ -86,8 +86,26 @@ following incompatible changes:</para>
<itemizedlist>
<listitem>
<para>
ZNC option <option>services.znc.mutable</option> now defaults to <literal>true</literal>.
That means that old configuration is not overwritten by default when update to the znc options are made.
ZNC option <option>services.znc.mutable</option> now defaults to
<literal>true</literal>. That means that old configuration is not
overwritten by default when update to the znc options are made.
</para>
</listitem>
<listitem>
<para>
The option <option>networking.wireless.networks.&lt;name&gt;.auth</option>
has been added for wireless networks with WPA-Enterprise authentication.
There is also a new <option>extraConfig</option> option to directly
configure <literal>wpa_supplicant</literal> and <option>hidden</option>
to connect to hidden networks.
</para>
</listitem>
<listitem>
<para>
The option <option>services.xserver.desktopManager.default</option> is now <literal>none</literal> by default.
An assertion failure is thrown if WM's and DM's default are <literal>none</literal>.
To explicitly run a plain X session without and DM or WM, the newly introduced option <option>services.xserver.plainX</option>
must be set to true.
</para>
</listitem>
</itemizedlist>

View File

@ -33,18 +33,23 @@
, name ? "nixos-disk-image"
, # Disk image format, one of qcow2, vpc, raw.
, # Disk image format, one of qcow2, qcow2-compressed, vpc, raw.
format ? "raw"
}:
with lib;
let
extensions = {
let format' = format; in let
format = if (format' == "qcow2-compressed") then "qcow2" else format';
compress = optionalString (format' == "qcow2-compressed") "-c";
filename = "nixos." + {
qcow2 = "qcow2";
vpc = "vhd";
raw = "img";
};
}.${format};
nixpkgs = cleanSource pkgs.path;
@ -125,7 +130,7 @@ let
fakeroot nixos-prepare-root $root ${channelSources} ${config.system.build.toplevel} closure
echo "copying staging root to image..."
cptofs ${pkgs.lib.optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
cptofs ${optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
'';
in pkgs.vmTools.runInLinuxVM (
pkgs.runCommand name
@ -134,12 +139,11 @@ in pkgs.vmTools.runInLinuxVM (
exportReferencesGraph = [ "closure" metaClosure ];
postVM = ''
${if format == "raw" then ''
mv $diskImage $out/nixos.img
diskImage=$out/nixos.img
mv $diskImage $out/${filename}
'' else ''
${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} $diskImage $out/nixos.${extensions.${format}}
diskImage=$out/nixos.${extensions.${format}}
${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} ${compress} $diskImage $out/${filename}
''}
diskImage=$out/${filename}
${postVM}
'';
memSize = 1024;

View File

@ -52,6 +52,8 @@ let
</fontconfig>
'';
localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
# The configuration to be included in /etc/font/
penultimateConf = pkgs.runCommand "font-penultimate-conf" {} ''
support_folder=$out/etc/fonts/conf.d
@ -107,6 +109,12 @@ let
$latest_folder/51-local.conf \
--replace local.conf /etc/fonts/${latestVersion}/local.conf
# local.conf (indirect priority 51)
${optionalString (cfg.localConf != "") ''
ln -s ${localConf} $out/etc/fonts/local.conf
ln -s ${localConf} $out/etc/fonts/${latestVersion}/local.conf
''}
ln -s ${defaultFontsConf} $support_folder/52-default-fonts.conf
ln -s ${defaultFontsConf} $latest_folder/52-default-fonts.conf

View File

@ -291,7 +291,7 @@ if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then
fi
echo "Description:"
echo
eval printf $(evalOpt "description")
echo $(evalOpt "description")
echo $desc;

View File

@ -193,6 +193,8 @@
./services/databases/stanchion.nix
./services/databases/virtuoso.nix
./services/desktops/accountsservice.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
./services/desktops/geoclue2.nix
./services/desktops/gnome3/at-spi2-core.nix
./services/desktops/gnome3/evolution-data-server.nix
@ -482,6 +484,7 @@
./services/networking/networkmanager.nix
./services/networking/nftables.nix
./services/networking/ngircd.nix
./services/networking/nghttpx/default.nix
./services/networking/nix-serve.nix
./services/networking/nntp-proxy.nix
./services/networking/nsd.nix
@ -639,6 +642,7 @@
./services/x11/display-managers/sddm.nix
./services/x11/display-managers/slim.nix
./services/x11/display-managers/xpra.nix
./services/x11/fractalart.nix
./services/x11/hardware/libinput.nix
./services/x11/hardware/multitouch.nix
./services/x11/hardware/synaptics.nix

View File

@ -8,6 +8,11 @@ let
mysql = cfg.package;
isMariaDB =
let
pName = _p: (builtins.parseDrvName (_p.name)).name;
in pName mysql == pName pkgs.mariadb;
atLeast55 = versionAtLeast mysql.mysqlVersion "5.5";
pidFile = "${cfg.pidDir}/mysqld.pid";
@ -59,7 +64,7 @@ in
type = types.package;
example = literalExample "pkgs.mysql";
description = "
Which MySQL derivation to use.
Which MySQL derivation to use. MariaDB packages are supported too.
";
};
@ -360,7 +365,7 @@ in
${concatMapStrings (user:
''
( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if mysql == pkgs.mariadb then "unix_socket" else "auth_socket"};"
( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};"
${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';"
'') user.ensurePermissions)}

View File

@ -153,7 +153,7 @@ in
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
internal = true;
description = ''
NixOS traditionally used `root` as superuser, most other distros use `postgres`.
NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
From 17.09 we also try to follow this standard. Internal since changing this value
would lead to breakage while setting up databases.
'';

View File

@ -0,0 +1,28 @@
# dleyna-renderer service.
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
services.dleyna-renderer = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable dleyna-renderer service, a DBus service
for handling DLNA renderers.
'';
};
};
};
###### implementation
config = mkIf config.services.dleyna-renderer.enable {
environment.systemPackages = [ pkgs.dleyna-renderer ];
services.dbus.packages = [ pkgs.dleyna-renderer ];
};
}

View File

@ -0,0 +1,28 @@
# dleyna-server service.
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
services.dleyna-server = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable dleyna-server service, a DBus service
for handling DLNA servers.
'';
};
};
};
###### implementation
config = mkIf config.services.dleyna-server.enable {
environment.systemPackages = [ pkgs.dleyna-server ];
services.dbus.packages = [ pkgs.dleyna-server ];
};
}

View File

@ -62,14 +62,14 @@ let
}
'')
''
(optionalString (cfg.mailboxes != []) ''
protocol imap {
namespace inbox {
inbox=yes
${concatStringsSep "\n" (map mailboxConfig cfg.mailboxes)}
}
}
''
'')
(optionalString cfg.enableQuota ''
mail_plugins = $mail_plugins quota

View File

@ -17,7 +17,7 @@ let
#! ${pkgs.stdenv.shell}
${optionalString nm.enable ''
{
cat << EOF
${pkgs.coreutils}/bin/cat << EOF
From: smartd on ${host} <root>
To: undisclosed-recipients:;
Subject: SMART error on $SMARTD_DEVICESTRING: $SMARTD_FAILTYPE
@ -30,7 +30,7 @@ let
''}
${optionalString nw.enable ''
{
cat << EOF
${pkgs.coreutils}/bin/cat << EOF
Problem detected with disk: $SMARTD_DEVICESTRING
Warning message from smartd is:
@ -41,7 +41,7 @@ let
${optionalString nx.enable ''
export DISPLAY=${nx.display}
{
cat << EOF
${pkgs.coreutils}/bin/cat << EOF
Problem detected with disk: $SMARTD_DEVICESTRING
Warning message from smartd is:

View File

@ -6,8 +6,10 @@ let
cfg = config.services.babeld;
conditionalBoolToString = value: if (isBool value) then (boolToString value) else (toString value);
paramsString = params:
concatMapStringsSep "" (name: "${name} ${boolToString (getAttr name params)}")
concatMapStringsSep " " (name: "${name} ${conditionalBoolToString (getAttr name params)}")
(attrNames params);
interfaceConfig = name:
@ -49,7 +51,7 @@ in
type = types.nullOr (types.attrsOf types.unspecified);
example =
{
wired = true;
type = "tunnel";
"split-horizon" = true;
};
};
@ -63,7 +65,7 @@ in
type = types.attrsOf (types.attrsOf types.unspecified);
example =
{ enp0s2 =
{ wired = true;
{ type = "wired";
"hello-interval" = 5;
"split-horizon" = "auto";
};

View File

@ -0,0 +1,131 @@
{ lib, ...}:
{ options = {
proto = lib.mkOption {
type = lib.types.enum [ "h2" "http/1.1" ];
default = "http/1.1";
description = ''
This option configures the protocol the backend server expects
to use.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
tls = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
This option determines whether nghttpx will negotiate its
connection with a backend server using TLS or not. The burden
is on the backend server to provide the TLS certificate!
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
sni = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Override the TLS SNI field value. This value (in nghttpx)
defaults to the host value of the backend configuration.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
fall = lib.mkOption {
type = lib.types.int;
default = 0;
description = ''
If nghttpx cannot connect to the backend N times in a row, the
backend is assumed to be offline and is excluded from load
balancing. If N is 0 the backend is never excluded from load
balancing.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
rise = lib.mkOption {
type = lib.types.int;
default = 0;
description = ''
If the backend is excluded from load balancing, nghttpx will
periodically attempt to make a connection to the backend. If
the connection is successful N times in a row the backend is
re-included in load balancing. If N is 0 a backend is never
reconsidered for load balancing once it falls.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
affinity = lib.mkOption {
type = lib.types.enum [ "ip" "none" ];
default = "none";
description = ''
If "ip" is given, client IP based session affinity is
enabled. If "none" is given, session affinity is disabled.
Session affinity is enabled (by nghttpx) per-backend
pattern. If at least one backend has a non-"none" affinity,
then session affinity is enabled for all backend servers
sharing the same pattern.
It is advised to set affinity on all backends explicitly if
session affinity is desired. The session affinity may break if
one of the backend gets unreachable, or backend settings are
reloaded or replaced by API.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
dns = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Name resolution of a backends host name is done at start up,
or configuration reload. If "dns" is true, name resolution
takes place dynamically.
This is useful if a backends address changes frequently. If
"dns" is true, name resolution of a backend's host name at
start up, or configuration reload is skipped.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
redirect-if-not-tls = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
If true, a backend match requires the frontend connection be
TLS encrypted. If it is not, nghttpx responds to the request
with a 308 status code and https URI the client should use
instead in the Location header.
The port number in the redirect URI is 443 by default and can
be changed using 'services.nghttpx.redirect-https-port'
option.
If at least one backend has "redirect-if-not-tls" set to true,
this feature is enabled for all backend servers with the same
pattern. It is advised to set "redirect-if-no-tls" parameter
to all backends explicitly if this feature is desired.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more detail.
'';
};
};
}

View File

@ -0,0 +1,50 @@
{ lib, ... }:
{ options = {
server = lib.mkOption {
type =
lib.types.either
(lib.types.submodule (import ./server-options.nix))
(lib.types.path);
example = {
host = "127.0.0.1";
port = 8888;
};
default = {
host = "127.0.0.1";
port = 80;
};
description = ''
Backend server location specified as either a host:port pair
or a unix domain docket.
'';
};
patterns = lib.mkOption {
type = lib.types.listOf lib.types.str;
example = [
"*.host.net/v1/"
"host.org/v2/mypath"
"/somepath"
];
default = [];
description = ''
List of nghttpx backend patterns.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
for more information on the pattern syntax and nghttpxs behavior.
'';
};
params = lib.mkOption {
type = lib.types.nullOr (lib.types.submodule (import ./backend-params-submodule.nix));
example = {
proto = "h2";
tls = true;
};
default = null;
description = ''
Parameters to configure a backend.
'';
};
};
}

View File

@ -0,0 +1,117 @@
{config, pkgs, lib, ...}:
let
cfg = config.services.nghttpx;
# renderHost :: Either ServerOptions Path -> String
renderHost = server:
if builtins.isString server
then "unix://${server}"
else "${server.host},${builtins.toString server.port}";
# Filter out submodule parameters whose value is null or false or is
# the key _module.
#
# filterParams :: ParamsSubmodule -> ParamsSubmodule
filterParams = p:
lib.filterAttrs
(n: v: ("_module" != n) && (null != v) && (false != v))
(lib.optionalAttrs (null != p) p);
# renderBackend :: BackendSubmodule -> String
renderBackend = backend:
let
host = renderHost backend.server;
patterns = lib.concatStringsSep ":" backend.patterns;
# Render a set of backend parameters, this is somewhat
# complicated because nghttpx backend patterns can be entirely
# omitted and the params may be given as a mixed collection of
# 'key=val' pairs or atoms (e.g: 'proto=h2;tls')
params =
lib.mapAttrsToList
(n: v:
if builtins.isBool v
then n
else if builtins.isString v
then "${n}=${v}"
else "${n}=${builtins.toString v}")
(filterParams backend.params);
# NB: params are delimited by a ";" which is the same delimiter
# to separate the host;[pattern];[params] sections of a backend
sections =
builtins.filter (e: "" != e) ([
host
patterns
]++params);
formattedSections = lib.concatStringsSep ";" sections;
in
"backend=${formattedSections}";
# renderFrontend :: FrontendSubmodule -> String
renderFrontend = frontend:
let
host = renderHost frontend.server;
params0 =
lib.mapAttrsToList
(n: v: if builtins.isBool v then n else v)
(filterParams frontend.params);
# NB: nghttpx doesn't accept "tls", you must omit "no-tls" for
# the default behavior of turning on TLS.
params1 = lib.remove "tls" params0;
sections = [ host] ++ params1;
formattedSections = lib.concatStringsSep ";" sections;
in
"frontend=${formattedSections}";
configurationFile = pkgs.writeText "nghttpx.conf" ''
${lib.optionalString (null != cfg.tls) ("private-key-file="+cfg.tls.key)}
${lib.optionalString (null != cfg.tls) ("certificate-file="+cfg.tls.crt)}
user=nghttpx
${lib.concatMapStringsSep "\n" renderFrontend cfg.frontends}
${lib.concatMapStringsSep "\n" renderBackend cfg.backends}
backlog=${builtins.toString cfg.backlog}
backend-address-family=${cfg.backend-address-family}
workers=${builtins.toString cfg.workers}
rlimit-nofile=${builtins.toString cfg.rlimit-nofile}
${lib.optionalString cfg.single-thread "single-thread=yes"}
${lib.optionalString cfg.single-process "single-process=yes"}
${cfg.extraConfig}
'';
in
{ imports = [
./nghttpx-options.nix
];
config = lib.mkIf cfg.enable {
users.groups.nghttpx = { };
users.users.nghttpx = {
group = config.users.groups.nghttpx.name;
};
systemd.services = {
nghttpx = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
script = ''
${pkgs.nghttp2}/bin/nghttpx --conf=${configurationFile}
'';
serviceConfig = {
Restart = "on-failure";
RestartSec = 60;
};
};
};
};
}

View File

@ -0,0 +1,64 @@
{ lib, ...}:
{ options = {
tls = lib.mkOption {
type = lib.types.enum [ "tls" "no-tls" ];
default = "tls";
description = ''
Enable or disable TLS. If true (enabled) the key and
certificate must be configured for nghttpx.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
for more detail.
'';
};
sni-fwd = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
When performing a match to select a backend server, SNI host
name received from the client is used instead of the request
host. See --backend option about the pattern match.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
for more detail.
'';
};
api = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable API access for this frontend. This enables you to
dynamically modify nghttpx at run-time therefore this feature
is disabled by default and should be turned on with care.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
for more detail.
'';
};
healthmon = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Make this frontend a health monitor endpoint. Any request
received on this frontend is responded to with a 200 OK.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
for more detail.
'';
};
proxyproto = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Accept PROXY protocol version 1 on frontend connection.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
for more detail.
'';
};
};
}

View File

@ -0,0 +1,36 @@
{ lib, ... }:
{ options = {
server = lib.mkOption {
type =
lib.types.either
(lib.types.submodule (import ./server-options.nix))
(lib.types.path);
example = {
host = "127.0.0.1";
port = 8888;
};
default = {
host = "127.0.0.1";
port = 80;
};
description = ''
Frontend server interface binding specification as either a
host:port pair or a unix domain docket.
NB: a host of "*" listens on all interfaces and includes IPv6
addresses.
'';
};
params = lib.mkOption {
type = lib.types.nullOr (lib.types.submodule (import ./frontend-params-submodule.nix));
example = {
tls = "tls";
};
default = null;
description = ''
Parameters to configure a backend.
'';
};
};
}

View File

@ -0,0 +1,142 @@
{ config, lib, ... }:
{ options.services.nghttpx = {
enable = lib.mkEnableOption "nghttpx";
frontends = lib.mkOption {
type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
description = ''
A list of frontend listener specifications.
'';
example = [
{ server = {
host = "*";
port = 80;
};
params = {
tls = "no-tls";
};
}
];
};
backends = lib.mkOption {
type = lib.types.listOf (lib.types.submodule (import ./backend-submodule.nix));
description = ''
A list of backend specifications.
'';
example = [
{ server = {
host = "172.16.0.22";
port = 8443;
};
patterns = [ "/" ];
params = {
proto = "http/1.1";
redirect-if-not-tls = true;
};
}
];
};
tls = lib.mkOption {
type = lib.types.nullOr (lib.types.submodule (import ./tls-submodule.nix));
default = null;
description = ''
TLS certificate and key paths. Note that this does not enable
TLS for a frontend listener, to do so, a frontend
specification must set <literal>params.tls</literal> to true.
'';
example = {
key = "/etc/ssl/keys/server.key";
crt = "/etc/ssl/certs/server.crt";
};
};
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = ''
Extra configuration options to be appended to the generated
configuration file.
'';
};
single-process = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Run this program in a single process mode for debugging
purpose. Without this option, nghttpx creates at least 2
processes: master and worker processes. If this option is
used, master and worker are unified into a single
process. nghttpx still spawns additional process if neverbleed
is used. In the single process mode, the signal handling
feature is disabled.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--single-process
'';
};
backlog = lib.mkOption {
type = lib.types.int;
default = 65536;
description = ''
Listen backlog size.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backlog
'';
};
backend-address-family = lib.mkOption {
type = lib.types.enum [
"auto"
"IPv4"
"IPv6"
];
default = "auto";
description = ''
Specify address family of backend connections. If "auto" is
given, both IPv4 and IPv6 are considered. If "IPv4" is given,
only IPv4 address is considered. If "IPv6" is given, only IPv6
address is considered.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backend-address-family
'';
};
workers = lib.mkOption {
type = lib.types.int;
default = 1;
description = ''
Set the number of worker threads.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-n
'';
};
single-thread = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Run everything in one thread inside the worker process. This
feature is provided for better debugging experience, or for
the platforms which lack thread support. If threading is
disabled, this option is always enabled.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--single-thread
'';
};
rlimit-nofile = lib.mkOption {
type = lib.types.int;
default = 0;
description = ''
Set maximum number of open files (RLIMIT_NOFILE) to &lt;N&gt;. If 0
is given, nghttpx does not set the limit.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
'';
};
};
}

View File

@ -0,0 +1,18 @@
{ lib, ... }:
{ options = {
host = lib.mkOption {
type = lib.types.str;
example = "127.0.0.1";
description = ''
Server host address.
'';
};
port = lib.mkOption {
type = lib.types.int;
example = 5088;
description = ''
Server host port.
'';
};
};
}

View File

@ -0,0 +1,21 @@
{lib, ...}:
{ options = {
key = lib.mkOption {
type = lib.types.str;
example = "/etc/ssl/keys/mykeyfile.key";
default = "/etc/ssl/keys/server.key";
description = ''
Path to the TLS key file.
'';
};
crt = lib.mkOption {
type = lib.types.str;
example = "/etc/ssl/certs/mycert.crt";
default = "/etc/ssl/certs/server.crt";
description = ''
Path to the TLS certificate file.
'';
};
};
}

View File

@ -87,11 +87,11 @@ in
default = mkOption {
type = types.str;
default = "";
example = "none";
default = "none";
example = "plasma5";
description = "Default desktop manager loaded if none have been chosen.";
apply = defaultDM:
if defaultDM == "" && cfg.session.list != [] then
if defaultDM == "none" && cfg.session.list != [] then
(head cfg.session.list).name
else if any (w: w.name == defaultDM) cfg.session.list then
defaultDM

View File

@ -61,7 +61,7 @@ in
'';
}];
security.wrappers.e_freqset.source = "${e.enlightenment.out}/bin/e_freqset";
security.wrappers = (import (builtins.toPath "${e.enlightenment}/e-wrappers.nix")).security.wrappers;
environment.etc = singleton
{ source = xcfg.xkbDir;

View File

@ -94,6 +94,8 @@ in {
services.udisks2.enable = true;
services.accounts-daemon.enable = true;
services.geoclue2.enable = mkDefault true;
services.dleyna-renderer.enable = mkDefault true;
services.dleyna-server.enable = mkDefault true;
services.gnome3.at-spi2-core.enable = true;
services.gnome3.evolution-data-server.enable = true;
services.gnome3.gnome-disks.enable = mkDefault true;

View File

@ -0,0 +1,36 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.fractalart;
in {
options.services.fractalart = {
enable = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable FractalArt for generating colorful wallpapers on login";
};
width = mkOption {
type = types.nullOr types.int;
default = null;
example = 1920;
description = "Screen width";
};
height = mkOption {
type = types.nullOr types.int;
default = null;
example = 1080;
description = "Screen height";
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.haskellPackages.FractalArt ];
services.xserver.displayManager.sessionCommands =
"${pkgs.haskellPackages.FractalArt}/bin/FractalArt --no-bg -f .background-image"
+ optionalString (cfg.width != null) " -w ${toString cfg.width}"
+ optionalString (cfg.height != null) " -h ${toString cfg.height}";
};
}

View File

@ -61,7 +61,9 @@ in
example = "wmii";
description = "Default window manager loaded if none have been chosen.";
apply = defaultWM:
if any (w: w.name == defaultWM) cfg.session then
if defaultWM == "none" && cfg.session != [] then
(head cfg.session).name
else if any (w: w.name == defaultWM) cfg.session then
defaultWM
else
throw "Default window manager (${defaultWM}) not found.";

View File

@ -161,6 +161,15 @@ in
'';
};
plainX = mkOption {
type = types.bool;
default = false;
description = ''
Whether the X11 session can be plain (without DM/WM) and
the Xsession script will be used as fallback or not.
'';
};
autorun = mkOption {
type = types.bool;
default = true;
@ -552,6 +561,11 @@ in
+ "${toString (length primaryHeads)} heads set to primary: "
+ concatMapStringsSep ", " (x: x.output) primaryHeads;
})
{ assertion = cfg.desktopManager.default == "none" && cfg.windowManager.default == "none" -> cfg.plainX;
message = "Either the desktop manager or the window manager shouldn't be `none`! "
+ "To explicitly allow this, you can also set `services.xserver.plainX` to `true`. "
+ "The `default` value looks for enabled WMs/DMs and select the first one.";
}
];
environment.etc =

View File

@ -109,6 +109,7 @@ in rec {
(all nixos.tests.nfs3)
(all nixos.tests.nfs4)
(all nixos.tests.openssh)
(all nixos.tests.php-pcre)
(all nixos.tests.printing)
(all nixos.tests.proxy)
(all nixos.tests.sddm.default)

View File

@ -40,6 +40,7 @@ in rec {
nat
nfs3
openssh
php-pcre
proxy
simple;
installer = {

View File

@ -303,12 +303,14 @@ in rec {
tests.nfs3 = callTest tests/nfs.nix { version = 3; };
tests.nfs4 = callTest tests/nfs.nix { version = 4; };
tests.nginx = callTest tests/nginx.nix { };
tests.nghttpx = callTest tests/nghttpx.nix { };
tests.leaps = callTest tests/leaps.nix { };
tests.nsd = callTest tests/nsd.nix {};
tests.openssh = callTest tests/openssh.nix {};
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
#tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
tests.peerflix = callTest tests/peerflix.nix {};
tests.php-pcre = callTest tests/php-pcre.nix {};
tests.postgresql = callSubTests tests/postgresql.nix {};
tests.pgmanage = callTest tests/pgmanage.nix {};
tests.postgis = callTest tests/postgis.nix {};

View File

@ -21,11 +21,16 @@ import ./make-test.nix ({ pkgs, ... }: {
# the boot process kills any kthread by accident, like what happened in
# issue #15226.
kcanary = compileKernelModule "kcanary" ''
#include <linux/version.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/kthread.h>
#include <linux/sched.h>
#include <linux/signal.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
#include <linux/sched/signal.h>
#endif
struct task_struct *canaryTask;

View File

@ -69,6 +69,12 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->succeed("ping -n -c 1 $ip6");
$machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
# Check that nixos-container show-ip works in case of an ipv4 address with
# subnetmask in CIDR notation.
my $result = $machine->succeed("nixos-container show-ip webserver");
chomp $result;
$result eq $ip or die;
# Stop the container.
$machine->succeed("nixos-container stop webserver");
$machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");

View File

@ -7,7 +7,7 @@ with pkgs.lib;
let
# The configuration to install.
makeConfig = { bootLoader, grubVersion, grubDevice, grubIdentifier
makeConfig = { bootLoader, grubVersion, grubDevice, grubIdentifier, grubUseEfi
, extraConfig, forceGrubReinstallCount ? 0
}:
pkgs.writeText "configuration.nix" ''
@ -26,9 +26,16 @@ let
${optionalString (grubVersion == 1) ''
boot.loader.grub.splashImage = null;
''}
boot.loader.grub.device = "${grubDevice}";
boot.loader.grub.extraConfig = "serial; terminal_output.serial";
boot.loader.grub.fsIdentifier = "${grubIdentifier}";
${if grubUseEfi then ''
boot.loader.grub.device = "nodev";
boot.loader.grub.efiSupport = true;
boot.loader.grub.efiInstallAsRemovable = true; # XXX: needed for OVMF?
'' else ''
boot.loader.grub.device = "${grubDevice}";
boot.loader.grub.fsIdentifier = "${grubIdentifier}";
''}
boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
''}
@ -57,16 +64,17 @@ let
# disk, and then reboot from the hard disk. It's parameterized with
# a test script fragment `createPartitions', which must create
# partitions and filesystems.
testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice
testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice, grubUseEfi
, grubIdentifier, preBootCommands, extraConfig
}:
let
iface = if grubVersion == 1 then "ide" else "virtio";
isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
qemuFlags =
(if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
(optionalString (system == "x86_64-linux") "-cpu kvm64 ");
hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
+ optionalString (bootLoader == "systemd-boot") ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
+ optionalString isEfi ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
in
''
$machine->start;
@ -89,7 +97,7 @@ let
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
$machine->copyFileFromHost(
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; } }",
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; } }",
"/mnt/etc/nixos/configuration.nix");
# Perform the installation.
@ -140,7 +148,7 @@ let
# We need to a writable nix-store on next boot.
$machine->copyFileFromHost(
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 1; } }",
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 1; } }",
"/etc/nixos/configuration.nix");
# Check whether nixos-rebuild works.
@ -158,7 +166,7 @@ let
${preBootCommands}
$machine->waitForUnit("multi-user.target");
$machine->copyFileFromHost(
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 2; } }",
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 2; } }",
"/etc/nixos/configuration.nix");
$machine->succeed("nixos-rebuild boot >&2");
$machine->shutdown;
@ -176,7 +184,7 @@ let
{ createPartitions, preBootCommands ? "", extraConfig ? ""
, extraInstallerConfig ? {}
, bootLoader ? "grub" # either "grub" or "systemd-boot"
, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid"
, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid", grubUseEfi ? false
, enableOCR ? false, meta ? {}
}:
makeTest {
@ -244,7 +252,7 @@ let
testScript = testScriptFun {
inherit bootLoader createPartitions preBootCommands
grubVersion grubDevice grubIdentifier extraConfig;
grubVersion grubDevice grubIdentifier grubUseEfi extraConfig;
};
};
@ -295,6 +303,29 @@ in {
bootLoader = "systemd-boot";
};
simpleUefiGrub = makeInstallerTest "simpleUefiGrub"
{ createPartitions =
''
$machine->succeed(
"parted /dev/vda mklabel gpt",
"parted -s /dev/vda -- mkpart ESP fat32 1M 50MiB", # /boot
"parted -s /dev/vda -- set 1 boot on",
"parted -s /dev/vda -- mkpart primary linux-swap 50MiB 1024MiB",
"parted -s /dev/vda -- mkpart primary ext2 1024MiB -1MiB", # /
"udevadm settle",
"mkswap /dev/vda2 -L swap",
"swapon -L swap",
"mkfs.ext3 -L nixos /dev/vda3",
"mount LABEL=nixos /mnt",
"mkfs.vfat -n BOOT /dev/vda1",
"mkdir -p /mnt/boot",
"mount LABEL=BOOT /mnt/boot",
);
'';
bootLoader = "grub";
grubUseEfi = true;
};
# Same as the previous, but now with a separate /boot partition.
separateBoot = makeInstallerTest "separateBoot"
{ createPartitions =

61
nixos/tests/nghttpx.nix Normal file
View File

@ -0,0 +1,61 @@
let
nginxRoot = "/var/run/nginx";
in
import ./make-test.nix ({...}: {
name = "nghttpx";
nodes = {
webserver = {
networking.firewall.allowedTCPPorts = [ 80 ];
systemd.services.nginx = {
preStart = ''
mkdir -p ${nginxRoot}
echo "Hello world!" > ${nginxRoot}/hello-world.txt
'';
};
services.nginx = {
enable = true;
virtualHosts."server" = {
locations."/".root = nginxRoot;
};
};
};
proxy = {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nghttpx = {
enable = true;
frontends = [
{ server = {
host = "*";
port = 80;
};
params = {
tls = "no-tls";
};
}
];
backends = [
{ server = {
host = "webserver";
port = 80;
};
patterns = [ "/" ];
params.proto = "http/1.1";
}
];
};
};
client = {};
};
testScript = ''
startAll;
$webserver->waitForOpenPort("80");
$proxy->waitForOpenPort("80");
$client->waitUntilSucceeds("curl -s --fail http://proxy/hello-world.txt");
'';
})

44
nixos/tests/php-pcre.nix Normal file
View File

@ -0,0 +1,44 @@
let testString = "can-use-subgroups"; in
import ./make-test.nix ({ pkgs, ...}: {
name = "php-httpd-pcre-jit-test";
machine = { config, lib, pkgs, ... }: {
time.timeZone = "UTC";
services.httpd = {
enable = true;
adminAddr = "please@dont.contact";
extraSubservices = lib.singleton {
function = f: {
enablePHP = true;
phpOptions = "pcre.jit = true";
extraConfig =
let
testRoot = pkgs.writeText "index.php"
''
<?php
preg_match('/(${testString})/', '${testString}', $result);
var_dump($result);
?>
'';
in
''
Alias / ${testRoot}/
<Directory ${testRoot}>
Require all granted
</Directory>
'';
};
};
};
};
testScript = { nodes, ... }:
''
$machine->waitForUnit('httpd.service');
# Ensure php evaluation by matching on the var_dump syntax
$machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \
| grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""');
'';
})

85
nixos/tests/zfs.nix Normal file
View File

@ -0,0 +1,85 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
let
makeTest = import ./make-test.nix;
makeZfsTest = name:
{ kernelPackage ? pkgs.linuxPackages_latest
, enableUnstable ? false
, extraTest ? ""
}:
makeTest {
name = "zfs-" + name;
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ adisbladis ];
};
machine = { config, lib, pkgs, ... }:
{
virtualisation.emptyDiskImages = [ 4096 ];
networking.hostId = "deadbeef";
boot.kernelPackages = kernelPackage;
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.enableUnstable = enableUnstable;
environment.systemPackages = with pkgs; [
parted
];
};
testScript = ''
$machine->succeed("modprobe zfs");
$machine->succeed("zpool status");
$machine->succeed("ls /dev");
$machine->succeed(
"mkdir /tmp/mnt",
"udevadm settle",
"parted --script /dev/vdb mklabel msdos",
"parted --script /dev/vdb -- mkpart primary 1024M -1s",
"udevadm settle",
"zpool create rpool /dev/vdb1",
"zfs create -o mountpoint=legacy rpool/root",
"mount -t zfs rpool/root /tmp/mnt",
"udevadm settle",
"umount /tmp/mnt",
"zpool destroy rpool",
"udevadm settle"
);
'' + extraTest;
};
in {
stable = makeZfsTest "stable" { };
unstable = makeZfsTest "unstable" {
enableUnstable = true;
extraTest = ''
$machine->succeed(
"echo password | zpool create -o altroot='/tmp/mnt' -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
"zfs create -o mountpoint=legacy rpool/root",
"mount -t zfs rpool/root /tmp/mnt",
"udevadm settle",
"umount /tmp/mnt",
"zpool destroy rpool",
"udevadm settle"
);
'';
};
installer = (import ./installer.nix { }).zfsroot;
}

View File

@ -1,25 +1,29 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq
, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, qrencode, libevent
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.15.0.1";
version = "0.15.1";
src = fetchurl {
url = "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz";
sha256 = "16si3skhm6jhw1pkniv2b9y1kkdhjmhj392palphir0qc1srwzmm";
urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
];
sha256 = "1d22fgwdcn343kd95lh389hj417zwbmnhi29cij8n7wc0nz2vpil";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl db48 boost zlib
buildInputs = [ openssl db48 boost zlib zeromq
miniupnpc protobuf libevent]
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ];
++ optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
++ optionals withGui [ "--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
meta = {
description = "Peer-to-peer electronic cash system";

View File

@ -1,9 +1,9 @@
{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5 }:
{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2 }:
rec {
bitcoin = callPackage ./bitcoin.nix { withGui = true; };
bitcoind = callPackage ./bitcoin.nix { withGui = false; };
bitcoin = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { withGui = true; };
bitcoind-abc = callPackage ./bitcoin-abc.nix { withGui = false; };

View File

@ -0,0 +1,37 @@
{ mkDerivation, fetchgit, lib
, extra-cmake-modules, kdoctools
, qca-qt5, qjson, qtscript, qtwebkit
, kcmutils, kconfig, kdelibs4support, kdnssd, kinit, knewstuff, knotifyconfig, ktexteditor
, phonon, plasma-framework, threadweaver
, curl, ffmpeg, gdk_pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mariadb, pcre, snappy, taglib, taglib_extras
}:
let
pname = "amarok";
version = "2.8.91-20170228";
in mkDerivation {
name = "${pname}-${version}";
src = fetchgit {
url = git://anongit.kde.org/amarok.git;
# go back to the KDE mirror when kf5 is merged into master
# url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
rev = "323e2d5b43245c4c06e0b83385d37ef0d32920cb";
sha256 = "05w7kl6qfmkjz0y1bhgkkbmsqdll30bkjd6npkzvivrvp7dplmbh";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
qca-qt5 qjson qtscript qtwebkit
kcmutils kconfig kdelibs4support kdnssd kinit knewstuff knotifyconfig ktexteditor
phonon plasma-framework threadweaver
curl ffmpeg gdk_pixbuf libaio libmtp loudmouth lz4 lzo mariadb pcre snappy taglib taglib_extras
];
enableParallelBuilding = true;
meta = with lib; {
license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg ];
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool,
libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, fetchpatch,
libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame,
expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
autoconf, automake, libtool
}:
@ -14,14 +14,6 @@ stdenv.mkDerivation rec {
url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
sha256 = "09xpr4bjnainz1xmc35v3qg3dadjr9wv8bmn1p4y91aqyihnhjry";
};
patches = [
(fetchpatch {
name = "new-ffmpeg.patch";
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk"
+ "/audacity-ffmpeg.patch?h=packages/audacity&id=0c1e35798d4d70692";
sha256 = "19fr674mw844zmkp1476yigkcnmb6zyn78av64ccdwi3p68i00rf";
})
];
preConfigure = /* we prefer system-wide libs */ ''
autoreconf -vi # use system libraries

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, undmg }:
{ stdenv, lib, fetchurl, undmg }:
let
major = "2";
minor = "0.3";
patch = "1";
appName = "MuseScore ${major}";
versionComponents = [ "2" "1" ];
appName = "MuseScore ${builtins.head versionComponents}";
in
with lib;
stdenv.mkDerivation rec {
name = "musescore-darwin-${version}";
version = "${major}.${minor}.${patch}";
version = "${concatStringsSep "." versionComponents}";
src = fetchurl {
url = "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${major}.${minor}/MuseScore-${version}.dmg";
sha256 = "0a9v2nc7sx2az7xpd9i7b84m7xk9zcydfpis5fj334r5yqds4rm1";
url = "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${concatStringsSep "." (take 3 versionComponents)}/MuseScore-${version}.dmg";
sha256 = "19xkaxlkbrhvfip6n3iw6q7463ngr6y5gfisrpjqg2xl2igyl795";
};
buildInputs = [ undmg ];

View File

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

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atom-beta-${version}";
version = "1.22.0-beta1";
version = "1.23.0-beta0";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0qggj0j0cnkzqwgvzw2fb1z10rvvx9jh0ymhdy1aca18hms44p3d";
sha256 = "1vfc8jin07kivdmyw88vbzinbjsb6py9n2ggpvy4cccagnvxwj2y";
name = "${name}.deb";
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atom-${version}";
version = "1.21.2";
version = "1.22.0";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0snhhp8rjmk750snyzkqzwvi7f915pbc6qpa3vf0f57syf47m7vl";
sha256 = "1jxw0m1hfaisf1f875wr28f0mr3h0wjml6pjhfxbybvcblpnd27k";
name = "${name}.deb";
};

View File

@ -1356,6 +1356,20 @@
license = lib.licenses.free;
};
}) {};
mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "mines";
version = "1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/mines-1.2.tar";
sha256 = "1xwnw2hyk1qz98mdnckk0i05li0gzygq12kkmrlidxnk7ngbq9vw";
};
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/mines.html";
license = lib.licenses.free;
};
}) {};
minibuffer-line = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "minibuffer-line";
version = "0.1";
@ -1556,10 +1570,10 @@
}) {};
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org";
version = "20171106";
version = "20171113";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-20171106.tar";
sha256 = "08gziccqfrl65v18ri2m6csb6smyafaz7pv86gnvpw05g7aj6alq";
url = "https://elpa.gnu.org/packages/org-20171113.tar";
sha256 = "0yynbzxbsjv0z12ydjgz81ysbg2irq37d9pzar8wspdjij15dypb";
};
packageRequires = [];
meta = {
@ -2319,10 +2333,10 @@
}) {};
xclip = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "xclip";
version = "1.3";
version = "1.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/xclip-1.3.el";
sha256 = "1zlqr4sp8588sjga5c9b4prnsbpv3lr2wv8sih2p0s5qmjghc947";
url = "https://elpa.gnu.org/packages/xclip-1.4.el";
sha256 = "12rw790wzj10jcsqf292hc7qx18ybyay8jqji4shmrv16igrzl6p";
};
packageRequires = [];
meta = {

View File

@ -0,0 +1,22 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "ess-R-object-popup-20130302";
src = fetchgit {
url = "https://github.com/myuhe/ess-R-object-popup.el.git";
rev = "7e1f601bfba72de0fda44d9c82f96028ecbb9948";
sha256 = "0q8pbaa6wahli6fh0kng5zmnypsxi1fr2bzs2mfk3h8vf4nikpv0";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
description = "Popup descriptions of R objects";
homepage = https://github.com/myuhe/ess-R-object-popup.el;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,22 @@
{ fetchurl, lib, stdenv, melpaBuild }:
melpaBuild {
pname = "filesets-plus";
version = "20170222.55";
src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/filesets%2b.el";
sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs00";
name = "filesets+.el";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/filesets-plus+";
sha256 = "1wn99cb53ykds87lg9mrlfpalrmjj177nwskrnp9wglyqs65lk4g";
name = "filesets-plus";
};
meta = {
homepage = "https://melpa.org/#/filesets+";
};
}

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, melpaBuild }:
{ fetchurl, lib, stdenv, melpaBuild }:
melpaBuild {
pname = "font-lock-plus";
@ -16,7 +16,7 @@ melpaBuild {
name = "font-lock-plus";
};
meta = with stdenv.lib; {
meta = {
homepage = "https://melpa.org/#/font-lock+";
license = lib.licenses.gpl2Plus;
};

View File

@ -0,0 +1,23 @@
{ fetchurl, lib, stdenv, melpaBuild }:
melpaBuild {
pname = "header2";
version = "20170223.1949";
src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/header2.el";
sha256 = "0cv74cfihr13jrgyqbj4x0na659djfyrhflxni6jdbgbysi4zf6k";
name = "header2.el";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/header2";
sha256 = "1dg25krx3wxma2l5vb2ji7rpfp17qbrl62jyjpa52cjfsvyp6v06";
name = "header2";
};
meta = {
homepage = "https://melpa.org/#/header2";
license = lib.licenses.gpl3;
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "helm-words-20150413";
src = fetchgit {
url = "https://github.com/pronobis/helm-words.git";
rev = "637aa3a7e9cfd34e0127472c5b1f993a4da26185";
sha256 = "19l8vysjygscr1nsddjz2yv0fjhbsswfq40rdny8zsmaa6qhpj35";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
description = "Emacs major mode for jade and stylus";
homepage = https://github.com/brianc/helm-words;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,23 @@
{ fetchurl, lib, stdenv, melpaBuild }:
melpaBuild {
pname = "hexrgb";
version = "20170304.1017";
src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/hexrgb.el";
sha256 = "1aj1fsc3wr8174xs45j2wc2mm6f8v6zs40xn0r4qisdw0plmsbsy";
name = "hexrgb.el";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/hexrgb";
sha256 = "0mzqslrrf7sc262syj3ja7b7rnbg80dwf2p9bzxdrzx6b8vvsx06";
name = "hexrgb";
};
meta = {
homepage = "https://melpa.org/#/hexrgb";
license = lib.licenses.gpl2Plus;
};
}

View File

@ -0,0 +1,23 @@
{ fetchurl, lib, stdenv, melpaBuild }:
melpaBuild {
pname = "lib-requires";
version = "20170307.757";
src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/lib-requires.el";
sha256 = "04lrkdjrhsgg7vgvw1mkr9a5m9xlyvjvnj2aj6w453bgmnp1mbvv";
name = "lib-requires.el";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/lib-requires";
sha256 = "1g22jh56z8rnq0h80wj10gs38yig1rk9xmk3kmhmm5mm6b14iwdx";
name = "lib-requires";
};
meta = {
homepage = "https://melpa.org/#/lib-requires";
license = lib.licenses.gpl2Plus;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -50,9 +50,6 @@ self:
# upstream issue: missing package version
cmake-mode = markBroken (dontConfigure super.cmake-mode);
# upstream issue: missing file header
cn-outline = markBroken super.cn-outline;
# upstream issue: missing file header
connection = markBroken super.connection;

View File

@ -611,12 +611,12 @@
ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
melpaBuild {
pname = "ac-rtags";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@ -779,12 +779,12 @@
ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ace-link";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "abo-abo";
repo = "ace-link";
rev = "5bf301e2c74960246427d3e48889a49f9f8ec6ba";
sha256 = "1mrlwkls80blispg5hdgnif42rck3iqhcm1f3khq14nm09yqwdk9";
rev = "7b9bc8d916b60a501c32b63ce81f315486ad44e9";
sha256 = "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
@ -4379,22 +4379,22 @@
license = lib.licenses.free;
};
}) {};
cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
cliphist = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
melpaBuild {
pname = "cliphist";
version = "0.5.4";
version = "0.5.5";
src = fetchFromGitHub {
owner = "redguardtoo";
repo = "cliphist";
rev = "2aceea0e16e2f18b8b51161423ef1c0f655c7c8d";
sha256 = "13vhm7dsqbaslml3a2hd3s39c7q494p5w2xznhdxvh8ig6w102lc";
rev = "e454254f8bd9dbaea28e95c786d7297a2d4e920a";
sha256 = "1lxsy78kmrrb82y7nlaaaq2qsly7f3wa8jw1bagjax4rwvld0vim";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
sha256 = "0mg6pznijba3kvp3r57pi54v6mgih2vfwj2kg6qmcy1abrc0xq29";
name = "cliphist";
};
packageRequires = [ popup ];
packageRequires = [ emacs ivy ];
meta = {
homepage = "https://melpa.org/#/cliphist";
license = lib.licenses.free;
@ -4688,12 +4688,12 @@
cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "cmake-mode";
version = "3.10.0pre4";
version = "3.10.0pre5";
src = fetchFromGitHub {
owner = "Kitware";
repo = "CMake";
rev = "45da558742bad36be518e8d95dee0d0ec3793a64";
sha256 = "0qq7dhwcl290ymza5imc16cg3f9crxym1q6b4i7w9fax8x2vlc1m";
rev = "78f5d571e4b07cc71d44c78ff36a335693298ccb";
sha256 = "1wrbpcfmvhmamxbv7iar6w29i7axzi1im99xd4vrhy4fc1rkk566";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@ -5471,12 +5471,12 @@
company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
melpaBuild {
pname = "company-rtags";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@ -5597,12 +5597,12 @@
company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
melpaBuild {
pname = "company-web";
version = "0.9";
version = "2.0";
src = fetchFromGitHub {
owner = "osv";
repo = "company-web";
rev = "ffb6b969813041d2d90680a7696a9e0208eaed61";
sha256 = "0b0k75rg43h48dbcqiid947nspqiqxkiqcmvph9aqpxlfr67bz5r";
rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
@ -5702,12 +5702,12 @@
conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
melpaBuild {
pname = "conda";
version = "0.0.8";
version = "0.0.9";
src = fetchFromGitHub {
owner = "necaris";
repo = "conda.el";
rev = "526be691824f4a32299f560a883913697bc4d847";
sha256 = "1jix3md6b02fypjm4y05av7acjkqryd1vqqz9wgxyinydlagrvh7";
rev = "64b804c33f2667e8232689770a9f2e332c2dd0ab";
sha256 = "1w1p1m2d0mwi3frkah5cnphyqsix7fp1li8glhlwf923cg48cxfq";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
@ -5975,12 +5975,12 @@
counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "counsel-etags";
version = "1.2.0";
version = "1.3.3";
src = fetchFromGitHub {
owner = "redguardtoo";
repo = "counsel-etags";
rev = "5d7b51ce7806bbe7e1f75077b4dde2ac17a53c5d";
sha256 = "0v3b3gs4jy8cqkvchnakwpws3a0igiklchb9q3754lnmk8784dn8";
rev = "ad70ab89861d17b648a798c234153269eacf90b5";
sha256 = "0jzk5sdh6kax1gvrdrldvqlbgbsx8p938qnzn1mpkd2nmjga3v3c";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@ -8312,12 +8312,12 @@
ecukes = callPackage ({ ansi, commander, dash, espuds, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild {
pname = "ecukes";
version = "0.6.15";
version = "0.6.16";
src = fetchFromGitHub {
owner = "ecukes";
repo = "ecukes";
rev = "2bba6266a3fff772cd54a6cd1b1aee2c36872aa5";
sha256 = "1r5hlcspznvfm111l1z0r4isd582qj64sa8cqk6hyi3y1hyp1xxs";
rev = "c8092db08be5337ff3f3dd2857bfa94e360945d2";
sha256 = "1dkinyigacb4yxqikd9za4inbh7yz7pl8bhrpihrxzabxirmvw55";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/ecukes";
@ -8501,12 +8501,12 @@
editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "editorconfig";
version = "0.7.10";
version = "0.7.11";
src = fetchFromGitHub {
owner = "editorconfig";
repo = "editorconfig-emacs";
rev = "1543835ce00412c3cd34a61497af5f68ead250a6";
sha256 = "1c516972gx1rvlixdl6mgknx6vx1m4hbzbz3x43pzlg0mn31yn01";
rev = "2ec90f13ad98481c5324eea4877de7a80d814d86";
sha256 = "160f7ciy8yp75gja3abm4rjy61wmk2b7b0k032qimiawkvg57bx2";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@ -10041,6 +10041,27 @@
license = lib.licenses.free;
};
}) {};
erc-scrolltoplace = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, switch-buffer-functions }:
melpaBuild {
pname = "erc-scrolltoplace";
version = "0.1.0";
src = fetchFromGitHub {
owner = "jgkamat";
repo = "erc-scrolltoplace";
rev = "7539654e4a72edcc5bba07a101961e5bf0a9d449";
sha256 = "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e8ba300957fc00f5e53cf63dfa1e37a27b0d6d60/recipes/erc-scrolltoplace";
sha256 = "1cr5nxdk854zcb1w0xvmi4mg45lxv011gap4i96nvdpd4qxmcxph";
name = "erc-scrolltoplace";
};
packageRequires = [ emacs switch-buffer-functions ];
meta = {
homepage = "https://melpa.org/#/erc-scrolltoplace";
license = lib.licenses.free;
};
}) {};
erc-twitch = callPackage ({ erc ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
melpaBuild {
pname = "erc-twitch";
@ -10149,12 +10170,12 @@
erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "erlang";
version = "20.1.4";
version = "20.1.5";
src = fetchFromGitHub {
owner = "erlang";
repo = "otp";
rev = "3e8c1ff94c0a73df71daadd4eb782c21c49f22d9";
sha256 = "19vd6x20i3pc3ddrjalli937i44z6z2yrdg7ir3gpaghhx8fhcav";
rev = "84f29ab803e8f36ef058a47f4c2b224f4dd58220";
sha256 = "02y02m5cv29nr6icih7f5772657swnwan279scgcw02wm9lnm0vh";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@ -10547,12 +10568,12 @@
ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
melpaBuild {
pname = "ess";
version = "16.10";
version = "17.11";
src = fetchFromGitHub {
owner = "emacs-ess";
repo = "ESS";
rev = "abacd7538e1bbfdd6ef2b5f11d4f5f4cc74782ee";
sha256 = "0fbprkjb9cjkjyc1yxn9b1znc4w1im9akl4f9ma2ddgl8fzmi7p7";
rev = "a218dec600c25687a81419e42b555141911504c6";
sha256 = "0wl90xiifn83clm25ya953pa91734h0sav1426y5czrmswzw7mj1";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@ -12211,12 +12232,12 @@
flex-compile = callPackage ({ buffer-manage, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "flex-compile";
version = "0.1";
version = "0.2";
src = fetchFromGitHub {
owner = "plandes";
repo = "flex-compile";
rev = "4ca317883404a14c1b4920d7b3e6f0bffb04a8f2";
sha256 = "08ax91bdf4dwky8zp0cwmk53wqyqs893j7q1jah5cimnhgi82ksz";
rev = "82e217aaab34dfd1faf7d03c82eca49706190232";
sha256 = "1zp0gki61g487x6bypxlkbjzi972y80pzmhqdisl6qx9yrmk60vy";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile";
@ -12862,12 +12883,12 @@
flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
melpaBuild {
pname = "flycheck-rtags";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@ -15663,12 +15684,12 @@
govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
melpaBuild {
pname = "govc";
version = "0.15.0";
version = "0.16.0";
src = fetchFromGitHub {
owner = "vmware";
repo = "govmomi";
rev = "b63044e5f833781eb7b305bc035392480ee06a82";
sha256 = "1p0xnhcm7kx4g9wvy18nnij2wfirp0fccv24jz6v1i9bc64n7zka";
rev = "7d879bac14d09f2f2a45a0477c1e45fbf52240f5";
sha256 = "09fllx7l2hsjrv1jl7g06xngjy0xwn5n5zng6x8dspgsl6kblyqp";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@ -17960,12 +17981,12 @@
helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
melpaBuild {
pname = "helm-rtags";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@ -18737,12 +18758,12 @@
ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ht";
version = "2.1";
version = "2.2";
src = fetchFromGitHub {
owner = "Wilfred";
repo = "ht.el";
rev = "0c0019ba2dfeaacdfe6be6d7f681e5e11dc8fa67";
sha256 = "0yrxygyzl4cqnp7m57jwp26544q72w8qf6xshmh9q3y93ix4h4aw";
rev = "a23a72342fda1eb3cc8d792f86efabe45eb0d1fd";
sha256 = "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht";
@ -19661,12 +19682,12 @@
indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
melpaBuild {
pname = "indium";
version = "1.0";
version = "1.1.0";
src = fetchFromGitHub {
owner = "NicolasPetton";
repo = "Indium";
rev = "db3b727c9deedcf9afa13e07cd25734cbf7305a2";
sha256 = "1cm6zm8d7rywvlhzf1vpblqb1kgn6c7bwk9q2mjz7f5gdcsx1jp5";
rev = "c15f5a2b4a48fd53b446e0fa291bdb8323b80c27";
sha256 = "07fzsjmbbq4nx2w23pbb0z88iqmclm156yd87nxsdivndmzvsgw2";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
@ -20101,12 +20122,12 @@
iter2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "iter2";
version = "0.9.4";
version = "0.9.5";
src = fetchFromGitHub {
owner = "doublep";
repo = "iter2";
rev = "a0e41b2f55d50c08c59ffcc6e83a977c141bcc55";
sha256 = "0ccr9qjhc35wi07yckd9y26synihhsg8zwkxgqyzkx7avxkqfyhn";
rev = "ac1b4f10203d8093ae9f897039be97fd5ec65969";
sha256 = "098bsm5wc7nqk06awak2ar4nwd3xpqsdc9pb2n0px20ql6lxh4bh";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2";
@ -20290,12 +20311,12 @@
ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
melpaBuild {
pname = "ivy-rtags";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@ -20311,12 +20332,12 @@
ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
melpaBuild {
pname = "ivy-youtube";
version = "0.3.1";
version = "0.3.2";
src = fetchFromGitHub {
owner = "squiter";
repo = "ivy-youtube";
rev = "9a9d584124bd9905b5a8a7e29cdafa3224770c9d";
sha256 = "0fircdxhfb9s6qmzic2hizhlwfkszw3was83nw09zf0zhab3vllh";
rev = "23e1089d4c4fc32db20df14ba10078aabf117e87";
sha256 = "0m70vxjj49kf8bzni2qchgzgx808z1fcfh02cflkhjcb77dkq8d6";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
@ -20771,12 +20792,12 @@
js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
melpaBuild {
pname = "js2-refactor";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "magnars";
repo = "js2-refactor.el";
rev = "bd73f03fc5f0d1ca1dce29e28bb43f78af483a38";
sha256 = "1q2c61bhbr6b4a1wgqsbwxywymsxy7h3wc9fkcy3ryip3xd88b7b";
rev = "089c7800e3e7b0a89ee2392037ac07851bcee298";
sha256 = "1iwblf5i7k1i1ax9pjv7n8zv9q157krirdn0gwcib6dwza2i30jp";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
@ -21107,12 +21128,12 @@
kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "kaolin-themes";
version = "1.0";
version = "1.0.5";
src = fetchFromGitHub {
owner = "ogdenwebb";
repo = "emacs-kaolin-themes";
rev = "720762a42ad4cb4b325f78a9d41af380b8783501";
sha256 = "104prgkjqnnv1bqgpcl0di1q9sqkfnj4ibqvrk6ls32hw75shvdh";
rev = "08e13adfab07c9cf7b0df313c77eac8fb393b284";
sha256 = "0wijf5493wmp219ypbvhp0c4q76igrxijzdalbgkyp2gf8xvq6b4";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@ -22101,12 +22122,12 @@
live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "live-py-mode";
version = "2.18.1";
version = "2.19.0";
src = fetchFromGitHub {
owner = "donkirkby";
repo = "live-py-plugin";
rev = "145d21d65b5469e682ef464ae8f4e0e3d8c0f04b";
sha256 = "1h188cprka13bd1prfj1w86m5z8c1nfaz4dw18g88jf6b0gyazhz";
rev = "f5da8df21ae2aa704ddca4473b6f9400ba12d30c";
sha256 = "1w0xc0bc5jl0q9yi9jhvy4xgdyrz9l402v9qv8mmrp2iqf5cdblm";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@ -22328,6 +22349,27 @@
license = lib.licenses.free;
};
}) {};
lsp-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
melpaBuild {
pname = "lsp-ocaml";
version = "0.1.0";
src = fetchFromGitHub {
owner = "emacs-lsp";
repo = "lsp-ocaml";
rev = "e826f82929b8a388a90600d3570cf66c020f0b91";
sha256 = "1mb912ffw8w5dggxaijz700j2yhzq69fil81gki3r66n077nacmr";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7be2d7a7af3d744c531e5e018d791bf2566df428/recipes/lsp-ocaml";
sha256 = "17334qcgqrz4jd5npizyq20fmxy07z2p3pq98s5np2kc4h9ara33";
name = "lsp-ocaml";
};
packageRequires = [ emacs lsp-mode ];
meta = {
homepage = "https://melpa.org/#/lsp-ocaml";
license = lib.licenses.free;
};
}) {};
lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "lua-mode";
@ -23374,7 +23416,7 @@
merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "merlin";
version = "3.0.3";
version = "3.0.4";
src = fetchFromGitHub {
owner = "the-lambda-church";
repo = "merlin";
@ -26194,12 +26236,12 @@
org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "org-journal";
version = "1.12.2";
version = "1.12.3";
src = fetchFromGitHub {
owner = "bastibe";
repo = "org-journal";
rev = "cda1980b013afabd299e7a2294517897f6442d98";
sha256 = "1y6idbp74vrr3g0r10n09znky8ih94kzf5fyil47sjkqyzzmpk3s";
rev = "44a52a20a154d5c1a78684ef720972c4fe36b64a";
sha256 = "0c4jwh53mgy4qpv7aiwbsbvjjhchyfjb0ca5ny5875ljvkq59qz6";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
@ -27305,12 +27347,12 @@
ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
melpaBuild {
pname = "ox-hugo";
version = "0.4.1";
version = "0.6";
src = fetchFromGitHub {
owner = "kaushalmodi";
repo = "ox-hugo";
rev = "c32359c71e7926c7f13039069d8d7481dfb9bc82";
sha256 = "1nw2dp6rn3hnnzzffvpr6yz7c154338h9i5ixxgh5vjxm9phzdml";
rev = "1213df6c6d9adcd706306523a5ce0c66d118b4c7";
sha256 = "1j4b7f5bgpc8vhmxprqriy3688i3lp3fgvxcnnnb2v0sjq1pbac8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@ -27954,12 +27996,12 @@
pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
melpaBuild {
pname = "pastery";
version = "0.1.14";
version = "0.1.15";
src = fetchFromGitHub {
owner = "diasbruno";
repo = "pastery.el";
rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
rev = "245779100e7d1c1a10b67fe7b9055343d3a8229c";
sha256 = "1wn53ncs0nivmdqlryvidqkksky8w4ymmfsqm1ha62jkxcwqf26h";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
@ -31402,12 +31444,12 @@
rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "rtags";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "Andersbakken";
repo = "rtags";
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@ -31864,12 +31906,12 @@
sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "sbt-mode";
version = "0.3";
version = "1.0.1";
src = fetchFromGitHub {
owner = "ensime";
repo = "emacs-sbt-mode";
rev = "bdf31a1ffe637d1445b149804d5f5cc29333a1bd";
sha256 = "0ygp0c2hy4zp5x0ghplxf2fhrf16cn37sk2zf6i43zqz6gydzq8a";
rev = "84c3d178a1f2c580f620fd8f03a05ac6413086a3";
sha256 = "1ndxylb2jbnfrrsbbs5vcxygrqd3ssf3az01nh694hv6lkcidw5k";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@ -32576,12 +32618,12 @@
shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "shx";
version = "0.0.11";
version = "0.0.12";
src = fetchFromGitHub {
owner = "riscy";
repo = "shx-for-emacs";
rev = "dfeb23f99673479b17b5817aeb5641e7cc0e5a2d";
sha256 = "1zljrvanwn37jkc9jpqj8c11dfbqxjz9ivzbpqr0ipskw9gaay7k";
rev = "aa45e7b586b1215ca1af05c14984ce872571b5f7";
sha256 = "0ya7vbp71vmvli35rwcwspbclss5ngr1ck9074i2gg1dzrqyxijn";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@ -35325,12 +35367,12 @@
tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
melpaBuild {
pname = "tide";
version = "2.5.3";
version = "2.6.1";
src = fetchFromGitHub {
owner = "ananthakumaran";
repo = "tide";
rev = "e5d1d3852aaf63cbfb0abaec1792a62bed024a72";
sha256 = "1kwssyzbjwl2vyll0p49l57z41yv6k1jnzbsdnh0d1h81nixg5wk";
rev = "e7ffcdcf9f68205d1498137e84a731c7ffb86263";
sha256 = "0lym5jb2fxv4zjhik4q5miazrsi96pljl6fw5jjh0i9p8xs0yp4x";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@ -35534,12 +35576,12 @@
treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
melpaBuild {
pname = "treemacs";
version = "1.11.8";
version = "1.12.3";
src = fetchFromGitHub {
owner = "Alexander-Miller";
repo = "treemacs";
rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
@ -35555,12 +35597,12 @@
treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
melpaBuild {
pname = "treemacs-evil";
version = "1.11.8";
version = "1.12.3";
src = fetchFromGitHub {
owner = "Alexander-Miller";
repo = "treemacs";
rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
@ -35576,12 +35618,12 @@
treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
melpaBuild {
pname = "treemacs-projectile";
version = "1.11.8";
version = "1.12.3";
src = fetchFromGitHub {
owner = "Alexander-Miller";
repo = "treemacs";
rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
@ -35685,8 +35727,8 @@
src = fetchFromGitHub {
owner = "ocaml";
repo = "tuareg";
rev = "64537bc753094b2adc2e3e97625fa9c0a01f9ae6";
sha256 = "03d0n49p6d77p221majmbh0gjyrmh2z4cb2l2vi5xxfwc1fsxzmp";
rev = "92c1dea250038d1590ab6ce76a6e099fef10d450";
sha256 = "187z651w2ngj29bgvw0435c88ky8jvczgvglja9491vprp1zfypc";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@ -36212,12 +36254,12 @@
utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "utop";
version = "2.0.1";
version = "2.0.2";
src = fetchFromGitHub {
owner = "diml";
repo = "utop";
rev = "d658bd8f63ed6b23144fdba2ee3f2a6d77979c4f";
sha256 = "1x96zxkvfq8mshgi654vvklrr7dqvq9can89n4jrrb82pcn06k5j";
rev = "599fa4ff640d731927415a44679e5b07d9553acd";
sha256 = "030wmzi51hya4180m411afy8i2vkq63r630cms3apdqd2bkjjjqs";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@ -36443,12 +36485,12 @@
vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }:
melpaBuild {
pname = "vhdl-tools";
version = "5.7";
version = "5.8";
src = fetchFromGitHub {
owner = "csantosb";
repo = "vhdl-tools";
rev = "40d5e1020b1a2b6e8ff04cbd8c84bf7959e4e7af";
sha256 = "1ndrvwjgfjnmaw71y4452ck9aqlwnpxa7379ldsn7gfl0r67qhsi";
rev = "6bbcbdfbff7154517178290371b0182a176c09b5";
sha256 = "16k2h8n85ldfjb4zh7f202q370zs0rmmjhgf2jr4xfrvbdmgr8pa";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools";
@ -37430,11 +37472,11 @@
wisp-mode = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "wisp-mode";
version = "0.9.7";
version = "0.9.8";
src = fetchhg {
url = "https://bitbucket.com/ArneBab/wisp";
rev = "7633b2a5133f";
sha256 = "0j6j9wkmq95dhx5cr3z2gpx5mvsqsgissp2060ij252ijc3l9k4a";
rev = "e80659fcc896";
sha256 = "01cmwv6xafk19gg6ixgiw9szmhmqk19i2jha5yafaa93pwgnc40v";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@ -38466,12 +38508,12 @@
zoom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "zoom";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "cyrus-and";
repo = "zoom";
rev = "d92ea444df6f6bb6cae92242f3269582d1b8ab40";
sha256 = "08riz3dd19c1dixm3c6j5dkkwjpgcib05pxq611w8z0mgsn0hsc5";
rev = "85deb722abb89f1758a24969680fc13b51344cb2";
sha256 = "1a7dlfi1w0rh6iphvflip3798xg7sac916qwjmqzz4inw9wdh3ga";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe094c99756ad29eda9bc51f31bb70c4ddc4131/recipes/zoom";

View File

@ -1,10 +1,10 @@
{ callPackage }: {
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org";
version = "20171106";
version = "20171113";
src = fetchurl {
url = "http://orgmode.org/elpa/org-20171106.tar";
sha256 = "080zkrbivd0y67ydcqj97c672q6d9d33qgb5z723niy8a8xjrp20";
url = "http://orgmode.org/elpa/org-20171113.tar";
sha256 = "0lip21hxq912ya2cgfls3c4clks9knsf2cma9dabbdkiz9jmw1xq";
};
packageRequires = [];
meta = {
@ -14,10 +14,10 @@
}) {};
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org-plus-contrib";
version = "20171106";
version = "20171113";
src = fetchurl {
url = "http://orgmode.org/elpa/org-plus-contrib-20171106.tar";
sha256 = "1ckh7q7kc72qc1wh4xypfadj9dpnn4xzc6ap4gg428q85bi091h1";
url = "http://orgmode.org/elpa/org-plus-contrib-20171113.tar";
sha256 = "1yy24rgdfvs99rj0zi74djb7l4wmj3w1i6m6j8z6xkqnhixwg5w7";
};
packageRequires = [];
meta = {

View File

@ -0,0 +1,31 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "org-mac-link-1.2";
src = fetchurl {
url = "https://raw.githubusercontent.com/stuartsierra/org-mode/master/contrib/lisp/org-mac-link.el";
sha256 = "1gkzlfbhg289r1hbqd25szan1wizgk6s99h9xxjip5bjv0jywcx5";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src org-mac-link.el
emacs --batch -f batch-byte-compile org-mac-link.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install org-mac-link.el $out/share/emacs/site-lisp
'';
meta = {
description = "Insert org-mode links to items selected in various Mac apps";
homepage = http://orgmode.org/worg/org-contrib/org-mac-link.html;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,23 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "perl-completion";
src = fetchurl {
url = "http://emacswiki.org/emacs/download/perl-completion.el";
sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
};
phases = [ "installPhase"];
installPhase = ''
install -d $out/share/emacs/site-lisp
install $src $out/share/emacs/site-lisp/perl-completion.el
'';
meta = {
description = "Minor mode provides useful features for editing perl codes";
homepage = http://emacswiki.org/emacs/PerlCompletion;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation (rec {
name = "ProofGeneral-unstable-${version}";
version = "2017-05-06";
version = "2017-11-06";
src = fetchFromGitHub {
owner = "ProofGeneral";
repo = "PG";
rev = "574b0992e3cb4b7a4ad88400b9a5ab0198a96ca5";
sha256 = "1c1pgdmy58h78s53g0ga9b5ilbsibz0dr2lk52xgbs3q5m22v5fh";
rev = "2eab72c33751768c8a6cde36b978ea4a36b91843";
sha256 = "1l3n48d6d4l5q3wkhdyp8dc6hzdw1ckdzr57dj8rdm78j87vh2cg";
};
buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;

View File

@ -0,0 +1,22 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "railgun-2012-10-17";
src = fetchgit {
url = "https://github.com/mbriggs/railgun.el.git";
rev = "66aaa1b091baef53a69d0d7425f48d184b865fb8";
sha256 = "00x09vjd3jz5f73qkf5v1y402zn8vl8dsyfwlq9z646p18ba7gyh";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
description = "Propel yourself through a rails project with the power of magnets";
homepage = https://github.com/mbriggs/railgun.el;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation rec {
pname = "redshank";
name = "${pname}-20120510";
src = fetchgit {
url = "http://www.foldr.org/~michaelw/projects/redshank.git";
rev = "f98e68f532e622bcd464292ca4a9cf5fbea14ebb";
sha256 = "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
description = "Common Lisp Editing Extensions (for Emacs)";
homepage = http://www.foldr.org/~michaelw/emacs/redshank/;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "stgit";
name = "${pname}-2009-10-28";
unpackPhase = "true";
src = fetchurl {
url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el";
sha256 = "0pl8q480633vdkylr85s7cbd4653xpzwklnxrwm8xhsnvw9d501q";
name = "stgit.el";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp $src $out/share/emacs/site-lisp/stgit.el
'';
meta = {
description = "An emacs mode for Stgit";
homepage = http://procode.org/stgit/;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,23 @@
{ fetchurl, lib, stdenv, melpaBuild }:
melpaBuild {
pname = "thingatpt-plus";
version = "20170307.1539";
src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/thingatpt+.el";
sha256 = "1k9y354315gvhbdk0m9xpjx24w1bwrnzlnfiils8xgdwnw4py99a";
name = "thingatpt+.el";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+";
sha256 = "0w031lzjl5phvzsmbbxn2fpziwkmdyxsn08h6b9lxbss1prhx7aa";
name = "thingatpt-plus";
};
meta = {
homepage = "https://melpa.org/#/thingatpt+";
license = lib.licenses.gpl2Plus;
};
}

View File

@ -0,0 +1,30 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "yaoddmuse-0.1.2";
src = fetchurl {
url = "http://emacswiki.org/emacs/download/yaoddmuse.el";
sha256 = "0vlllq3xmnlni0ws226pqxj68nshclbl5rgqv6y11i3yvzgiazr6";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src yaoddmuse.el
emacs --batch -f batch-byte-compile yaoddmuse.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install yaoddmuse.el $out/share/emacs/site-lisp
'';
meta = {
description = "Comprehensive Emacs integration with Oddmuse wikis";
homepage = http://emacswiki.org/emacs/Yaoddmuse;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation {
name = "zeitgeist-20120221";
unpackPhase = "true";
src = fetchurl {
url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el";
sha256 = "0fssx3lp8ar3b1ichbagir7z17habv367l7zz719ipycr24rf1nw";
};
buildInputs = [ emacs ];
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp $src $out/share/emacs/site-lisp/zeitgeist.el
'';
meta = {
description = "Integreate Emacs with Zeitgeist";
homepage = http://zeitgeist-project.com/;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -265,12 +265,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "2017.2.5"; /* updated by script */
version = "2017.2.6"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "01p63wsy60icy4673ci435rmzpjfkyz7a8w413vw45i2bm76skhr"; /* updated by script */
sha256 = "150zq3wk7gsn1ibx5nkq9smfcf9n1lk347vj47yb1nwzcq0vmj2p"; /* updated by script */
};
wmClass = "jetbrains-idea-ce";
update-channel = "IDEA_Release";
@ -278,12 +278,12 @@ in
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "2017.2.5"; /* updated by script */
version = "2017.2.6"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
sha256 = "0pp49nck1cad6pz81bd95v4v55vmnvj7cbdzybmldglka1afqjb6"; /* updated by script */
sha256 = "1g0qcv14rn9kzf0yv17ca3w1ihl1274216n7niwkqwcjp5mvj030"; /* updated by script */
};
wmClass = "jetbrains-idea";
update-channel = "IDEA_Release";
@ -304,12 +304,12 @@ in
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
version = "2017.2.3"; /* updated by script */
version = "2017.2.4"; /* updated by script */
description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1aik3jhggxfxnfv4kg9716gwsi013511jf9n20f2mqzdq8w2jmp8"; /* updated by script */
sha256 = "193f44s9vh5ksd7hs586h0j66lcqsh29wwxr5yhl05lq931la857"; /* updated by script */
};
wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm_Release";
@ -317,12 +317,12 @@ in
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
version = "2017.2.3"; /* updated by script */
version = "2017.2.4"; /* updated by script */
description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "0ib96yaj7l0igiv2bcrqqpbfn2xn3ic7lxyjn99k6dh8ika1qvry"; /* updated by script */
sha256 = "0n1nps8jfk77i796yr90bvrx9j1vcdnl25sr4b5n4xznjrix4gki"; /* updated by script */
};
wmClass = "jetbrains-pycharm";
update-channel = "PyCharm_Release";
@ -356,12 +356,12 @@ in
webstorm = buildWebStorm rec {
name = "webstorm-${version}";
version = "2017.2.4"; /* updated by script */
version = "2017.2.5"; /* updated by script */
description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
sha256 = "1dd2fbsyra4fm39w1kz2biljbrmcqwd866hvzsidigmjplhlzan0"; /* updated by script */
sha256 = "0apsfwcj8qfjwya794848h5iqfg9fay3h8bxqwclkw7lid9qwv7n"; /* updated by script */
};
wmClass = "jetbrains-webstorm";
update-channel = "WS_Release";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
, libtool, libuv, luajit, luajitPackages, luaPackages, ncurses, perl, pkgconfig
, libtool, libuv, luaPackages, ncurses, perl, pkgconfig
, unibilium, makeWrapper, vimUtils, xsel, gperf
, withPython ? true, pythonPackages, extraPythonPackages ? []
@ -19,13 +19,13 @@ let
# Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness:
neovimLibvterm = stdenv.mkDerivation rec {
name = "neovim-libvterm-${version}";
version = "2016-10-07";
version = "2017-11-05";
src = fetchFromGitHub {
owner = "neovim";
repo = "libvterm";
rev = "5a748f97fbf27003e141002b58933a99f3addf8d";
sha256 = "1fnd57f5n9h7z50a4vj7g96k6ndsdknjqsibgnxi9ndhyz244qbx";
rev = "4ca7ebf7d25856e90bc9d9cc49412e80be7c4ea8";
sha256 = "05kyvvz8af90mvig11ya5xd8f4mbvapwyclyrihm9lwas706lzf6";
};
buildInputs = [ perl ];
@ -81,13 +81,13 @@ let
neovim = stdenv.mkDerivation rec {
name = "neovim-${version}";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "neovim";
repo = "neovim";
rev = "v${version}";
sha256 = "0fhjkgjwqqmzbfn9wk10l2vq9v74zkriz5j12b1rx0gdwzlfybn8";
sha256 = "19ppj0i59kk70j09gap6azm0jm4y95fr5fx7n9gx377y3xjs8h03";
};
enableParallelBuilding = true;
@ -99,7 +99,6 @@ let
ncurses
neovimLibvterm
unibilium
luajit
luaPackages.lua
gperf
] ++ optional withJemalloc jemalloc
@ -115,7 +114,7 @@ let
LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs);
LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs);
lualibs = [ luaPackages.mpack luaPackages.lpeg luajitPackages.lpeg luaPackages.luabitop ];
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
cmakeFlags = [
"-DLUA_PRG=${luaPackages.lua}/bin/lua"
@ -163,7 +162,7 @@ let
# those contributions were copied from Vim (identified in the commit logs
# by the vim-patch token). See LICENSE for details."
license = with licenses; [ asl20 vim ];
maintainers = with maintainers; [ manveru garbas ];
maintainers = with maintainers; [ manveru garbas rvolosatovs ];
platforms = platforms.unix;
};
};

View File

@ -4,7 +4,7 @@ with stdenv.lib;
pythonPackages.buildPythonPackage rec {
name = "neovim-remote-${version}";
version = "v1.6.0";
version = "v1.8.6";
disabled = !pythonPackages.isPy3k;
src = fetchFromGitHub {

View File

@ -2,7 +2,7 @@ GEM
remote: https://rubygems.org/
specs:
msgpack (1.1.0)
neovim (0.5.0)
neovim (0.5.1)
msgpack (~> 1.0)
PLATFORMS
@ -12,4 +12,4 @@ DEPENDENCIES
neovim
BUNDLED WITH
1.15.1
1.14.6

View File

@ -11,9 +11,9 @@
dependencies = ["msgpack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7";
sha256 = "08xn7r4g13wl4bhvkmp4hx3x0ppvifs1x2iiqh8jl9f1jb4jhfcp";
type = "gem";
};
version = "0.5.0";
version = "0.5.1";
};
}

View File

@ -61,7 +61,7 @@ in let
installPhase = ''
# Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text
sed -e 's,/opt/sublime_text/sublime_text,sublime,' -i sublime_text.desktop
sed -e "s,/opt/sublime_text/sublime_text,$out/sublime_text," -i sublime_text.desktop
mkdir -p $out
cp -prvd * $out/
@ -89,9 +89,15 @@ in stdenv.mkDerivation {
installPhase = ''
mkdir -p $out/bin
ln -s $sublime/sublime_text $out/bin/subl
ln -s $sublime/sublime_text $out/bin/sublime
ln -s $sublime/sublime_text $out/bin/sublime3
cat > $out/bin/subl <<-EOF
#!/bin/sh
exec $sublime/sublime_text "\$@"
EOF
chmod +x $out/bin/subl
ln $out/bin/subl $out/bin/sublime
ln $out/bin/subl $out/bin/sublime3
mkdir -p $out/share/applications
ln -s $sublime/sublime_text.desktop $out/share/applications/sublime_text.desktop
ln -s $sublime/Icon/256x256/ $out/share/icons

View File

@ -2,7 +2,7 @@
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
let
version = "1.17.2";
version = "1.18.0";
channel = "stable";
plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system};
sha256 = {
"i686-linux" = "04mnj74pqkgfgdacq4643qrd7ybka1366lr7mwn0f70lk05wb2h2";
"x86_64-linux" = "0y37wwvq6flaa2fh2r6b9cplbcszq726zrx6b8slzq6s5wl2lgmr";
"x86_64-darwin" = "1cqyir7ijwafy68d5vbw47cs1x2lqs1wjnvhhw15yi2d7c14fq7q";
"i686-linux" = "0xwfnw15792lxr5npc71yyw5yyaqi3nifqgv6vpi8ibl6c8zs97d";
"x86_64-linux" = "0qzj2qrzbdk27mggh0f9fs3s99bffvnrnbsparbzdag5jjmry2py";
"x86_64-darwin" = "1g5rf6g9q9hh4gzg6nb37pyq9dpjj0wapivv5dsvmn0j3cp69cv4";
}.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";

View File

@ -139,15 +139,13 @@ rec {
};
texturize = pluginDerivation {
name = "texturize-2.1";
src = fetchurl {
url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
name = "texturize-2.2.2017-07-28";
src = fetchFromGitHub {
owner = "lmanul";
repo = "gimp-texturize";
rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1";
sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
};
buildInputs = with pkgs; [ perl ];
patchPhase = ''
sed -i '/.*gimpimage_pdb.h.*/ d' src/*.c*
'';
installPhase = "installPlugins src/texturize";
};

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
buildInputs = [
cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng
boost boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
gettext intltool perl unzip ftgl glew asciidoc
gtkmm2 glibmm gtkglext pangox_compat libXmu
];

View File

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1";
};
patches = [ ./photoqt-1.5.1-qt-5.9.patch ];
nativeBuildInputs = [ cmake ];
buildInputs = [
qtbase qtquickcontrols qttools exiv2 graphicsmagick
qtmultimedia qtdeclarative libraw qtgraphicaleffects
@ -21,6 +24,8 @@ stdenv.mkDerivation rec {
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
'';
enableParallelBuilding = true;
meta = {
homepage = http://photoqt.org/;
description = "Simple, yet powerful and good looking image viewer";

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 97abcb5..fd4877a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,7 +50,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -Wall")
#### FIND REQUIRED PACKAGES ####
################################
-FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg REQUIRED)
+FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg Sql Xml REQUIRED)
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
FIND_PACKAGE(Magick)
FIND_PACKAGE(Exiv2)

View File

@ -26,28 +26,28 @@ let
libXxf86vm
libXi
];
in
buildRustPackage rec {
in buildRustPackage rec {
name = "alacritty-unstable-${version}";
version = "2017-10-31";
version = "2017-11-12";
# At the moment we cannot handle git dependencies in buildRustPackage.
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
src = fetchgit {
url = https://github.com/Mic92/alacritty.git;
rev = "rev-${version}";
sha256 = "1yybx23smwdkzb6byvxd6zxi7asmrzvp9h1ihmy6xlzwjfbsalj0";
sha256 = "0096fzrfzj0a2n2n531r4b6c8rlfj5qc90d6i4iin5axalk3i1h4";
fetchSubmodules = true;
};
cargoSha256 = "14bmm1f7hqh8i4mpb6ljh7szrm4g6mplzpq9zbgjrgxnc01w3s0i";
cargoSha256 = "10blch8pzk1zk3w27sbcszhcnq908xh1q55vqgy8iv5x47rpl02q";
buildInputs = [
nativeBuildInputs = [
cmake
makeWrapper
pkgconfig
] ++ rpathLibs;
];
buildInputs = rpathLibs;
postPatch = ''
substituteInPlace copypasta/src/x11.rs \

View File

@ -1,12 +1,11 @@
{ stdenv, fetchipfs, fetchurl }:
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "hello-2.10";
src = fetchipfs {
url = "https://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz";
ipfs = "QmWyj65ak3wd8kG2EvPCXKd6Tij15m4SwJz6g2yG2rQ7w8";
sha256 = "1im1gglfm4k10bh4mdaqzmx3lm3kivnsmxrvl6vyvmfqqzljq75l";
src = fetchurl {
url = "mirror://gnu/hello/${name}.tar.gz";
sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
};
doCheck = true;
@ -22,9 +21,4 @@ stdenv.mkDerivation rec {
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
};
passthru.srcTarball = fetchurl {
inherit (src) url;
sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
};
}

View File

@ -0,0 +1,40 @@
{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, pango, librsvg, libxml2, menu-cache, xorg }:
stdenv.mkDerivation rec {
name = "jgmenu-${version}";
version = "0.7.4";
src = fetchFromGitHub {
owner = "johanmalm";
repo = "jgmenu";
rev = "v${version}";
sha256 = "0vim7balxrxhbgq4jvf80lbh57xbw3qmhapy7n2iyv443ih4a7hi";
};
nativeBuildInputs = [
pkgconfig
python3Packages.wrapPython
];
buildInputs = [
pango
librsvg
libxml2
menu-cache
xorg.libXinerama
];
makeFlags = [ "prefix=$(out)" ];
postFixup = ''
wrapPythonProgramsIn "$out/lib/jgmenu"
'';
meta = with stdenv.lib; {
homepage = https://github.com/johanmalm/jgmenu;
description = "Small X11 menu intended to be used with openbox and tint2";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
let
version = "0.11.0.0";
version = "0.11.1.0";
in
stdenv.mkDerivation {
name = "monero-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
owner = "monero-project";
repo = "monero";
rev = "v${version}";
sha256 = "041xxk9gznfpgn8f07m7sddr74cwm1sdyf9i85k10ndja87xc6y4";
sha256 = "0nrpxx6r63ia6ard85d504x2kgaikvrhb5sg93ml70l6djyy1148";
};
nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -20,6 +20,8 @@ mkDerivation rec {
cmakeFlags = lib.optional preferQWebView "-DQST_BUILD_WEBKIT=1";
patches = [ ./qsyncthingtray-0.5.8-qt-5.6.3.patch ];
postPatch = ''
${lib.optionalString stdenv.isLinux ''
substituteInPlace includes/platforms/linux/posixUtils.hpp \
@ -44,6 +46,8 @@ mkDerivation rec {
runHook postInstall
'';
enableParallelBuilding = true;
meta = with lib; {
homepage = https://github.com/sieren/QSyncthingTray/;
description = "A Traybar Application for Syncthing written in C++";

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b778d09..247b606 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,7 +12,7 @@ set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-find_package(Qt5 5.6 COMPONENTS Widgets Network PrintSupport)
+find_package(Qt5 5.6 COMPONENTS Widgets Network PrintSupport WebEngineWidgets)
if (NOT Qt5_FOUND)
message(FATAL_ERROR
"Some components of Qt5 not found (see above messages for details. "

View File

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub, scsh, rsync, unison }:
stdenv.mkDerivation rec {
pname = "usync";
version = "0.0.3";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "ebzzry";
repo = pname;
rev = "9c87ea8a707a47c3d7f6ef94d07591c5ab594282";
sha256 = "1r05gw041fz9dkkb70zd6kqw9dd8dhpv87407qxqg43pd7x47kf4";
};
installPhase = ''
install -m 555 -Dt $out/bin $pname
'';
postFixup = ''
substituteInPlace $out/bin/$pname --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
substituteInPlace $out/bin/$pname --replace "(rsync " "(${rsync}/bin/rsync "
substituteInPlace $out/bin/$pname --replace "(unison " "(${unison}/bin/unison "
'';
meta = with stdenv.lib; {
homepage = https://github.com/ebzzry/usync;
description = "A simple site-to-site synchronization tool";
license = licenses.mit;
maintainers = [ maintainers.ebzzry ];
platforms = platforms.unix;
};
dontBuild = true;
}

View File

@ -3,17 +3,19 @@
stdenv.mkDerivation rec {
name = "verbiste-${version}";
version = "0.1.44";
version = "0.1.45";
src = fetchurl {
url = "http://perso.b2b2c.ca/~sarrazip/dev/${name}.tar.gz";
sha256 = "0vmjr8w3qc64y312a0sj0ask309mmmlmyxp2fsii0ji35ls7m9sw";
sha256 = "180zyhdjspp7lk2291wsqs6bm7y27r7bd00447iimmjpx372s22c";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libgnomeui libxml2 ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://sarrazip.com/dev/verbiste.html;
description = "French and Italian verb conjugator";

View File

@ -94,12 +94,12 @@ let
flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "27.0.0.183";
version = "27.0.0.187";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "012fhsjfp71vaarjhi3dd4qpb41n4510zmid38hl2hsjz7qrj5aj";
sha256 = "102z9aflm0a29klc26jch3wl4y8hdrxzqdqvf5yj0bnibx3hwpsy";
stripRoot = false;
};

View File

@ -1,9 +1,9 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "068jaws7lqwlw3g62d2cv7i44p6zvdnizdqd56hfs4wj08k068db";
sha256bin64 = "009ckf3gh039dwdf8rj494ra4qp0kijgzkrxianda1r7cqz1c3ys";
version = "63.0.3239.30";
sha256 = "1pk6ssvriqmckf61lafkbwyy98ylpaz0mq3g0zrifbhxzwkk01ni";
sha256bin64 = "0svdxgszy377hm3lzys90xj8qna93r4xz3d89sy086c9sq1ncsr0";
version = "63.0.3239.40";
};
dev = {
sha256 = "0kpn5w1qvjlkxqhsc7lz269mxp7i0z9k92ay178kgsph3ygncm0x";
@ -11,8 +11,8 @@
version = "64.0.3260.2";
};
stable = {
sha256 = "0sclvs11kn60ibc66wfan0xdcsr2s8vkvbq759h86w9gq86pcycz";
sha256bin64 = "05lbrzd37q57mx9rii995l9z42a4aa0jh55ia615sqmzr56a7fdr";
version = "62.0.3202.89";
sha256 = "1m2qjm4x789s3hx255gmmihqrqfx8f608fap3khsp2phgck4vg6a";
sha256bin64 = "1wxszymlv2y1dk4f0hpgq9b86fzqb7x8q87rfbq7dvfj8g4vipz1";
version = "62.0.3202.94";
};
}

View File

@ -29,11 +29,9 @@
# Set to `privacySupport` or `false`.
, webrtcSupport ? !privacySupport
, geolocationSupport ? !privacySupport
, googleAPISupport ? geolocationSupport
, googleAPISupport ? !privacySupport
, crashreporterSupport ? false
, safeBrowsingSupport ? false
, drmSupport ? false
## other
@ -161,10 +159,8 @@ stdenv.mkDerivation (rec {
++ flag gssSupport "negotiateauth"
++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
++ flag webrtcSupport "webrtc"
++ flag geolocationSupport "mozril-geoloc"
++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
++ flag crashreporterSupport "crashreporter"
++ flag safeBrowsingSupport "safe-browsing"
++ lib.optional drmSupport "--enable-eme=widevine"
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]

View File

@ -0,0 +1,14 @@
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
index 380c1c1..255539f 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -306,7 +306,8 @@ GetSystemParentDirectory(nsIFile** aFile)
"/usr/lib/mozilla"
#endif
);
- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
+ const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR");
+ rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast<const nsCString&>(dirname), false, getter_AddRefs(localDir));
#endif
if (NS_SUCCEEDED(rv)) {

View File

@ -6,14 +6,14 @@ rec {
firefox = common rec {
pname = "firefox";
version = "56.0.2";
version = "57.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "35f81e8163a254b7e134fc073acbcff63aa1025b9c6392377650a8f2d0a5f0c77211adb0ae3d8ac85f036bb387246934b8847f14a03fceb7fcbc5b3cf94c9392";
sha512 = "bd99ff97a2a6f824e6fbd36fd00193903159e309506b1e6945dcbc43a17a95aaa54a05f32131c56872e8860878ba6063008667955550f03aa8c7084f834d14fc";
};
patches =
[ ./no-buildconfig.patch ]
[ ./no-buildconfig.patch ./env_var_for_system_dir.patch ]
++ lib.optional stdenv.isi686 (fetchpatch {
url = "https://hg.mozilla.org/mozilla-central/raw-rev/15517c5a5d37";
sha256 = "1ba487p3hk4w2w7qqfxgv1y57vp86b8g3xhav2j20qd3j3phbbn7";
@ -32,12 +32,15 @@ rec {
firefox-esr = common rec {
pname = "firefox-esr";
version = "52.4.1esr";
version = "52.5.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "d80c7219548391d8a47b6e404662ea41e6acfa264a67d69365e76dd8943077e388ab24b030850919f8fc6681c11486bdbaaf170d441c861f4a12cedbe08955ab";
sha512 = "fe724108ba538e590b87a5c1b817471d3cca9b038ba2755642e4d7b8ebb6174322be1fe074f24ef181946f9a027106b50b500d2fa541d8a99ef44905822eda18";
};
patches =
[ ./env_var_for_system_dir.patch ];
meta = firefox.meta // {
description = "A web browser built from Firefox Extended Support Release source tree";
};
@ -128,6 +131,9 @@ in rec {
rev = "tor-browser-52.3.0esr-7.0-1-slnos";
sha256 = "0szbf8gjbl4dnrb4igy4mq5858i1y6ki4skhdw63iqqdd8w9v4yv";
};
patches =
[ ./env_var_for_system_dir.patch ];
} // commonAttrs) {};
tor-browser = tor-browser-7-0;

View File

@ -1,4 +1,4 @@
{ stdenv, lib, makeDesktopItem, makeWrapper, config
{ stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
## various stuff that can be plugged in
, flashplayer, hal-flash
@ -47,6 +47,9 @@ let
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
++ lib.optional (cfg.enableVLC or false) vlc_npapi
);
nativeMessagingHosts =
([ ]
);
libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
++ lib.optional gssSupport kerberos
++ lib.optionals (cfg.enableQuakeLive or false)
@ -98,6 +101,7 @@ in stdenv.mkDerivation {
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
--suffix PATH ':' "$out/bin" \
--set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
--set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
${lib.optionalString (!ffmpegSupport)
''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''
+ lib.optionalString (browser ? gtk3)
@ -117,6 +121,11 @@ in stdenv.mkDerivation {
install -D -t $out/share/applications $desktopItem/share/applications/*
mkdir -p $out/lib/mozilla
for ext in ${toString nativeMessagingHosts}; do
${lndir}/bin/lndir -silent $ext/lib/mozilla $out/lib/mozilla
done
# For manpages, in case the program supplies them
mkdir -p $out/nix-support
echo ${browser} > $out/nix-support/propagated-user-env-packages

View File

@ -73,7 +73,7 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
version = "27.0.0.183";
version = "27.0.0.187";
src = fetchurl {
url =
@ -84,14 +84,14 @@ stdenv.mkDerivation rec {
sha256 =
if debug then
if arch == "x86_64" then
"1qn9hm9c303jihksfc8sb5yjpcasj711s66lhqlqmj5hd0r8bzya"
"1ii97fa1diyggarh1gkg43ia42ws7x84hpjzvrdhxcf6s47lh2ld"
else
"19d0d4fn2p2wvh27gshybgc4xpjp0ibgm2gg8g0jzrvbc3cqdz0j"
"1gphlgy64ddzn4bbgr2k1kh8xwq9ghf0z0c6zilry0nq33i64xa1"
else
if arch == "x86_64" then
"0df8lbbvr226k9z6p2jwxandjb6yy0bqz5kaz79hpj0dwkiqwax1"
"1hfcphcvdam62k983rm6r42mnkih4nfwyrnx0v88z3nw14mjr4c3"
else
"0vs63rlra5ccm24j908zrcxhffjlmvjr6pb2bb7a4fmnfjrk4idf";
"06jb4jd5840w125wd4l35f0b1iqjak07ajy02k9j8srglwi0ffmw";
};
nativeBuildInputs = [ unzip ];

View File

@ -55,7 +55,7 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}";
version = "27.0.0.183";
version = "27.0.0.187";
src = fetchurl {
url =
@ -65,9 +65,9 @@ stdenv.mkDerivation rec {
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"0vf28qdhb1ly5w3hhy3n20r4nyvwsxj5csb969s0r328nf1xaflj"
"1857g4yy62pj02pnw7p9bpqazp98jf17yv2xdh1fkqiibzahjc6m"
else
"0jqbnbpdrmxh2jnai0bv4c8jzsvqmcnhsp1hzaygsvp0ri4vncs8";
"0kywx7c3qb1hfljc14ddzm1cyhvwygbbdfxp1rdhqw8s3b6ns0hw";
};
nativeBuildInputs = [ unzip ];

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