mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-11 04:02:55 +03:00
Merge master into staging-next
This commit is contained in:
commit
2cf319879b
@ -18,6 +18,7 @@
|
|||||||
<xi:include href="opengl.xml" />
|
<xi:include href="opengl.xml" />
|
||||||
<xi:include href="shell-helpers.xml" />
|
<xi:include href="shell-helpers.xml" />
|
||||||
<xi:include href="steam.xml" />
|
<xi:include href="steam.xml" />
|
||||||
|
<xi:include href="urxvt.xml" />
|
||||||
<xi:include href="weechat.xml" />
|
<xi:include href="weechat.xml" />
|
||||||
<xi:include href="xorg.xml" />
|
<xi:include href="xorg.xml" />
|
||||||
</chapter>
|
</chapter>
|
||||||
|
101
doc/builders/packages/urxvt.xml
Normal file
101
doc/builders/packages/urxvt.xml
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xml:id="sec-urxvt">
|
||||||
|
<title>Urxvt</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<section xml:id="sec-urxvt-conf">
|
||||||
|
|
||||||
|
<title>Configuring urxvt</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In <literal>nixpkgs</literal>, urxvt is provided by the package
|
||||||
|
<literal>rxvt-unicode</literal>. It can be configured to include your choice
|
||||||
|
of plugins, reducing its closure size from the default configuration which
|
||||||
|
includes all available plugins. To make use of this functionality, use an
|
||||||
|
overlay or directly install an expression that overrides its configuration,
|
||||||
|
such as
|
||||||
|
<programlisting>rxvt-unicode.override { configure = { availablePlugins, ... }: {
|
||||||
|
plugins = with availablePlugins; [ perls resize-font vtwheel ];
|
||||||
|
}
|
||||||
|
}</programlisting>
|
||||||
|
If the <literal>configure</literal> function returns an attrset without the
|
||||||
|
<literal>plugins</literal> attribute, <literal>availablePlugins</literal>
|
||||||
|
will be used automatically.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In order to add plugins but also keep all default plugins installed, it is
|
||||||
|
possible to use the following method:
|
||||||
|
<programlisting>rxvt-unicode.override { configure = { availablePlugins, ... }: {
|
||||||
|
plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ];
|
||||||
|
};
|
||||||
|
}</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
To get a list of all the plugins available, open the Nix REPL and run
|
||||||
|
<programlisting>$ nix repl
|
||||||
|
:l <nixpkgs>
|
||||||
|
map (p: p.name) pkgs.rxvt-unicode.plugins
|
||||||
|
</programlisting>
|
||||||
|
Alternatively, if your shell is bash or zsh and have completion enabled,
|
||||||
|
simply type <literal>nixpkgs.rxvt-unicode.plugins.<tab></literal>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In addition to <literal>plugins</literal> the options
|
||||||
|
<literal>extraDeps</literal> and <literal>perlDeps</literal> can be used
|
||||||
|
to install extra packages.
|
||||||
|
<literal>extraDeps</literal> can be used, for example, to provide
|
||||||
|
<literal>xsel</literal> (a clipboard manager) to the clipboard plugin,
|
||||||
|
without installing it globally:
|
||||||
|
<programlisting>rxvt-unicode.override { configure = { availablePlugins, ... }: {
|
||||||
|
pluginsDeps = [ xsel ];
|
||||||
|
}
|
||||||
|
}</programlisting>
|
||||||
|
|
||||||
|
<literal>perlDeps</literal> is a handy way to provide Perl packages to
|
||||||
|
your custom plugins (in <literal>$HOME/.urxvt/ext</literal>). For example,
|
||||||
|
if you need <literal>AnyEvent</literal> you can do:
|
||||||
|
<programlisting>rxvt-unicode.override { configure = { availablePlugins, ... }: {
|
||||||
|
perlDeps = with perlPackages; [ AnyEvent ];
|
||||||
|
}
|
||||||
|
}</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xml:id="sec-urxvt-pkg">
|
||||||
|
|
||||||
|
<title>Packaging urxvt plugins</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Urxvt plugins resides in
|
||||||
|
<literal>pkgs/applications/misc/rxvt-unicode-plugins</literal>.
|
||||||
|
To add a new plugin create an expression in a subdirectory and add the
|
||||||
|
package to the set in
|
||||||
|
<literal>pkgs/applications/misc/rxvt-unicode-plugins/default.nix</literal>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A plugin can be any kind of derivation, the only requirement is that it
|
||||||
|
should always install perl scripts in <literal>$out/lib/urxvt/perl</literal>.
|
||||||
|
Look for existing plugins for examples.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If the plugin is itself a perl package that needs to be imported from
|
||||||
|
other plugins or scripts, add the following passthrough:
|
||||||
|
<programlisting>passthru.perlPackages = [ "self" ];
|
||||||
|
</programlisting>
|
||||||
|
This will make the urxvt wrapper pick up the dependency and set up the perl
|
||||||
|
path accordingly.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</section>
|
@ -69,8 +69,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
JDiskReport, a Java utility: <link
|
JDiskReport, a Java utility: <link
|
||||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link> (and the <link
|
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link>. Nixpkgs doesn’t have a decent <varname>stdenv</varname> for Java yet so this is pretty ad-hoc.
|
||||||
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>). Nixpkgs doesn’t have a decent <varname>stdenv</varname> for Java yet so this is pretty ad-hoc.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -256,7 +256,7 @@
|
|||||||
</question>
|
</question>
|
||||||
<answer>
|
<answer>
|
||||||
<para>
|
<para>
|
||||||
<programlisting>doCheck = stdenv.hostPlatform != stdenv.buildPlatfrom;</programlisting>
|
<programlisting>doCheck = stdenv.hostPlatform == stdenv.buildPlatfrom;</programlisting>
|
||||||
Add it to your <function>mkDerivation</function> invocation.
|
Add it to your <function>mkDerivation</function> invocation.
|
||||||
</para>
|
</para>
|
||||||
</answer>
|
</answer>
|
||||||
|
50
flake.nix
Normal file
50
flake.nix
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Experimental flake interface to Nixpkgs.
|
||||||
|
# See https://github.com/NixOS/rfcs/pull/49 for details.
|
||||||
|
{
|
||||||
|
edition = 201909;
|
||||||
|
|
||||||
|
description = "A collection of packages for the Nix package manager";
|
||||||
|
|
||||||
|
outputs = { self }:
|
||||||
|
let
|
||||||
|
|
||||||
|
jobs = import ./pkgs/top-level/release.nix {
|
||||||
|
nixpkgs = self;
|
||||||
|
};
|
||||||
|
|
||||||
|
lib = import ./lib;
|
||||||
|
|
||||||
|
systems = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
|
||||||
|
|
||||||
|
forAllSystems = f: lib.genAttrs systems (system: f system);
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
lib = lib // {
|
||||||
|
nixosSystem = { modules, ... } @ args:
|
||||||
|
import ./nixos/lib/eval-config.nix (args // {
|
||||||
|
modules = modules ++
|
||||||
|
[ { system.nixos.versionSuffix =
|
||||||
|
".${lib.substring 0 8 self.lastModified}.${self.shortRev or "dirty"}";
|
||||||
|
system.nixos.revision = lib.mkIf (self ? rev) self.rev;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
checks.x86_64-linux.tarball = jobs.tarball;
|
||||||
|
|
||||||
|
htmlDocs = {
|
||||||
|
nixpkgsManual = jobs.manual;
|
||||||
|
nixosManual = (import ./nixos/release-small.nix {
|
||||||
|
nixpkgs = self;
|
||||||
|
}).nixos.manual.x86_64-linux;
|
||||||
|
};
|
||||||
|
|
||||||
|
legacyPackages = forAllSystems (system: import ./. { inherit system; });
|
||||||
|
|
||||||
|
nixosModules = {
|
||||||
|
notDetected = import ./nixos/modules/installer/scan/not-detected.nix;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -148,7 +148,7 @@ runTests {
|
|||||||
"${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
|
"${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
|
||||||
in {
|
in {
|
||||||
storePath = isStorePath goodPath;
|
storePath = isStorePath goodPath;
|
||||||
storePathDerivation = isStorePath (import ../.. {}).hello;
|
storePathDerivation = isStorePath (import ../.. { system = "x86_64-linux"; }).hello;
|
||||||
storePathAppendix = isStorePath
|
storePathAppendix = isStorePath
|
||||||
"${goodPath}/bin/python";
|
"${goodPath}/bin/python";
|
||||||
nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath)));
|
nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath)));
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
pkgs.runCommandNoCC "nixpkgs-lib-tests" {
|
pkgs.runCommandNoCC "nixpkgs-lib-tests" {
|
||||||
buildInputs = [ pkgs.nix (import ./check-eval.nix) ];
|
buildInputs = [ pkgs.nix (import ./check-eval.nix) ];
|
||||||
NIX_PATH="nixpkgs=${pkgs.path}";
|
NIX_PATH = "nixpkgs=${toString pkgs.path}";
|
||||||
} ''
|
} ''
|
||||||
datadir="${pkgs.nix}/share"
|
datadir="${pkgs.nix}/share"
|
||||||
export TEST_ROOT=$(pwd)/test-tmp
|
export TEST_ROOT=$(pwd)/test-tmp
|
||||||
|
@ -171,7 +171,7 @@ rec {
|
|||||||
On each release the first letter is bumped and a new animal is chosen
|
On each release the first letter is bumped and a new animal is chosen
|
||||||
starting with that new letter.
|
starting with that new letter.
|
||||||
*/
|
*/
|
||||||
codeName = "Markhor";
|
codeName = "Nightingale";
|
||||||
|
|
||||||
/* Returns the current nixpkgs version suffix as string. */
|
/* Returns the current nixpkgs version suffix as string. */
|
||||||
versionSuffix =
|
versionSuffix =
|
||||||
|
@ -357,6 +357,16 @@
|
|||||||
githubId = 5892756;
|
githubId = 5892756;
|
||||||
name = "Alec Snyder";
|
name = "Alec Snyder";
|
||||||
};
|
};
|
||||||
|
AluisioASG = {
|
||||||
|
name = "Aluísio Augusto Silva Gonçalves";
|
||||||
|
email = "aluisio@aasg.name";
|
||||||
|
github = "AluisioASG";
|
||||||
|
githubId = 1904165;
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x9FAA63E097506D9D";
|
||||||
|
fingerprint = "7FDB 17B3 C29B 5BA6 E5A9 8BB2 9FAA 63E0 9750 6D9D";
|
||||||
|
}];
|
||||||
|
};
|
||||||
alunduil = {
|
alunduil = {
|
||||||
email = "alunduil@gmail.com";
|
email = "alunduil@gmail.com";
|
||||||
github = "alunduil";
|
github = "alunduil";
|
||||||
|
@ -77,7 +77,14 @@
|
|||||||
<option>--builders</option> <replaceable>builder-spec</replaceable>
|
<option>--builders</option> <replaceable>builder-spec</replaceable>
|
||||||
</arg>
|
</arg>
|
||||||
|
|
||||||
|
<sbr/>
|
||||||
|
|
||||||
|
<arg>
|
||||||
|
<option>--flake</option> <replaceable>flake-uri</replaceable>
|
||||||
|
</arg>
|
||||||
|
|
||||||
<sbr />
|
<sbr />
|
||||||
|
|
||||||
<arg>
|
<arg>
|
||||||
<group choice='req'>
|
<group choice='req'>
|
||||||
<arg choice='plain'>
|
<arg choice='plain'>
|
||||||
@ -129,14 +136,17 @@
|
|||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This command updates the system so that it corresponds to the configuration
|
This command updates the system so that it corresponds to the
|
||||||
specified in <filename>/etc/nixos/configuration.nix</filename>. Thus, every
|
configuration specified in
|
||||||
time you modify <filename>/etc/nixos/configuration.nix</filename> or any
|
<filename>/etc/nixos/configuration.nix</filename> or
|
||||||
NixOS module, you must run <command>nixos-rebuild</command> to make the
|
<filename>/etc/nixos/flake.nix</filename>. Thus, every time you
|
||||||
changes take effect. It builds the new system in
|
modify the configuration or any other NixOS module, you must run
|
||||||
<filename>/nix/store</filename>, runs its activation script, and stop and
|
<command>nixos-rebuild</command> to make the changes take
|
||||||
(re)starts any system services if needed. Please note that user services need
|
effect. It builds the new system in
|
||||||
to be started manually as they aren't detected by the activation script at the moment.
|
<filename>/nix/store</filename>, runs its activation script, and
|
||||||
|
stop and (re)starts any system services if needed. Please note that
|
||||||
|
user services need to be started manually as they aren't detected
|
||||||
|
by the activation script at the moment.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -508,6 +518,24 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<option>--flake</option> <replaceable>flake-uri</replaceable>[<replaceable>name</replaceable>]
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Build the NixOS system from the specified flake. It defaults to
|
||||||
|
the directory containing the target of the symlink
|
||||||
|
<filename>/etc/nixos/flake.nix</filename>, if it exists. The
|
||||||
|
flake must contain an output named
|
||||||
|
<literal>nixosConfigurations.<replaceable>name</replaceable></literal>. If
|
||||||
|
<replaceable>name</replaceable> is omitted, it default to the
|
||||||
|
current host name.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -554,6 +582,21 @@
|
|||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<filename>/etc/nixos/flake.nix</filename>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
If this file exists, then <command>nixos-rebuild</command> will
|
||||||
|
use it as if the <option>--flake</option> option was given. This
|
||||||
|
file may be a symlink to a <filename>flake.nix</filename> in an
|
||||||
|
actual flake; thus <filename>/etc/nixos</filename> need not be a
|
||||||
|
flake.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<filename>/run/current-system</filename>
|
<filename>/run/current-system</filename>
|
||||||
|
@ -12,16 +12,22 @@
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
<command>nixos-version</command>
|
<command>nixos-version</command>
|
||||||
<arg>
|
<arg>
|
||||||
<option>--hash</option>
|
<option>--hash</option>
|
||||||
</arg>
|
</arg>
|
||||||
|
|
||||||
<arg>
|
<arg>
|
||||||
<option>--revision</option>
|
<option>--revision</option>
|
||||||
</arg>
|
</arg>
|
||||||
|
|
||||||
|
<arg>
|
||||||
|
<option>--json</option>
|
||||||
|
</arg>
|
||||||
|
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
<refsection>
|
<refsection>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
@ -84,12 +90,16 @@
|
|||||||
</variablelist>
|
</variablelist>
|
||||||
</para>
|
</para>
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
<refsection>
|
<refsection>
|
||||||
<title>Options</title>
|
<title>Options</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This command accepts the following options:
|
This command accepts the following options:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<option>--hash</option>
|
<option>--hash</option>
|
||||||
@ -107,6 +117,21 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<option>--json</option>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Print a JSON representation of the versions of NixOS and the
|
||||||
|
top-level configuration flake.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
</refentry>
|
</refentry>
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
This section lists the release notes for each stable version of NixOS and
|
This section lists the release notes for each stable version of NixOS and
|
||||||
current unstable revision.
|
current unstable revision.
|
||||||
</para>
|
</para>
|
||||||
|
<xi:include href="rl-2009.xml" />
|
||||||
<xi:include href="rl-2003.xml" />
|
<xi:include href="rl-2003.xml" />
|
||||||
<xi:include href="rl-1909.xml" />
|
<xi:include href="rl-1909.xml" />
|
||||||
<xi:include href="rl-1903.xml" />
|
<xi:include href="rl-1903.xml" />
|
||||||
|
@ -440,15 +440,19 @@ users.users.me =
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <link linkend="opt-services.buildkite-agent.enable">Buildkite Agent</link>
|
The <link linkend="opt-services.buildkite-agents">Buildkite
|
||||||
module and corresponding packages have been updated to 3.x.
|
Agent</link> module and corresponding packages have been updated to
|
||||||
While doing so, the following options have been changed:
|
3.x, and to support multiple instances of the agent running at the
|
||||||
|
same time. This means you will have to rename
|
||||||
|
<literal>services.buildkite-agent</literal> to
|
||||||
|
<literal>services.buildkite-agents.<name></literal>. Furthermore,
|
||||||
|
the following options have been changed:
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<literal>services.buildkite-agent.meta-data</literal> has been renamed to
|
<literal>services.buildkite-agent.meta-data</literal> has been renamed to
|
||||||
<link linkend="opt-services.buildkite-agent.tags">services.buildkite-agent.tags</link>,
|
<link linkend="opt-services.buildkite-agents">services.buildkite-agents.<name>.tags</link>,
|
||||||
to match upstreams naming for 3.x.
|
to match upstreams naming for 3.x.
|
||||||
Its type has also changed - it now accepts an attrset of strings.
|
Its type has also changed - it now accepts an attrset of strings.
|
||||||
</para>
|
</para>
|
||||||
@ -464,13 +468,13 @@ users.users.me =
|
|||||||
<para>
|
<para>
|
||||||
<literal>services.buildkite-agent.openssh.privateKeyPath</literal>
|
<literal>services.buildkite-agent.openssh.privateKeyPath</literal>
|
||||||
has been renamed to
|
has been renamed to
|
||||||
<link linkend="opt-services.buildkite-agent.privateSshKeyPath">buildkite-agent.privateSshKeyPath</link>,
|
<link linkend="opt-services.buildkite-agents">buildkite-agents.<name>.privateSshKeyPath</link>,
|
||||||
as the whole <literal>openssh</literal> now only contained that single option.
|
as the whole <literal>openssh</literal> now only contained that single option.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<link linkend="opt-services.buildkite-agent.shell">services.buildkite-agent.shell</link>
|
<link linkend="opt-services.buildkite-agents">services.buildkite-agents.<name>.shell</link>
|
||||||
has been introduced, allowing to specify a custom shell to be used.
|
has been introduced, allowing to specify a custom shell to be used.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -675,8 +679,9 @@ auth required pam_succeed_if.so uid >= 1000 quiet
|
|||||||
Certificates will be regenerated anew on the next renewal date. The credentials for simp-le are
|
Certificates will be regenerated anew on the next renewal date. The credentials for simp-le are
|
||||||
preserved and thus it is possible to roll back to previous versions without breaking certificate
|
preserved and thus it is possible to roll back to previous versions without breaking certificate
|
||||||
generation.
|
generation.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
It is now possible to unlock LUKS-Encrypted file systems using a FIDO2 token
|
It is now possible to unlock LUKS-Encrypted file systems using a FIDO2 token
|
||||||
via <option>boot.initrd.luks.fido2Support</option>.
|
via <option>boot.initrd.luks.fido2Support</option>.
|
||||||
|
80
nixos/doc/manual/release-notes/rl-2009.xml
Normal file
80
nixos/doc/manual/release-notes/rl-2009.xml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="sec-release-20.09">
|
||||||
|
<title>Release 20.09 (“Nightingale”, 2020.09/??)</title>
|
||||||
|
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="sec-release-20.09-highlights">
|
||||||
|
<title>Highlights</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In addition to numerous new and upgraded packages, this release has the
|
||||||
|
following highlights:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Support is planned until the end of October 2020, handing over to 20.09.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="sec-release-20.09-new-services">
|
||||||
|
<title>New Services</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following new services were added since the last release:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para />
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="sec-release-20.09-incompatibilities">
|
||||||
|
<title>Backward Incompatibilities</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
When upgrading from a previous release, please be aware of the following
|
||||||
|
incompatible changes:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para />
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="sec-release-20.09-notable-changes">
|
||||||
|
<title>Other Notable Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para />
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
</section>
|
@ -42,6 +42,10 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.xdg.portal;
|
cfg = config.xdg.portal;
|
||||||
packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
|
packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
|
||||||
|
joinedPortals = pkgs.symlinkJoin {
|
||||||
|
name = "xdg-portals";
|
||||||
|
paths = cfg.extraPortals;
|
||||||
|
};
|
||||||
|
|
||||||
in mkIf cfg.enable {
|
in mkIf cfg.enable {
|
||||||
|
|
||||||
@ -56,7 +60,7 @@ with lib;
|
|||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
|
GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
|
||||||
XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals;
|
XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
if [ -x "@shell@" ]; then export SHELL="@shell@"; fi;
|
if [ -x "@shell@" ]; then export SHELL="@shell@"; fi;
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
export PATH=@path@:$PATH
|
||||||
|
|
||||||
showSyntax() {
|
showSyntax() {
|
||||||
exec man nixos-rebuild
|
exec man nixos-rebuild
|
||||||
@ -13,6 +16,7 @@ showSyntax() {
|
|||||||
# Parse the command line.
|
# Parse the command line.
|
||||||
origArgs=("$@")
|
origArgs=("$@")
|
||||||
extraBuildFlags=()
|
extraBuildFlags=()
|
||||||
|
lockFlags=()
|
||||||
action=
|
action=
|
||||||
buildNix=1
|
buildNix=1
|
||||||
fast=
|
fast=
|
||||||
@ -58,7 +62,7 @@ while [ "$#" -gt 0 ]; do
|
|||||||
j="$1"; shift 1
|
j="$1"; shift 1
|
||||||
extraBuildFlags+=("$i" "$j")
|
extraBuildFlags+=("$i" "$j")
|
||||||
;;
|
;;
|
||||||
--show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*)
|
--show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net)
|
||||||
extraBuildFlags+=("$i")
|
extraBuildFlags+=("$i")
|
||||||
;;
|
;;
|
||||||
--option)
|
--option)
|
||||||
@ -93,6 +97,22 @@ while [ "$#" -gt 0 ]; do
|
|||||||
--use-remote-sudo)
|
--use-remote-sudo)
|
||||||
maybeSudo=(sudo --)
|
maybeSudo=(sudo --)
|
||||||
;;
|
;;
|
||||||
|
--flake)
|
||||||
|
flake="$1"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file)
|
||||||
|
lockFlags+=("$i")
|
||||||
|
;;
|
||||||
|
--update-input)
|
||||||
|
j="$1"; shift 1
|
||||||
|
lockFlags+=("$i" "$j")
|
||||||
|
;;
|
||||||
|
--override-input)
|
||||||
|
j="$1"; shift 1
|
||||||
|
k="$1"; shift 1
|
||||||
|
lockFlags+=("$i" "$j" "$k")
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$0: unknown option \`$i'"
|
echo "$0: unknown option \`$i'"
|
||||||
exit 1
|
exit 1
|
||||||
@ -202,7 +222,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# If ‘--upgrade’ is given, run ‘nix-channel --update nixos’.
|
# If ‘--upgrade’ is given, run ‘nix-channel --update nixos’.
|
||||||
if [ -n "$upgrade" -a -z "$_NIXOS_REBUILD_REEXEC" ]; then
|
if [[ -n $upgrade && -z $_NIXOS_REBUILD_REEXEC && -z $flake ]]; then
|
||||||
nix-channel --update nixos
|
nix-channel --update nixos
|
||||||
|
|
||||||
# If there are other channels that contain a file called
|
# If there are other channels that contain a file called
|
||||||
@ -225,8 +245,15 @@ if [ -z "$_NIXOS_REBUILD_REEXEC" ]; then
|
|||||||
export PATH=@nix@/bin:$PATH
|
export PATH=@nix@/bin:$PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Use /etc/nixos/flake.nix if it exists. It can be a symlink to the
|
||||||
|
# actual flake.
|
||||||
|
if [[ -z $flake && -e /etc/nixos/flake.nix ]]; then
|
||||||
|
flake="$(dirname "$(readlink -f /etc/nixos/flake.nix)")"
|
||||||
|
fi
|
||||||
|
|
||||||
# Re-execute nixos-rebuild from the Nixpkgs tree.
|
# Re-execute nixos-rebuild from the Nixpkgs tree.
|
||||||
if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" -a -z "$fast" ]; then
|
# FIXME: get nixos-rebuild from $flake.
|
||||||
|
if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast && -z $flake ]]; then
|
||||||
if p=$(nix-build --no-out-link --expr 'with import <nixpkgs/nixos> {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then
|
if p=$(nix-build --no-out-link --expr 'with import <nixpkgs/nixos> {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then
|
||||||
export _NIXOS_REBUILD_REEXEC=1
|
export _NIXOS_REBUILD_REEXEC=1
|
||||||
exec $p/bin/nixos-rebuild "${origArgs[@]}"
|
exec $p/bin/nixos-rebuild "${origArgs[@]}"
|
||||||
@ -234,10 +261,37 @@ if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" -a -z "$fast" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# For convenience, use the hostname as the default configuration to
|
||||||
|
# build from the flake.
|
||||||
|
if [[ -n $flake ]]; then
|
||||||
|
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
|
||||||
|
flake="${BASH_REMATCH[1]}"
|
||||||
|
flakeAttr="${BASH_REMATCH[2]}"
|
||||||
|
fi
|
||||||
|
if [[ -z $flakeAttr ]]; then
|
||||||
|
read -r hostname < /proc/sys/kernel/hostname
|
||||||
|
if [[ -z $hostname ]]; then
|
||||||
|
hostname=default
|
||||||
|
fi
|
||||||
|
flakeAttr="nixosConfigurations.\"$hostname\""
|
||||||
|
else
|
||||||
|
flakeAttr="nixosConfigurations.\"$flakeAttr\""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Resolve the flake.
|
||||||
|
if [[ -n $flake ]]; then
|
||||||
|
flake=$(nix flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
|
||||||
|
fi
|
||||||
|
|
||||||
# Find configuration.nix and open editor instead of building.
|
# Find configuration.nix and open editor instead of building.
|
||||||
if [ "$action" = edit ]; then
|
if [ "$action" = edit ]; then
|
||||||
NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)}
|
if [[ -z $flake ]]; then
|
||||||
exec "${EDITOR:-nano}" "$NIXOS_CONFIG"
|
NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)}
|
||||||
|
exec "${EDITOR:-nano}" "$NIXOS_CONFIG"
|
||||||
|
else
|
||||||
|
exec nix edit "${lockFlags[@]}" -- "$flake#$flakeAttr"
|
||||||
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -296,7 +350,7 @@ prebuiltNix() {
|
|||||||
|
|
||||||
remotePATH=
|
remotePATH=
|
||||||
|
|
||||||
if [ -n "$buildNix" ]; then
|
if [[ -n $buildNix && -z $flake ]]; then
|
||||||
echo "building Nix..." >&2
|
echo "building Nix..." >&2
|
||||||
nixDrv=
|
nixDrv=
|
||||||
if ! nixDrv="$(nix-instantiate '<nixpkgs/nixos>' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then
|
if ! nixDrv="$(nix-instantiate '<nixpkgs/nixos>' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then
|
||||||
@ -337,7 +391,7 @@ fi
|
|||||||
|
|
||||||
# Update the version suffix if we're building from Git (so that
|
# Update the version suffix if we're building from Git (so that
|
||||||
# nixos-version shows something useful).
|
# nixos-version shows something useful).
|
||||||
if [ -n "$canRun" ]; then
|
if [[ -n $canRun && -z $flake ]]; then
|
||||||
if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then
|
if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then
|
||||||
suffix=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true)
|
suffix=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true)
|
||||||
if [ -n "$suffix" ]; then
|
if [ -n "$suffix" ]; then
|
||||||
@ -358,15 +412,37 @@ fi
|
|||||||
if [ -z "$rollback" ]; then
|
if [ -z "$rollback" ]; then
|
||||||
echo "building the system configuration..." >&2
|
echo "building the system configuration..." >&2
|
||||||
if [ "$action" = switch -o "$action" = boot ]; then
|
if [ "$action" = switch -o "$action" = boot ]; then
|
||||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' --no-out-link -A system "${extraBuildFlags[@]}")"
|
if [[ -z $flake ]]; then
|
||||||
|
pathToConfig="$(nixBuild '<nixpkgs/nixos>' --no-out-link -A system "${extraBuildFlags[@]}")"
|
||||||
|
else
|
||||||
|
outLink=$tmpDir/result
|
||||||
|
nix build "$flake#$flakeAttr.config.system.build.toplevel" \
|
||||||
|
"${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink
|
||||||
|
pathToConfig="$(readlink -f $outLink)"
|
||||||
|
fi
|
||||||
copyToTarget "$pathToConfig"
|
copyToTarget "$pathToConfig"
|
||||||
targetHostCmd nix-env -p "$profile" --set "$pathToConfig"
|
targetHostCmd nix-env -p "$profile" --set "$pathToConfig"
|
||||||
elif [ "$action" = test -o "$action" = build -o "$action" = dry-build -o "$action" = dry-activate ]; then
|
elif [ "$action" = test -o "$action" = build -o "$action" = dry-build -o "$action" = dry-activate ]; then
|
||||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}")"
|
if [[ -z $flake ]]; then
|
||||||
|
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}")"
|
||||||
|
else
|
||||||
|
nix build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}"
|
||||||
|
pathToConfig="$(readlink -f ./result)"
|
||||||
|
fi
|
||||||
elif [ "$action" = build-vm ]; then
|
elif [ "$action" = build-vm ]; then
|
||||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A vm -k "${extraBuildFlags[@]}")"
|
if [[ -z $flake ]]; then
|
||||||
|
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A vm -k "${extraBuildFlags[@]}")"
|
||||||
|
else
|
||||||
|
echo "$0: 'build-vm' is not supported with '--flake'" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
elif [ "$action" = build-vm-with-bootloader ]; then
|
elif [ "$action" = build-vm-with-bootloader ]; then
|
||||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A vmWithBootLoader -k "${extraBuildFlags[@]}")"
|
if [[ -z $flake ]]; then
|
||||||
|
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A vmWithBootLoader -k "${extraBuildFlags[@]}")"
|
||||||
|
else
|
||||||
|
echo "$0: 'build-vm-with-bootloader' is not supported with '--flake'" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
showSyntax
|
showSyntax
|
||||||
fi
|
fi
|
||||||
|
@ -6,8 +6,17 @@ case "$1" in
|
|||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
--hash|--revision)
|
--hash|--revision)
|
||||||
|
if ! [[ @revision@ =~ ^[0-9a-f]+$ ]]; then
|
||||||
|
echo "$0: Nixpkgs commit hash is unknown"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
echo "@revision@"
|
echo "@revision@"
|
||||||
;;
|
;;
|
||||||
|
--json)
|
||||||
|
cat <<EOF
|
||||||
|
@json@
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "@version@ (@codeName@)"
|
echo "@version@ (@codeName@)"
|
||||||
;;
|
;;
|
||||||
|
@ -31,6 +31,7 @@ let
|
|||||||
nix = config.nix.package.out;
|
nix = config.nix.package.out;
|
||||||
nix_x86_64_linux = fallback.x86_64-linux;
|
nix_x86_64_linux = fallback.x86_64-linux;
|
||||||
nix_i686_linux = fallback.i686-linux;
|
nix_i686_linux = fallback.i686-linux;
|
||||||
|
path = makeBinPath [ pkgs.jq ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos-generate-config = makeProg {
|
nixos-generate-config = makeProg {
|
||||||
@ -47,6 +48,14 @@ let
|
|||||||
name = "nixos-version";
|
name = "nixos-version";
|
||||||
src = ./nixos-version.sh;
|
src = ./nixos-version.sh;
|
||||||
inherit (config.system.nixos) version codeName revision;
|
inherit (config.system.nixos) version codeName revision;
|
||||||
|
inherit (config.system) configurationRevision;
|
||||||
|
json = builtins.toJSON ({
|
||||||
|
nixosVersion = config.system.nixos.version;
|
||||||
|
} // optionalAttrs (config.system.nixos.revision != null) {
|
||||||
|
nixpkgsRevision = config.system.nixos.revision;
|
||||||
|
} // optionalAttrs (config.system.configurationRevision != null) {
|
||||||
|
configurationRevision = config.system.configurationRevision;
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos-enter = makeProg {
|
nixos-enter = makeProg {
|
||||||
|
@ -42,8 +42,8 @@ in
|
|||||||
|
|
||||||
nixos.revision = mkOption {
|
nixos.revision = mkOption {
|
||||||
internal = true;
|
internal = true;
|
||||||
type = types.str;
|
type = types.nullOr types.str;
|
||||||
default = trivial.revisionWithDefault "master";
|
default = trivial.revisionWithDefault null;
|
||||||
description = "The Git revision from which this NixOS configuration was built.";
|
description = "The Git revision from which this NixOS configuration was built.";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -84,6 +84,12 @@ in
|
|||||||
description = "Default NixOS channel to which the root user is subscribed.";
|
description = "Default NixOS channel to which the root user is subscribed.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
configurationRevision = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
description = "The Git revision of the top-level flake from which this configuration was built.";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -253,7 +253,7 @@
|
|||||||
./services/computing/slurm/slurm.nix
|
./services/computing/slurm/slurm.nix
|
||||||
./services/continuous-integration/buildbot/master.nix
|
./services/continuous-integration/buildbot/master.nix
|
||||||
./services/continuous-integration/buildbot/worker.nix
|
./services/continuous-integration/buildbot/worker.nix
|
||||||
./services/continuous-integration/buildkite-agent.nix
|
./services/continuous-integration/buildkite-agents.nix
|
||||||
./services/continuous-integration/hail.nix
|
./services/continuous-integration/hail.nix
|
||||||
./services/continuous-integration/hydra/default.nix
|
./services/continuous-integration/hydra/default.nix
|
||||||
./services/continuous-integration/gitlab-runner.nix
|
./services/continuous-integration/gitlab-runner.nix
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.buildkite-agent;
|
cfg = config.services.buildkite-agents;
|
||||||
|
|
||||||
mkHookOption = { name, description, example ? null }: {
|
mkHookOption = { name, description, example ? null }: {
|
||||||
inherit name;
|
inherit name;
|
||||||
@ -15,7 +15,7 @@ let
|
|||||||
};
|
};
|
||||||
mkHookOptions = hooks: listToAttrs (map mkHookOption hooks);
|
mkHookOptions = hooks: listToAttrs (map mkHookOption hooks);
|
||||||
|
|
||||||
hooksDir = let
|
hooksDir = cfg: let
|
||||||
mkHookEntry = name: value: ''
|
mkHookEntry = name: value: ''
|
||||||
cat > $out/${name} <<'EOF'
|
cat > $out/${name} <<'EOF'
|
||||||
#! ${pkgs.runtimeShell}
|
#! ${pkgs.runtimeShell}
|
||||||
@ -29,12 +29,13 @@ let
|
|||||||
${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))}
|
${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in
|
buildkiteOptions = { name ? "", config, ... }: {
|
||||||
|
options = {
|
||||||
{
|
enable = mkOption {
|
||||||
options = {
|
default = true;
|
||||||
services.buildkite-agent = {
|
type = types.bool;
|
||||||
enable = mkEnableOption "buildkite-agent";
|
description = "Whether to enable this buildkite agent";
|
||||||
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
default = pkgs.buildkite-agent;
|
default = pkgs.buildkite-agent;
|
||||||
@ -44,7 +45,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
dataDir = mkOption {
|
dataDir = mkOption {
|
||||||
default = "/var/lib/buildkite-agent";
|
default = "/var/lib/buildkite-agent-${name}";
|
||||||
description = "The workdir for the agent";
|
description = "The workdir for the agent";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
};
|
};
|
||||||
@ -68,9 +69,9 @@ in
|
|||||||
|
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "%hostname-%n";
|
default = "%hostname-${name}-%n";
|
||||||
description = ''
|
description = ''
|
||||||
The name of the agent.
|
The name of the agent as seen in the buildkite dashboard.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -166,11 +167,11 @@ in
|
|||||||
|
|
||||||
hooksPath = mkOption {
|
hooksPath = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = hooksDir;
|
default = hooksDir config;
|
||||||
defaultText = "generated from services.buildkite-agent.hooks";
|
defaultText = "generated from services.buildkite-agents.<name>.hooks";
|
||||||
description = ''
|
description = ''
|
||||||
Path to the directory storing the hooks.
|
Path to the directory storing the hooks.
|
||||||
Consider using <option>services.buildkite-agent.hooks.<name></option>
|
Consider using <option>services.buildkite-agents.<name>.hooks.<name></option>
|
||||||
instead.
|
instead.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@ -184,24 +185,38 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
enabledAgents = lib.filterAttrs (n: v: v.enable) cfg;
|
||||||
|
mapAgents = function: lib.mkMerge (lib.mapAttrsToList function enabledAgents);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.buildkite-agents = mkOption {
|
||||||
|
type = types.attrsOf (types.submodule buildkiteOptions);
|
||||||
|
default = {};
|
||||||
|
description = ''
|
||||||
|
Attribute set of buildkite agents.
|
||||||
|
The attribute key is combined with the hostname and a unique integer to
|
||||||
|
create the final agent name. This can be overridden by setting the `name`
|
||||||
|
attribute.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf config.services.buildkite-agent.enable {
|
config.users.users = mapAgents (name: cfg: {
|
||||||
users.users.buildkite-agent = {
|
"buildkite-agent-${name}" = {
|
||||||
name = "buildkite-agent";
|
name = "buildkite-agent-${name}";
|
||||||
home = cfg.dataDir;
|
home = cfg.dataDir;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
description = "Buildkite agent user";
|
description = "Buildkite agent user";
|
||||||
extraGroups = [ "keys" ];
|
extraGroups = [ "keys" ];
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
config.systemd.services = mapAgents (name: cfg: {
|
||||||
|
"buildkite-agent-${name}" =
|
||||||
systemd.services.buildkite-agent =
|
|
||||||
{ description = "Buildkite Agent";
|
{ description = "Buildkite Agent";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
path = cfg.runtimePackages ++ [ pkgs.coreutils ];
|
path = cfg.runtimePackages ++ [ cfg.package pkgs.coreutils ];
|
||||||
environment = config.networking.proxy.envVars // {
|
environment = config.networking.proxy.envVars // {
|
||||||
HOME = cfg.dataDir;
|
HOME = cfg.dataDir;
|
||||||
NIX_REMOTE = "daemon";
|
NIX_REMOTE = "daemon";
|
||||||
@ -230,8 +245,8 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig =
|
serviceConfig =
|
||||||
{ ExecStart = "${cfg.package}/bin/buildkite-agent start --config /var/lib/buildkite-agent/buildkite-agent.cfg";
|
{ ExecStart = "${cfg.package}/bin/buildkite-agent start --config ${cfg.dataDir}/buildkite-agent.cfg";
|
||||||
User = "buildkite-agent";
|
User = "buildkite-agent-${name}";
|
||||||
RestartSec = 5;
|
RestartSec = 5;
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
TimeoutSec = 10;
|
TimeoutSec = 10;
|
||||||
@ -240,22 +255,18 @@ in
|
|||||||
KillMode = "mixed";
|
KillMode = "mixed";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
|
||||||
assertions = [
|
config.assertions = mapAgents (name: cfg: [
|
||||||
{ assertion = cfg.hooksPath == hooksDir || all (v: v == null) (attrValues cfg.hooks);
|
{ assertion = cfg.hooksPath == hooksDir || all (v: v == null) (attrValues cfg.hooks);
|
||||||
message = ''
|
message = ''
|
||||||
Options `services.buildkite-agent.hooksPath' and
|
Options `services.buildkite-agents.${name}.hooksPath' and
|
||||||
`services.buildkite-agent.hooks.<name>' are mutually exclusive.
|
`services.buildkite-agents.${name}.hooks.<name>' are mutually exclusive.
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
];
|
]);
|
||||||
};
|
|
||||||
imports = [
|
imports = [
|
||||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "token" ] [ "services" "buildkite-agent" "tokenPath" ])
|
(mkRemovedOptionModule [ "services" "buildkite-agent"] "services.buildkite-agent has been upgraded from version 2 to version 3 and moved to an attribute set at services.buildkite-agents. Please consult the 20.03 release notes for more information.")
|
||||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "openssh" "privateKey" ] [ "services" "buildkite-agent" "privateSshKeyPath" ])
|
|
||||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "openssh" "privateKeyPath" ] [ "services" "buildkite-agent" "privateSshKeyPath" ])
|
|
||||||
(mkRemovedOptionModule [ "services" "buildkite-agent" "openssh" "publicKey" ] "SSH public keys aren't necessary to clone private repos.")
|
|
||||||
(mkRemovedOptionModule [ "services" "buildkite-agent" "openssh" "publicKeyPath" ] "SSH public keys aren't necessary to clone private repos.")
|
|
||||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "meta-data"] [ "services" "buildkite-agent" "tags" ])
|
|
||||||
];
|
];
|
||||||
}
|
}
|
@ -49,7 +49,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.heapsterrs = {
|
users.users.heapster = {
|
||||||
uid = config.ids.uids.heapster;
|
uid = config.ids.uids.heapster;
|
||||||
description = "Heapster user";
|
description = "Heapster user";
|
||||||
};
|
};
|
||||||
|
@ -125,7 +125,7 @@ in
|
|||||||
message = "Only builtin backends (graphite, console, repeater) or backends enumerated in `pkgs.nodePackages` are allowed!";
|
message = "Only builtin backends (graphite, console, repeater) or backends enumerated in `pkgs.nodePackages` are allowed!";
|
||||||
}) cfg.backends;
|
}) cfg.backends;
|
||||||
|
|
||||||
users.use.statsdrs = {
|
users.users.statsd = {
|
||||||
uid = config.ids.uids.statsd;
|
uid = config.ids.uids.statsd;
|
||||||
description = "Statsd daemon user";
|
description = "Statsd daemon user";
|
||||||
};
|
};
|
||||||
|
@ -45,7 +45,7 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ pkgs.pythonPackages.limnoria ];
|
environment.systemPackages = [ pkgs.pythonPackages.limnoria ];
|
||||||
|
|
||||||
users.users.supybotrs = {
|
users.users.supybot = {
|
||||||
uid = config.ids.uids.supybot;
|
uid = config.ids.uids.supybot;
|
||||||
group = "supybot";
|
group = "supybot";
|
||||||
description = "Supybot IRC bot user";
|
description = "Supybot IRC bot user";
|
||||||
|
@ -8,6 +8,125 @@ let
|
|||||||
cfg = xcfg.desktopManager.plasma5;
|
cfg = xcfg.desktopManager.plasma5;
|
||||||
|
|
||||||
inherit (pkgs) kdeApplications plasma5 libsForQt5 qt5;
|
inherit (pkgs) kdeApplications plasma5 libsForQt5 qt5;
|
||||||
|
inherit (pkgs) writeText;
|
||||||
|
|
||||||
|
pulseaudio = config.hardware.pulseaudio;
|
||||||
|
pactl = "${getBin pulseaudio.package}/bin/pactl";
|
||||||
|
startplasma-x11 = "${getBin plasma5.plasma-workspace}/bin/startplasma-x11";
|
||||||
|
sed = "${getBin pkgs.gnused}/bin/sed";
|
||||||
|
|
||||||
|
gtkrc2 = writeText "gtkrc-2.0" ''
|
||||||
|
# Default GTK+ 2 config for NixOS Plasma 5
|
||||||
|
include "/run/current-system/sw/share/themes/Breeze/gtk-2.0/gtkrc"
|
||||||
|
style "user-font"
|
||||||
|
{
|
||||||
|
font_name="Sans Serif Regular"
|
||||||
|
}
|
||||||
|
widget_class "*" style "user-font"
|
||||||
|
gtk-font-name="Sans Serif Regular 10"
|
||||||
|
gtk-theme-name="Breeze"
|
||||||
|
gtk-icon-theme-name="breeze"
|
||||||
|
gtk-fallback-icon-theme="hicolor"
|
||||||
|
gtk-cursor-theme-name="breeze_cursors"
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-button-images=1
|
||||||
|
'';
|
||||||
|
|
||||||
|
gtk3_settings = writeText "settings.ini" ''
|
||||||
|
[Settings]
|
||||||
|
gtk-font-name=Sans Serif Regular 10
|
||||||
|
gtk-theme-name=Breeze
|
||||||
|
gtk-icon-theme-name=breeze
|
||||||
|
gtk-fallback-icon-theme=hicolor
|
||||||
|
gtk-cursor-theme-name=breeze_cursors
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-button-images=1
|
||||||
|
'';
|
||||||
|
|
||||||
|
kcminputrc = writeText "kcminputrc" ''
|
||||||
|
[Mouse]
|
||||||
|
cursorTheme=breeze_cursors
|
||||||
|
cursorSize=0
|
||||||
|
'';
|
||||||
|
|
||||||
|
activationScript = ''
|
||||||
|
# The KDE icon cache is supposed to update itself automatically, but it uses
|
||||||
|
# the timestamp on the icon theme directory as a trigger. This doesn't work
|
||||||
|
# on NixOS because the timestamp never changes. As a workaround, delete the
|
||||||
|
# icon cache at login and session activation.
|
||||||
|
# See also: http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
|
||||||
|
rm -fv $HOME/.cache/icon-cache.kcache
|
||||||
|
|
||||||
|
# xdg-desktop-settings generates this empty file but
|
||||||
|
# it makes kbuildsyscoca5 fail silently. To fix this
|
||||||
|
# remove that menu if it exists.
|
||||||
|
rm -fv ''${XDG_CONFIG_HOME:?}/menus/applications-merged/xdg-desktop-menu-dummy.menu
|
||||||
|
|
||||||
|
# Qt writes a weird ‘libraryPath’ line to
|
||||||
|
# ~/.config/Trolltech.conf that causes the KDE plugin
|
||||||
|
# paths of previous KDE invocations to be searched.
|
||||||
|
# Obviously using mismatching KDE libraries is potentially
|
||||||
|
# disastrous, so here we nuke references to the Nix store
|
||||||
|
# in Trolltech.conf. A better solution would be to stop
|
||||||
|
# Qt from doing this wackiness in the first place.
|
||||||
|
trolltech_conf="''${XDG_CONFIG_HOME:?}/Trolltech.conf"
|
||||||
|
if [ -e "$trolltech_conf" ]; then
|
||||||
|
${sed} -i "$trolltech_conf" -e '/nix\\store\|nix\/store/ d'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove the kbuildsyscoca5 cache. It will be regenerated
|
||||||
|
# immediately after. This is necessary for kbuildsyscoca5 to
|
||||||
|
# recognize that software that has been removed.
|
||||||
|
rm -fv $HOME/.cache/ksycoca*
|
||||||
|
|
||||||
|
${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5
|
||||||
|
'';
|
||||||
|
|
||||||
|
startplasma =
|
||||||
|
''
|
||||||
|
export XDG_CONFIG_HOME="''${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||||
|
mkdir -p "''${XDG_CONFIG_HOME:?}"
|
||||||
|
|
||||||
|
''
|
||||||
|
+ optionalString pulseaudio.enable ''
|
||||||
|
# Load PulseAudio module for routing support.
|
||||||
|
# See also: http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
|
||||||
|
${pactl} load-module module-device-manager "do_routing=1"
|
||||||
|
|
||||||
|
''
|
||||||
|
+ ''
|
||||||
|
${activationScript}
|
||||||
|
|
||||||
|
# Create default configurations if Plasma has never been started.
|
||||||
|
kdeglobals="''${XDG_CONFIG_HOME:?}/kdeglobals"
|
||||||
|
if ! [ -f "$kdeglobals" ]
|
||||||
|
then
|
||||||
|
kcminputrc="''${XDG_CONFIG_HOME:?}/kcminputrc"
|
||||||
|
if ! [ -f "$kcminputrc" ]
|
||||||
|
then
|
||||||
|
cat ${kcminputrc} >"$kcminputrc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
gtkrc2="$HOME/.gtkrc-2.0"
|
||||||
|
if ! [ -f "$gtkrc2" ]
|
||||||
|
then
|
||||||
|
cat ${gtkrc2} >"$gtkrc2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
gtk3_settings="''${XDG_CONFIG_HOME:?}/gtk-3.0/settings.ini"
|
||||||
|
if ! [ -f "$gtk3_settings" ]
|
||||||
|
then
|
||||||
|
mkdir -p "$(dirname "$gtk3_settings")"
|
||||||
|
cat ${gtk3_settings} >"$gtk3_settings"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
''
|
||||||
|
+ ''
|
||||||
|
exec "${startplasma-x11}"
|
||||||
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -41,27 +160,7 @@ in
|
|||||||
services.xserver.desktopManager.session = singleton {
|
services.xserver.desktopManager.session = singleton {
|
||||||
name = "plasma5";
|
name = "plasma5";
|
||||||
bgSupport = true;
|
bgSupport = true;
|
||||||
start = ''
|
start = startplasma;
|
||||||
# Load PulseAudio module for routing support.
|
|
||||||
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
|
|
||||||
${optionalString config.hardware.pulseaudio.enable ''
|
|
||||||
${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
|
|
||||||
''}
|
|
||||||
|
|
||||||
if [ -f "$HOME/.config/kdeglobals" ]
|
|
||||||
then
|
|
||||||
# Remove extraneous font style names.
|
|
||||||
# See also: https://phabricator.kde.org/D9070
|
|
||||||
${getBin pkgs.gnused}/bin/sed -i "$HOME/.config/kdeglobals" \
|
|
||||||
-e '/^fixed=/ s/,Regular$//' \
|
|
||||||
-e '/^font=/ s/,Regular$//' \
|
|
||||||
-e '/^menuFont=/ s/,Regular$//' \
|
|
||||||
-e '/^smallestReadableFont=/ s/,Regular$//' \
|
|
||||||
-e '/^toolBarFont=/ s/,Regular$//'
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "${getBin plasma5.plasma-workspace}/bin/startplasma-x11"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
security.wrappers = {
|
security.wrappers = {
|
||||||
@ -227,29 +326,7 @@ in
|
|||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
||||||
|
|
||||||
# Update the start menu for each user that is currently logged in
|
# Update the start menu for each user that is currently logged in
|
||||||
system.userActivationScripts.plasmaSetup = ''
|
system.userActivationScripts.plasmaSetup = activationScript;
|
||||||
# The KDE icon cache is supposed to update itself
|
|
||||||
# automatically, but it uses the timestamp on the icon
|
|
||||||
# theme directory as a trigger. Since in Nix the
|
|
||||||
# timestamp is always the same, this doesn't work. So as
|
|
||||||
# a workaround, nuke the icon cache on login. This isn't
|
|
||||||
# perfect, since it may require logging out after
|
|
||||||
# installing new applications to update the cache.
|
|
||||||
# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
|
|
||||||
rm -fv $HOME/.cache/icon-cache.kcache
|
|
||||||
|
|
||||||
# xdg-desktop-settings generates this empty file but
|
|
||||||
# it makes kbuildsyscoca5 fail silently. To fix this
|
|
||||||
# remove that menu if it exists.
|
|
||||||
rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
|
|
||||||
|
|
||||||
# Remove the kbuildsyscoca5 cache. It will be regenerated
|
|
||||||
# immediately after. This is necessary for kbuildsyscoca5 to
|
|
||||||
# recognize that software that has been removed.
|
|
||||||
rm -fv $HOME/.cache/ksycoca*
|
|
||||||
|
|
||||||
${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5
|
|
||||||
'';
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ in
|
|||||||
bees = handleTest ./bees.nix {};
|
bees = handleTest ./bees.nix {};
|
||||||
bind = handleTest ./bind.nix {};
|
bind = handleTest ./bind.nix {};
|
||||||
bittorrent = handleTest ./bittorrent.nix {};
|
bittorrent = handleTest ./bittorrent.nix {};
|
||||||
buildkite-agent = handleTest ./buildkite-agent.nix {};
|
buildkite-agents = handleTest ./buildkite-agents.nix {};
|
||||||
boot = handleTestOn ["x86_64-linux"] ./boot.nix {}; # syslinux is unsupported on aarch64
|
boot = handleTestOn ["x86_64-linux"] ./boot.nix {}; # syslinux is unsupported on aarch64
|
||||||
boot-stage1 = handleTest ./boot-stage1.nix {};
|
boot-stage1 = handleTest ./boot-stage1.nix {};
|
||||||
borgbackup = handleTest ./borgbackup.nix {};
|
borgbackup = handleTest ./borgbackup.nix {};
|
||||||
|
@ -6,18 +6,13 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
|||||||
maintainers = [ flokli ];
|
maintainers = [ flokli ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
machine = { pkgs, ... }: {
|
||||||
node1 = { pkgs, ... }: {
|
services.buildkite-agents = {
|
||||||
services.buildkite-agent = {
|
one = {
|
||||||
enable = true;
|
|
||||||
privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey;
|
privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey;
|
||||||
tokenPath = (pkgs.writeText "my-token" "5678");
|
tokenPath = (pkgs.writeText "my-token" "5678");
|
||||||
};
|
};
|
||||||
};
|
two = {
|
||||||
# don't configure ssh key, run as a separate user
|
|
||||||
node2 = { pkgs, ...}: {
|
|
||||||
services.buildkite-agent = {
|
|
||||||
enable = true;
|
|
||||||
tokenPath = (pkgs.writeText "my-token" "1234");
|
tokenPath = (pkgs.writeText "my-token" "1234");
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -28,9 +23,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
|||||||
# we can't wait on the unit to start up, as we obviously can't connect to buildkite,
|
# we can't wait on the unit to start up, as we obviously can't connect to buildkite,
|
||||||
# but we can look whether files are set up correctly
|
# but we can look whether files are set up correctly
|
||||||
|
|
||||||
node1.wait_for_file("/var/lib/buildkite-agent/buildkite-agent.cfg")
|
machine.wait_for_file("/var/lib/buildkite-agent-one/buildkite-agent.cfg")
|
||||||
node1.wait_for_file("/var/lib/buildkite-agent/.ssh/id_rsa")
|
machine.wait_for_file("/var/lib/buildkite-agent-one/.ssh/id_rsa")
|
||||||
|
|
||||||
node2.wait_for_file("/var/lib/buildkite-agent/buildkite-agent.cfg")
|
machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg")
|
||||||
'';
|
'';
|
||||||
})
|
})
|
@ -90,7 +90,9 @@ in
|
|||||||
graphene = callInstalledTest ./graphene.nix {};
|
graphene = callInstalledTest ./graphene.nix {};
|
||||||
ibus = callInstalledTest ./ibus.nix {};
|
ibus = callInstalledTest ./ibus.nix {};
|
||||||
libgdata = callInstalledTest ./libgdata.nix {};
|
libgdata = callInstalledTest ./libgdata.nix {};
|
||||||
|
glib-testing = callInstalledTest ./glib-testing.nix {};
|
||||||
libxmlb = callInstalledTest ./libxmlb.nix {};
|
libxmlb = callInstalledTest ./libxmlb.nix {};
|
||||||
|
malcontent = callInstalledTest ./malcontent.nix {};
|
||||||
ostree = callInstalledTest ./ostree.nix {};
|
ostree = callInstalledTest ./ostree.nix {};
|
||||||
xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
|
xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
|
||||||
}
|
}
|
||||||
|
5
nixos/tests/installed-tests/glib-testing.nix
Normal file
5
nixos/tests/installed-tests/glib-testing.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ pkgs, makeInstalledTest, ... }:
|
||||||
|
|
||||||
|
makeInstalledTest {
|
||||||
|
tested = pkgs.glib-testing;
|
||||||
|
}
|
5
nixos/tests/installed-tests/malcontent.nix
Normal file
5
nixos/tests/installed-tests/malcontent.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ pkgs, makeInstalledTest, ... }:
|
||||||
|
|
||||||
|
makeInstalledTest {
|
||||||
|
tested = pkgs.malcontent;
|
||||||
|
}
|
@ -2,4 +2,8 @@
|
|||||||
|
|
||||||
makeInstalledTest {
|
makeInstalledTest {
|
||||||
tested = pkgs.xdg-desktop-portal;
|
tested = pkgs.xdg-desktop-portal;
|
||||||
|
|
||||||
|
# Ton of breakage.
|
||||||
|
# https://github.com/flatpak/xdg-desktop-portal/pull/428
|
||||||
|
meta.broken = true;
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "elisa";
|
pname = "elisa";
|
||||||
version = "19.12.0";
|
version = "19.12.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KDE";
|
owner = "KDE";
|
||||||
repo = "elisa";
|
repo = "elisa";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1939xwhy1s502pai63vz56hnnsl3qsb6arhrlg5bw6bwsv88blac";
|
sha256 = "0g6zj4ix97aa529w43v1z3n73b8l5di6gscs40hyx4sl1sb7fdh6";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ vlc ];
|
buildInputs = [ vlc ];
|
||||||
|
@ -3,25 +3,30 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
|
, cmake
|
||||||
, llvm
|
, llvm
|
||||||
, emscripten
|
, emscripten
|
||||||
, openssl
|
, openssl
|
||||||
, libsndfile
|
, libsndfile
|
||||||
, libmicrohttpd
|
, libmicrohttpd
|
||||||
|
, gnutls
|
||||||
|
, libtasn1
|
||||||
|
, p11-kit
|
||||||
, vim
|
, vim
|
||||||
|
, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib.strings;
|
with stdenv.lib.strings;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "2.5.23";
|
version = "2.20.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grame-cncm";
|
owner = "grame-cncm";
|
||||||
repo = "faust";
|
repo = "faust";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1pci8ac6sqrm3mb3yikmmr3iy35g3nj4iihazif1amqkbdz719rc";
|
sha256 = "08hv8gyj6c83128z3si92r1ka5ckf9sdpn5jdnlhrqyzja4mrxsy";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -40,8 +45,8 @@ let
|
|||||||
|
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper pkgconfig vim ];
|
nativeBuildInputs = [ makeWrapper pkgconfig cmake vim which ];
|
||||||
buildInputs = [ llvm emscripten openssl libsndfile libmicrohttpd ];
|
buildInputs = [ llvm emscripten openssl libsndfile libmicrohttpd gnutls libtasn1 p11-kit ];
|
||||||
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
@ -50,39 +55,13 @@ let
|
|||||||
|
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
makeFlags="$makeFlags prefix=$out LLVM_CONFIG='${llvm}/bin/llvm-config' world"
|
cd build
|
||||||
|
|
||||||
# The faust makefiles use 'system ?= $(shell uname -s)' but nix
|
|
||||||
# defines 'system' env var, so undefine that so faust detects the
|
|
||||||
# correct system.
|
|
||||||
unset system
|
|
||||||
# sed -e "232s/LLVM_STATIC_LIBS/LLVMLIBS/" -i compiler/Makefile.unix
|
|
||||||
|
|
||||||
# The makefile sets LLVM_<version> depending on the current llvm
|
|
||||||
# version, but the detection code is quite brittle.
|
|
||||||
#
|
|
||||||
# Failing to properly detect the llvm version means that the macro
|
|
||||||
# LLVM_VERSION ends up being the raw output of `llvm-config --version`, while
|
|
||||||
# the code assumes that it's set to a symbol like `LLVM_35`. Two problems result:
|
|
||||||
# * <command-line>:0:1: error: macro names must be identifiers.; and
|
|
||||||
# * a bunch of undefined reference errors due to conditional definitions relying on
|
|
||||||
# LLVM_XY being defined.
|
|
||||||
#
|
|
||||||
# For now, fix this by 1) pinning the llvm version; 2) manually setting LLVM_VERSION
|
|
||||||
# to something the makefile will recognize.
|
|
||||||
sed '52iLLVM_VERSION=${stdenv.lib.getVersion llvm}' -i compiler/Makefile.unix
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postPatch = ''
|
cmakeFlags = ''
|
||||||
# fix build with llvm 5.0.2 by adding it to the list of known versions
|
-C ../backends/all.cmake -C ../targets/all.cmake ..
|
||||||
# TODO: check if still needed on next update
|
|
||||||
substituteInPlace compiler/Makefile.unix \
|
|
||||||
--replace "5.0.0 5.0.1" "5.0.0 5.0.1 5.0.2"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Remove most faust2appl scripts since they won't run properly
|
|
||||||
# without additional paths setup. See faust.wrap,
|
|
||||||
# faust.wrapWithBuildEnv.
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# syntax error when eval'd directly
|
# syntax error when eval'd directly
|
||||||
pattern="faust2!(*@(atomsnippets|graph|graphviewer|md|plot|sig|sigviewer|svg))"
|
pattern="faust2!(*@(atomsnippets|graph|graphviewer|md|plot|sig|sigviewer|svg))"
|
||||||
@ -90,10 +69,6 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
# Set faustpath explicitly.
|
|
||||||
substituteInPlace "$out"/bin/faustpath \
|
|
||||||
--replace "/usr/local /usr /opt /opt/local" "$out"
|
|
||||||
|
|
||||||
# The 'faustoptflags' is 'source'd into other faust scripts and
|
# The 'faustoptflags' is 'source'd into other faust scripts and
|
||||||
# not used as an executable, so patch 'uname' usage directly
|
# not used as an executable, so patch 'uname' usage directly
|
||||||
# rather than use makeWrapper.
|
# rather than use makeWrapper.
|
||||||
@ -160,8 +135,6 @@ let
|
|||||||
# 'faustoptflags' to absolute paths.
|
# 'faustoptflags' to absolute paths.
|
||||||
for script in "$out"/bin/*; do
|
for script in "$out"/bin/*; do
|
||||||
substituteInPlace "$script" \
|
substituteInPlace "$script" \
|
||||||
--replace ". faustpath" ". '${faust}/bin/faustpath'" \
|
|
||||||
--replace ". faustoptflags" ". '${faust}/bin/faustoptflags'" \
|
|
||||||
--replace " error " "echo"
|
--replace " error " "echo"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
@ -200,19 +173,22 @@ let
|
|||||||
|
|
||||||
propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
|
propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
|
||||||
|
|
||||||
|
libPath = stdenv.lib.makeLibraryPath propagatedBuildInputs;
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
|
|
||||||
# export parts of the build environment
|
# export parts of the build environment
|
||||||
for script in "$out"/bin/*; do
|
for script in "$out"/bin/*; do
|
||||||
wrapProgram "$script" \
|
wrapProgram "$script" \
|
||||||
|
--set FAUSTLDDIR "${faust}/lib" \
|
||||||
--set FAUSTLIB "${faust}/share/faust" \
|
--set FAUSTLIB "${faust}/share/faust" \
|
||||||
--set FAUST_LIB_PATH "${faust}/share/faust" \
|
|
||||||
--set FAUSTINC "${faust}/include/faust" \
|
--set FAUSTINC "${faust}/include/faust" \
|
||||||
|
--set FAUSTARCH "${faust}/share/faust" \
|
||||||
--prefix PATH : "$PATH" \
|
--prefix PATH : "$PATH" \
|
||||||
--prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \
|
--prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \
|
||||||
--set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \
|
--set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \
|
||||||
--set NIX_LDFLAGS "$NIX_LDFLAGS"
|
--set NIX_LDFLAGS "$NIX_LDFLAGS -lpthread" \
|
||||||
|
--prefix LIBRARY_PATH $libPath
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ faust
|
{ faust
|
||||||
, gtk2
|
, gtk2
|
||||||
, jack2Full
|
, jack2Full
|
||||||
|
, alsaLib
|
||||||
, opencv
|
, opencv
|
||||||
, libsndfile
|
, libsndfile
|
||||||
}:
|
}:
|
||||||
@ -18,6 +19,7 @@ faust.wrapWithBuildEnv {
|
|||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
gtk2
|
gtk2
|
||||||
jack2Full
|
jack2Full
|
||||||
|
alsaLib
|
||||||
opencv
|
opencv
|
||||||
libsndfile
|
libsndfile
|
||||||
];
|
];
|
||||||
|
18
pkgs/applications/audio/faust/faust2jackrust.nix
Normal file
18
pkgs/applications/audio/faust/faust2jackrust.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{ stdenv
|
||||||
|
, faust
|
||||||
|
, libjack2
|
||||||
|
, cargo
|
||||||
|
, binutils
|
||||||
|
, gcc
|
||||||
|
, gnumake
|
||||||
|
, openssl
|
||||||
|
, pkgconfig
|
||||||
|
|
||||||
|
}:
|
||||||
|
|
||||||
|
faust.wrapWithBuildEnv {
|
||||||
|
|
||||||
|
baseName = "faust2jackrust";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ libjack2 cargo binutils gcc gnumake openssl pkgconfig ];
|
||||||
|
}
|
@ -1,14 +1,15 @@
|
|||||||
{ stdenv, alsaLib, atk, cairo, cups, dbus, dpkg, expat, fontconfig, freetype
|
{ stdenv, alsaLib, atk, at-spi2-atk, cairo, cups, dbus, dpkg, expat, fontconfig, freetype
|
||||||
, fetchurl, GConf, gdk-pixbuf, glib, gtk2, gtk3, libpulseaudio, makeWrapper, nspr
|
, fetchurl, GConf, gdk-pixbuf, glib, gtk2, gtk3, libpulseaudio, makeWrapper, nspr
|
||||||
, nss, pango, udev, xorg
|
, nss, pango, udev, xorg
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.6.1";
|
version = "4.7.1";
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
alsaLib
|
alsaLib
|
||||||
atk
|
atk
|
||||||
|
at-spi2-atk
|
||||||
cairo
|
cairo
|
||||||
cups
|
cups
|
||||||
dbus
|
dbus
|
||||||
@ -48,7 +49,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb";
|
url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb";
|
||||||
sha256 = "0dyn2fxhcri9d9nmcprszs6yg79gsr09bjfzzb1p10yjmi77cj2g";
|
sha256 = "1ljm9c5sv6wa7pa483yq03wq9j1h1jdh8363z5m2imz407yzgm5r";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
25
pkgs/applications/audio/r128gain/default.nix
Normal file
25
pkgs/applications/audio/r128gain/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ lib, python3Packages, ffmpeg }:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "r128gain";
|
||||||
|
version = "0.9.3";
|
||||||
|
|
||||||
|
src = python3Packages.fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0dx2grryp0lj58bawx1zcq9a6b4ijz9r5qrg8h6nvm92kqlya26i";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ ffmpeg ]
|
||||||
|
++ (with python3Packages; [ crcmod mutagen tqdm ])
|
||||||
|
;
|
||||||
|
|
||||||
|
doCheck = false; # downloads media files for testing
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Fast audio loudness scanner & tagger (ReplayGain v2 / R128)";
|
||||||
|
homepage = "https://github.com/desbma/r128gain";
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
maintainers = [ maintainers.AluisioASG ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -1,39 +1,49 @@
|
|||||||
{ stdenv, fetchFromGitHub, makeWrapper
|
{ stdenv
|
||||||
, flac, sox }:
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, makeWrapper
|
||||||
|
, installShellFiles
|
||||||
|
, flac
|
||||||
|
, sox
|
||||||
|
, withAucdtect ? false
|
||||||
|
, aucdtect ? null
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "redoflacs";
|
pname = "redoflacs";
|
||||||
version = "0.30.20150202";
|
version = "0.30.20190903";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sirjaren";
|
owner = "sirjaren";
|
||||||
repo = "redoflacs";
|
repo = "redoflacs";
|
||||||
rev = "86c6f5becca0909dcb2a0cb9ed747a575d7a4735";
|
rev = "4ca544cbc075d0865884906208cb2b8bc318cf9e";
|
||||||
sha256 = "1gzlmh4vnf2fl0x8ig2n1f76082ngldsv85i27dv15y2m1kffw2j";
|
sha256 = "19lcl09d4ngz2zzwd8dnnxx41ddvznhar6ggrlf1xvkr5gd7lafp";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
install -Dm755 -t $out/bin redoflacs
|
install -Dm755 -t $out/bin redoflacs
|
||||||
install -Dm644 -t $out/share/doc/redoflacs LICENSE *.md
|
install -Dm644 -t $out/share/doc/redoflacs LICENSE *.md
|
||||||
|
installManPage redoflacs.1
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
wrapProgram $out/bin/redoflacs \
|
wrapProgram $out/bin/redoflacs \
|
||||||
--prefix PATH : ${stdenv.lib.makeBinPath [ flac sox ]}
|
--prefix PATH : ${stdenv.lib.makeBinPath ([ flac sox ] ++ lib.optional withAucdtect aucdtect)}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "Parallel BASH commandline FLAC compressor, verifier, organizer, analyzer, and retagger";
|
description = "Parallel BASH commandline FLAC compressor, verifier, organizer, analyzer, and retagger";
|
||||||
homepage = src.meta.homepage;
|
homepage = src.meta.homepage;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.all;
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "snd-19.9";
|
name = "snd-20.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/snd/${name}.tar.gz";
|
url = "mirror://sourceforge/snd/${name}.tar.gz";
|
||||||
sha256 = "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys";
|
sha256 = "195j0mkxvkb0znwhc0pjp4r0r8j4i12i27nxbkq27wg9rck6likc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -1,29 +1,30 @@
|
|||||||
{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, gnome2,
|
{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, gnome2,
|
||||||
atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, utillinux, alsaLib, dbus, at-spi2-atk,
|
atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, utillinux, alsaLib, dbus, at-spi2-atk,
|
||||||
cups, vivaldi-ffmpeg-codecs, libpulseaudio }:
|
cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "exodus";
|
pname = "exodus";
|
||||||
version = "19.5.24";
|
version = "20.1.30";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://exodusbin.azureedge.net/releases/${pname}-linux-x64-${version}.zip";
|
url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
|
||||||
sha256 = "1yx296i525qmpqh8f2vax7igffg826nr8cyq1l0if35374bdsqdw";
|
sha256 = "0jns5zqjm0gqn18ypghbgk6gb713mh7p44ax1r8y4vcwijlp5nql";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
unpackCmd = ''
|
unpackCmd = ''
|
||||||
${unzip}/bin/unzip "$src" -x "Exodus*/lib*so"
|
${unzip}/bin/unzip "$src" -x "Exodus*/lib*so"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/share/applications
|
mkdir -p $out/bin $out/share/applications
|
||||||
cd Exodus-linux-x64
|
cd Exodus-linux-x64
|
||||||
cp -r . $out
|
cp -r . $out
|
||||||
ln -s $out/Exodus $out/bin/Exodus
|
ln -s $out/Exodus $out/bin/Exodus
|
||||||
ln -s $out/exodus.desktop $out/share/applications
|
ln -s $out/bin/Exodus $out/bin/exodus
|
||||||
substituteInPlace $out/share/applications/exodus.desktop \
|
ln -s $out/exodus.desktop $out/share/applications
|
||||||
--replace 'Exec=bash -c "cd `dirname %k` && ./Exodus"' "Exec=Exodus"
|
substituteInPlace $out/share/applications/exodus.desktop \
|
||||||
|
--replace 'Exec=bash -c "cd `dirname %k` && ./Exodus"' "Exec=Exodus"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
@ -31,35 +32,36 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
preFixup = let
|
preFixup = let
|
||||||
libPath = lib.makeLibraryPath [
|
libPath = lib.makeLibraryPath [
|
||||||
glib
|
glib
|
||||||
nss
|
nss
|
||||||
nspr
|
nspr
|
||||||
gtk3-x11
|
gtk3-x11
|
||||||
gnome2.pango
|
gnome2.pango
|
||||||
atk
|
atk
|
||||||
cairo
|
cairo
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
xorg.libX11
|
xorg.libX11
|
||||||
xorg.libxcb
|
xorg.libxcb
|
||||||
xorg.libXcomposite
|
xorg.libXcomposite
|
||||||
xorg.libXcursor
|
xorg.libXcursor
|
||||||
xorg.libXdamage
|
xorg.libXdamage
|
||||||
xorg.libXext
|
xorg.libXext
|
||||||
xorg.libXfixes
|
xorg.libXfixes
|
||||||
xorg.libXi
|
xorg.libXi
|
||||||
xorg.libXrender
|
xorg.libXrender
|
||||||
xorg.libXtst
|
xorg.libXtst
|
||||||
xorg_sys_opengl
|
xorg_sys_opengl
|
||||||
utillinux
|
utillinux
|
||||||
xorg.libXrandr
|
xorg.libXrandr
|
||||||
xorg.libXScrnSaver
|
xorg.libXScrnSaver
|
||||||
alsaLib
|
alsaLib
|
||||||
dbus.lib
|
dbus.lib
|
||||||
at-spi2-atk
|
at-spi2-atk
|
||||||
cups.lib
|
at-spi2-core
|
||||||
libpulseaudio
|
cups.lib
|
||||||
systemd
|
libpulseaudio
|
||||||
vivaldi-ffmpeg-codecs
|
systemd
|
||||||
|
vivaldi-ffmpeg-codecs
|
||||||
];
|
];
|
||||||
in ''
|
in ''
|
||||||
patchelf \
|
patchelf \
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "manuskript";
|
pname = "manuskript";
|
||||||
version = "0.10.0";
|
version = "0.11.0";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
repo = pname;
|
repo = pname;
|
||||||
owner = "olivierkes";
|
owner = "olivierkes";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3";
|
sha256 = "1l6l9k6k69yv8xqpll0zv9cwdqqg4zvxy90l6sx5nv2yywh5crla";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
|
@ -11,8 +11,8 @@ let
|
|||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "0n4wcg072a0b76jjv08cig2kygkmakvwav5vvl0h6ww9sbdcwl1x";
|
x86_64-linux = "0f6ic24w6s9wfirzk5rvysn96gj1naj6b81al9743mllaf32ad5q";
|
||||||
x86_64-darwin = "0xvyh9qypsyzw02vpmnfa0hdszj8ylvf78yjbmg86m4xml0sbj9r";
|
x86_64-darwin = "0fgyhb2wxkvrc90zzw5w2k3ggwbinmax286gbff3sjlrzbs5sj64";
|
||||||
}.${system};
|
}.${system};
|
||||||
|
|
||||||
sourceRoot = {
|
sourceRoot = {
|
||||||
@ -25,7 +25,7 @@ in
|
|||||||
# The update script doesn't correctly change the hash for darwin, so please:
|
# The update script doesn't correctly change the hash for darwin, so please:
|
||||||
# nixpkgs-update: no auto update
|
# nixpkgs-update: no auto update
|
||||||
|
|
||||||
version = "1.41.1";
|
version = "1.42.0";
|
||||||
pname = "vscodium";
|
pname = "vscodium";
|
||||||
|
|
||||||
executableName = "codium";
|
executableName = "codium";
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "saga";
|
pname = "saga";
|
||||||
version = "7.3.0";
|
version = "7.5.0";
|
||||||
|
|
||||||
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
|
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
|
||||||
# for why the have additional buildInputs on darwin
|
# for why the have additional buildInputs on darwin
|
||||||
@ -18,8 +18,8 @@ stdenv.mkDerivation {
|
|||||||
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
|
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.3.0/saga-7.3.0.tar.gz";
|
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.5.0/saga-7.5.0.tar.gz";
|
||||||
sha256 = "1g7v6vx7b8mfhbbg03pdk4kyks20maqbcdbasnxazhs8pl2zih7k";
|
sha256 = "0s5195802xwlkb2w4i4vd9ys95d7fnzn5cnnixh1csaqc2x1qp6r";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
{ stdenv, fetchgit, cmake, itk, Cocoa }:
|
{ stdenv, fetchgit, cmake, itk4, Cocoa }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "c3d";
|
pname = "c3d";
|
||||||
version = "2018-10-04";
|
version = "unstable-2019-10-22";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.code.sf.net/p/c3d/git";
|
url = "https://github.com/pyushkevich/c3d";
|
||||||
rev = "351929a582b2ef68fb9902df0b11d38f44a0ccd0";
|
rev = "c04e2b84568654665c64d8843378c8bbd58ba9b0";
|
||||||
sha256 = "0mpv4yl6hdnxgvnwrmd182h64n3ppp30ldzm0jz6jglk0nvpzq9w";
|
sha256 = "0lzldxvshl9q362mg76byc7s5zc9qx7mxf2wgyij5vysx8mihx3q";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [ itk ]
|
buildInputs = [ itk4 ]
|
||||||
++ stdenv.lib.optional stdenv.isDarwin Cocoa;
|
++ stdenv.lib.optional stdenv.isDarwin Cocoa;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -20,6 +20,5 @@ stdenv.mkDerivation {
|
|||||||
maintainers = with maintainers; [ bcdarwin ];
|
maintainers = with maintainers; [ bcdarwin ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
broken = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -60,11 +60,11 @@ let
|
|||||||
|
|
||||||
in mkDerivation rec {
|
in mkDerivation rec {
|
||||||
pname = "drawpile";
|
pname = "drawpile";
|
||||||
version = "2.1.15";
|
version = "2.1.16";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
|
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
|
||||||
sha256 = "0w6bdg1rnnjzjg8xzqv3a9qhw41q41sjvp6f8m0sqxjfax05lqin";
|
sha256 = "1mz64c1a5x906j2jqq7i16l1q1d97wgm2y0ybmmcyqzg09x9wyaw";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -6,7 +6,7 @@ with stdenv.lib;
|
|||||||
let installSanePath = path: ''
|
let installSanePath = path: ''
|
||||||
if [ -e "${path}/lib/sane" ]; then
|
if [ -e "${path}/lib/sane" ]; then
|
||||||
find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do
|
find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do
|
||||||
ln -s "$backend" "$out/lib/sane/$(basename "$backend")"
|
symlink "$backend" "$out/lib/sane/$(basename "$backend")"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -16,14 +16,14 @@ let installSanePath = path: ''
|
|||||||
if [ "$name" = "dll.conf" ] || [ "$name" = "saned.conf" ] || [ "$name" = "net.conf" ]; then
|
if [ "$name" = "dll.conf" ] || [ "$name" = "saned.conf" ] || [ "$name" = "net.conf" ]; then
|
||||||
cat "$conf" >> "$out/etc/sane.d/$name"
|
cat "$conf" >> "$out/etc/sane.d/$name"
|
||||||
else
|
else
|
||||||
ln -s "$conf" "$out/etc/sane.d/$name"
|
symlink "$conf" "$out/etc/sane.d/$name"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e "${path}/etc/sane.d/dll.d" ]; then
|
if [ -e "${path}/etc/sane.d/dll.d" ]; then
|
||||||
find "${path}/etc/sane.d/dll.d" -maxdepth 1 -not -type d | while read conf; do
|
find "${path}/etc/sane.d/dll.d" -maxdepth 1 -not -type d | while read conf; do
|
||||||
ln -s "$conf" "$out/etc/sane.d/dll.d/$(basename $conf)"
|
symlink "$conf" "$out/etc/sane.d/dll.d/$(basename $conf)"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
@ -33,6 +33,14 @@ stdenv.mkDerivation {
|
|||||||
phases = "installPhase";
|
phases = "installPhase";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
function symlink () {
|
||||||
|
local target=$1 linkname=$2
|
||||||
|
if [ -e "$linkname" ]; then
|
||||||
|
echo "warning: conflict for $linkname. Overriding $(readlink $linkname) with $target."
|
||||||
|
fi
|
||||||
|
ln -sfn "$target" "$linkname"
|
||||||
|
}
|
||||||
|
|
||||||
mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane
|
mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane
|
||||||
'' + concatMapStrings installSanePath paths;
|
'' + concatMapStrings installSanePath paths;
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, cmake, pkgconfig, wxGTK30, glib, pcre, m4, bash,
|
{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, cmake, pkgconfig, wxGTK30, glib, pcre, m4, bash,
|
||||||
xdg_utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick, darwin }:
|
xdg_utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick, darwin }:
|
||||||
|
|
||||||
with stdenv.lib;
|
let
|
||||||
|
newer-colorer-schemes = fetchFromGitHub {
|
||||||
|
owner = "colorer";
|
||||||
|
repo = "Colorer-schemes";
|
||||||
|
rev = "7c831f5e94a90530ace8b2bb9916210e3a2fcda6"; # 2019-11-28 (far2l has older Colorer-schemes)
|
||||||
|
sha256 = "18vaahdz5i7xdf00c9h9kjjswm4jszywm8zkhva4c4ivr4qqnv2c";
|
||||||
|
};
|
||||||
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
build = "unstable-2018-07-19.git${builtins.substring 0 7 src.rev}";
|
pname = "far2l";
|
||||||
name = "far2l-2.1.${build}";
|
version = "2019-12-14.git${builtins.substring 0 7 src.rev}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elfmz";
|
owner = "elfmz";
|
||||||
@ -16,16 +23,16 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper imagemagick ];
|
nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper imagemagick ];
|
||||||
|
|
||||||
buildInputs = [ wxGTK30 glib pcre ]
|
buildInputs = [ wxGTK30 glib pcre ]
|
||||||
++ optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa;
|
++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa;
|
||||||
|
|
||||||
postPatch = optionalString stdenv.isLinux ''
|
postPatch = stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
substituteInPlace far2l/bootstrap/trash.sh \
|
substituteInPlace far2l/bootstrap/trash.sh \
|
||||||
--replace 'gvfs-trash' '${gvfs}/bin/gvfs-trash'
|
--replace 'gvfs-trash' '${gvfs}/bin/gvfs-trash'
|
||||||
'' + optionalString stdenv.isDarwin ''
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace far2l/CMakeLists.txt \
|
substituteInPlace far2l/CMakeLists.txt \
|
||||||
--replace "-framework System" -lSystem
|
--replace "-framework System" -lSystem
|
||||||
'' + ''
|
'' + ''
|
||||||
echo 'echo ${build}' > far2l/bootstrap/scripts/vbuild.sh
|
echo 'echo ${version}' > far2l/bootstrap/scripts/vbuild.sh
|
||||||
substituteInPlace far2l/bootstrap/open.sh \
|
substituteInPlace far2l/bootstrap/open.sh \
|
||||||
--replace 'xdg-open' '${xdg_utils}/bin/xdg-open'
|
--replace 'xdg-open' '${xdg_utils}/bin/xdg-open'
|
||||||
substituteInPlace far2l/vtcompletor.cpp \
|
substituteInPlace far2l/vtcompletor.cpp \
|
||||||
@ -42,14 +49,9 @@ stdenv.mkDerivation rec {
|
|||||||
--replace '"bzip2 ' '"${bzip2}/bin/bzip2 ' \
|
--replace '"bzip2 ' '"${bzip2}/bin/bzip2 ' \
|
||||||
--replace '"tar ' '"${gnutar}/bin/tar '
|
--replace '"tar ' '"${gnutar}/bin/tar '
|
||||||
|
|
||||||
( cd colorer/configs/base
|
cp ${newer-colorer-schemes}/hrc/hrc/base/nix.hrc colorer/configs/base/hrc/base/
|
||||||
patch -p2 < ${ fetchpatch {
|
cp ${newer-colorer-schemes}/hrc/hrc/base/cpp.hrc colorer/configs/base/hrc/base/
|
||||||
name = "nix-language-highlighting.patch";
|
cp ${newer-colorer-schemes}/hrc/hrc/inet/jscript.hrc colorer/configs/base/hrc/base/
|
||||||
url = https://github.com/colorer/Colorer-schemes/commit/64bd06de0a63224b431cd8fc42cd9fa84b8ba7c0.patch;
|
|
||||||
sha256 = "1mrj1wyxmk7sll9j1jzw6miwi0sfavf654klms24wngnh6hadsch";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -59,7 +61,8 @@ stdenv.mkDerivation rec {
|
|||||||
ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_askpass
|
ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_askpass
|
||||||
ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_sudoapp
|
ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_sudoapp
|
||||||
|
|
||||||
sed "s,/usr/bin/,$out/bin/," ../far2l/DE/far2l.desktop > $out/share/applications/far2l.desktop
|
cp ../far2l/DE/far2l.desktop $out/share/applications/far2l.desktop
|
||||||
|
substituteInPlace $out/share/applications/far2l.desktop --replace \''${CMAKE_INSTALL_PREFIX} "$out"
|
||||||
|
|
||||||
cp ../far2l/DE/icons/hicolor/1024x1024/apps/far2l.svg $out/share/icons/hicolor/scalable/apps/
|
cp ../far2l/DE/icons/hicolor/1024x1024/apps/far2l.svg $out/share/icons/hicolor/scalable/apps/
|
||||||
convert -size 128x128 ../far2l/DE/icons/far2l.svg $out/share/icons/far2l.png
|
convert -size 128x128 ../far2l/DE/icons/far2l.svg $out/share/icons/far2l.png
|
||||||
@ -75,7 +78,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "An orthodox file manager";
|
description = "An orthodox file manager";
|
||||||
homepage = https://github.com/elfmz/far2l;
|
homepage = https://github.com/elfmz/far2l;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jgmenu";
|
pname = "jgmenu";
|
||||||
version = "4.0";
|
version = "4.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "johanmalm";
|
owner = "johanmalm";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1s9291y38k4adc2wqj7plfhj431nf36zs262jm6mmb2fs910ncgv";
|
sha256 = "086p91l1igx5mv2i6fwbgx5p72war9aavc7v3m7sd0c0xvb334br";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kanboard";
|
pname = "kanboard";
|
||||||
version = "1.2.12";
|
version = "1.2.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kanboard";
|
owner = "kanboard";
|
||||||
repo = "kanboard";
|
repo = "kanboard";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1m1drgbyk1m6mf69xqlz9gqcj650n9m4y2fdj7d2yv20q8r31489";
|
sha256 = "0mm5sx323v1rwykd1dhvk4d3ipgvgvi3wvhrlavbja3lgay3mdwk";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Kanban project management software";
|
description = "Kanban project management software";
|
||||||
homepage = https://kanboard.net;
|
homepage = https://kanboard.net;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ fpletz ];
|
maintainers = with maintainers; [ fpletz lheckemann ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,26 +1,29 @@
|
|||||||
{ mkDerivation, lib, fetchFromGitHub, cmake
|
{ stdenv, mkDerivation, lib, fetchFromGitHub, cmake
|
||||||
, boost, libvorbis, libsndfile, minizip, gtest }:
|
, boost, libvorbis, libsndfile, minizip, gtest, qtwebkit }:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "lsd2dsl";
|
pname = "lsd2dsl";
|
||||||
version = "0.4.1";
|
version = "0.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nongeneric";
|
owner = "nongeneric";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "15xjp5xxvl0qc4zp553n7djrbvdp63sfjw406idgxqinfmkqkqdr";
|
sha256 = "100qd9i0x6r0nkw1ic2p0xjr16jlhinxkn1x7i98s4xmw4wyb8n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [ boost libvorbis libsndfile minizip gtest ];
|
buildInputs = [ boost libvorbis libsndfile minizip gtest qtwebkit ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
|
NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=missing-braces";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
install -Dm755 lsd2dsl $out/bin/lsd2dsl
|
install -Dm755 console/lsd2dsl $out/bin/lsd2dsl
|
||||||
install -m755 qtgui/lsd2dsl-qtgui $out/bin/lsd2dsl-qtgui
|
install -m755 gui/lsd2dsl-qtgui $out/bin/lsd2dsl-qtgui
|
||||||
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
|
wrapQtApp $out/bin/lsd2dsl
|
||||||
|
wrapQtApp $out/bin/lsd2dsl-qtgui
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
@ -31,6 +34,6 @@ mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ sikmir ];
|
maintainers = with maintainers; [ sikmir ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux ++ darwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
22
pkgs/applications/misc/rxvt-unicode-plugins/default.nix
Normal file
22
pkgs/applications/misc/rxvt-unicode-plugins/default.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ callPackage }:
|
||||||
|
|
||||||
|
{
|
||||||
|
autocomplete-all-the-things = callPackage ./urxvt-autocomplete-all-the-things { };
|
||||||
|
|
||||||
|
bidi = callPackage ./urxvt-bidi { };
|
||||||
|
|
||||||
|
font-size = callPackage ./urxvt-font-size { };
|
||||||
|
|
||||||
|
perl = callPackage ./urxvt-perl { };
|
||||||
|
|
||||||
|
perls = callPackage ./urxvt-perls { };
|
||||||
|
|
||||||
|
resize-font = callPackage ./urxvt-resize-font { };
|
||||||
|
|
||||||
|
tabbedex = callPackage ./urxvt-tabbedex { };
|
||||||
|
|
||||||
|
theme-switch = callPackage ./urxvt-theme-switch { };
|
||||||
|
|
||||||
|
vtwheel = callPackage ./urxvt-vtwheel { };
|
||||||
|
|
||||||
|
}
|
@ -16,6 +16,8 @@ perlPackages.buildPerlPackage rec {
|
|||||||
install -Dm555 misc/bidi "$out/lib/urxvt/perl/bidi"
|
install -Dm555 misc/bidi "$out/lib/urxvt/perl/bidi"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.perlPackages = [ "self" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Text::Bidi Perl package using fribidi, providing a urxvt plugin";
|
description = "Text::Bidi Perl package using fribidi, providing a urxvt plugin";
|
||||||
homepage = "https://github.com/mkamensky/Text-Bidi";
|
homepage = "https://github.com/mkamensky/Text-Bidi";
|
@ -0,0 +1,27 @@
|
|||||||
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "urxvt-resize-font";
|
||||||
|
version = "2019-10-05";
|
||||||
|
dontPatchShebangs = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "simmel";
|
||||||
|
repo = "urxvt-resize-font";
|
||||||
|
rev = "e966a5d77264e9263bfc8a51e160fad24055776b";
|
||||||
|
sha256 = "18ab3bsfdkzzh1n9fpi2al5bksvv2b7fjmvxpx6fzqcy4bc64vkh";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib/urxvt/perl
|
||||||
|
cp resize-font $out/lib/urxvt/perl
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "URxvt Perl extension for resizing the font";
|
||||||
|
homepage = "https://github.com/simmel/urxvt-resize-font";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ rnhmjoj ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
88
pkgs/applications/misc/rxvt-unicode/default.nix
Normal file
88
pkgs/applications/misc/rxvt-unicode/default.nix
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
{ stdenv, fetchurl, makeDesktopItem
|
||||||
|
, libX11, libXt, libXft, libXrender
|
||||||
|
, ncurses, fontconfig, freetype
|
||||||
|
, pkgconfig, gdk-pixbuf, perl
|
||||||
|
, perlSupport ? true
|
||||||
|
, gdkPixbufSupport ? true
|
||||||
|
, unicode3Support ? true
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "rxvt-unicode";
|
||||||
|
version = "9.22";
|
||||||
|
description = "A clone of the well-known terminal emulator rxvt";
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = pname;
|
||||||
|
exec = "urxvt";
|
||||||
|
icon = "utilities-terminal";
|
||||||
|
comment = description;
|
||||||
|
desktopName = "URxvt";
|
||||||
|
genericName = pname;
|
||||||
|
categories = "System;TerminalEmulator;";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "${pname}-unwrapped-${version}";
|
||||||
|
inherit pname version;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
|
||||||
|
sha256 = "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs =
|
||||||
|
[ libX11 libXt libXft ncurses # required to build the terminfo file
|
||||||
|
fontconfig freetype pkgconfig libXrender
|
||||||
|
] ++ optional perlSupport perl
|
||||||
|
++ optional gdkPixbufSupport gdk-pixbuf;
|
||||||
|
|
||||||
|
outputs = [ "out" "terminfo" ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./patches/9.06-font-width.patch
|
||||||
|
./patches/256-color-resources.patch
|
||||||
|
] ++ optional stdenv.isDarwin ./patches/makefile-phony.patch;
|
||||||
|
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--with-terminfo=$terminfo/share/terminfo"
|
||||||
|
"--enable-256-color"
|
||||||
|
(enableFeature perlSupport "perl")
|
||||||
|
(enableFeature unicode3Support "unicode3")
|
||||||
|
];
|
||||||
|
|
||||||
|
LDFLAGS = [ "-lfontconfig" "-lXrender" "-lpthread" ];
|
||||||
|
CFLAGS = [ "-I${freetype.dev}/include/freetype2" ];
|
||||||
|
|
||||||
|
preConfigure =
|
||||||
|
''
|
||||||
|
# without this the terminfo won't be compiled by tic, see man tic
|
||||||
|
mkdir -p $terminfo/share/terminfo
|
||||||
|
export TERMINFO=$terminfo/share/terminfo
|
||||||
|
''
|
||||||
|
+ stdenv.lib.optionalString perlSupport ''
|
||||||
|
# make urxvt find its perl file lib/perl5/site_perl
|
||||||
|
# is added to PERL5LIB automatically
|
||||||
|
mkdir -p $out/$(dirname ${perl.libPrefix})
|
||||||
|
ln -s $out/lib/urxvt $out/${perl.libPrefix}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
||||||
|
cp -r ${desktopItem}/share/applications/ $out/share/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
inherit description;
|
||||||
|
homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
|
||||||
|
downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/";
|
||||||
|
maintainers = with maintainers; [ rnhmjoj ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
|
}
|
58
pkgs/applications/misc/rxvt-unicode/wrapper.nix
Normal file
58
pkgs/applications/misc/rxvt-unicode/wrapper.nix
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
{ callPackage
|
||||||
|
, symlinkJoin
|
||||||
|
, makeWrapper
|
||||||
|
, lib
|
||||||
|
, rxvt-unicode-unwrapped
|
||||||
|
, rxvt-unicode-plugins
|
||||||
|
, perlPackages
|
||||||
|
, configure ? { availablePlugins, ... }:
|
||||||
|
{ plugins = builtins.attrValues availablePlugins;
|
||||||
|
extraDeps = [ ];
|
||||||
|
perlDeps = [ ];
|
||||||
|
}
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
availablePlugins = rxvt-unicode-plugins;
|
||||||
|
|
||||||
|
# Transform the string "self" to the plugin itself.
|
||||||
|
# It's needed for plugins like bidi who depends on the perl
|
||||||
|
# package they provide themself.
|
||||||
|
mkPerlDeps = p:
|
||||||
|
let deps = p.perlPackages or [ ];
|
||||||
|
in map (x: if x == "self" then p else x) deps;
|
||||||
|
|
||||||
|
# The wrapper is called with a `configure` function
|
||||||
|
# that takes the urxvt plugins as input and produce
|
||||||
|
# the configuration of the wrapper: list of plugins,
|
||||||
|
# extra dependencies and perl dependencies.
|
||||||
|
# This provides simple way to customize urxvt using
|
||||||
|
# the `.override` mechanism.
|
||||||
|
wrapper = { configure, ... }:
|
||||||
|
let
|
||||||
|
config = configure { inherit availablePlugins; };
|
||||||
|
plugins = config.plugins or (builtins.attrValues availablePlugins);
|
||||||
|
extraDeps = config.extraDeps or [ ];
|
||||||
|
perlDeps = (config.perlDeps or [ ]) ++ lib.concatMap mkPerlDeps plugins;
|
||||||
|
in
|
||||||
|
symlinkJoin {
|
||||||
|
name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}";
|
||||||
|
|
||||||
|
paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps;
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/urxvt \
|
||||||
|
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
|
||||||
|
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
|
||||||
|
wrapProgram $out/bin/urxvtd \
|
||||||
|
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
|
||||||
|
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.plugins = plugins;
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
lib.makeOverridable wrapper { inherit configure; }
|
@ -1,72 +0,0 @@
|
|||||||
{ stdenv, fetchurl, makeDesktopItem, perlSupport ? true, libX11, libXt, libXft,
|
|
||||||
ncurses, perl, fontconfig, freetype, pkgconfig, libXrender,
|
|
||||||
gdkPixbufSupport ? true, gdk-pixbuf, unicode3Support ? true }:
|
|
||||||
|
|
||||||
let
|
|
||||||
pname = "rxvt-unicode";
|
|
||||||
version = "9.22";
|
|
||||||
description = "A clone of the well-known terminal emulator rxvt";
|
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
|
||||||
name = pname;
|
|
||||||
exec = "urxvt";
|
|
||||||
icon = "utilities-terminal";
|
|
||||||
comment = description;
|
|
||||||
desktopName = "URxvt";
|
|
||||||
genericName = pname;
|
|
||||||
categories = "System;TerminalEmulator;";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
|
||||||
|
|
||||||
name = "${pname}${if perlSupport then "-with-perl" else ""}${if unicode3Support then "-with-unicode3" else ""}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
|
|
||||||
sha256 = "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[ libX11 libXt libXft ncurses /* required to build the terminfo file */
|
|
||||||
fontconfig freetype pkgconfig libXrender ]
|
|
||||||
++ stdenv.lib.optional perlSupport perl
|
|
||||||
++ stdenv.lib.optional gdkPixbufSupport gdk-pixbuf;
|
|
||||||
|
|
||||||
outputs = [ "out" "terminfo" ];
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./rxvt-unicode-9.06-font-width.patch
|
|
||||||
./rxvt-unicode-256-color-resources.patch
|
|
||||||
]
|
|
||||||
++ stdenv.lib.optional stdenv.isDarwin ./rxvt-unicode-makefile-phony.patch;
|
|
||||||
|
|
||||||
preConfigure =
|
|
||||||
''
|
|
||||||
mkdir -p $terminfo/share/terminfo
|
|
||||||
configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"} ${if unicode3Support then "--enable-unicode3" else "--disable-unicode3"}";
|
|
||||||
export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
|
|
||||||
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype.dev}/include/freetype2"
|
|
||||||
NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender -lpthread "
|
|
||||||
''
|
|
||||||
# make urxvt find its perl file lib/perl5/site_perl is added to PERL5LIB automatically
|
|
||||||
+ stdenv.lib.optionalString perlSupport ''
|
|
||||||
mkdir -p $out/$(dirname ${perl.libPrefix})
|
|
||||||
ln -s $out/lib/urxvt $out/${perl.libPrefix}
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
|
||||||
cp -r ${desktopItem}/share/applications/ $out/share/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
inherit description;
|
|
||||||
homepage = http://software.schmorp.de/pkg/rxvt-unicode.html;
|
|
||||||
downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/";
|
|
||||||
maintainers = with maintainers; [ rnhmjoj ];
|
|
||||||
platforms = platforms.unix;
|
|
||||||
license = licenses.gpl3;
|
|
||||||
};
|
|
||||||
})
|
|
@ -1,23 +0,0 @@
|
|||||||
{ symlinkJoin, rxvt_unicode, makeWrapper, plugins, perlPackages, perlDeps ? []}:
|
|
||||||
|
|
||||||
let
|
|
||||||
rxvt_name = builtins.parseDrvName rxvt_unicode.name;
|
|
||||||
|
|
||||||
in symlinkJoin {
|
|
||||||
name = "${rxvt_name.name}-with-plugins-${rxvt_name.version}";
|
|
||||||
|
|
||||||
paths = [ rxvt_unicode ] ++ plugins;
|
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/urxvt \
|
|
||||||
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
|
|
||||||
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
|
|
||||||
wrapProgram $out/bin/urxvtd \
|
|
||||||
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
|
|
||||||
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.plugins = plugins;
|
|
||||||
}
|
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tippecanoe";
|
pname = "tippecanoe";
|
||||||
version = "1.34.3";
|
version = "1.35.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mapbox";
|
owner = "mapbox";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "08pkxzwp4w5phrk9b0vszxnx8yymp50v0bcw96pz8qwk48z4xm0i";
|
sha256 = "0v5ycc3gsqnl9pps3m45yrnb1gvw5pk6jdyr0q6516b4ac6x67m5";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ sqlite zlib ];
|
buildInputs = [ sqlite zlib ];
|
||||||
@ -21,9 +21,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Build vector tilesets from large collections of GeoJSON features";
|
description = "Build vector tilesets from large collections of GeoJSON features";
|
||||||
homepage = https://github.com/mapbox/tippecanoe;
|
homepage = "https://github.com/mapbox/tippecanoe";
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
maintainers = with maintainers; [ sikmir ];
|
maintainers = with maintainers; [ sikmir ];
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = with platforms; linux ++ darwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cloudflared";
|
pname = "cloudflared";
|
||||||
version = "2019.12.0";
|
version = "2020.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cloudflare";
|
owner = "cloudflare";
|
||||||
repo = "cloudflared";
|
repo = "cloudflared";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0cc78bysp7z76h4ddiwbsrygz4m4r71f8xylg99pc5qyg8p3my4p";
|
sha256 = "1fzndqkmfpx15fllxqxbh7n4m13ydlp50dvkdh8n384j09ndmx4r";
|
||||||
};
|
};
|
||||||
|
|
||||||
modSha256 = "1y5vh8g967rrm9b9hjlr70bs2rm09cpik673brgk3nzqxka10w7p";
|
modSha256 = "1y5vh8g967rrm9b9hjlr70bs2rm09cpik673brgk3nzqxka10w7p";
|
||||||
@ -17,7 +17,7 @@ buildGoModule rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "CloudFlare Argo Tunnel daemon (and DNS-over-HTTPS client)";
|
description = "CloudFlare Argo Tunnel daemon (and DNS-over-HTTPS client)";
|
||||||
homepage = https://www.cloudflare.com/products/argo-tunnel;
|
homepage = "https://www.cloudflare.com/products/argo-tunnel";
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = [ maintainers.thoughtpolice maintainers.enorris ];
|
maintainers = [ maintainers.thoughtpolice maintainers.enorris ];
|
||||||
|
@ -4,7 +4,7 @@ header "fetching Apache Mesos maven repo"
|
|||||||
function fetchArtifact {
|
function fetchArtifact {
|
||||||
repoPath="$1"
|
repoPath="$1"
|
||||||
echo "Fetching $repoPath"
|
echo "Fetching $repoPath"
|
||||||
url="http://repo.maven.apache.org/maven2/$repoPath"
|
url="https://repo.maven.apache.org/maven2/$repoPath"
|
||||||
mkdir -p $(dirname $out/$repoPath)
|
mkdir -p $(dirname $out/$repoPath)
|
||||||
curl --fail --location --insecure --retry 3 --max-redirs 20 "$url" --output "$out/$repoPath"
|
curl --fail --location --insecure --retry 3 --max-redirs 20 "$url" --output "$out/$repoPath"
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
}:
|
}:
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "hpmyroom";
|
pname = "hpmyroom";
|
||||||
version = "11.1.0.0508";
|
version = "12.0.0.0220";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.myroom.hpe.com/downloadfiles/${pname}-${version}.x86_64.rpm";
|
url = "https://www.myroom.hpe.com/downloadfiles/${pname}-${version}.x86_64.rpm";
|
||||||
sha256 = "1j7mzvf349yxb42m8syh73gpvil01hy1a2wrr0rdzb2ijfnkxyaa";
|
sha256 = "0gajj2s6l7jj8520agrv2dyisg7hhacbwzqlsp9a0xdxr0v71jhr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, vala, cmake, ninja, wrapGAppsHook, pkgconfig, gettext
|
, vala, cmake, ninja, wrapGAppsHook, pkgconfig, gettext
|
||||||
, gobject-introspection, gnome3, glib, gdk-pixbuf, gtk3, glib-networking
|
, gobject-introspection, gnome3, glib, gdk-pixbuf, gtk3, glib-networking
|
||||||
, xorg, libXdmcp, libxkbcommon
|
, xorg, libXdmcp, libxkbcommon
|
||||||
, libnotify, libsoup, libgee, utillinux, libselinux, libsepol, libpsl, brotli
|
, libnotify, libsoup, libgee
|
||||||
, librsvg, libsignal-protocol-c
|
, librsvg, libsignal-protocol-c
|
||||||
, libgcrypt
|
, libgcrypt
|
||||||
, epoxy
|
, epoxy
|
||||||
@ -52,18 +52,12 @@ stdenv.mkDerivation rec {
|
|||||||
pcre
|
pcre
|
||||||
xorg.libxcb
|
xorg.libxcb
|
||||||
xorg.libpthreadstubs
|
xorg.libpthreadstubs
|
||||||
xorg.libXtst
|
|
||||||
libXdmcp
|
libXdmcp
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
epoxy
|
epoxy
|
||||||
at-spi2-core
|
at-spi2-core
|
||||||
dbus
|
dbus
|
||||||
icu
|
icu
|
||||||
utillinux
|
|
||||||
libselinux
|
|
||||||
libsepol
|
|
||||||
libpsl
|
|
||||||
brotli
|
|
||||||
libsignal-protocol-c
|
libsignal-protocol-c
|
||||||
librsvg
|
librsvg
|
||||||
];
|
];
|
||||||
|
@ -23,7 +23,7 @@ let
|
|||||||
else "");
|
else "");
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "1.30.1"; # Please backport all updates to the stable channel.
|
version = "1.31.0"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "08l51f1fq9jlnqb4j38lxdfwfbqfzb85zrim57wlgcj8azp2ash6";
|
sha256 = "19vsv7jv30xvfgq1nr3091b6x4agymy9afpy9r9mxzgn0xfb0ap9";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -47,10 +47,16 @@ mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(fetchurl { # https://github.com/LubosD/twinkle/pull/152 patch for bcg729 1.0.2+
|
# patch for bcg729 1.0.2+
|
||||||
|
(fetchurl { # https://github.com/LubosD/twinkle/pull/152
|
||||||
url = "https://github.com/LubosD/twinkle/compare/05082ae12051821b1d969e6672d9e4e5afe1bc07...7a6c533cda387652b5b4cb2a867be1a18585890c.patch";
|
url = "https://github.com/LubosD/twinkle/compare/05082ae12051821b1d969e6672d9e4e5afe1bc07...7a6c533cda387652b5b4cb2a867be1a18585890c.patch";
|
||||||
sha256 = "39fc6cef3e88cfca8db44612b2d082fb618027b0f99509138d3c0d2777a494c2";
|
sha256 = "39fc6cef3e88cfca8db44612b2d082fb618027b0f99509138d3c0d2777a494c2";
|
||||||
})
|
})
|
||||||
|
# patch manual link to not link to old url, which now points to NSFW page
|
||||||
|
(fetchurl { # https://github.com/LubosD/twinkle/commit/05082ae12051821b1d969e6672d9e4e5afe1bc07
|
||||||
|
url = "https://github.com/LubosD/twinkle/commit/05082ae12051821b1d969e6672d9e4e5afe1bc07.diff";
|
||||||
|
sha256 = "1iamragr9wp2vczsnp6n261fpr1ai2nc2abp0228jlar9zafksw0";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -1,20 +1,34 @@
|
|||||||
{ buildPythonPackage, stdenv, python, fetchFromGitHub,
|
{ buildPythonPackage
|
||||||
pyopenssl, webcolors, future, atomicwrites,
|
, stdenv
|
||||||
attrs, Logbook, pygments, cachetools, matrix-nio }:
|
, python
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pyopenssl
|
||||||
|
, webcolors
|
||||||
|
, future
|
||||||
|
, atomicwrites
|
||||||
|
, attrs
|
||||||
|
, Logbook
|
||||||
|
, pygments
|
||||||
|
, matrix-nio
|
||||||
|
, aiohttp
|
||||||
|
, requests
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
matrixUploadPython = python.withPackages (ps: with ps; [
|
scriptPython = python.withPackages (ps: with ps; [
|
||||||
magic
|
aiohttp
|
||||||
|
requests
|
||||||
|
python_magic
|
||||||
]);
|
]);
|
||||||
in buildPythonPackage {
|
in buildPythonPackage {
|
||||||
pname = "weechat-matrix";
|
pname = "weechat-matrix";
|
||||||
version = "unstable-2019-11-10";
|
version = "unstable-2020-01-21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "poljar";
|
owner = "poljar";
|
||||||
repo = "weechat-matrix";
|
repo = "weechat-matrix";
|
||||||
rev = "69ad2a9c03d516c212d3d0700dbb2bfe654f6365";
|
rev = "46640df3e0bfb058e97d8abe723bb88fdf4e5177";
|
||||||
sha256 = "1mfbkag5np2lgv6f31nyfnvavyh67jrrx6gxhzb8m99dd43lgs8c";
|
sha256 = "1j3l43j741csfxsp1nsc74y6wj2wm86c45iraf167g6p0sdzcq8z";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -25,8 +39,9 @@ in buildPythonPackage {
|
|||||||
attrs
|
attrs
|
||||||
Logbook
|
Logbook
|
||||||
pygments
|
pygments
|
||||||
cachetools
|
|
||||||
matrix-nio
|
matrix-nio
|
||||||
|
aiohttp
|
||||||
|
requests
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.scripts = [ "matrix.py" ];
|
passthru.scripts = [ "matrix.py" ];
|
||||||
@ -38,10 +53,18 @@ in buildPythonPackage {
|
|||||||
mkdir -p $out/share $out/bin
|
mkdir -p $out/share $out/bin
|
||||||
cp $src/main.py $out/share/matrix.py
|
cp $src/main.py $out/share/matrix.py
|
||||||
|
|
||||||
cp $src/contrib/matrix_upload $out/bin/
|
cp \
|
||||||
|
$src/contrib/matrix_upload \
|
||||||
|
$src/contrib/matrix_decrypt \
|
||||||
|
$src/contrib/matrix_sso_helper \
|
||||||
|
$out/bin/
|
||||||
substituteInPlace $out/bin/matrix_upload \
|
substituteInPlace $out/bin/matrix_upload \
|
||||||
--replace '/usr/bin/env -S python3 -u' '${matrixUploadPython}/bin/python -u'
|
--replace '/usr/bin/env -S python3' '${scriptPython}/bin/python'
|
||||||
|
substituteInPlace $out/bin/matrix_sso_helper \
|
||||||
|
--replace '/usr/bin/env -S python3' '${scriptPython}/bin/python'
|
||||||
|
substituteInPlace $out/bin/matrix_decrypt \
|
||||||
|
--replace '/usr/bin/env python3' '${scriptPython}/bin/python'
|
||||||
|
|
||||||
mkdir -p $out/${python.sitePackages}
|
mkdir -p $out/${python.sitePackages}
|
||||||
cp -r $src/matrix $out/${python.sitePackages}/matrix
|
cp -r $src/matrix $out/${python.sitePackages}/matrix
|
||||||
'';
|
'';
|
||||||
@ -53,6 +76,6 @@ in buildPythonPackage {
|
|||||||
homepage = "https://github.com/poljar/weechat-matrix";
|
homepage = "https://github.com/poljar/weechat-matrix";
|
||||||
license = licenses.isc;
|
license = licenses.isc;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.tilpner ];
|
maintainers = with maintainers; [ tilpner emily ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ let
|
|||||||
maintainers = with maintainers; [ emmanuelrosa dtzWill kampka ];
|
maintainers = with maintainers; [ emmanuelrosa dtzWill kampka ];
|
||||||
};
|
};
|
||||||
|
|
||||||
version = "0.38.2";
|
version = "0.39.4";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ in {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
|
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
|
||||||
sha256 = "10f5zfqcfcjynw04d5xzrfmkbqpk85i4mq7njhkibx2f1m0br2qa";
|
sha256 = "18wrnm13k0gg6aljpf6k7c5zia81zzkqc0sa1pgz0yzczydsfaa9";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Fetch from source repo, no longer included in release.
|
# Fetch from source repo, no longer included in release.
|
||||||
@ -78,7 +78,7 @@ in {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
|
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
|
||||||
sha256 = "1df0cx9gpzk0086lgha0qm1g03l8f4rz7y2xzgpzng5rrxjkgz61";
|
sha256 = "06svdp25031p665pvlxdz10malvhxpczzrg90hpr1zymm6v8van3";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "last";
|
pname = "last";
|
||||||
version = "1045";
|
version = "1047";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://last.cbrc.jp/last-${version}.zip";
|
url = "http://last.cbrc.jp/last-${version}.zip";
|
||||||
sha256 = "0x2wrm52ca935n3yc486m8yy59ap34w1x9h3csjca3jab5agnjkc";
|
sha256 = "06fj4qfw3dd35y3pky3dnr40v1alf43wjx373rbx1vr3hbgzvgf8";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -1,21 +1,28 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, makeWrapper, flex, bison, perlPackages, libminc, libjpeg, zlib }:
|
{ stdenv, fetchFromGitHub, cmake, makeWrapper, flex, bison, perl, TextFormat,
|
||||||
|
libminc, libjpeg, nifticlib, zlib }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "minc-tools";
|
pname = "minc-tools";
|
||||||
name = "${pname}-2017-09-11";
|
version = "unstable-2019-12-04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "BIC-MNI";
|
owner = "BIC-MNI";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "5b7c40425cd4f67a018055cb85c0157ee50a3056";
|
rev = "d4dddfdb4e4fa0cea389b8fdce51cfc076565d94";
|
||||||
sha256 = "0zkcs05svp1gj5h0cdgc0k20c7lrk8m7wg3ks3xc5mkaiannj8g7";
|
sha256 = "1wwdss59qq4hz1jp35qylfswzzv0d37if23al0srnxkkgc5f8zng";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./fix-netcdf-header.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake flex bison makeWrapper ];
|
nativeBuildInputs = [ cmake flex bison makeWrapper ];
|
||||||
buildInputs = [ libminc libjpeg zlib ];
|
buildInputs = [ libminc libjpeg zlib ];
|
||||||
propagatedBuildInputs = with perlPackages; [ perl TextFormat ];
|
propagatedBuildInputs = [ perl TextFormat ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
|
cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/"
|
||||||
|
"-DZNZ_INCLUDE_DIR=${nifticlib}/include/"
|
||||||
|
"-DZNZ_LIBRARY=${nifticlib}/lib/libznz.a"
|
||||||
|
"-DNIFTI_INCLUDE_DIR=${nifticlib}/include/nifti/"
|
||||||
|
"-DNIFTI_LIBRARY=${nifticlib}/lib/libniftiio.a" ];
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
for prog in minccomplete minchistory mincpik; do
|
for prog in minccomplete minchistory mincpik; do
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
diff --git a/progs/mincdump/mincdump.h b/progs/mincdump/mincdump.h
|
||||||
|
index 14c95cd..117ab26 100644
|
||||||
|
--- a/progs/mincdump/mincdump.h
|
||||||
|
+++ b/progs/mincdump/mincdump.h
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
* See netcdf/COPYRIGHT file for copying and redistribution conditions.
|
||||||
|
* $Header: /private-cvsroot/minc/progs/mincdump/mincdump.h,v 1.1 2004-04-27 15:35:15 bert Exp $
|
||||||
|
*********************************************************************/
|
||||||
|
+#include <netcdf_meta.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* error checking macro */
|
@ -4,12 +4,12 @@ with stdenv.lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "marvin";
|
pname = "marvin";
|
||||||
version = "20.3.0";
|
version = "20.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = "marvin-${version}.deb";
|
name = "marvin-${version}.deb";
|
||||||
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
|
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
|
||||||
sha256 = "1y2vh1n80mrrbxqbhxfag8h4lisarbw8h3labmh3ajrfan7bmhql";
|
sha256 = "12kygxq24in7hbp7shkx1baqig8rwmzvv0d3kc3ld9sj9hb0a2n1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dpkg makeWrapper ];
|
nativeBuildInputs = [ dpkg makeWrapper ];
|
||||||
@ -45,4 +45,4 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -35,8 +35,8 @@ let
|
|||||||
python = python3;
|
python = python3;
|
||||||
wxPython = python3Packages.wxPython_4_0;
|
wxPython = python3Packages.wxPython_4_0;
|
||||||
|
|
||||||
kicad-libraries = callPackages ./libraries.nix versionConfig.libVersion;
|
libraries = callPackages ./libraries.nix versionConfig.libVersion;
|
||||||
kicad-base = callPackage ./base.nix {
|
base = callPackage ./base.nix {
|
||||||
pname = baseName;
|
pname = baseName;
|
||||||
inherit versions stable baseName;
|
inherit versions stable baseName;
|
||||||
inherit wxGTK python wxPython;
|
inherit wxGTK python wxPython;
|
||||||
@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
|
|||||||
inherit pname;
|
inherit pname;
|
||||||
version = versions.${baseName}.kicadVersion.version;
|
version = versions.${baseName}.kicadVersion.version;
|
||||||
|
|
||||||
src = kicad-base;
|
src = base;
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
@ -61,10 +61,10 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = optionals (scriptingSupport)
|
nativeBuildInputs = optionals (scriptingSupport)
|
||||||
[ pythonPackages.wrapPython ];
|
[ pythonPackages.wrapPython ];
|
||||||
|
|
||||||
# wrapGAppsHook added the equivalent to ${kicad-base}/share
|
# wrapGAppsHook added the equivalent to ${base}/share
|
||||||
# though i noticed no difference without it
|
# though i noticed no difference without it
|
||||||
makeWrapperArgs = [
|
makeWrapperArgs = [
|
||||||
"--prefix XDG_DATA_DIRS : ${kicad-base}/share"
|
"--prefix XDG_DATA_DIRS : ${base}/share"
|
||||||
"--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
|
"--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
|
||||||
"--prefix XDG_DATA_DIRS : ${gnome3.defaultIconTheme}/share"
|
"--prefix XDG_DATA_DIRS : ${gnome3.defaultIconTheme}/share"
|
||||||
"--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}"
|
"--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}"
|
||||||
@ -73,13 +73,13 @@ stdenv.mkDerivation rec {
|
|||||||
"--prefix XDG_DATA_DIRS : ${cups}/share"
|
"--prefix XDG_DATA_DIRS : ${cups}/share"
|
||||||
"--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules"
|
"--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules"
|
||||||
|
|
||||||
"--set KISYSMOD ${kicad-libraries.footprints}/share/kicad/modules"
|
"--set KISYSMOD ${libraries.footprints}/share/kicad/modules"
|
||||||
"--set KICAD_SYMBOL_DIR ${kicad-libraries.symbols}/share/kicad/library"
|
"--set KICAD_SYMBOL_DIR ${libraries.symbols}/share/kicad/library"
|
||||||
"--set KICAD_TEMPLATE_DIR ${kicad-libraries.templates}/share/kicad/template"
|
"--set KICAD_TEMPLATE_DIR ${libraries.templates}/share/kicad/template"
|
||||||
"--prefix KICAD_TEMPLATE_DIR : ${kicad-libraries.symbols}/share/kicad/template"
|
"--prefix KICAD_TEMPLATE_DIR : ${libraries.symbols}/share/kicad/template"
|
||||||
"--prefix KICAD_TEMPLATE_DIR : ${kicad-libraries.footprints}/share/kicad/template"
|
"--prefix KICAD_TEMPLATE_DIR : ${libraries.footprints}/share/kicad/template"
|
||||||
]
|
]
|
||||||
++ optionals (with3d) [ "--set KISYS3DMOD ${kicad-libraries.packages3d}/share/kicad/modules/packages3d" ]
|
++ optionals (with3d) [ "--set KISYS3DMOD ${libraries.packages3d}/share/kicad/modules/packages3d" ]
|
||||||
++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
|
++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
|
||||||
|
|
||||||
# infinisil's workaround for #39493
|
# infinisil's workaround for #39493
|
||||||
@ -88,30 +88,30 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# dunno why i have to add $makeWrapperArgs manually...
|
# dunno why i have to add $makeWrapperArgs manually...
|
||||||
# $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set?
|
# $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set?
|
||||||
# not sure if anything has to be done with the other stuff in kicad-base/bin
|
# not sure if anything has to be done with the other stuff in base/bin
|
||||||
# dxf2idf, idf2vrml, idfcyl, idfrect, kicad2step, kicad-ogltest
|
# dxf2idf, idf2vrml, idfcyl, idfrect, kicad2step, kicad-ogltest
|
||||||
installPhase =
|
installPhase =
|
||||||
optionalString (scriptingSupport) '' buildPythonPath "${kicad-base} $pythonPath"
|
optionalString (scriptingSupport) '' buildPythonPath "${base} $pythonPath"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/kicad $out/bin/kicad $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/kicad $out/bin/kicad $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
'' +
|
'' +
|
||||||
'' makeWrapper ${kicad-base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs ''
|
'' makeWrapper ${base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs ''
|
||||||
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
+ optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
|
||||||
''
|
''
|
||||||
;
|
;
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
# this should contain the versions' revs and hashes
|
# this should contain the versions' revs and hashes
|
||||||
# the stable revs are stored only for ease of skipping
|
# the stable revs are stored only for ease of skipping
|
||||||
|
|
||||||
# if you get something like "tar: no space left on device"
|
# by default nix-prefetch-url uses XDG_RUNTIME_DIR as tmp
|
||||||
# you may need a bigger tmpfs, this can be set as such
|
# which is /run/user/1000, which defaults to 10% of your RAM
|
||||||
# services.logind.extraConfig = "RuntimeDirectorySize=8G";
|
# unless you have over 64GB of ram that'll be insufficient
|
||||||
# this is most likely only needed for the packages3d
|
# resulting in "tar: no space left on device" for packages3d
|
||||||
# this can be checked without that config by manual TOFU
|
# hence:
|
||||||
# copy the generated items from ,versions.nix to versions.nix
|
export TMPDIR=/tmp
|
||||||
# then nix-build and see what it actually gets
|
|
||||||
|
|
||||||
# if something goes unrepairably wrong, run 'update.sh all clean'
|
# if something goes unrepairably wrong, run 'update.sh all clean'
|
||||||
|
|
||||||
@ -19,7 +18,8 @@
|
|||||||
# support parallel instances for each pname
|
# support parallel instances for each pname
|
||||||
# currently risks reusing old data
|
# currently risks reusing old data
|
||||||
# no getting around manually checking if the build product works...
|
# no getting around manually checking if the build product works...
|
||||||
# if there is, default to commiting
|
# if there is, default to commiting?
|
||||||
|
# won't work when running in parallel?
|
||||||
# remove items left in /nix/store?
|
# remove items left in /nix/store?
|
||||||
|
|
||||||
# get the latest tag that isn't an RC or *.99
|
# get the latest tag that isn't an RC or *.99
|
||||||
|
@ -27,25 +27,25 @@
|
|||||||
};
|
};
|
||||||
"kicad-unstable" = {
|
"kicad-unstable" = {
|
||||||
kicadVersion = {
|
kicadVersion = {
|
||||||
version = "2020-01-08";
|
version = "2020-02-10";
|
||||||
src = {
|
src = {
|
||||||
rev = "ca34ade00c554157f106fde97af5f08a202808ef";
|
rev = "1190e60dd426d246661e478db3287f266ec6cda2";
|
||||||
sha256 = "0xx5qkc5pi3qdrdikgq3902ws8zilv2476fb4bbgh95d9wpgr35v";
|
sha256 = "0cgfad07j69cks97llj4hf3kga0d5qf728s89xwxrzcwm06k62bi";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
libVersion = {
|
libVersion = {
|
||||||
version = "2020-01-08";
|
version = "2020-02-10";
|
||||||
libSources = {
|
libSources = {
|
||||||
i18n.rev = "e7439fd76f27cfc26e269c4e6c4d56245345c28b";
|
i18n.rev = "26786c4ca804bad7eb072f1ef381f00b5a2ff3ee";
|
||||||
i18n.sha256 = "1nqm1kx5b4f7s0f9q8bg4rdhqnp0128yp6bgnrkia1kwmfnf5gmy";
|
i18n.sha256 = "0iqr1xfw4s677afjy9bn5y41z4isp327f9y90wypkxiwwq3dfkfl";
|
||||||
symbols.rev = "ad58768b88d564fd188c6667841adec436da53f2";
|
symbols.rev = "35b7da2d211d7cc036b37ad7f5e40ef03faa1bc7";
|
||||||
symbols.sha256 = "1rdplf04bff0hmgjwr81fbcr9nkqi21n0n88nzs5fdp73mqiywcy";
|
symbols.sha256 = "0wbfw1swbfvfp47cn48pxpqlygjs3xh568ydrrs51v3w102x8y64";
|
||||||
templates.rev = "0c0490897f803ab8b7c3dad438b7eb1f80e0417c";
|
templates.rev = "0c0490897f803ab8b7c3dad438b7eb1f80e0417c";
|
||||||
templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g";
|
templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g";
|
||||||
footprints.rev = "973867de7f33f202e9fd1b3455bd1f7e7fe4a074";
|
footprints.rev = "9357b6f09312966c57fec9f66a516941d79c3038";
|
||||||
footprints.sha256 = "0yvidpnqbfxjdwaiscl5bdchsg0l4d769vp456dc8h0f3802mibi";
|
footprints.sha256 = "0cgah1q0h012ffwfl220k7qb6hgbs0i91spq2j4v3lgpfr4g638d";
|
||||||
packages3d.rev = "c2b92a411adc93ddeeed74b36b542e1057f81a2a";
|
packages3d.rev = "de368eb739abe41dfc3163e0e370477e857f9cc1";
|
||||||
packages3d.sha256 = "05znc6y2lc31iafspg308cxdda94zg6c7mwslmys76npih1pb8qc";
|
packages3d.sha256 = "0b3p5v8g24h6l7q3sbqz7ns0gnrf9l89glj86m5ybhizvls9vrrs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, zlib }:
|
{ stdenv, fetchurl, zlib }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.17.3";
|
version = "1.17.5";
|
||||||
pname = "clp";
|
pname = "clp";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz";
|
url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz";
|
||||||
sha256 = "0ws515f73vq2p4nzyq0fbnm4zp9a7mjg54szdzvkql5dj51gafx1";
|
sha256 = "0y5wg4lfffy5vh8gc20v68pmmv241ndi2jgm9pgvk39b00bzkaa9";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ zlib ];
|
propagatedBuildInputs = [ zlib ];
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "git-repo";
|
pname = "git-repo";
|
||||||
version = "1.13.9.4";
|
version = "2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "android";
|
owner = "android";
|
||||||
repo = "tools_repo";
|
repo = "tools_repo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0kkb3s472zvmz5xign25rgv7amdzhjb1wvchqxaf80g4913rw583";
|
sha256 = "077fsg2mh47c7qvqwpivkw474rpnw5xs36j23rxj2k5m700bz3hq";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./import-ssl-module.patch ];
|
patches = [ ./import-ssl-module.patch ];
|
||||||
|
@ -8,11 +8,11 @@
|
|||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "catt";
|
pname = "catt";
|
||||||
version = "0.10.2";
|
version = "0.10.3";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "0n6aa2vvbq0z3vcg4cylhpqxch783cxvxk234647knklgg9vdf1r";
|
sha256 = "08rjimcy9n7nvh4dz9693gjmkq6kaq5pq1nmjjsdrb7vb89yl53i";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{ flavor ? ""
|
{ flavor ? ""
|
||||||
, ldflags ? ""
|
|
||||||
, stdenv
|
, stdenv
|
||||||
, btrfs-progs
|
, btrfs-progs
|
||||||
, buildGoPackage
|
, buildGoPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, git
|
||||||
, glibc
|
, glibc
|
||||||
, gpgme
|
, gpgme
|
||||||
, libapparmor
|
, libapparmor
|
||||||
@ -13,13 +13,14 @@
|
|||||||
, libselinux
|
, libselinux
|
||||||
, lvm2
|
, lvm2
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
|
, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
buildTags = "apparmor seccomp selinux containers_image_ostree_stub";
|
buildTags = "apparmor seccomp selinux containers_image_ostree_stub";
|
||||||
in buildGoPackage rec {
|
in buildGoPackage rec {
|
||||||
project = "cri-o";
|
project = "cri-o";
|
||||||
version = "1.16.1";
|
version = "1.17.0";
|
||||||
name = "${project}-${version}${flavor}";
|
name = "${project}-${version}${flavor}";
|
||||||
|
|
||||||
goPackagePath = "github.com/${project}/${project}";
|
goPackagePath = "github.com/${project}/${project}";
|
||||||
@ -28,11 +29,11 @@ in buildGoPackage rec {
|
|||||||
owner = "cri-o";
|
owner = "cri-o";
|
||||||
repo = "cri-o";
|
repo = "cri-o";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0w690zhc55gdqzc31jc34nrzwd253pfb3rq23z51q22nqwmlsh9p";
|
sha256 = "0xjmylf0ww23qqcg7kw008px6608r4qq6q57pfqis0661kp6f24j";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "out" ];
|
outputs = [ "bin" "out" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ git pkgconfig which ];
|
||||||
buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror
|
buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror
|
||||||
libseccomp libselinux lvm2 ]
|
libseccomp libselinux lvm2 ]
|
||||||
++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ];
|
++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ];
|
||||||
@ -40,27 +41,15 @@ in buildGoPackage rec {
|
|||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
pushd go/src/${goPackagePath}
|
pushd go/src/${goPackagePath}
|
||||||
|
|
||||||
# Build pause
|
make BUILDTAGS='${buildTags}' \
|
||||||
make -C pause
|
bin/crio \
|
||||||
|
bin/crio-status \
|
||||||
# Build the crio binaries
|
bin/pinns
|
||||||
function build() {
|
|
||||||
go build \
|
|
||||||
-tags "${buildTags}" \
|
|
||||||
-o bin/"$1" \
|
|
||||||
-buildmode=pie \
|
|
||||||
-ldflags '-s -w ${ldflags}' \
|
|
||||||
${goPackagePath}/cmd/"$1"
|
|
||||||
}
|
|
||||||
build crio
|
|
||||||
build crio-status
|
|
||||||
'';
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
install -Dm755 bin/crio $bin/bin/crio${flavor}
|
install -Dm755 bin/crio $bin/bin/crio${flavor}
|
||||||
install -Dm755 bin/crio-status $bin/bin/crio-status${flavor}
|
install -Dm755 bin/crio-status $bin/bin/crio-status${flavor}
|
||||||
|
install -Dm755 bin/pinns $bin/bin/pinns${flavor}
|
||||||
mkdir -p $bin/libexec/crio
|
|
||||||
install -Dm755 bin/pause $bin/libexec/crio/pause${flavor}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -84,6 +84,37 @@ stdenv.mkDerivation rec {
|
|||||||
stripLen = 1;
|
stripLen = 1;
|
||||||
extraPrefix = "slirp/";
|
extraPrefix = "slirp/";
|
||||||
})
|
})
|
||||||
|
# patches listed at: https://nvd.nist.gov/vuln/detail/CVE-2020-7039
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2020-7039-1.patch";
|
||||||
|
url = "https://git.qemu.org/?p=libslirp.git;a=patch;h=2655fffed7a9e765bcb4701dd876e9dab975f289";
|
||||||
|
sha256 = "1jh0k3lg3553c2x1kq1kl3967jabhba5gm584wjpmr5mjqk3lnz1";
|
||||||
|
stripLen = 1;
|
||||||
|
extraPrefix = "slirp/";
|
||||||
|
excludes = ["slirp/CHANGELOG.md"];
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2020-7039-2.patch";
|
||||||
|
url = "https://git.qemu.org/?p=libslirp.git;a=patch;h=82ebe9c370a0e2970fb5695aa19aa5214a6a1c80";
|
||||||
|
sha256 = "08ccxcmrhzknnzd1a1q2brszv3a7h02n26r73kpli10b0hn12r2l";
|
||||||
|
stripLen = 1;
|
||||||
|
extraPrefix = "slirp/";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2020-7039-3.patch";
|
||||||
|
url = "https://git.qemu.org/?p=libslirp.git;a=patch;h=ce131029d6d4a405cb7d3ac6716d03e58fb4a5d9";
|
||||||
|
sha256 = "18ypj9an2jmsmdn58853rbz42r10587h7cz5fdws2x4635778ibd";
|
||||||
|
stripLen = 1;
|
||||||
|
extraPrefix = "slirp/";
|
||||||
|
})
|
||||||
|
# patches listed at: https://nvd.nist.gov/vuln/detail/CVE-2020-7211
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2020-7211.patch";
|
||||||
|
url = "https://git.qemu.org/?p=libslirp.git;a=patch;h=14ec36e107a8c9af7d0a80c3571fe39b291ff1d4";
|
||||||
|
sha256 = "1lc8zabqs580iqrsr5k7zwgkx6qjmja7apwfbc36lkvnrxwfzmrc";
|
||||||
|
stripLen = 1;
|
||||||
|
extraPrefix = "slirp/";
|
||||||
|
})
|
||||||
] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
|
] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
|
||||||
++ optionals stdenv.hostPlatform.isMusl [
|
++ optionals stdenv.hostPlatform.isMusl [
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
|
@ -2,25 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "recursive";
|
pname = "recursive";
|
||||||
version = "1.022";
|
version = "1.030";
|
||||||
|
|
||||||
srcs = [
|
src = fetchzip {
|
||||||
(fetchzip {
|
url = "https://github.com/arrowtype/recursive/releases/download/${version}/recursive-beta_1_030--statics.zip";
|
||||||
name = "${pname}";
|
sha256 = "1clds4ljiqdf0zc3b7nlna1w7kc23pc9gxdd5vwbgmz9xfvkam0f";
|
||||||
url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-beta_1_022.zip";
|
stripRoot = false;
|
||||||
sha256 = "09nr1fli7ksv8z4yb25c4xidwsqq50av18qrybsy4kqy5c22957v";
|
};
|
||||||
stripRoot = false;
|
|
||||||
})
|
|
||||||
|
|
||||||
(fetchzip {
|
|
||||||
name = "${pname}-static";
|
|
||||||
url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-static_fonts-b020.zip";
|
|
||||||
sha256 = "1wlj113gjm26ra9y2r2b3syis2wx0mjq2m8i8xpwscp1kflma1r6";
|
|
||||||
stripRoot = false;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
sourceRoot = ".";
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/share/fonts/{opentype,truetype,woff2}
|
mkdir -p $out/share/fonts/{opentype,truetype,woff2}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flat-remix-icon-theme";
|
pname = "flat-remix-icon-theme";
|
||||||
version = "20191018";
|
version = "20191122";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "daniruiz";
|
owner = "daniruiz";
|
||||||
repo = "flat-remix";
|
repo = "flat-remix";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "13ibxvrvri04lb5phm49b6d553jh0aigm57z5i0nsins405gixn9";
|
sha256 = "1rv35r52l7xxjpajwli0md07k3xl7xplbw919vjmsb1hhrzavzzg";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [ gtk3 ];
|
||||||
|
@ -17,13 +17,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cinnamon-desktop";
|
pname = "cinnamon-desktop";
|
||||||
version = "4.4.0";
|
version = "4.4.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "17hb8gkb9pfj56ckva5g4x83yvmdv7hvpidxjsdf79dw6pabr5rg";
|
sha256 = "10db5rai8cbbzphvcwarr3hm1bd9rxchlc0hcghg7qnmvv52fq03";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -66,8 +66,9 @@ let
|
|||||||
# Remove old versions of elixir, when the supports fades out:
|
# Remove old versions of elixir, when the supports fades out:
|
||||||
# https://hexdocs.pm/elixir/compatibility-and-deprecations.html
|
# https://hexdocs.pm/elixir/compatibility-and-deprecations.html
|
||||||
|
|
||||||
lfe = lfe_1_2;
|
lfe = lfe_1_3;
|
||||||
lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
|
lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
|
||||||
|
lfe_1_3 = lib.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
|
||||||
|
|
||||||
# Non hex packages. Examples how to build Rebar/Mix packages with and
|
# Non hex packages. Examples how to build Rebar/Mix packages with and
|
||||||
# without helper functions buildRebar3 and buildMix.
|
# without helper functions buildRebar3 and buildMix.
|
||||||
|
@ -30,9 +30,8 @@ stdenv.mkDerivation {
|
|||||||
cp ${custom-ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
|
cp ${custom-ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configurePhase = ''
|
# avoid building the development version, will break aarch64 build
|
||||||
node scripts/ninja.js config
|
dontConfigure = true;
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
# This is an unfortunate name, but it's actually how to build a release
|
# This is an unfortunate name, but it's actually how to build a release
|
||||||
|
@ -21,8 +21,5 @@ in
|
|||||||
license = licenses.lgpl3;
|
license = licenses.lgpl3;
|
||||||
maintainers = with maintainers; [ turbomack gamb anmonteiro ];
|
maintainers = with maintainers; [ turbomack gamb anmonteiro ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
# Currently there is an issue with aarch build in hydra
|
|
||||||
# https://github.com/BuckleScript/bucklescript/issues/4091
|
|
||||||
badPlatforms = platforms.aarch64;
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchFromGitHub, which, m4, python, bison, flex, llvmPackages,
|
{stdenv, fetchFromGitHub, cmake, which, m4, python, bison, flex, llvmPackages,
|
||||||
testedTargets ? ["sse2"] # the default test target is sse4, but that is not supported by all Hydra agents
|
testedTargets ? ["sse2"] # the default test target is sse4, but that is not supported by all Hydra agents
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -17,11 +17,9 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1x07n2gaff3v32yvddrb659mx5gg12bnbsqbyfimp396wn04w60b";
|
sha256 = "1x07n2gaff3v32yvddrb659mx5gg12bnbsqbyfimp396wn04w60b";
|
||||||
};
|
};
|
||||||
|
|
||||||
# there are missing dependencies in the Makefile, causing sporadic build failures
|
|
||||||
enableParallelBuilding = false;
|
|
||||||
|
|
||||||
doCheck = stdenv.isLinux;
|
doCheck = stdenv.isLinux;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = with llvmPackages; [
|
buildInputs = with llvmPackages; [
|
||||||
which
|
which
|
||||||
m4
|
m4
|
||||||
@ -32,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
llvmPackages.clang-unwrapped # we need to link against libclang, so we need the unwrapped
|
llvmPackages.clang-unwrapped # we need to link against libclang, so we need the unwrapped
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = "sed -i -e 's,/bin/,,g' -e 's/-lcurses/-lncurses/g' Makefile";
|
postPatch = "sed -i -e 's/curses/ncurses/g' CMakeLists.txt";
|
||||||
|
|
||||||
# TODO: this correctly catches errors early, but also some things that are just weird and don't seem to be real
|
# TODO: this correctly catches errors early, but also some things that are just weird and don't seem to be real
|
||||||
# errors
|
# errors
|
||||||
@ -40,27 +38,23 @@ stdenv.mkDerivation rec {
|
|||||||
# makeFlagsArray=( SHELL="${bash}/bin/bash -o pipefail" )
|
# makeFlagsArray=( SHELL="${bash}/bin/bash -o pipefail" )
|
||||||
#'';
|
#'';
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp ispc $out/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
export ISPC_HOME=$PWD
|
export ISPC_HOME=$PWD/bin
|
||||||
for target in $testedTargets
|
for target in $testedTargets
|
||||||
do
|
do
|
||||||
echo "Testing target $target"
|
echo "Testing target $target"
|
||||||
echo "================================"
|
echo "================================"
|
||||||
echo
|
echo
|
||||||
PATH=${llvmPackages.clang}/bin:$PATH python run_tests.py -t $target --non-interactive --verbose --file=test_output.log
|
(cd ../
|
||||||
fgrep -q "No new fails" test_output.log || exit 1
|
PATH=${llvmPackages.clang}/bin:$PATH python run_tests.py -t $target --non-interactive --verbose --file=test_output.log
|
||||||
|
fgrep -q "No new fails" test_output.log || exit 1)
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = [
|
cmakeFlags = [
|
||||||
"CXX=${stdenv.cc}/bin/clang++"
|
"-DCLANG_EXECUTABLE=${llvmPackages.clang}/bin/clang"
|
||||||
"CLANG=${stdenv.cc}/bin/clang"
|
"-DISPC_INCLUDE_EXAMPLES=OFF"
|
||||||
"CLANG_INCLUDE=${llvmPackages.clang-unwrapped}/include"
|
"-DISPC_INCLUDE_UTILS=OFF"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -1,24 +1,23 @@
|
|||||||
{ stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, dune
|
{ stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, dune
|
||||||
, menhir, merlin-extend, ppx_tools_versioned, utop, cppo
|
, fix, menhir, merlin-extend, ppx_tools_versioned, utop, cppo
|
||||||
, ocaml_lwt
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ocaml${ocaml.version}-reason-${version}";
|
name = "ocaml${ocaml.version}-reason-${version}";
|
||||||
version = "3.5.1";
|
version = "3.5.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "facebook";
|
owner = "facebook";
|
||||||
repo = "reason";
|
repo = "reason";
|
||||||
rev = "aea245a43eb44034d2fccac7028b640a437af239";
|
rev = "e3287476e5c3f0cbcd9dc7ab18d290f81f4afa0c";
|
||||||
sha256 = "0ff7rjxbsg9zkq6sxlm9bkx7yk8x2cvras7z8436msczgd1wmmyf";
|
sha256 = "02p5d1x6lr7jp9mvgvsas3nnq3a97chxp5q6rl07n5qm61d5b4dl";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ menhir merlin-extend ppx_tools_versioned ];
|
propagatedBuildInputs = [ menhir merlin-extend ppx_tools_versioned ];
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib dune cppo utop menhir ];
|
buildInputs = [ ocaml findlib dune cppo fix utop menhir ];
|
||||||
|
|
||||||
buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
|
buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
|
||||||
|
|
||||||
@ -27,8 +26,8 @@ stdenv.mkDerivation rec {
|
|||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/rtop \
|
wrapProgram $out/bin/rtop \
|
||||||
--prefix PATH : "${utop}/bin" \
|
--prefix PATH : "${utop}/bin" \
|
||||||
--prefix CAML_LD_LIBRARY_PATH : "${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib" \
|
--prefix CAML_LD_LIBRARY_PATH : "$CAML_LD_LIBRARY_PATH" \
|
||||||
--prefix OCAMLPATH : "$out/lib/ocaml/${ocaml.version}/site-lib"
|
--prefix OCAMLPATH : "$OCAMLPATH:$OCAMLFIND_DESTDIR"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -10,11 +10,11 @@ in
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sdcc";
|
pname = "sdcc";
|
||||||
version = "3.9.0";
|
version = "4.0.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
|
url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
|
||||||
sha256 = "0dn0cy6whcrvbfh9x467jdi8dmzjrvixz2bz63pgxwzpz9rsxv4l";
|
sha256 = "042fxw5mnsfhpc0z9lxfsw88kdkm32pwrxacp88kj2n2dy0814a8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ autoconf bison boost flex gputils texinfo zlib ];
|
buildInputs = [ autoconf bison boost flex gputils texinfo zlib ];
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# How to obtain `sha256`:
|
# How to obtain `sha256`:
|
||||||
# nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
|
# nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
version = "1.10.0";
|
version = "1.10.1";
|
||||||
sha256 = "1fz22c2jqqm2jvzxar11bh1djg3kqdn5rbxdddlz0cv6mfz7hvgv";
|
sha256 = "07iccn90yp11ms58mwkwd9ixd9vma0025l9zm6l7y0jjzrj3vycy";
|
||||||
minimumOTPVersion = "21";
|
minimumOTPVersion = "21";
|
||||||
}
|
}
|
||||||
|
@ -73,6 +73,6 @@ in
|
|||||||
|
|
||||||
license = licenses.epl10;
|
license = licenses.epl10;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ the-kenny havvy couchemar ankhers ];
|
maintainers = with maintainers; [ the-kenny havvy couchemar ankhers filalex77 ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user