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:
commit
d99a2fc093
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
|
@ -80,3 +80,6 @@
|
|||
|
||||
# Eclipse
|
||||
/pkgs/applications/editors/eclipse @rycee
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/31401
|
||||
/lib/maintainers.nix @ghost
|
||||
|
|
8
.github/CONTRIBUTING.md
vendored
8
.github/CONTRIBUTING.md
vendored
|
@ -12,11 +12,11 @@ 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)
|
||||
|
||||
|
||||
(Motivation for change. Additional information.)
|
||||
```
|
||||
|
||||
|
@ -25,10 +25,10 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
|
|||
* nginx: init at 2.0.1
|
||||
* firefox: 54.0.1 -> 55.0
|
||||
* nixos/hydra: add bazBaz option
|
||||
|
||||
|
||||
Dual baz behavior is needed to do foo.
|
||||
* nixos/nginx: refactor config generation
|
||||
|
||||
|
||||
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
|
||||
|
||||
* `meta.description` should:
|
||||
|
|
6
.github/ISSUE_TEMPLATE.md
vendored
6
.github/ISSUE_TEMPLATE.md
vendored
|
@ -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.
|
||||
|
|
35
.travis.yml
35
.travis.yml
|
@ -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
|
|
@ -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.
|
||||
|
|
|
@ -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 Z’s 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 Z’s build environment automatically.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
|
|
@ -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>";
|
||||
|
|
|
@ -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
|
|
@ -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.<name>.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>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -7,6 +7,11 @@ let
|
|||
cfg = config.services.mysql;
|
||||
|
||||
mysql = cfg.package;
|
||||
|
||||
isMariaDB =
|
||||
let
|
||||
pName = _p: (builtins.parseDrvName (_p.name)).name;
|
||||
in pName mysql == pName pkgs.mariadb;
|
||||
|
||||
atLeast55 = versionAtLeast mysql.mysqlVersion "5.5";
|
||||
|
||||
|
@ -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)}
|
||||
|
|
|
@ -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.
|
||||
'';
|
||||
|
|
28
nixos/modules/services/desktops/dleyna-renderer.nix
Normal file
28
nixos/modules/services/desktops/dleyna-renderer.nix
Normal 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 ];
|
||||
};
|
||||
}
|
28
nixos/modules/services/desktops/dleyna-server.nix
Normal file
28
nixos/modules/services/desktops/dleyna-server.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
117
nixos/modules/services/networking/nghttpx/default.nix
Normal file
117
nixos/modules/services/networking/nghttpx/default.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
142
nixos/modules/services/networking/nghttpx/nghttpx-options.nix
Normal file
142
nixos/modules/services/networking/nghttpx/nghttpx-options.nix
Normal 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 <N>. If 0
|
||||
is given, nghttpx does not set the limit.
|
||||
|
||||
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
18
nixos/modules/services/networking/nghttpx/server-options.nix
Normal file
18
nixos/modules/services/networking/nghttpx/server-options.nix
Normal 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.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
21
nixos/modules/services/networking/nghttpx/tls-submodule.nix
Normal file
21
nixos/modules/services/networking/nghttpx/tls-submodule.nix
Normal 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.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
36
nixos/modules/services/x11/fractalart.nix
Normal file
36
nixos/modules/services/x11/fractalart.nix
Normal 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}";
|
||||
};
|
||||
}
|
|
@ -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.";
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -40,6 +40,7 @@ in rec {
|
|||
nat
|
||||
nfs3
|
||||
openssh
|
||||
php-pcre
|
||||
proxy
|
||||
simple;
|
||||
installer = {
|
||||
|
|
|
@ -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 {};
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
61
nixos/tests/nghttpx.nix
Normal 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
44
nixos/tests/php-pcre.nix
Normal 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
85
nixos/tests/zfs.nix
Normal 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;
|
||||
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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; };
|
||||
|
|
37
pkgs/applications/audio/amarok/kf5.nix
Normal file
37
pkgs/applications/audio/amarok/kf5.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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/;
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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+";
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
|
|
23
pkgs/applications/editors/emacs-modes/header2/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/header2/default.nix
Normal 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;
|
||||
};
|
||||
}
|
23
pkgs/applications/editors/emacs-modes/helm-words/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/helm-words/default.nix
Normal 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;
|
||||
};
|
||||
}
|
23
pkgs/applications/editors/emacs-modes/hexrgb/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/hexrgb/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
|
|
22
pkgs/applications/editors/emacs-modes/railgun/default.nix
Normal file
22
pkgs/applications/editors/emacs-modes/railgun/default.nix
Normal 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;
|
||||
};
|
||||
}
|
23
pkgs/applications/editors/emacs-modes/redshank/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/redshank/default.nix
Normal 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;
|
||||
};
|
||||
}
|
25
pkgs/applications/editors/emacs-modes/stgit/default.nix
Normal file
25
pkgs/applications/editors/emacs-modes/stgit/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
30
pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix
Normal file
30
pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix
Normal 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;
|
||||
};
|
||||
}
|
25
pkgs/applications/editors/emacs-modes/zeitgeist/default.nix
Normal file
25
pkgs/applications/editors/emacs-modes/zeitgeist/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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)
|
|
@ -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 \
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
40
pkgs/applications/misc/jgmenu/default.nix
Normal file
40
pkgs/applications/misc/jgmenu/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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++";
|
||||
|
|
|
@ -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. "
|
34
pkgs/applications/misc/usync/default.nix
Normal file
34
pkgs/applications/misc/usync/default.nix
Normal 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;
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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" ]
|
||||
|
|
|
@ -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)) {
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue