Merge staging-next into staging
This commit is contained in:
commit
5f8b0d7d99
32
.github/stale.yml
vendored
Normal file
32
.github/stale.yml
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# Number of days of inactivity before an issue becomes stale
|
||||||
|
daysUntilStale: 180
|
||||||
|
# Number of days of inactivity before a stale issue is closed
|
||||||
|
daysUntilClose: false
|
||||||
|
# Issues with these labels will never be considered stale
|
||||||
|
exemptLabels:
|
||||||
|
- 1.severity: security
|
||||||
|
# Label to use when marking an issue as stale
|
||||||
|
staleLabel: 2.status: stale
|
||||||
|
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||||
|
markComment: >
|
||||||
|
Thank you for your contributions.
|
||||||
|
|
||||||
|
This has been automatically marked as stale because it has had no
|
||||||
|
activity for 180 days.
|
||||||
|
|
||||||
|
If this is still important to you, we ask that you leave a
|
||||||
|
comment below. Your comment can be as simple as "still important
|
||||||
|
to me". This lets people see that at least one person still cares
|
||||||
|
about this. Someone will have to do this at most twice a year if
|
||||||
|
there is no other activity.
|
||||||
|
|
||||||
|
Here are suggestions that might help resolve this more quickly:
|
||||||
|
|
||||||
|
1. Search for maintainers and people that previously touched the
|
||||||
|
related code and @ mention them in a comment.
|
||||||
|
2. Ask on the [NixOS Discourse](https://discourse.nixos.org/).
|
||||||
|
3. Ask on the [#nixos channel](irc://irc.freenode.net/#nixos) on
|
||||||
|
[irc.freenode.net](https://freenode.net).
|
||||||
|
|
||||||
|
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||||
|
closeComment: false
|
@ -441,7 +441,7 @@ Additional information.
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If you're cherry-picking a commit to a stable release branch, always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
|
If you're cherry-picking a commit to a stable release branch (“backporting”), always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
An example of a cherry-picked commit would look like this:
|
An example of a cherry-picked commit would look like this:
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<literal>packages</literal>: a set of package sets, each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
|
<literal>packages</literal>: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -36,15 +36,11 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
To create a package set built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package set similar to <literal>beam.packages.erlang</literal>.
|
To create a package builder built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package builder similar to <literal>beam.packages.erlang</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled. For example, there's <literal>beam.interpreters.erlangR19_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR19</literal>.
|
Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's <literal>beam.interpreters.erlangR22_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal> and <literal>beam.interpreters.erlangR22_nox</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal>.
|
||||||
</para>
|
|
||||||
|
|
||||||
<para xml:id="erlang-call-package">
|
|
||||||
We also provide the lambda, <literal>beam.packages.erlang.callPackage</literal>, which simplifies writing BEAM package definitions by injecting all packages from <literal>beam.packages.erlang</literal> into the top-level context.
|
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@ -55,7 +51,7 @@
|
|||||||
<title>Rebar3</title>
|
<title>Rebar3</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
We provide a version of Rebar3, which is the normal, unmodified Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
|
We provide a version of Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@ -72,32 +68,14 @@
|
|||||||
<title>How to Install BEAM Packages</title>
|
<title>How to Install BEAM Packages</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
BEAM packages are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. They are installable using the <literal>beam.packages.erlang</literal> attribute set (aliased as <literal>beamPackages</literal>), which points to packages built by the default Erlang/OTP version in Nixpkgs, as defined by <literal>beam.interpreters.erlang</literal>. To list the available packages in <literal>beamPackages</literal>, use the following command:
|
BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users.
|
||||||
|
To install any of those builders into your profile, refer to them by their attribute path <literal>beamPackages.rebar3</literal>:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
<prompt>$ </prompt>nix-env -f "<nixpkgs>" -qaP -A beamPackages
|
<prompt>$ </prompt>nix-env -f "<nixpkgs>" -iA beamPackages.rebar3
|
||||||
beamPackages.esqlite esqlite-0.2.1
|
</screen>
|
||||||
beamPackages.goldrush goldrush-0.1.7
|
</section>
|
||||||
beamPackages.ibrowse ibrowse-4.2.2
|
|
||||||
beamPackages.jiffy jiffy-0.14.5
|
|
||||||
beamPackages.lager lager-3.0.2
|
|
||||||
beamPackages.meck meck-0.8.3
|
|
||||||
beamPackages.rebar3-pc pc-1.1.0
|
|
||||||
</screen>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To install any of those packages into your profile, refer to them by their attribute path (first column):
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </prompt>nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse
|
|
||||||
</screen>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The attribute path of any BEAM package corresponds to the name of that particular package in <link xlink:href="https://hex.pm">Hex</link> or its OTP Application/Release name.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section xml:id="packaging-beam-applications">
|
<section xml:id="packaging-beam-applications">
|
||||||
<title>Packaging BEAM Applications</title>
|
<title>Packaging BEAM Applications</title>
|
||||||
@ -109,35 +87,7 @@ beamPackages.rebar3-pc pc-1.1.0
|
|||||||
<title>Rebar3 Packages</title>
|
<title>Rebar3 Packages</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project. For example, we can build <link
|
The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project.
|
||||||
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> as follows:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
{ stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }:
|
|
||||||
|
|
||||||
buildRebar3 rec {
|
|
||||||
name = "hex2nix";
|
|
||||||
version = "0.0.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "ericbmerritt";
|
|
||||||
repo = "hex2nix";
|
|
||||||
rev = "${version}";
|
|
||||||
sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg";
|
|
||||||
};
|
|
||||||
|
|
||||||
beamDeps = [ ibrowse jsx erlware_commons ];
|
|
||||||
}
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Such derivations are callable with <literal>beam.packages.erlang.callPackage</literal> (see <xref
|
|
||||||
linkend="erlang-call-package"/>). To call this package using the normal <literal>callPackage</literal>, refer to dependency packages via <literal>beamPackages</literal>, e.g. <literal>beamPackages.ibrowse</literal>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Notably, <literal>buildRebar3</literal> includes <literal>beamDeps</literal>, while <literal>stdenv.mkDerivation</literal> does not. BEAM dependencies added there will be correctly handled by the system.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -152,30 +102,6 @@ buildRebar3 rec {
|
|||||||
Erlang.mk functions similarly to Rebar3, except we use <literal>buildErlangMk</literal> instead of <literal>buildRebar3</literal>.
|
Erlang.mk functions similarly to Rebar3, except we use <literal>buildErlangMk</literal> instead of <literal>buildRebar3</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
{ buildErlangMk, fetchHex, cowlib, ranch }:
|
|
||||||
|
|
||||||
buildErlangMk {
|
|
||||||
name = "cowboy";
|
|
||||||
version = "1.0.4";
|
|
||||||
|
|
||||||
src = fetchHex {
|
|
||||||
pkg = "cowboy";
|
|
||||||
version = "1.0.4";
|
|
||||||
sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac";
|
|
||||||
};
|
|
||||||
|
|
||||||
beamDeps = [ cowlib ranch ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = ''
|
|
||||||
Small, fast, modular HTTP server written in Erlang
|
|
||||||
'';
|
|
||||||
license = stdenv.lib.licenses.isc;
|
|
||||||
homepage = https://github.com/ninenines/cowboy;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
</programlisting>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section xml:id="mix-packages">
|
<section xml:id="mix-packages">
|
||||||
@ -185,57 +111,9 @@ buildErlangMk {
|
|||||||
Mix functions similarly to Rebar3, except we use <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
|
Mix functions similarly to Rebar3, except we use <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
{ buildMix, fetchHex, plug, absinthe }:
|
|
||||||
|
|
||||||
buildMix {
|
|
||||||
name = "absinthe_plug";
|
|
||||||
version = "1.0.0";
|
|
||||||
|
|
||||||
src = fetchHex {
|
|
||||||
pkg = "absinthe_plug";
|
|
||||||
version = "1.0.0";
|
|
||||||
sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
|
|
||||||
};
|
|
||||||
|
|
||||||
beamDeps = [ plug absinthe ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = ''
|
|
||||||
A plug for Absinthe, an experimental GraphQL toolkit
|
|
||||||
'';
|
|
||||||
license = stdenv.lib.licenses.bsd3;
|
|
||||||
homepage = https://github.com/CargoSense/absinthe_plug;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Alternatively, we can use <literal>buildHex</literal> as a shortcut:
|
Alternatively, we can use <literal>buildHex</literal> as a shortcut:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
{ buildHex, buildMix, plug, absinthe }:
|
|
||||||
|
|
||||||
buildHex {
|
|
||||||
name = "absinthe_plug";
|
|
||||||
version = "1.0.0";
|
|
||||||
|
|
||||||
sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
|
|
||||||
|
|
||||||
builder = buildMix;
|
|
||||||
|
|
||||||
beamDeps = [ plug absinthe ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = ''
|
|
||||||
A plug for Absinthe, an experimental GraphQL toolkit
|
|
||||||
'';
|
|
||||||
license = stdenv.lib.licenses.bsd3;
|
|
||||||
homepage = https://github.com/CargoSense/absinthe_plug;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
</programlisting>
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
@ -243,65 +121,12 @@ buildHex {
|
|||||||
<section xml:id="how-to-develop">
|
<section xml:id="how-to-develop">
|
||||||
<title>How to Develop</title>
|
<title>How to Develop</title>
|
||||||
|
|
||||||
<section xml:id="accessing-an-environment">
|
|
||||||
<title>Accessing an Environment</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Often, we simply want to access a valid environment that contains a specific package and its dependencies. We can accomplish that with the <literal>env</literal> attribute of a derivation. For example, let's say we want to access an Erlang REPL with <literal>ibrowse</literal> loaded up. We could do the following:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </prompt><userinput>nix-shell -A beamPackages.ibrowse.env --run "erl"</userinput>
|
|
||||||
<computeroutput>Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
|
|
||||||
|
|
||||||
Eshell V7.0 (abort with ^G)</computeroutput>
|
|
||||||
<prompt>1> </prompt><userinput>m(ibrowse).</userinput>
|
|
||||||
<computeroutput>Module: ibrowse
|
|
||||||
MD5: 3b3e0137d0cbb28070146978a3392945
|
|
||||||
Compiled: January 10 2016, 23:34
|
|
||||||
Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam
|
|
||||||
Compiler options: [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"},
|
|
||||||
debug_info,debug_info,nowarn_shadow_vars,
|
|
||||||
warn_unused_import,warn_unused_vars,warnings_as_errors,
|
|
||||||
{i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}]
|
|
||||||
Exports:
|
|
||||||
add_config/1 send_req_direct/7
|
|
||||||
all_trace_off/0 set_dest/3
|
|
||||||
code_change/3 set_max_attempts/3
|
|
||||||
get_config_value/1 set_max_pipeline_size/3
|
|
||||||
get_config_value/2 set_max_sessions/3
|
|
||||||
get_metrics/0 show_dest_status/0
|
|
||||||
get_metrics/2 show_dest_status/1
|
|
||||||
handle_call/3 show_dest_status/2
|
|
||||||
handle_cast/2 spawn_link_worker_process/1
|
|
||||||
handle_info/2 spawn_link_worker_process/2
|
|
||||||
init/1 spawn_worker_process/1
|
|
||||||
module_info/0 spawn_worker_process/2
|
|
||||||
module_info/1 start/0
|
|
||||||
rescan_config/0 start_link/0
|
|
||||||
rescan_config/1 stop/0
|
|
||||||
send_req/3 stop_worker_process/1
|
|
||||||
send_req/4 stream_close/1
|
|
||||||
send_req/5 stream_next/1
|
|
||||||
send_req/6 terminate/2
|
|
||||||
send_req_direct/4 trace_off/0
|
|
||||||
send_req_direct/5 trace_off/2
|
|
||||||
send_req_direct/6 trace_on/0
|
|
||||||
trace_on/2
|
|
||||||
ok</computeroutput>
|
|
||||||
<prompt>2></prompt>
|
|
||||||
</screen>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key to this functionality.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section xml:id="creating-a-shell">
|
<section xml:id="creating-a-shell">
|
||||||
<title>Creating a Shell</title>
|
<title>Creating a Shell</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Getting access to an environment often isn't enough to do real development. Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. This file looks a lot like the packaging described above, except that <literal>src</literal> points to the project root and we call the package directly.
|
Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. Just install your version of erlang and other interpreter, and then user your normal build tools.
|
||||||
|
As an example with elixir:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
@ -311,114 +136,24 @@ with pkgs;
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
f = { buildRebar3, ibrowse, jsx, erlware_commons }:
|
elixir = beam.packages.erlangR22.elixir_1_9;
|
||||||
buildRebar3 {
|
|
||||||
name = "hex2nix";
|
|
||||||
version = "0.1.0";
|
|
||||||
src = ./.;
|
|
||||||
beamDeps = [ ibrowse jsx erlware_commons ];
|
|
||||||
};
|
|
||||||
drv = beamPackages.callPackage f {};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
mkShell {
|
||||||
|
buildInputs = [ elixir ];
|
||||||
|
|
||||||
drv
|
ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
|
||||||
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
<section xml:id="building-in-a-shell">
|
<section xml:id="building-in-a-shell">
|
||||||
<title>Building in a Shell (for Mix Projects)</title>
|
<title>Building in a Shell (for Mix Projects)</title>
|
||||||
|
|
||||||
<para>
|
|
||||||
We can leverage the support of the derivation, irrespective of the build derivation, by calling the commands themselves.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
# =============================================================================
|
|
||||||
# Variables
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
NIX_TEMPLATES := "$(CURDIR)/nix-templates"
|
|
||||||
|
|
||||||
TARGET := "$(PREFIX)"
|
|
||||||
|
|
||||||
PROJECT_NAME := thorndyke
|
|
||||||
|
|
||||||
NIXPKGS=../nixpkgs
|
|
||||||
NIX_PATH=nixpkgs=$(NIXPKGS)
|
|
||||||
NIX_SHELL=nix-shell -I "$(NIX_PATH)" --pure
|
|
||||||
# =============================================================================
|
|
||||||
# Rules
|
|
||||||
# =============================================================================
|
|
||||||
.PHONY= all test clean repl shell build test analyze configure install \
|
|
||||||
test-nix-install publish plt analyze
|
|
||||||
|
|
||||||
all: build
|
|
||||||
|
|
||||||
guard-%:
|
|
||||||
@ if [ "${${*}}" == "" ]; then \
|
|
||||||
echo "Environment variable $* not set"; \
|
|
||||||
exit 1; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf _build
|
|
||||||
rm -rf .cache
|
|
||||||
|
|
||||||
repl:
|
|
||||||
$(NIX_SHELL) --run "iex -pa './_build/prod/lib/*/ebin'"
|
|
||||||
|
|
||||||
shell:
|
|
||||||
$(NIX_SHELL)
|
|
||||||
|
|
||||||
configure:
|
|
||||||
$(NIX_SHELL) --command 'eval "$$configurePhase"'
|
|
||||||
|
|
||||||
build: configure
|
|
||||||
$(NIX_SHELL) --command 'eval "$$buildPhase"'
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(NIX_SHELL) --command 'eval "$$installPhase"'
|
|
||||||
|
|
||||||
test:
|
|
||||||
$(NIX_SHELL) --command 'mix test --no-start --no-deps-check'
|
|
||||||
|
|
||||||
plt:
|
|
||||||
$(NIX_SHELL) --run "mix dialyzer.plt --no-deps-check"
|
|
||||||
|
|
||||||
analyze: build plt
|
|
||||||
$(NIX_SHELL) --run "mix dialyzer --no-compile"
|
|
||||||
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Using a <literal>shell.nix</literal> as described (see <xref
|
Using a <literal>shell.nix</literal> as described (see <xref
|
||||||
linkend="creating-a-shell"/>) should just work. Aside from <literal>test</literal>, <literal>plt</literal>, and <literal>analyze</literal>, the Make targets work just fine for all of the build derivations.
|
linkend="creating-a-shell"/>) should just work.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section xml:id="generating-packages-from-hex-with-hex2nix">
|
|
||||||
<title>Generating Packages from Hex with <literal>hex2nix</literal></title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Updating the <link xlink:href="https://hex.pm">Hex</link> package set requires <link
|
|
||||||
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>. Given the path to the Erlang modules (usually <literal>pkgs/development/erlang-modules</literal>), it will dump a file called <literal>hex-packages.nix</literal>, containing all the packages that use a recognized build system in <link
|
|
||||||
xlink:href="https://hex.pm">Hex</link>. It can't be determined, however, whether every package is buildable.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To make life easier for our users, try to build every <link
|
|
||||||
xlink:href="https://hex.pm">Hex</link> package and remove those that fail. To do that, simply run the following command in the root of your <literal>nixpkgs</literal> repository:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </prompt>nix-build -A beamPackages
|
|
||||||
</screen>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
That will attempt to build every package in <literal>beamPackages</literal>. Then manually remove those that fail. Hopefully, someone will improve <link
|
|
||||||
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> in the future to automate the process.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -944,6 +944,12 @@
|
|||||||
githubId = 5718007;
|
githubId = 5718007;
|
||||||
name = "Bastian Köcher";
|
name = "Bastian Köcher";
|
||||||
};
|
};
|
||||||
|
blitz = {
|
||||||
|
email = "js@alien8.de";
|
||||||
|
github = "blitz";
|
||||||
|
githubId = 37907;
|
||||||
|
name = "Julian Stecklina";
|
||||||
|
};
|
||||||
bluescreen303 = {
|
bluescreen303 = {
|
||||||
email = "mathijs@bluescreen303.nl";
|
email = "mathijs@bluescreen303.nl";
|
||||||
github = "bluescreen303";
|
github = "bluescreen303";
|
||||||
@ -1399,6 +1405,12 @@
|
|||||||
githubId = 1740337;
|
githubId = 1740337;
|
||||||
name = "Chris Ostrouchov";
|
name = "Chris Ostrouchov";
|
||||||
};
|
};
|
||||||
|
contrun = {
|
||||||
|
email = "uuuuuu@protonmail.com";
|
||||||
|
github = "contrun";
|
||||||
|
githubId = 32609395;
|
||||||
|
name = "B YI";
|
||||||
|
};
|
||||||
couchemar = {
|
couchemar = {
|
||||||
email = "couchemar@yandex.ru";
|
email = "couchemar@yandex.ru";
|
||||||
github = "couchemar";
|
github = "couchemar";
|
||||||
@ -2092,6 +2104,12 @@
|
|||||||
email = "mpcervin@uncg.edu";
|
email = "mpcervin@uncg.edu";
|
||||||
name = "Mabry Cervin";
|
name = "Mabry Cervin";
|
||||||
};
|
};
|
||||||
|
equirosa = {
|
||||||
|
email = "eduardo@eduardoquiros.com";
|
||||||
|
github = "equirosa";
|
||||||
|
githubId = 39096810;
|
||||||
|
name = "Eduardo Quiros";
|
||||||
|
};
|
||||||
eqyiel = {
|
eqyiel = {
|
||||||
email = "ruben@maher.fyi";
|
email = "ruben@maher.fyi";
|
||||||
github = "eqyiel";
|
github = "eqyiel";
|
||||||
@ -2289,6 +2307,16 @@
|
|||||||
githubId = 415760;
|
githubId = 415760;
|
||||||
name = "Jonas Höglund";
|
name = "Jonas Höglund";
|
||||||
};
|
};
|
||||||
|
Flakebi = {
|
||||||
|
email = "flakebi@t-online.de";
|
||||||
|
github = "Flakebi";
|
||||||
|
githubId = "Flakebi";
|
||||||
|
name = "Sebastian Neubauer";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0xECC755EE583C1672";
|
||||||
|
fingerprint = "2F93 661D AC17 EA98 A104 F780 ECC7 55EE 583C 1672";
|
||||||
|
}];
|
||||||
|
};
|
||||||
flexw = {
|
flexw = {
|
||||||
email = "felix.weilbach@t-online.de";
|
email = "felix.weilbach@t-online.de";
|
||||||
github = "FlexW";
|
github = "FlexW";
|
||||||
@ -2631,6 +2659,12 @@
|
|||||||
githubId = 9705357;
|
githubId = 9705357;
|
||||||
name = "Guillaume Bouchard";
|
name = "Guillaume Bouchard";
|
||||||
};
|
};
|
||||||
|
GuillaumeDesforges = {
|
||||||
|
email = "aceus02@gmail.com";
|
||||||
|
github = "GuillaumeDesforges";
|
||||||
|
githubId = 1882000;
|
||||||
|
name = "Guillaume Desforges";
|
||||||
|
};
|
||||||
guillaumekoenig = {
|
guillaumekoenig = {
|
||||||
email = "guillaume.edward.koenig@gmail.com";
|
email = "guillaume.edward.koenig@gmail.com";
|
||||||
github = "guillaumekoenig";
|
github = "guillaumekoenig";
|
||||||
@ -3374,6 +3408,12 @@
|
|||||||
github = "juliendehos";
|
github = "juliendehos";
|
||||||
name = "Julien Dehos";
|
name = "Julien Dehos";
|
||||||
};
|
};
|
||||||
|
jumper149 = {
|
||||||
|
email = "felixspringer149@gmail.com";
|
||||||
|
github = "jumper149";
|
||||||
|
githubId = 39434424;
|
||||||
|
name = "Felix Springer";
|
||||||
|
};
|
||||||
justinwoo = {
|
justinwoo = {
|
||||||
email = "moomoowoo@gmail.com";
|
email = "moomoowoo@gmail.com";
|
||||||
github = "justinwoo";
|
github = "justinwoo";
|
||||||
@ -3910,6 +3950,22 @@
|
|||||||
github = "lovek323";
|
github = "lovek323";
|
||||||
name = "Jason O'Conal";
|
name = "Jason O'Conal";
|
||||||
};
|
};
|
||||||
|
lovesegfault = {
|
||||||
|
email = "meurerbernardo@gmail.com";
|
||||||
|
github = "lovesegfault";
|
||||||
|
githubId = 7243783;
|
||||||
|
name = "Bernardo Meurer";
|
||||||
|
keys = [
|
||||||
|
{
|
||||||
|
longkeyid = "rsa2048/0xE421C74191EA186C";
|
||||||
|
fingerprint = "5894 12CE 19DF 582A E10A 3320 E421 C741 91EA 186C";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
longkeyid = "rsa2048/0x4A6D87A0E7475769";
|
||||||
|
fingerprint = "56A8 E164 E834 290C 4AC0 EE3E 4A6D 87A0 E747 5769";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
lowfatcomputing = {
|
lowfatcomputing = {
|
||||||
email = "andreas.wagner@lowfatcomputing.org";
|
email = "andreas.wagner@lowfatcomputing.org";
|
||||||
github = "lowfatcomputing";
|
github = "lowfatcomputing";
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
can select an alternative one by picking one of the following lines:
|
can select an alternative one by picking one of the following lines:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
|
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
|
||||||
<xref linkend="opt-services.xserver.displayManager.slim.enable"/> = true;
|
<xref linkend="opt-services.xserver.displayManager.gdm.enable"/> = true;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -99,7 +99,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
|
|||||||
<para>
|
<para>
|
||||||
As an example, we will take the case of display managers. There is a central
|
As an example, we will take the case of display managers. There is a central
|
||||||
display manager module for generic display manager options and a module file
|
display manager module for generic display manager options and a module file
|
||||||
per display manager backend (slim, sddm, gdm ...).
|
per display manager backend (sddm, gdm ...).
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -146,7 +146,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
|
|||||||
/>), and to extend
|
/>), and to extend
|
||||||
it in each backend module
|
it in each backend module
|
||||||
(<xref
|
(<xref
|
||||||
linkend='ex-option-declaration-eot-backend-slim' />,
|
linkend='ex-option-declaration-eot-backend-gdm' />,
|
||||||
<xref
|
<xref
|
||||||
linkend='ex-option-declaration-eot-backend-sddm' />).
|
linkend='ex-option-declaration-eot-backend-sddm' />).
|
||||||
</para>
|
</para>
|
||||||
@ -167,11 +167,11 @@ services.xserver.displayManager.enable = mkOption {
|
|||||||
};</screen>
|
};</screen>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
<example xml:id='ex-option-declaration-eot-backend-slim'>
|
<example xml:id='ex-option-declaration-eot-backend-gdm'>
|
||||||
<title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>slim</literal> module</title>
|
<title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>gdm</literal> module</title>
|
||||||
<screen>
|
<screen>
|
||||||
services.xserver.displayManager.enable = mkOption {
|
services.xserver.displayManager.enable = mkOption {
|
||||||
type = with types; nullOr (enum [ "slim" ]);
|
type = with types; nullOr (enum [ "gdm" ]);
|
||||||
};</screen>
|
};</screen>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="sec-running-nixos-tests">
|
xml:id="sec-running-nixos-tests-interactively">
|
||||||
<title>Running Tests interactively</title>
|
<title>Running Tests interactively</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="sec-running-nixos-tests-interactively">
|
xml:id="sec-running-nixos-tests">
|
||||||
<title>Running Tests</title>
|
<title>Running Tests</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -543,7 +543,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <option>networking.useDHCP</option> option is unsupported in combination with
|
The <option>networking.useDHCP</option> option is unsupported in combination with
|
||||||
<option>networking.useNetworkd</option> in anticipation of defaulting to it by default.
|
<option>networking.useNetworkd</option> in anticipation of defaulting to it.
|
||||||
It has to be set to <literal>false</literal> and enabled per
|
It has to be set to <literal>false</literal> and enabled per
|
||||||
interface with <option>networking.interfaces.<name>.useDHCP = true;</option>
|
interface with <option>networking.interfaces.<name>.useDHCP = true;</option>
|
||||||
</para>
|
</para>
|
||||||
|
@ -71,7 +71,11 @@
|
|||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para />
|
<para>
|
||||||
|
The kubernetes kube-proxy now supports a new hostname configuration
|
||||||
|
<literal>services.kubernetes.proxy.hostname</literal> which has to
|
||||||
|
be set if the hostname of the node should be non default.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
@ -138,6 +142,19 @@
|
|||||||
Now, all bash code is held to the same high standard, and the rather complex stateful manipulation of the options can be discarded.
|
Now, all bash code is held to the same high standard, and the rather complex stateful manipulation of the options can be discarded.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The SLIM Display Manager has been removed, as it has been unmaintained since 2013.
|
||||||
|
Consider migrating to a different display manager such as LightDM (current default in NixOS),
|
||||||
|
SDDM, GDM, or using the startx module which uses Xinitrc.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The BEAM package set has been deleted. You will only find there the different interpreters.
|
||||||
|
You should now use the different build tools coming with the languages with sandbox mode disabled.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -261,7 +261,6 @@ in rec {
|
|||||||
inherit require;
|
inherit require;
|
||||||
virtualisation.memorySize = 1024;
|
virtualisation.memorySize = 1024;
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.displayManager.slim.enable = false;
|
|
||||||
services.xserver.displayManager.auto.enable = true;
|
services.xserver.displayManager.auto.enable = true;
|
||||||
services.xserver.windowManager.default = "icewm";
|
services.xserver.windowManager.default = "icewm";
|
||||||
services.xserver.windowManager.icewm.enable = true;
|
services.xserver.windowManager.icewm.enable = true;
|
||||||
|
@ -248,7 +248,6 @@ in rec {
|
|||||||
inherit require;
|
inherit require;
|
||||||
virtualisation.memorySize = 1024;
|
virtualisation.memorySize = 1024;
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.displayManager.slim.enable = false;
|
|
||||||
services.xserver.displayManager.auto.enable = true;
|
services.xserver.displayManager.auto.enable = true;
|
||||||
services.xserver.windowManager.default = "icewm";
|
services.xserver.windowManager.default = "icewm";
|
||||||
services.xserver.windowManager.icewm.enable = true;
|
services.xserver.windowManager.icewm.enable = true;
|
||||||
|
@ -75,7 +75,7 @@ in
|
|||||||
|
|
||||||
Note that this configuration will only be successful when a display manager
|
Note that this configuration will only be successful when a display manager
|
||||||
for which the <option>services.xserver.displayManager.setupCommands</option>
|
for which the <option>services.xserver.displayManager.setupCommands</option>
|
||||||
option is supported is used; notably, SLiM is not supported.
|
option is supported is used.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.5.0";
|
version = "1.6.4";
|
||||||
cfg = config.services.kubernetes.addons.dns;
|
cfg = config.services.kubernetes.addons.dns;
|
||||||
ports = {
|
ports = {
|
||||||
dns = 10053;
|
dns = 10053;
|
||||||
@ -55,9 +55,9 @@ in {
|
|||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
default = {
|
default = {
|
||||||
imageName = "coredns/coredns";
|
imageName = "coredns/coredns";
|
||||||
imageDigest = "sha256:e83beb5e43f8513fa735e77ffc5859640baea30a882a11cc75c4c3244a737d3c";
|
imageDigest = "sha256:493ee88e1a92abebac67cbd4b5658b4730e0f33512461442d8d9214ea6734a9b";
|
||||||
finalImageTag = version;
|
finalImageTag = version;
|
||||||
sha256 = "15sbmhrxjxidj0j0cccn1qxpg6al175w43m6ngspl0mc132zqc9q";
|
sha256 = "0fm9zdjavpf5hni8g7fkdd3csjbhd7n7py7llxjc66sbii087028";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -68,7 +68,7 @@ in {
|
|||||||
|
|
||||||
services.kubernetes.addonManager.bootstrapAddons = {
|
services.kubernetes.addonManager.bootstrapAddons = {
|
||||||
coredns-cr = {
|
coredns-cr = {
|
||||||
apiVersion = "rbac.authorization.k8s.io/v1beta1";
|
apiVersion = "rbac.authorization.k8s.io/v1";
|
||||||
kind = "ClusterRole";
|
kind = "ClusterRole";
|
||||||
metadata = {
|
metadata = {
|
||||||
labels = {
|
labels = {
|
||||||
@ -94,7 +94,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
coredns-crb = {
|
coredns-crb = {
|
||||||
apiVersion = "rbac.authorization.k8s.io/v1beta1";
|
apiVersion = "rbac.authorization.k8s.io/v1";
|
||||||
kind = "ClusterRoleBinding";
|
kind = "ClusterRoleBinding";
|
||||||
metadata = {
|
metadata = {
|
||||||
annotations = {
|
annotations = {
|
||||||
@ -170,7 +170,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
coredns-deploy = {
|
coredns-deploy = {
|
||||||
apiVersion = "extensions/v1beta1";
|
apiVersion = "apps/v1";
|
||||||
kind = "Deployment";
|
kind = "Deployment";
|
||||||
metadata = {
|
metadata = {
|
||||||
labels = {
|
labels = {
|
||||||
|
@ -40,6 +40,7 @@ in
|
|||||||
cni.config = mkDefault [{
|
cni.config = mkDefault [{
|
||||||
name = "mynet";
|
name = "mynet";
|
||||||
type = "flannel";
|
type = "flannel";
|
||||||
|
cniVersion = "0.3.1";
|
||||||
delegate = {
|
delegate = {
|
||||||
isDefaultGateway = true;
|
isDefaultGateway = true;
|
||||||
bridge = "docker0";
|
bridge = "docker0";
|
||||||
|
@ -92,7 +92,7 @@ in
|
|||||||
default = [];
|
default = [];
|
||||||
example = literalExample ''
|
example = literalExample ''
|
||||||
[{
|
[{
|
||||||
"cniVersion": "0.2.0",
|
"cniVersion": "0.3.1",
|
||||||
"name": "mynet",
|
"name": "mynet",
|
||||||
"type": "bridge",
|
"type": "bridge",
|
||||||
"bridge": "cni0",
|
"bridge": "cni0",
|
||||||
@ -106,7 +106,7 @@ in
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
} {
|
} {
|
||||||
"cniVersion": "0.2.0",
|
"cniVersion": "0.3.1",
|
||||||
"type": "loopback"
|
"type": "loopback"
|
||||||
}]
|
}]
|
||||||
'';
|
'';
|
||||||
|
@ -31,6 +31,12 @@ in
|
|||||||
type = listOf str;
|
type = listOf str;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hostname = mkOption {
|
||||||
|
description = "Kubernetes proxy hostname override.";
|
||||||
|
default = config.networking.hostName;
|
||||||
|
type = str;
|
||||||
|
};
|
||||||
|
|
||||||
kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy";
|
kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy";
|
||||||
|
|
||||||
verbosity = mkOption {
|
verbosity = mkOption {
|
||||||
@ -59,6 +65,7 @@ in
|
|||||||
"--cluster-cidr=${top.clusterCidr}"} \
|
"--cluster-cidr=${top.clusterCidr}"} \
|
||||||
${optionalString (cfg.featureGates != [])
|
${optionalString (cfg.featureGates != [])
|
||||||
"--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
|
"--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
|
||||||
|
--hostname-override=${cfg.hostname} \
|
||||||
--kubeconfig=${top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig} \
|
--kubeconfig=${top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig} \
|
||||||
${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \
|
${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \
|
||||||
${cfg.extraOpts}
|
${cfg.extraOpts}
|
||||||
@ -69,6 +76,8 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.kubernetes.proxy.hostname = with config.networking; mkDefault hostName;
|
||||||
|
|
||||||
services.kubernetes.pki.certs = {
|
services.kubernetes.pki.certs = {
|
||||||
kubeProxyClient = top.lib.mkCert {
|
kubeProxyClient = top.lib.mkCert {
|
||||||
name = "kube-proxy-client";
|
name = "kube-proxy-client";
|
||||||
|
@ -41,5 +41,7 @@ in {
|
|||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.lorri ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@ let
|
|||||||
daemonService = appName: args:
|
daemonService = appName: args:
|
||||||
{ description = "Samba Service Daemon ${appName}";
|
{ description = "Samba Service Daemon ${appName}";
|
||||||
|
|
||||||
|
after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") ];
|
||||||
requiredBy = [ "samba.target" ];
|
requiredBy = [ "samba.target" ];
|
||||||
partOf = [ "samba.target" ];
|
partOf = [ "samba.target" ];
|
||||||
|
|
||||||
|
@ -128,12 +128,6 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.etc."yggdrasil.conf" = {
|
|
||||||
enable = true;
|
|
||||||
mode = "symlink";
|
|
||||||
source = "/run/yggdrasil/yggdrasil.conf";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.yggdrasil = {
|
systemd.services.yggdrasil = {
|
||||||
description = "Yggdrasil Network Service";
|
description = "Yggdrasil Network Service";
|
||||||
path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq;
|
path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq;
|
||||||
@ -146,7 +140,7 @@ in {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /etc/yggdrasil.conf";
|
ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /run/yggdrasil/yggdrasil.conf";
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ let
|
|||||||
(if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
|
(if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
|
||||||
then "--credentials=${toString credFile}"
|
then "--credentials=${toString credFile}"
|
||||||
else "--no-auth")
|
else "--no-auth")
|
||||||
|
"--addr=${address}:${toString port}"
|
||||||
] ++ extraOptions);
|
] ++ extraOptions);
|
||||||
|
|
||||||
in {
|
in {
|
||||||
@ -177,7 +178,7 @@ in {
|
|||||||
systemd.services.magneticod = {
|
systemd.services.magneticod = {
|
||||||
description = "Magnetico DHT crawler";
|
description = "Magnetico DHT crawler";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network-online.target" ];
|
after = [ "network.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = "magnetico";
|
User = "magnetico";
|
||||||
@ -189,7 +190,7 @@ in {
|
|||||||
systemd.services.magneticow = {
|
systemd.services.magneticow = {
|
||||||
description = "Magnetico web interface";
|
description = "Magnetico web interface";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network-online.target" "magneticod.service"];
|
after = [ "network.target" "magneticod.service"];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = "magnetico";
|
User = "magnetico";
|
||||||
@ -202,7 +203,7 @@ in {
|
|||||||
assertions =
|
assertions =
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { };
|
assertion = cfg.web.credentialsFile == null || cfg.web.credentials == { };
|
||||||
message = ''
|
message = ''
|
||||||
The options services.magnetico.web.credentialsFile and
|
The options services.magnetico.web.credentialsFile and
|
||||||
services.magnetico.web.credentials are mutually exclusives.
|
services.magnetico.web.credentials are mutually exclusives.
|
||||||
|
@ -232,7 +232,6 @@ in
|
|||||||
security.pam.services.kdm.enableKwallet = true;
|
security.pam.services.kdm.enableKwallet = true;
|
||||||
security.pam.services.lightdm.enableKwallet = true;
|
security.pam.services.lightdm.enableKwallet = true;
|
||||||
security.pam.services.sddm.enableKwallet = true;
|
security.pam.services.sddm.enableKwallet = true;
|
||||||
security.pam.services.slim.enableKwallet = true;
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# This module declares the options to define a *display manager*, the
|
# This module declares the options to define a *display manager*, the
|
||||||
# program responsible for handling X logins (such as xdm, gdb, or
|
# program responsible for handling X logins (such as LightDM, GDM, or SDDM).
|
||||||
# SLiM). The display manager allows the user to select a *session
|
# The display manager allows the user to select a *session
|
||||||
# type*. When the user logs in, the display manager starts the
|
# type*. When the user logs in, the display manager starts the
|
||||||
# *session script* ("xsession" below) to launch the selected session
|
# *session script* ("xsession" below) to launch the selected session
|
||||||
# type. The session type defines two things: the *desktop manager*
|
# type. The session type defines two things: the *desktop manager*
|
||||||
@ -196,7 +196,6 @@ let
|
|||||||
fi
|
fi
|
||||||
'') cfg.displayManager.extraSessionFilePackages}
|
'') cfg.displayManager.extraSessionFilePackages}
|
||||||
|
|
||||||
|
|
||||||
${concatMapStrings (pkg: ''
|
${concatMapStrings (pkg: ''
|
||||||
if test -d ${pkg}/share/wayland-sessions; then
|
if test -d ${pkg}/share/wayland-sessions; then
|
||||||
mkdir -p "$out/share/wayland-sessions"
|
mkdir -p "$out/share/wayland-sessions"
|
||||||
@ -322,7 +321,7 @@ in
|
|||||||
execCmd = mkOption {
|
execCmd = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = literalExample ''
|
example = literalExample ''
|
||||||
"''${pkgs.slim}/bin/slim"
|
"''${pkgs.lightdm}/bin/lightdm"
|
||||||
'';
|
'';
|
||||||
description = "Command to start the display manager.";
|
description = "Command to start the display manager.";
|
||||||
};
|
};
|
||||||
@ -330,7 +329,6 @@ in
|
|||||||
environment = mkOption {
|
environment = mkOption {
|
||||||
type = types.attrsOf types.unspecified;
|
type = types.attrsOf types.unspecified;
|
||||||
default = {};
|
default = {};
|
||||||
example = { SLIM_CFGFILE = "/etc/slim.conf"; };
|
|
||||||
description = "Additional environment variables needed by the display manager.";
|
description = "Additional environment variables needed by the display manager.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,155 +2,15 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
dmcfg = config.services.xserver.displayManager;
|
|
||||||
|
|
||||||
cfg = dmcfg.slim;
|
|
||||||
|
|
||||||
slimConfig = pkgs.writeText "slim.cfg"
|
|
||||||
''
|
|
||||||
xauth_path ${dmcfg.xauthBin}
|
|
||||||
default_xserver ${dmcfg.xserverBin}
|
|
||||||
xserver_arguments ${toString dmcfg.xserverArgs}
|
|
||||||
sessiondir ${dmcfg.session.desktops}/share/xsessions
|
|
||||||
login_cmd exec ${pkgs.runtimeShell} ${dmcfg.session.wrapper} "%session"
|
|
||||||
halt_cmd ${config.systemd.package}/sbin/shutdown -h now
|
|
||||||
reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
|
|
||||||
logfile /dev/stderr
|
|
||||||
${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)}
|
|
||||||
${optionalString (cfg.defaultUser != null) ("focus_password yes")}
|
|
||||||
${optionalString cfg.autoLogin "auto_login yes"}
|
|
||||||
${optionalString (cfg.consoleCmd != null) "console_cmd ${cfg.consoleCmd}"}
|
|
||||||
${cfg.extraConfig}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Unpack the SLiM theme, or use the default.
|
|
||||||
slimThemesDir =
|
|
||||||
let
|
|
||||||
unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; }
|
|
||||||
''
|
|
||||||
mkdir -p $out
|
|
||||||
cd $out
|
|
||||||
unpackFile ${cfg.theme}
|
|
||||||
ln -s * default
|
|
||||||
'';
|
|
||||||
in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme;
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# added 2019-11-11
|
||||||
###### interface
|
imports = [
|
||||||
|
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "slim" ] ''
|
||||||
options = {
|
The SLIM project is abandoned and their last release was in 2013.
|
||||||
|
Because of this it poses a security risk to your system.
|
||||||
services.xserver.displayManager.slim = {
|
Other issues include it not fully supporting systemd and logind sessions.
|
||||||
|
Please use a different display manager such as LightDM, SDDM, or GDM.
|
||||||
enable = mkOption {
|
You can also use the startx module which uses Xinitrc.
|
||||||
type = types.bool;
|
'')
|
||||||
default = false;
|
];
|
||||||
description = ''
|
|
||||||
Whether to enable SLiM as the display manager.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.nullOr types.path;
|
|
||||||
default = pkgs.fetchurl {
|
|
||||||
url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
|
|
||||||
sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
|
|
||||||
};
|
|
||||||
defaultText = ''pkgs.fetchurl {
|
|
||||||
url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
|
|
||||||
sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
|
|
||||||
}'';
|
|
||||||
example = literalExample ''
|
|
||||||
pkgs.fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
|
|
||||||
sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy";
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
description = ''
|
|
||||||
The theme for the SLiM login manager. If not specified, SLiM's
|
|
||||||
default theme is used. See <link
|
|
||||||
xlink:href='http://slim.berlios.de/themes01.php'/> for a
|
|
||||||
collection of themes. TODO: berlios shut down.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultUser = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
default = null;
|
|
||||||
example = "login";
|
|
||||||
description = ''
|
|
||||||
The default user to load. If you put a username here you
|
|
||||||
get it automatically loaded into the username field, and
|
|
||||||
the focus is placed on the password.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
autoLogin = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Automatically log in as the default user.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = mkOption {
|
|
||||||
type = types.lines;
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
Extra configuration options for SLiM login manager. Do not
|
|
||||||
add options that can be configured directly.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
consoleCmd = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
default = ''
|
|
||||||
${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ${pkgs.shadow}/bin/login
|
|
||||||
'';
|
|
||||||
defaultText = ''
|
|
||||||
''${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ''${pkgs.shadow}/bin/login
|
|
||||||
'';
|
|
||||||
description = ''
|
|
||||||
The command to run when "console" is given as the username.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
|
|
||||||
services.xserver.displayManager.job =
|
|
||||||
{ environment =
|
|
||||||
{ SLIM_CFGFILE = slimConfig;
|
|
||||||
SLIM_THEMESDIR = slimThemesDir;
|
|
||||||
};
|
|
||||||
execCmd = "exec ${pkgs.slim}/bin/slim";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.displayManager.sessionCommands =
|
|
||||||
''
|
|
||||||
# Export the config/themes for slimlock.
|
|
||||||
export SLIM_THEMESDIR=${slimThemesDir}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Allow null passwords so that the user can login as root on the
|
|
||||||
# installation CD.
|
|
||||||
security.pam.services.slim = { allowNullPassword = true; startSession = true; };
|
|
||||||
|
|
||||||
# Allow slimlock to work.
|
|
||||||
security.pam.services.slimlock = {};
|
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.slim ];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -557,7 +557,6 @@ in
|
|||||||
default = !( dmconf.auto.enable
|
default = !( dmconf.auto.enable
|
||||||
|| dmconf.gdm.enable
|
|| dmconf.gdm.enable
|
||||||
|| dmconf.sddm.enable
|
|| dmconf.sddm.enable
|
||||||
|| dmconf.slim.enable
|
|
||||||
|| dmconf.xpra.enable );
|
|| dmconf.xpra.enable );
|
||||||
in mkIf (default) true;
|
in mkIf (default) true;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||||||
#
|
#
|
||||||
# One particular example are the boot tests where we want instrumentation
|
# One particular example are the boot tests where we want instrumentation
|
||||||
# within the images but not other stuff like setting up 9p filesystems.
|
# within the images but not other stuff like setting up 9p filesystems.
|
||||||
options.virtualisation.qemu.program = mkOption { type = types.path; };
|
options.virtualisation.qemu = { };
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
|
@ -133,7 +133,6 @@ in rec {
|
|||||||
(all nixos.tests.proxy)
|
(all nixos.tests.proxy)
|
||||||
(all nixos.tests.sddm.default)
|
(all nixos.tests.sddm.default)
|
||||||
(all nixos.tests.simple)
|
(all nixos.tests.simple)
|
||||||
(all nixos.tests.slim)
|
|
||||||
(all nixos.tests.switchTest)
|
(all nixos.tests.switchTest)
|
||||||
(all nixos.tests.udisks2)
|
(all nixos.tests.udisks2)
|
||||||
(all nixos.tests.xfce)
|
(all nixos.tests.xfce)
|
||||||
|
@ -148,6 +148,7 @@ in
|
|||||||
loki = handleTest ./loki.nix {};
|
loki = handleTest ./loki.nix {};
|
||||||
#logstash = handleTest ./logstash.nix {};
|
#logstash = handleTest ./logstash.nix {};
|
||||||
lorri = handleTest ./lorri/default.nix {};
|
lorri = handleTest ./lorri/default.nix {};
|
||||||
|
magnetico = handleTest ./magnetico.nix {};
|
||||||
mailcatcher = handleTest ./mailcatcher.nix {};
|
mailcatcher = handleTest ./mailcatcher.nix {};
|
||||||
mathics = handleTest ./mathics.nix {};
|
mathics = handleTest ./mathics.nix {};
|
||||||
matomo = handleTest ./matomo.nix {};
|
matomo = handleTest ./matomo.nix {};
|
||||||
@ -248,7 +249,6 @@ in
|
|||||||
shiori = handleTest ./shiori.nix {};
|
shiori = handleTest ./shiori.nix {};
|
||||||
signal-desktop = handleTest ./signal-desktop.nix {};
|
signal-desktop = handleTest ./signal-desktop.nix {};
|
||||||
simple = handleTest ./simple.nix {};
|
simple = handleTest ./simple.nix {};
|
||||||
slim = handleTest ./slim.nix {};
|
|
||||||
slurm = handleTest ./slurm.nix {};
|
slurm = handleTest ./slurm.nix {};
|
||||||
smokeping = handleTest ./smokeping.nix {};
|
smokeping = handleTest ./smokeping.nix {};
|
||||||
snapper = handleTest ./snapper.nix {};
|
snapper = handleTest ./snapper.nix {};
|
||||||
|
@ -53,6 +53,7 @@ let
|
|||||||
services.flannel.iface = "eth1";
|
services.flannel.iface = "eth1";
|
||||||
services.kubernetes = {
|
services.kubernetes = {
|
||||||
addons.dashboard.enable = true;
|
addons.dashboard.enable = true;
|
||||||
|
proxy.hostname = "${masterName}.${domain}";
|
||||||
|
|
||||||
easyCerts = true;
|
easyCerts = true;
|
||||||
inherit (machine) roles;
|
inherit (machine) roles;
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
import ./make-test.nix ({ pkgs, ...} : {
|
import ./make-test-python.nix ({ pkgs, ...} :
|
||||||
|
|
||||||
|
let
|
||||||
|
port = 8081;
|
||||||
|
in
|
||||||
|
{
|
||||||
name = "magnetico";
|
name = "magnetico";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ rnhmjoj ];
|
maintainers = [ rnhmjoj ];
|
||||||
@ -12,17 +17,24 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
services.magnetico = {
|
services.magnetico = {
|
||||||
enable = true;
|
enable = true;
|
||||||
crawler.port = 9000;
|
crawler.port = 9000;
|
||||||
|
web.port = port;
|
||||||
web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
|
web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript =
|
testScript =
|
||||||
''
|
''
|
||||||
startAll;
|
start_all()
|
||||||
$machine->waitForUnit("magneticod");
|
machine.wait_for_unit("magneticod")
|
||||||
$machine->waitForUnit("magneticow");
|
machine.wait_for_unit("magneticow")
|
||||||
$machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
|
machine.succeed(
|
||||||
$machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
|
"${pkgs.curl}/bin/curl "
|
||||||
$machine->shutdown();
|
+ "-u user:password http://localhost:${toString port}"
|
||||||
|
)
|
||||||
|
assert "Unauthorised." in machine.succeed(
|
||||||
|
"${pkgs.curl}/bin/curl "
|
||||||
|
+ "-u user:wrongpwd http://localhost:${toString port}"
|
||||||
|
)
|
||||||
|
machine.shutdown()
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -25,6 +25,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
roundcube.wait_for_unit("postgresql.service")
|
roundcube.wait_for_unit("postgresql.service")
|
||||||
roundcube.wait_for_unit("phpfpm-roundcube.service")
|
roundcube.wait_for_unit("phpfpm-roundcube.service")
|
||||||
roundcube.wait_for_unit("nginx.service")
|
roundcube.wait_for_unit("nginx.service")
|
||||||
roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'")
|
roundcube.succeed("curl -sSL http://roundcube/ | grep 'Keep me logged in'")
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
import ./make-test.nix ({ pkgs, ...} : {
|
|
||||||
name = "slim";
|
|
||||||
|
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
|
||||||
maintainers = [ aszlig ];
|
|
||||||
};
|
|
||||||
|
|
||||||
machine = { pkgs, ... }: {
|
|
||||||
imports = [ ./common/user-account.nix ];
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.xserver.windowManager.default = "icewm";
|
|
||||||
services.xserver.windowManager.icewm.enable = true;
|
|
||||||
services.xserver.desktopManager.default = "none";
|
|
||||||
services.xserver.displayManager.slim = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# Use a custom theme in order to get best OCR results
|
|
||||||
theme = pkgs.runCommand "slim-theme-ocr" {
|
|
||||||
nativeBuildInputs = [ pkgs.imagemagick ];
|
|
||||||
} ''
|
|
||||||
mkdir "$out"
|
|
||||||
convert -size 1x1 xc:white "$out/background.jpg"
|
|
||||||
convert -size 200x100 xc:white "$out/panel.jpg"
|
|
||||||
cat > "$out/slim.theme" <<EOF
|
|
||||||
background_color #ffffff
|
|
||||||
background_style tile
|
|
||||||
|
|
||||||
input_fgcolor #000000
|
|
||||||
msg_color #000000
|
|
||||||
|
|
||||||
session_color #000000
|
|
||||||
session_font Verdana:size=16:bold
|
|
||||||
|
|
||||||
username_msg Username:
|
|
||||||
username_font Verdana:size=16:bold
|
|
||||||
username_color #000000
|
|
||||||
username_x 50%
|
|
||||||
username_y 40%
|
|
||||||
|
|
||||||
password_msg Password:
|
|
||||||
password_x 50%
|
|
||||||
password_y 40%
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
enableOCR = true;
|
|
||||||
|
|
||||||
testScript = { nodes, ... }: let
|
|
||||||
user = nodes.machine.config.users.users.alice;
|
|
||||||
in ''
|
|
||||||
startAll;
|
|
||||||
$machine->waitForText(qr/Username:/);
|
|
||||||
$machine->sendChars("${user.name}\n");
|
|
||||||
$machine->waitForText(qr/Password:/);
|
|
||||||
$machine->sendChars("${user.password}\n");
|
|
||||||
|
|
||||||
$machine->waitForFile('${user.home}/.Xauthority');
|
|
||||||
$machine->succeed('xauth merge ${user.home}/.Xauthority');
|
|
||||||
$machine->waitForWindow('^IceWM ');
|
|
||||||
|
|
||||||
# Make sure SLiM doesn't create a log file
|
|
||||||
$machine->fail('test -e /var/log/slim.log');
|
|
||||||
'';
|
|
||||||
})
|
|
22
nixos/tests/spike.nix
Normal file
22
nixos/tests/spike.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
riscvPkgs = import ../.. { crossSystem = pkgs.stdenv.lib.systems.examples.riscv64-embedded; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "spike";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ blitz ]; };
|
||||||
|
|
||||||
|
machine = { pkgs, lib, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.spike riscvPkgs.riscv-pk riscvPkgs.hello ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Run the RISC-V hello applications using the proxy kernel on the
|
||||||
|
# Spike emulator and see whether we get the expected output.
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
machine.wait_for_unit("multi-user.target")
|
||||||
|
output = machine.succeed("spike -m64 $(which pk) $(which hello)")
|
||||||
|
assert output == "Hello, world!\n"
|
||||||
|
'';
|
||||||
|
})
|
@ -81,7 +81,7 @@ in import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
denyDhcpcdInterfaces = [ "ygg0" ];
|
denyDhcpcdInterfaces = [ "ygg0" ];
|
||||||
config = {
|
config = {
|
||||||
IfTAPMode = true;
|
IfTAPMode = true;
|
||||||
IFName = "ygg0";
|
IfName = "ygg0";
|
||||||
MulticastInterfaces = [ "eth1" ];
|
MulticastInterfaces = [ "eth1" ];
|
||||||
LinkLocalTCPPort = 43210;
|
LinkLocalTCPPort = 43210;
|
||||||
};
|
};
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "avldrums.lv2";
|
pname = "avldrums.lv2";
|
||||||
version = "0.3.5";
|
version = "0.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "x42";
|
owner = "x42";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "00n2varc7iwp0xbfi45hpq4vlpxxb2kbrdzvrc20qp2265994bqf";
|
sha256 = "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, libjack2, gettext, intltool, guile_2_0, lilypond
|
, libjack2, gettext, intltool, guile_2_0, lilypond
|
||||||
, glib, libxml2, librsvg, libsndfile, aubio
|
, glib, libxml2, librsvg, libsndfile, aubio
|
||||||
, gtk3, gtksourceview, evince, fluidsynth, rubberband
|
, gtk3, gtksourceview, evince, fluidsynth, rubberband
|
||||||
, portaudio, portmidi, fftw, makeWrapper }:
|
, portaudio, portmidi, fftw, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "denemo";
|
pname = "denemo";
|
||||||
@ -14,17 +14,21 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libjack2 gettext guile_2_0 lilypond pkgconfig glib libxml2 librsvg libsndfile
|
libjack2 guile_2_0 lilypond glib libxml2 librsvg libsndfile
|
||||||
aubio gtk3 gtksourceview evince fluidsynth rubberband portaudio fftw portmidi
|
aubio gtk3 gtksourceview evince fluidsynth rubberband portaudio fftw portmidi
|
||||||
makeWrapper
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
preFixup = ''
|
||||||
wrapProgram $out/bin/denemo --prefix PATH : ${lilypond}/bin
|
gappsWrapperArgs+=(
|
||||||
|
--prefix PATH : "${lilypond}/bin"
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
wrapGAppsHook
|
||||||
intltool
|
intltool
|
||||||
|
gettext
|
||||||
|
pkgconfig
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
28
pkgs/applications/audio/ensemble-chorus/default.nix
Normal file
28
pkgs/applications/audio/ensemble-chorus/default.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, fltk, alsaLib, freetype, libXrandr, libXinerama, libXcursor, lv2, libjack2, cmake, pkgconfig }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "ensemble-chorus";
|
||||||
|
version = "unstable-15-02-2019";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jpcima";
|
||||||
|
repo = pname;
|
||||||
|
rev = "59baeb86b8851f521bc8162e22e3f15061662cc3";
|
||||||
|
sha256 = "0c1y10vyhrihcjvxqpqf6b52yk5yhwh813cfp6nla5ax2w88dbhr";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
fltk alsaLib freetype libXrandr libXinerama libXcursor lv2 libjack2
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/jpcima/ensemble-chorus;
|
||||||
|
description = "Digital model of electronic string ensemble chorus";
|
||||||
|
maintainers = [ maintainers.magnetophon ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.boost;
|
||||||
|
};
|
||||||
|
}
|
43
pkgs/applications/audio/giada/default.nix
Normal file
43
pkgs/applications/audio/giada/default.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ lib, stdenv, fetchFromGitHub, autoreconfHook,
|
||||||
|
fltk, jansson, rtmidi, libsamplerate, libsndfile,
|
||||||
|
jack2, alsaLib, libpulseaudio,
|
||||||
|
libXpm, libXinerama, libXcursor }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "giada";
|
||||||
|
version = "0.15.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "monocasual";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0a5lqzxs417alpjr42q5197v6dwgrc74434znszk4lfhivr88p8v";
|
||||||
|
};
|
||||||
|
|
||||||
|
configureFlags = [ "--target=linux" ];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
fltk
|
||||||
|
libsndfile
|
||||||
|
libsamplerate
|
||||||
|
jansson
|
||||||
|
rtmidi
|
||||||
|
libXpm
|
||||||
|
jack2
|
||||||
|
alsaLib
|
||||||
|
libpulseaudio
|
||||||
|
libXinerama
|
||||||
|
libXcursor
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians";
|
||||||
|
homepage = "https://giadamusic.com/";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ petabyteboy ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
broken = stdenv.hostPlatform.isAarch64; # produces build failure on aarch64-linux
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/applications/audio/gxmatcheq-lv2/default.nix
Normal file
30
pkgs/applications/audio/gxmatcheq-lv2/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkgconfig }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "GxMatchEQ.lv2";
|
||||||
|
version = "0.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "brummer10";
|
||||||
|
repo = pname;
|
||||||
|
rev = "V${version}";
|
||||||
|
sha256 = "0azdmgzqwjn26nx38iw13666a1i4y2bv39wk89pf6ihdi46klf72";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
buildInputs = [
|
||||||
|
xorg.libX11 xorgproto cairo lv2
|
||||||
|
];
|
||||||
|
|
||||||
|
# error: format not a string literal and no format arguments [-Werror=format-security]
|
||||||
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/brummer10/GxMatchEQ.lv2;
|
||||||
|
description = "Matching Equalizer to apply EQ curve from one source to another source";
|
||||||
|
maintainers = [ maintainers.magnetophon ];
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
|
}
|
@ -1,5 +1,12 @@
|
|||||||
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, ncurses
|
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, ncurses
|
||||||
, mpd_clientlib, gettext, boost }:
|
, mpd_clientlib, gettext, boost
|
||||||
|
, pcreSupport ? false
|
||||||
|
, pcre ? null
|
||||||
|
}:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
assert pcreSupport -> pcre != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ncmpc";
|
pname = "ncmpc";
|
||||||
@ -12,14 +19,14 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1ssmk1p43gjhcqi86sh6b7csqpwwpf3hs32cmnylv6pmbcwbs69h";
|
sha256 = "1ssmk1p43gjhcqi86sh6b7csqpwwpf3hs32cmnylv6pmbcwbs69h";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ glib ncurses mpd_clientlib boost ];
|
buildInputs = [ glib ncurses mpd_clientlib boost ]
|
||||||
|
++ optional pcreSupport pcre;
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig gettext ];
|
nativeBuildInputs = [ meson ninja pkgconfig gettext ];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Dlirc=disabled"
|
"-Dlirc=disabled"
|
||||||
"-Dregex=disabled"
|
|
||||||
"-Ddocumentation=disabled"
|
"-Ddocumentation=disabled"
|
||||||
];
|
] ++ optional (!pcreSupport) "-Dregex=disabled";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Curses-based interface for MPD (music player daemon)";
|
description = "Curses-based interface for MPD (music player daemon)";
|
||||||
|
@ -2,19 +2,17 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "spotify-tui";
|
pname = "spotify-tui";
|
||||||
version = "0.8.0";
|
version = "0.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Rigellute";
|
owner = "Rigellute";
|
||||||
repo = "spotify-tui";
|
repo = "spotify-tui";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0pgmcld48sd34jpsc4lr8dbqs8iwk0xp9aa3b15m61mv3lf04qc6";
|
sha256 = "1bbh9df4gfgb5pqavgvmy8fqnr2j5rbqbanv0y31j4i0kv2wrh6a";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1rb4dl9zn3xx2yrapx5cfsli93ggmdq8w9fqi8cy8giyja1mnqfl";
|
cargoSha256 = "1rb4dl9zn3xx2yrapx5cfsli93ggmdq8w9fqi8cy8giyja1mnqfl";
|
||||||
|
|
||||||
cargoPatches = [ ./fix-cargo-lock-version.patch ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ openssl ]
|
buildInputs = [ openssl ]
|
||||||
++ stdenv.lib.optional stdenv.isDarwin Security;
|
++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff --git i/Cargo.lock w/Cargo.lock
|
|
||||||
index e1eae72..e004898 100644
|
|
||||||
--- i/Cargo.lock
|
|
||||||
+++ w/Cargo.lock
|
|
||||||
@@ -1310,7 +1310,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "spotify-tui"
|
|
||||||
-version = "0.7.5"
|
|
||||||
+version = "0.8.0"
|
|
||||||
dependencies = [
|
|
||||||
"backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
34
pkgs/applications/audio/stone-phaser/default.nix
Normal file
34
pkgs/applications/audio/stone-phaser/default.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, xorg, cairo, lv2, libjack2, mesa, pkgconfig }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "stone-phaser";
|
||||||
|
version = "0.1.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jpcima";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "180b32z8h9zi8p0q55r1dzxfckamnngm52zjypjjvvy7qdj3mfcd";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
buildInputs = [
|
||||||
|
xorg.libX11 cairo lv2 libjack2 mesa
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patch -d dpf -p 1 -i "$src/resources/patch/DPF-bypass.patch"
|
||||||
|
patchShebangs ./dpf/utils/generate-ttl.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/jpcima/stone-phaser;
|
||||||
|
description = "A classic analog phaser effect, made with DPF and Faust";
|
||||||
|
maintainers = [ maintainers.magnetophon ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.boost;
|
||||||
|
};
|
||||||
|
}
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "ledger-live-desktop";
|
pname = "ledger-live-desktop";
|
||||||
version = "1.15.0";
|
version = "1.18.2";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
|
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
|
||||||
sha256 = "0r7gm7q7gj39v36jd5xz20931za94nf2fpf3clbghkhlbrm0kbnq";
|
sha256 = "1giy8xg1yfv7b7gh98dmfc05wh54xqpd53nanacwcc7lakzizqnn";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "lnd";
|
pname = "lnd";
|
||||||
version = "0.7.1-beta";
|
version = "0.8.1-beta";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lightningnetwork";
|
owner = "lightningnetwork";
|
||||||
repo = "lnd";
|
repo = "lnd";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry";
|
sha256 = "0f9fx2y66l3wxiax2vl2966avamjarkv3vbn9dy0wbxkwg4pfayb";
|
||||||
};
|
};
|
||||||
|
|
||||||
modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73";
|
modSha256 = "1i6xw2amkg4azvzybcl4pqxif9c0mv8ayrhz9hm8x85bz7i6a787";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Lightning Network Daemon";
|
description = "Lightning Network Daemon";
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wasabiwallet";
|
pname = "wasabiwallet";
|
||||||
version = "1.1.9";
|
version = "1.1.9.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz";
|
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz";
|
||||||
sha256 = "1dz05ivhadfjfp4yfpz492401yznm3rlnx7g4nqzxwh4cmqzisrm";
|
sha256 = "0qcgrw106rqcls6p5iq02sq3w6xrzhc5z7w8v5almbw7ikv6f0s2";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, xorg, libjpeg, libpng
|
|
||||||
, fontconfig, freetype, pam, dbus, makeWrapper }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "slim-1.3.6";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/${name}.tar.gz";
|
|
||||||
sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches =
|
|
||||||
[ # Allow the paths of the configuration file and theme directory to
|
|
||||||
# be set at runtime.
|
|
||||||
./runtime-paths.patch
|
|
||||||
|
|
||||||
# Exit after the user's session has finished. This works around
|
|
||||||
# slim's broken PAM session handling (see
|
|
||||||
# http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
|
|
||||||
./run-once.patch
|
|
||||||
|
|
||||||
# Ensure that sessions appear in sort order, rather than in
|
|
||||||
# directory order.
|
|
||||||
./sort-sessions.patch
|
|
||||||
|
|
||||||
# Allow to set logfile to a special "/dev/stderr" in order to continue
|
|
||||||
# logging to stderr and thus to the journal.
|
|
||||||
./no-logfile.patch
|
|
||||||
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
|
|
||||||
url = "https://raw.githubusercontent.com/gentoo/musl/8eddda8072add075ebf56cf6d288bc1450d6b5f8/x11-misc/slim/files/slim-1.3.6-add-missing-libgen_h.patch";
|
|
||||||
sha256 = "0f82672s2r2cmdqfn2mbg3di76mbla9n0ik20p2gv4igi6p866xm";
|
|
||||||
});
|
|
||||||
|
|
||||||
preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
|
|
||||||
|
|
||||||
cmakeFlags = [ "-DUSE_PAM=1" ];
|
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype -std=c++11";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[ cmake pkgconfig libjpeg libpng fontconfig freetype
|
|
||||||
pam dbus
|
|
||||||
xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper
|
|
||||||
];
|
|
||||||
|
|
||||||
NIX_CFLAGS_LINK = "-lXmu";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
license = stdenv.lib.licenses.gpl2;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,80 +0,0 @@
|
|||||||
diff --git a/log.cpp b/log.cpp
|
|
||||||
index b44677a..7c89dda 100644
|
|
||||||
--- a/log.cpp
|
|
||||||
+++ b/log.cpp
|
|
||||||
@@ -1,23 +1,31 @@
|
|
||||||
#include "log.h"
|
|
||||||
#include <iostream>
|
|
||||||
+#include <cstring>
|
|
||||||
|
|
||||||
bool
|
|
||||||
LogUnit::openLog(const char * filename)
|
|
||||||
{
|
|
||||||
- if (logFile.is_open()) {
|
|
||||||
+ if (isFile && logFile.is_open()) {
|
|
||||||
cerr << APPNAME
|
|
||||||
<< ": opening a new Log file, while another is already open"
|
|
||||||
<< endl;
|
|
||||||
- logFile.close();
|
|
||||||
+ closeLog();
|
|
||||||
}
|
|
||||||
- logFile.open(filename, ios_base::app);
|
|
||||||
|
|
||||||
- return !(logFile.fail());
|
|
||||||
+ if (strcmp(filename, "/dev/stderr") == 0) {
|
|
||||||
+ isFile = false;
|
|
||||||
+ return true;
|
|
||||||
+ } else {
|
|
||||||
+ logFile.open(filename, ios_base::app);
|
|
||||||
+ isFile = true;
|
|
||||||
+ return !(logFile.fail());
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
LogUnit::closeLog()
|
|
||||||
{
|
|
||||||
+ if (!isFile) return;
|
|
||||||
if (logFile.is_open())
|
|
||||||
logFile.close();
|
|
||||||
}
|
|
||||||
diff --git a/log.h b/log.h
|
|
||||||
index b7810be..ad548a2 100644
|
|
||||||
--- a/log.h
|
|
||||||
+++ b/log.h
|
|
||||||
@@ -9,11 +9,14 @@
|
|
||||||
#endif
|
|
||||||
#include "const.h"
|
|
||||||
#include <fstream>
|
|
||||||
+#include <iostream>
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
static class LogUnit {
|
|
||||||
ofstream logFile;
|
|
||||||
+ bool isFile;
|
|
||||||
+ inline ostream &getStream() { return isFile ? logFile : cerr; }
|
|
||||||
public:
|
|
||||||
bool openLog(const char * filename);
|
|
||||||
void closeLog();
|
|
||||||
@@ -22,17 +25,17 @@ public:
|
|
||||||
|
|
||||||
template<typename Type>
|
|
||||||
LogUnit & operator<<(const Type & text) {
|
|
||||||
- logFile << text; logFile.flush();
|
|
||||||
+ getStream() << text; getStream().flush();
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
LogUnit & operator<<(ostream & (*fp)(ostream&)) {
|
|
||||||
- logFile << fp; logFile.flush();
|
|
||||||
+ getStream() << fp; getStream().flush();
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
LogUnit & operator<<(ios_base & (*fp)(ios_base&)) {
|
|
||||||
- logFile << fp; logFile.flush();
|
|
||||||
+ getStream() << fp; getStream().flush();
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
} logStream;
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
|
|
||||||
--- slim-1.3.6-orig/app.cpp 2013-10-15 11:02:55.629263422 +0200
|
|
||||||
+++ slim-1.3.6/app.cpp 2013-10-15 13:00:10.141210784 +0200
|
|
||||||
@@ -816,7 +822,7 @@
|
|
||||||
StopServer();
|
|
||||||
RemoveLock();
|
|
||||||
while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
|
|
||||||
- Run();
|
|
||||||
+ exit(OK_EXIT);
|
|
||||||
}
|
|
||||||
|
|
||||||
void App::KillAllClients(Bool top) {
|
|
@ -1,70 +0,0 @@
|
|||||||
diff -ru slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
|
|
||||||
--- slim-1.3.6-orig/app.cpp 2013-10-02 00:38:05.000000000 +0200
|
|
||||||
+++ slim-1.3.6/app.cpp 2014-03-30 19:01:04.115414201 +0200
|
|
||||||
@@ -200,7 +200,9 @@
|
|
||||||
|
|
||||||
/* Read configuration and theme */
|
|
||||||
cfg = new Cfg;
|
|
||||||
- cfg->readConf(CFGFILE);
|
|
||||||
+ char *cfgfile = getenv("SLIM_CFGFILE");
|
|
||||||
+ if (!cfgfile) cfgfile = CFGFILE;
|
|
||||||
+ cfg->readConf(cfgfile);
|
|
||||||
string themebase = "";
|
|
||||||
string themefile = "";
|
|
||||||
string themedir = "";
|
|
||||||
@@ -208,7 +210,9 @@
|
|
||||||
if (testing) {
|
|
||||||
themeName = testtheme;
|
|
||||||
} else {
|
|
||||||
- themebase = string(THEMESDIR) + "/";
|
|
||||||
+ char *themesdir = getenv("SLIM_THEMESDIR");
|
|
||||||
+ if (!themesdir) themesdir = THEMESDIR;
|
|
||||||
+ themebase = string(themesdir) + "/";
|
|
||||||
themeName = cfg->getOption("current_theme");
|
|
||||||
string::size_type pos;
|
|
||||||
if ((pos = themeName.find(",")) != string::npos) {
|
|
||||||
diff -ru slim-1.3.6-orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt
|
|
||||||
--- slim-1.3.6-orig/CMakeLists.txt 2013-10-02 00:38:05.000000000 +0200
|
|
||||||
+++ slim-1.3.6/CMakeLists.txt 2014-03-30 19:16:48.445069729 +0200
|
|
||||||
@@ -23,7 +23,7 @@
|
|
||||||
|
|
||||||
set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
|
|
||||||
set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim")
|
|
||||||
-set(SYSCONFDIR "/etc")
|
|
||||||
+set(SYSCONFDIR "$ENV{out}/etc")
|
|
||||||
set(LIBDIR "/lib")
|
|
||||||
set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man")
|
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@
|
|
||||||
set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPACKAGE=\"slim\"")
|
|
||||||
set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DVERSION=\"${SLIM_VERSION}\"")
|
|
||||||
set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"")
|
|
||||||
-set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"")
|
|
||||||
+set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"/etc\"")
|
|
||||||
|
|
||||||
# Flags
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2")
|
|
||||||
Only in slim-1.3.6: CMakeLists.txt~
|
|
||||||
diff -ru slim-1.3.6-orig/slimlock.cpp slim-1.3.6/slimlock.cpp
|
|
||||||
--- slim-1.3.6-orig/slimlock.cpp 2013-10-02 00:38:05.000000000 +0200
|
|
||||||
+++ slim-1.3.6/slimlock.cpp 2014-03-30 19:01:04.115414201 +0200
|
|
||||||
@@ -106,13 +106,17 @@
|
|
||||||
unsigned int cfg_passwd_timeout;
|
|
||||||
// Read user's current theme
|
|
||||||
cfg = new Cfg;
|
|
||||||
- cfg->readConf(CFGFILE);
|
|
||||||
+ char *cfgfile = getenv("SLIM_CFGFILE");
|
|
||||||
+ if (!cfgfile) cfgfile = CFGFILE;
|
|
||||||
+ cfg->readConf(cfgfile);
|
|
||||||
cfg->readConf(SLIMLOCKCFG);
|
|
||||||
string themebase = "";
|
|
||||||
string themefile = "";
|
|
||||||
string themedir = "";
|
|
||||||
themeName = "";
|
|
||||||
- themebase = string(THEMESDIR) + "/";
|
|
||||||
+ char *themesdir = getenv("SLIM_THEMESDIR");
|
|
||||||
+ if (!themesdir) themesdir = THEMESDIR;
|
|
||||||
+ themebase = string(themesdir) + "/";
|
|
||||||
themeName = cfg->getOption("current_theme");
|
|
||||||
string::size_type pos;
|
|
||||||
if ((pos = themeName.find(",")) != string::npos) {
|
|
@ -1,40 +0,0 @@
|
|||||||
diff -ru -x '*~' slim-1.3.6-orig/cfg.cpp slim-1.3.6/cfg.cpp
|
|
||||||
--- slim-1.3.6-orig/cfg.cpp 2013-10-02 00:38:05.000000000 +0200
|
|
||||||
+++ slim-1.3.6/cfg.cpp 2016-01-30 10:35:51.108766802 +0100
|
|
||||||
@@ -14,6 +14,7 @@
|
|
||||||
#include <iostream>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
+#include <algorithm>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
@@ -293,6 +294,8 @@
|
|
||||||
|
|
||||||
sessions.clear();
|
|
||||||
|
|
||||||
+ typedef pair<string,string> session_t;
|
|
||||||
+
|
|
||||||
if( !strSessionDir.empty() ) {
|
|
||||||
DIR *pDir = opendir(strSessionDir.c_str());
|
|
||||||
|
|
||||||
@@ -325,7 +328,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
desktop_file.close();
|
|
||||||
- pair<string,string> session(session_name,session_exec);
|
|
||||||
+ session_t session(session_name,session_exec);
|
|
||||||
sessions.push_back(session);
|
|
||||||
cout << session_exec << " - " << session_name << endl;
|
|
||||||
}
|
|
||||||
@@ -341,6 +344,10 @@
|
|
||||||
pair<string,string> session("","");
|
|
||||||
sessions.push_back(session);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ std::sort(sessions.begin(), sessions.end(), [](session_t& a, session_t& b) -> bool{
|
|
||||||
+ return a.first < b.first;
|
|
||||||
+ });
|
|
||||||
}
|
|
||||||
|
|
||||||
pair<string,string> Cfg::nextSession() {
|
|
@ -1,183 +0,0 @@
|
|||||||
{ stdenv, fetchurl, slim }:
|
|
||||||
|
|
||||||
# Inspired on aspell buildDict expression
|
|
||||||
|
|
||||||
let
|
|
||||||
buildTheme =
|
|
||||||
{fullName, src, version ? "testing"}:
|
|
||||||
|
|
||||||
stdenv. mkDerivation rec {
|
|
||||||
name = "${fullName}-${version}";
|
|
||||||
|
|
||||||
inherit src;
|
|
||||||
|
|
||||||
buildInputs = [ slim ];
|
|
||||||
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
install -dm755 $out/share/slim/themes/${name}
|
|
||||||
install -m644 * $out/share/slim/themes/${name}
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Slim theme for ${fullName}";
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
|
||||||
|
|
||||||
archlinuxSimple = buildTheme {
|
|
||||||
fullName = "archlinux-simple";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-archlinux-simple.tar.gz";
|
|
||||||
sha256 = "7d60d6782fa86302646fe67253467c04692d247f89bdbe87178f690f32b270db";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
capernoited = buildTheme {
|
|
||||||
fullName = "capernoited";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-capernoited.tar.gz";
|
|
||||||
sha256 = "fb9163c6a2656d60f088dc4f2173aa7556a6794495122acfa7d3be7182f16b41";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
debianMoreblue = buildTheme {
|
|
||||||
fullName = "debian-moreblue";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-debian-moreblue.tar.bz2";
|
|
||||||
sha256 = "5b76929827d4a4d604ddca4f42668cca3309b6f7bd659901021c6f49d6d2c481";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fingerprint = buildTheme {
|
|
||||||
fullName = "fingerprint";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-fingerprint.tar.gz";
|
|
||||||
sha256 = "48b703f84ce7b814cda0824f65cafebf695cd71a14166b481bb44616097d3144";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
flat = buildTheme {
|
|
||||||
fullName = "flat";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-flat.tar.gz";
|
|
||||||
sha256 = "0092d531540f9da8ef07ad173e527c4ef9c088d04962d142be3c11f0c5c0c5e9";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
flower2 = buildTheme {
|
|
||||||
fullName = "flower2";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-flower2.tar.gz";
|
|
||||||
sha256 = "840faf6459ffd6c2c363160c85cb98000717f9a425102976336f5d8f68ed95ee";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gentooSimple = buildTheme {
|
|
||||||
fullName = "gentoo-simple";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-gentoo-simple.tar.bz2";
|
|
||||||
sha256 = "27c8614cc930ca200acf81f1192febc102501744939d5cbe997141e37c96d8c2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
lake = buildTheme {
|
|
||||||
fullName = "lake";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-lake.tar.gz";
|
|
||||||
sha256 = "f7d662e37068a6c64cbf910adf3c192f1b50724baa427a8c9487cb9f7ed95851";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
lunar = buildTheme {
|
|
||||||
fullName = "lunar-0.4";
|
|
||||||
version = "";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-lunar-0.4.tar.bz2";
|
|
||||||
sha256 = "1543eb45e4d664377e0dd4f7f954aba005823034ba9692624398b3d58be87d76";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
mindlock = buildTheme {
|
|
||||||
fullName = "mindlock";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-mindlock.tar.gz";
|
|
||||||
sha256 = "99a6e6acd55bf55ece18a3f644299517b71c1adc49efd87ce2d7e654fb67033c";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
parallelDimensions = buildTheme {
|
|
||||||
fullName = "parallel-dimensions";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-parallel-dimensions.tar.gz";
|
|
||||||
sha256 = "2b17c3e6d3967a6a0744e20e6e05c9d3938f4ef04c62d49ddbd416bc4743046f";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
previous = buildTheme {
|
|
||||||
fullName = "previous";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-previous.tar.gz";
|
|
||||||
sha256 = "1f2a69f8fc0dc8ed8eb86a4c1d1087ba7be486973fb81efab52a63c661d726f8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
rainbow = buildTheme {
|
|
||||||
fullName = "rainbow";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-rainbow.tar.gz";
|
|
||||||
sha256 = "d83e3afdb05be50cff7da037bb31208b2c152539d1a009740b13857f5f910072";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
rear-window = buildTheme {
|
|
||||||
fullName = "rear-window";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-rear-window.tar.gz";
|
|
||||||
sha256 = "0b123706ccb67e94f626c183530ec5732b209bab155bc661d6a3f5cd5ee39511";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
scotlandRoad = buildTheme {
|
|
||||||
fullName = "scotland-road";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-scotland-road.tar.gz";
|
|
||||||
sha256 = "fd60a434496ed39b968ffa1e5457b36cd12f64a4e2ecedffc675f97ca3f3bba1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
subway = buildTheme {
|
|
||||||
fullName = "subway";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-subway.tar.gz";
|
|
||||||
sha256 = "0205568e3e157973b113a83b26d8829ce9962a85ef7eb8a33d3ae2f3f9292253";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wave = buildTheme {
|
|
||||||
fullName = "wave";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
|
|
||||||
sha256 = "be75676da5bf8670daa48379bb9cc1be0b9a5faa09adbea967dfd7125320b959";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
zenwalk = buildTheme {
|
|
||||||
fullName = "zenwalk";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/slim.berlios/slim-zenwalk.tar.gz";
|
|
||||||
sha256 = "f0f41d17ea505b0aa96a036e978fabaf673a51d3f81a919cb0d43364d4bc7a57";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosSlim = buildTheme {
|
|
||||||
fullName = "nixos-slim";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
|
|
||||||
sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -13,14 +13,14 @@ let
|
|||||||
sha256Hash = "0kcd6kd5rn4b76damkfddin18d1r0dck05piv8mq1ns7x1n4hf7q";
|
sha256Hash = "0kcd6kd5rn4b76damkfddin18d1r0dck05piv8mq1ns7x1n4hf7q";
|
||||||
};
|
};
|
||||||
betaVersion = {
|
betaVersion = {
|
||||||
version = "3.6.0.15"; # "Android Studio 3.6 Beta 3"
|
version = "3.6.0.16"; # "Android Studio 3.6 Beta 4"
|
||||||
build = "192.5982640";
|
build = "192.5994180";
|
||||||
sha256Hash = "0017g7nvjiadd64in9fl4wq5lf8b7pyrdasbnwzjcphpbzy1390x";
|
sha256Hash = "0wyyr6r0jzb1l4rn1mfgp0nnzvgk3x62imq629z6vrdbymy8psf1";
|
||||||
};
|
};
|
||||||
latestVersion = { # canary & dev
|
latestVersion = { # canary & dev
|
||||||
version = "4.0.0.2"; # "Android Studio 4.0 Canary 2"
|
version = "4.0.0.3"; # "Android Studio 4.0 Canary 3"
|
||||||
build = "192.5984562";
|
build = "192.5994236";
|
||||||
sha256Hash = "0p29a6np31396970lnb3di2yrcqi3z8nqcn27hcnb4c4g7kjm0qw";
|
sha256Hash = "14ig352anjs0df72f41v4r6jl7mlm2n4pn9syanmykaj87dm4kf4";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
# Attributes are named by their corresponding release channels
|
# Attributes are named by their corresponding release channels
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{stdenv, fetchzip, emacs, colorTheme}:
|
{stdenv, fetchzip, emacs, color-theme}:
|
||||||
let
|
let
|
||||||
commit = "412713a0fcedd520d208a7b783fea03d710bcc61";
|
commit = "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "color-theme-solarized-1.0.0";
|
name = "color-theme-solarized-1.0.0";
|
||||||
@ -8,15 +8,14 @@ stdenv.mkDerivation {
|
|||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
|
|
||||||
url = "https://github.com/sellout/emacs-color-theme-solarized/archive/${commit}.zip";
|
url = "https://github.com/sellout/emacs-color-theme-solarized/archive/${commit}.zip";
|
||||||
sha256 = "1xd2yk7p39zxgcf91s80pqknzdxw9d09cppjb87g7ihj6f0wxqjv";
|
sha256 = "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs ];
|
buildInputs = [ emacs ];
|
||||||
propagatedUserEnvPkgs = [ colorTheme ];
|
propagatedUserEnvPkgs = [ color-theme ];
|
||||||
|
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
emacs -L . -L ${colorTheme}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
|
emacs -L . -L ${color-theme}/share/emacs/site-lisp/elpa/color-theme-* --batch -f batch-byte-compile *.el
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -30,8 +29,5 @@ stdenv.mkDerivation {
|
|||||||
maintainers = [ maintainers.samuelrivas ];
|
maintainers = [ maintainers.samuelrivas ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
|
||||||
# Fails with `solarized-definitions.el:786:1:Warning: the function `rotatef' is not known to`
|
|
||||||
broken = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -128,9 +128,7 @@
|
|||||||
# From old emacsPackages (pre emacsPackagesNg)
|
# From old emacsPackages (pre emacsPackagesNg)
|
||||||
cedet = callPackage ./cedet { };
|
cedet = callPackage ./cedet { };
|
||||||
cedille = callPackage ./cedille { cedille = pkgs.cedille; };
|
cedille = callPackage ./cedille { cedille = pkgs.cedille; };
|
||||||
colorThemeSolarized = callPackage ./color-theme-solarized {
|
colorThemeSolarized = callPackage ./color-theme-solarized { };
|
||||||
colorTheme = self.color-theme;
|
|
||||||
};
|
|
||||||
emacsSessionManagement = callPackage ./session-management-for-emacs { };
|
emacsSessionManagement = callPackage ./session-management-for-emacs { };
|
||||||
hsc3-mode = callPackage ./hsc3 { };
|
hsc3-mode = callPackage ./hsc3 { };
|
||||||
hol_light_mode = callPackage ./hol_light { };
|
hol_light_mode = callPackage ./hol_light { };
|
||||||
|
25
pkgs/applications/editors/hexdino/default.nix
Normal file
25
pkgs/applications/editors/hexdino/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, rustPlatform, ncurses }:
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
name = "hexdino-${version}";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Luz";
|
||||||
|
repo = "hexdino";
|
||||||
|
rev = "de5b5d7042129f57e0ab36416a06476126bce389";
|
||||||
|
sha256 = "11mz07735gxqfamjcjjmxya6swlvr1p77sgd377zjcmd6z54gwyf";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "0qa8ypp5a7sf1gic482zh3i6s94w6k6bgmk5ynfvwi7g49ql7c4z";
|
||||||
|
verifyCargoDeps = true;
|
||||||
|
|
||||||
|
buildInputs = [ ncurses ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A hex editor with vim like keybindings written in Rust";
|
||||||
|
homepage = https://github.com/Luz/hexdino;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.luz ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace Makefile --replace "-llua5.3" "-llua";
|
substituteInPlace Makefile --replace "-llua5.3" "-llua";
|
||||||
substituteInPlace mle.h --replace "<lua5.3/" "<";
|
substituteInPlace mle.h --replace "<lua5.3/" "<";
|
||||||
|
patchShebangs tests/*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ termbox pcre uthash lua5_3 ];
|
buildInputs = [ termbox pcre uthash lua5_3 ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, python3, fetchFromGitHub, makeWrapper, buildEnv, aspellDicts
|
{ stdenv, python3, fetchFromGitHub, wrapQtAppsHook, buildEnv, aspellDicts
|
||||||
# Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
|
# Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
|
||||||
# available.
|
# available.
|
||||||
, enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
|
, enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
|
||||||
@ -22,6 +22,7 @@ let
|
|||||||
pname = "chardet";
|
pname = "chardet";
|
||||||
sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa";
|
sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa";
|
||||||
};
|
};
|
||||||
|
patches = [];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
in python3.override { inherit packageOverrides; };
|
in python3.override { inherit packageOverrides; };
|
||||||
@ -41,12 +42,11 @@ in python.pkgs.buildPythonApplication {
|
|||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
propagatedBuildInputs = [ pythonEnv ];
|
propagatedBuildInputs = [ pythonEnv ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/bin/retext $out/bin/.retext
|
wrapQtApp "$out/bin/retext" \
|
||||||
makeWrapper "$out/bin/.retext" "$out/bin/retext" \
|
|
||||||
--set ASPELL_CONF "dict-dir ${buildEnv {
|
--set ASPELL_CONF "dict-dir ${buildEnv {
|
||||||
name = "aspell-all-dicts";
|
name = "aspell-all-dicts";
|
||||||
paths = map (path: "${path}/lib/aspell") enchantAspellDicts;
|
paths = map (path: "${path}/lib/aspell") enchantAspellDicts;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtscript, qtsvg,
|
{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtscript, qtsvg,
|
||||||
poppler, zlib, pkgconfig }:
|
wrapQtAppsHook, poppler, zlib, pkgconfig }:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "texstudio";
|
pname = "texstudio";
|
||||||
@ -12,7 +12,7 @@ mkDerivation rec {
|
|||||||
sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
|
sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake pkgconfig ];
|
nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
|
||||||
buildInputs = [ qtbase qtscript qtsvg poppler zlib ];
|
buildInputs = [ qtbase qtscript qtsvg poppler zlib ];
|
||||||
|
|
||||||
qmakeFlags = [ "NO_APPDATA=True" ];
|
qmakeFlags = [ "NO_APPDATA=True" ];
|
||||||
|
@ -76,6 +76,7 @@ stdenv.mkDerivation {
|
|||||||
"--with-tclsh=${tcl}/bin/tclsh"
|
"--with-tclsh=${tcl}/bin/tclsh"
|
||||||
"--with-tlib=ncurses"
|
"--with-tlib=ncurses"
|
||||||
"--with-compiledby=Nix"
|
"--with-compiledby=Nix"
|
||||||
|
"LDFLAGS=-headerpad_max_install_names"
|
||||||
];
|
];
|
||||||
|
|
||||||
makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
|
makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
|
||||||
|
@ -13,8 +13,8 @@ let
|
|||||||
else throw "ImageMagick is not supported on this platform.";
|
else throw "ImageMagick is not supported on this platform.";
|
||||||
|
|
||||||
cfg = {
|
cfg = {
|
||||||
version = "6.9.10-69";
|
version = "6.9.10-71";
|
||||||
sha256 = "0l4lllis16gbwjpvvsyfz91i9nq11zb3lg2zlmyay7v5697jshh6";
|
sha256 = "0c69xmr8k8c4dplgzxydm30s2dr8biq71x07hc15bw196nsx3srr";
|
||||||
patches = [];
|
patches = [];
|
||||||
}
|
}
|
||||||
# Freeze version on mingw so we don't need to port the patch too often.
|
# Freeze version on mingw so we don't need to port the patch too often.
|
||||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Image viewing and manipulation programs";
|
description = "Image viewing and manipulation programs including fbi, fbgs, ida, exiftran and thumbnail.cgi";
|
||||||
homepage = https://www.kraxel.org/blog/linux/fbida/;
|
homepage = https://www.kraxel.org/blog/linux/fbida/;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ pSub ];
|
maintainers = with maintainers; [ pSub ];
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
{ stdenv, fetchFromGitHub, pkgconfig, cmake, pixman, libpthreadstubs, gtkmm3, libXau
|
{ stdenv, fetchFromGitHub, pkgconfig, cmake, pixman, libpthreadstubs, gtkmm3, libXau
|
||||||
, libXdmcp, lcms2, libiptcdata, libcanberra-gtk3, fftw, expat, pcre, libsigcxx, wrapGAppsHook
|
, libXdmcp, lcms2, libiptcdata, libcanberra-gtk3, fftw, expat, pcre, libsigcxx, wrapGAppsHook
|
||||||
, lensfun
|
, lensfun, librsvg
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "5.5";
|
version = "5.7";
|
||||||
name = "rawtherapee-" + version;
|
pname = "rawtherapee";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Beep6581";
|
owner = "Beep6581";
|
||||||
repo = "RawTherapee";
|
repo = "RawTherapee";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "13clnx7rwkfa7wxgsim1xdx2pd7gwmmdad1m8a3fvywr20ml8xzk";
|
sha256 = "0j3887a3683fqpvp66kaw6x81ai3gf5nvrbmb4cc8rb0lgj2xv2g";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
|
nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pixman libpthreadstubs gtkmm3 libXau libXdmcp
|
pixman libpthreadstubs gtkmm3 libXau libXdmcp
|
||||||
lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun
|
lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun librsvg
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
@ -5,7 +5,7 @@ callPackage ./generic.nix (args // rec {
|
|||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
sha256 = "1j9nbqspaj0rlgalafb5z6r606k0i22kz0rcpd744p176yzlfdr9";
|
sha256 = "1j9nbqspaj0rlgalafb5z6r606k0i22kz0rcpd744p176yzlfdr9";
|
||||||
urls = [
|
urls = [
|
||||||
"https://alioth.debian.org/frs/download.php/latestfile/176/sane-backends-${version}.tar.gz"
|
"https://alioth-archive.debian.org/releases/sane/sane-backends/${version}/sane-backends-${version}.tar.gz"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -5,6 +5,6 @@ callPackage ./generic.nix (args // {
|
|||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
|
sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
|
||||||
rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
|
rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
|
||||||
url = "git://alioth.debian.org/git/sane/sane-backends.git";
|
url = "https://gitlab.com/sane-project/backends.git";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
|||||||
version = "1.0.14";
|
version = "1.0.14";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://alioth.debian.org/frs/download.php/latestfile/175/${pname}-${version}.tar.gz";
|
url = "https://alioth-archive.debian.org/releases/sane/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7";
|
sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
40
pkgs/applications/misc/birdtray/default.nix
Normal file
40
pkgs/applications/misc/birdtray/default.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ mkDerivation
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
|
||||||
|
, cmake
|
||||||
|
, pkgconfig
|
||||||
|
, qtbase
|
||||||
|
, qttools
|
||||||
|
, qtx11extras
|
||||||
|
, sqlite
|
||||||
|
}:
|
||||||
|
|
||||||
|
mkDerivation rec {
|
||||||
|
pname = "birdtray";
|
||||||
|
version = "1.6";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "gyunaev";
|
||||||
|
repo = pname;
|
||||||
|
rev = "RELEASE_${version}";
|
||||||
|
sha256 = "0n6qr224ir59ncid4xbdilk5642z0kcaylzbil1bdcv3h32ysjym";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
buildInputs = [
|
||||||
|
qtbase qtx11extras sqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm755 birdtray $out/bin/birdtray
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Mail system tray notification icon for Thunderbird";
|
||||||
|
homepage = https://github.com/gyunaev/birdtray;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ Flakebi ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
31
pkgs/applications/misc/blugon/default.nix
Normal file
31
pkgs/applications/misc/blugon/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, python3, libX11, libXrandr }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "blugon";
|
||||||
|
version = "1.11.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jumper149";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0x320w2h5nlcgha4345i8ns15akb4kmrdgkh710s4r1n1by4x11r";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ python3 libX11 libXrandr ];
|
||||||
|
|
||||||
|
makeFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Simple and configurable Blue Light Filter for X";
|
||||||
|
longDescription = ''
|
||||||
|
blugon is a simple and fast Blue Light Filter, that is highly configurable and provides a command line interface.
|
||||||
|
The program can be run just once or as a daemon (manually or via systemd).
|
||||||
|
There are several different backends available.
|
||||||
|
blugon calculates the screen color from your local time and configuration.
|
||||||
|
'';
|
||||||
|
license = licenses.asl20;
|
||||||
|
homepage = "https://github.com/jumper149/blugon";
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ jumper149 ];
|
||||||
|
};
|
||||||
|
}
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
CMatrix simulates the display from "The Matrix" and is based
|
CMatrix simulates the display from "The Matrix" and is based
|
||||||
on the screensaver from the movie's website.
|
on the screensaver from the movie's website.
|
||||||
'';
|
'';
|
||||||
homepage = http://www.asty.org/cmatrix/;
|
homepage = https://github.com/abishekvashok/cmatrix;
|
||||||
platforms = ncurses.meta.platforms;
|
platforms = ncurses.meta.platforms;
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
};
|
};
|
||||||
|
@ -42,5 +42,6 @@ python2Packages.buildPythonApplication rec {
|
|||||||
homepage = https://github.com/dashpay/electrum-dash;
|
homepage = https://github.com/dashpay/electrum-dash;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ np ];
|
maintainers = with maintainers; [ np ];
|
||||||
|
knownVulnerabilities = [ "CVE-2018-1000022" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation {
|
|||||||
configureFlags = [ "--with-ssl=${openssl.dev}" ];
|
configureFlags = [ "--with-ssl=${openssl.dev}" ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.fetchmail.info/;
|
homepage = https://www.fetchmail.info/;
|
||||||
description = "A full-featured remote-mail retrieval and forwarding utility";
|
description = "A full-featured remote-mail retrieval and forwarding utility";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
A full-featured, robust, well-documented remote-mail retrieval and
|
A full-featured, robust, well-documented remote-mail retrieval and
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
charlock_holmes (0.7.6)
|
charlock_holmes (0.7.7)
|
||||||
diff-lcs (1.3)
|
diff-lcs (1.3)
|
||||||
gemojione (3.3.0)
|
gemojione (3.3.0)
|
||||||
json
|
json
|
||||||
@ -31,12 +31,12 @@ GEM
|
|||||||
twitter-text (= 1.14.7)
|
twitter-text (= 1.14.7)
|
||||||
json (2.2.0)
|
json (2.2.0)
|
||||||
kramdown (1.9.0)
|
kramdown (1.9.0)
|
||||||
mime-types (3.2.2)
|
mime-types (3.3)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2019.0331)
|
mime-types-data (3.2019.1009)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
mustache (0.99.8)
|
mustache (0.99.8)
|
||||||
nokogiri (1.10.4)
|
nokogiri (1.10.5)
|
||||||
mini_portile2 (~> 2.4.0)
|
mini_portile2 (~> 2.4.0)
|
||||||
posix-spawn (0.3.13)
|
posix-spawn (0.3.13)
|
||||||
rack (1.6.11)
|
rack (1.6.11)
|
||||||
@ -50,7 +50,7 @@ GEM
|
|||||||
rack-protection (~> 1.4)
|
rack-protection (~> 1.4)
|
||||||
tilt (>= 1.3, < 3)
|
tilt (>= 1.3, < 3)
|
||||||
stringex (2.8.5)
|
stringex (2.8.5)
|
||||||
tilt (2.0.9)
|
tilt (2.0.10)
|
||||||
twitter-text (1.14.7)
|
twitter-text (1.14.7)
|
||||||
unf (~> 0.1.0)
|
unf (~> 0.1.0)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
@ -65,4 +65,4 @@ DEPENDENCIES
|
|||||||
gollum
|
gollum
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.17.2
|
1.17.3
|
||||||
|
@ -4,10 +4,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
|
sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.7.6";
|
version = "0.7.7";
|
||||||
};
|
};
|
||||||
diff-lcs = {
|
diff-lcs = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -110,20 +110,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
|
sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.2";
|
version = "3.3";
|
||||||
};
|
};
|
||||||
mime-types-data = {
|
mime-types-data = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
|
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2019.0331";
|
version = "3.2019.1009";
|
||||||
};
|
};
|
||||||
mini_portile2 = {
|
mini_portile2 = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -151,10 +151,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
|
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.10.4";
|
version = "1.10.5";
|
||||||
};
|
};
|
||||||
posix-spawn = {
|
posix-spawn = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -234,10 +234,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
|
sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.0.9";
|
version = "2.0.10";
|
||||||
};
|
};
|
||||||
twitter-text = {
|
twitter-text = {
|
||||||
dependencies = ["unf"];
|
dependencies = ["unf"];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "gpxsee";
|
pname = "gpxsee";
|
||||||
version = "7.16";
|
version = "7.17";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tumic0";
|
owner = "tumic0";
|
||||||
repo = "GPXSee";
|
repo = "GPXSee";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav";
|
sha256 = "10mch709m4ws73yzkrx9lm2hwzl179ggpk6xkbhkvnl7rsd2yz08";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
nativeBuildInputs = [ qmake ];
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
activesupport (6.0.0)
|
activesupport (6.0.1)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (>= 0.7, < 2)
|
i18n (>= 0.7, < 2)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
zeitwerk (~> 2.1, >= 2.1.8)
|
zeitwerk (~> 2.2)
|
||||||
addressable (2.6.0)
|
addressable (2.7.0)
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
colorator (1.1.0)
|
colorator (1.1.0)
|
||||||
concurrent-ruby (1.1.5)
|
concurrent-ruby (1.1.5)
|
||||||
em-websocket (0.5.1)
|
em-websocket (0.5.1)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
ffi (1.11.1)
|
ffi (1.11.2)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
gemoji (3.0.1)
|
gemoji (3.0.1)
|
||||||
html-pipeline (2.12.0)
|
html-pipeline (2.12.2)
|
||||||
activesupport (>= 2)
|
activesupport (>= 2)
|
||||||
nokogiri (>= 1.4)
|
nokogiri (>= 1.4)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
i18n (1.6.0)
|
i18n (1.7.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
jekyll (4.0.0)
|
jekyll (4.0.0)
|
||||||
addressable (~> 2.4)
|
addressable (~> 2.4)
|
||||||
@ -44,7 +44,7 @@ GEM
|
|||||||
jekyll-mentions (1.5.1)
|
jekyll-mentions (1.5.1)
|
||||||
html-pipeline (~> 2.3)
|
html-pipeline (~> 2.3)
|
||||||
jekyll (>= 3.7, < 5.0)
|
jekyll (>= 3.7, < 5.0)
|
||||||
jekyll-sass-converter (2.0.0)
|
jekyll-sass-converter (2.0.1)
|
||||||
sassc (> 2.0.1, < 3.0)
|
sassc (> 2.0.1, < 3.0)
|
||||||
jekyll-seo-tag (2.6.1)
|
jekyll-seo-tag (2.6.1)
|
||||||
jekyll (>= 3.3, < 5.0)
|
jekyll (>= 3.3, < 5.0)
|
||||||
@ -60,25 +60,23 @@ GEM
|
|||||||
kramdown-parser-gfm (1.1.0)
|
kramdown-parser-gfm (1.1.0)
|
||||||
kramdown (~> 2.0)
|
kramdown (~> 2.0)
|
||||||
liquid (4.0.3)
|
liquid (4.0.3)
|
||||||
listen (3.1.5)
|
listen (3.2.0)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
ruby_dep (~> 1.2)
|
|
||||||
mercenary (0.3.6)
|
mercenary (0.3.6)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
minitest (5.11.3)
|
minitest (5.13.0)
|
||||||
nokogiri (1.10.4)
|
nokogiri (1.10.5)
|
||||||
mini_portile2 (~> 2.4.0)
|
mini_portile2 (~> 2.4.0)
|
||||||
pathutil (0.16.2)
|
pathutil (0.16.2)
|
||||||
forwardable-extended (~> 2.6)
|
forwardable-extended (~> 2.6)
|
||||||
public_suffix (3.1.1)
|
public_suffix (4.0.1)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.10.0)
|
rb-inotify (0.10.0)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rouge (3.9.0)
|
rouge (3.13.0)
|
||||||
ruby_dep (1.5.0)
|
|
||||||
safe_yaml (1.0.5)
|
safe_yaml (1.0.5)
|
||||||
sassc (2.1.0)
|
sassc (2.2.1)
|
||||||
ffi (~> 1.9)
|
ffi (~> 1.9)
|
||||||
terminal-table (1.8.0)
|
terminal-table (1.8.0)
|
||||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||||
@ -86,7 +84,7 @@ GEM
|
|||||||
tzinfo (1.2.5)
|
tzinfo (1.2.5)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
unicode-display_width (1.6.0)
|
unicode-display_width (1.6.0)
|
||||||
zeitwerk (2.1.9)
|
zeitwerk (2.2.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
@ -100,4 +98,4 @@ DEPENDENCIES
|
|||||||
jemoji
|
jemoji
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.17.2
|
1.17.3
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
|
sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "6.0.0";
|
version = "6.0.1";
|
||||||
};
|
};
|
||||||
addressable = {
|
addressable = {
|
||||||
dependencies = ["public_suffix"];
|
dependencies = ["public_suffix"];
|
||||||
@ -16,10 +16,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
|
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.6.0";
|
version = "2.7.0";
|
||||||
};
|
};
|
||||||
colorator = {
|
colorator = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -67,10 +67,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
|
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.11.1";
|
version = "1.11.2";
|
||||||
};
|
};
|
||||||
forwardable-extended = {
|
forwardable-extended = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -98,10 +98,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
|
sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.12.0";
|
version = "2.12.2";
|
||||||
};
|
};
|
||||||
"http_parser.rb" = {
|
"http_parser.rb" = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -119,10 +119,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
|
sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.6.0";
|
version = "1.7.0";
|
||||||
};
|
};
|
||||||
jekyll = {
|
jekyll = {
|
||||||
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
|
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
|
||||||
@ -163,10 +163,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
|
sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.0.0";
|
version = "2.0.1";
|
||||||
};
|
};
|
||||||
jekyll-seo-tag = {
|
jekyll-seo-tag = {
|
||||||
dependencies = ["jekyll"];
|
dependencies = ["jekyll"];
|
||||||
@ -244,15 +244,15 @@
|
|||||||
version = "4.0.3";
|
version = "4.0.3";
|
||||||
};
|
};
|
||||||
listen = {
|
listen = {
|
||||||
dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
|
dependencies = ["rb-fsevent" "rb-inotify"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
|
sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.5";
|
version = "3.2.0";
|
||||||
};
|
};
|
||||||
mercenary = {
|
mercenary = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -279,10 +279,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
|
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.11.3";
|
version = "5.13.0";
|
||||||
};
|
};
|
||||||
nokogiri = {
|
nokogiri = {
|
||||||
dependencies = ["mini_portile2"];
|
dependencies = ["mini_portile2"];
|
||||||
@ -290,10 +290,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
|
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.10.4";
|
version = "1.10.5";
|
||||||
};
|
};
|
||||||
pathutil = {
|
pathutil = {
|
||||||
dependencies = ["forwardable-extended"];
|
dependencies = ["forwardable-extended"];
|
||||||
@ -311,10 +311,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
|
sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.1";
|
version = "4.0.1";
|
||||||
};
|
};
|
||||||
rb-fsevent = {
|
rb-fsevent = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -342,20 +342,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
|
sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.9.0";
|
version = "3.13.0";
|
||||||
};
|
|
||||||
ruby_dep = {
|
|
||||||
groups = ["default"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "1.5.0";
|
|
||||||
};
|
};
|
||||||
safe_yaml = {
|
safe_yaml = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -373,10 +363,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
|
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.0";
|
version = "2.2.1";
|
||||||
};
|
};
|
||||||
terminal-table = {
|
terminal-table = {
|
||||||
dependencies = ["unicode-display_width"];
|
dependencies = ["unicode-display_width"];
|
||||||
@ -425,9 +415,9 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
|
sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.9";
|
version = "2.2.1";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -1,14 +1,14 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
activesupport (6.0.0)
|
activesupport (6.0.1)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (>= 0.7, < 2)
|
i18n (>= 0.7, < 2)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
zeitwerk (~> 2.1, >= 2.1.8)
|
zeitwerk (~> 2.2)
|
||||||
addressable (2.6.0)
|
addressable (2.7.0)
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
classifier-reborn (2.2.0)
|
classifier-reborn (2.2.0)
|
||||||
fast-stemmer (~> 1.0)
|
fast-stemmer (~> 1.0)
|
||||||
coderay (1.1.2)
|
coderay (1.1.2)
|
||||||
@ -23,17 +23,17 @@ GEM
|
|||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
execjs (2.7.0)
|
execjs (2.7.0)
|
||||||
faraday (0.15.4)
|
faraday (0.17.0)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
fast-stemmer (1.0.2)
|
fast-stemmer (1.0.2)
|
||||||
ffi (1.11.1)
|
ffi (1.11.2)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
gemoji (3.0.1)
|
gemoji (3.0.1)
|
||||||
html-pipeline (2.12.0)
|
html-pipeline (2.12.2)
|
||||||
activesupport (>= 2)
|
activesupport (>= 2)
|
||||||
nokogiri (>= 1.4)
|
nokogiri (>= 1.4)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
i18n (1.6.0)
|
i18n (1.7.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
jekyll (4.0.0)
|
jekyll (4.0.0)
|
||||||
addressable (~> 2.4)
|
addressable (~> 2.4)
|
||||||
@ -52,10 +52,10 @@ GEM
|
|||||||
terminal-table (~> 1.8)
|
terminal-table (~> 1.8)
|
||||||
jekyll-avatar (0.7.0)
|
jekyll-avatar (0.7.0)
|
||||||
jekyll (>= 3.0, < 5.0)
|
jekyll (>= 3.0, < 5.0)
|
||||||
jekyll-coffeescript (1.2.2)
|
jekyll-coffeescript (2.0.0)
|
||||||
coffee-script (~> 2.2)
|
coffee-script (~> 2.2)
|
||||||
coffee-script-source (~> 1.12)
|
coffee-script-source (~> 1.12)
|
||||||
jekyll-feed (0.12.1)
|
jekyll-feed (0.13.0)
|
||||||
jekyll (>= 3.7, < 5.0)
|
jekyll (>= 3.7, < 5.0)
|
||||||
jekyll-gist (1.5.0)
|
jekyll-gist (1.5.0)
|
||||||
octokit (~> 4.2)
|
octokit (~> 4.2)
|
||||||
@ -65,7 +65,7 @@ GEM
|
|||||||
jekyll-paginate (1.1.0)
|
jekyll-paginate (1.1.0)
|
||||||
jekyll-redirect-from (0.15.0)
|
jekyll-redirect-from (0.15.0)
|
||||||
jekyll (>= 3.3, < 5.0)
|
jekyll (>= 3.3, < 5.0)
|
||||||
jekyll-sass-converter (2.0.0)
|
jekyll-sass-converter (2.0.1)
|
||||||
sassc (> 2.0.1, < 3.0)
|
sassc (> 2.0.1, < 3.0)
|
||||||
jekyll-seo-tag (2.6.1)
|
jekyll-seo-tag (2.6.1)
|
||||||
jekyll (>= 3.3, < 5.0)
|
jekyll (>= 3.3, < 5.0)
|
||||||
@ -86,32 +86,30 @@ GEM
|
|||||||
liquid (4.0.3)
|
liquid (4.0.3)
|
||||||
liquid-c (4.0.0)
|
liquid-c (4.0.0)
|
||||||
liquid (>= 3.0.0)
|
liquid (>= 3.0.0)
|
||||||
listen (3.1.5)
|
listen (3.2.0)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
ruby_dep (~> 1.2)
|
|
||||||
mercenary (0.3.6)
|
mercenary (0.3.6)
|
||||||
mime-types (3.2.2)
|
mime-types (3.3)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2019.0331)
|
mime-types-data (3.2019.1009)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
minitest (5.11.3)
|
minitest (5.13.0)
|
||||||
multipart-post (2.1.1)
|
multipart-post (2.1.1)
|
||||||
nokogiri (1.10.4)
|
nokogiri (1.10.5)
|
||||||
mini_portile2 (~> 2.4.0)
|
mini_portile2 (~> 2.4.0)
|
||||||
octokit (4.14.0)
|
octokit (4.14.0)
|
||||||
sawyer (~> 0.8.0, >= 0.5.3)
|
sawyer (~> 0.8.0, >= 0.5.3)
|
||||||
pathutil (0.16.2)
|
pathutil (0.16.2)
|
||||||
forwardable-extended (~> 2.6)
|
forwardable-extended (~> 2.6)
|
||||||
public_suffix (3.1.1)
|
public_suffix (4.0.1)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.10.0)
|
rb-inotify (0.10.0)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rdoc (6.1.1)
|
rdoc (6.2.0)
|
||||||
rouge (3.9.0)
|
rouge (3.13.0)
|
||||||
ruby_dep (1.5.0)
|
|
||||||
safe_yaml (1.0.5)
|
safe_yaml (1.0.5)
|
||||||
sassc (2.1.0)
|
sassc (2.2.1)
|
||||||
ffi (~> 1.9)
|
ffi (~> 1.9)
|
||||||
sawyer (0.8.2)
|
sawyer (0.8.2)
|
||||||
addressable (>= 2.3.5)
|
addressable (>= 2.3.5)
|
||||||
@ -124,7 +122,7 @@ GEM
|
|||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
unicode-display_width (1.6.0)
|
unicode-display_width (1.6.0)
|
||||||
yajl-ruby (1.4.1)
|
yajl-ruby (1.4.1)
|
||||||
zeitwerk (2.1.9)
|
zeitwerk (2.2.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
@ -150,4 +148,4 @@ DEPENDENCIES
|
|||||||
yajl-ruby (~> 1.4)
|
yajl-ruby (~> 1.4)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.17.2
|
1.17.3
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
|
sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "6.0.0";
|
version = "6.0.1";
|
||||||
};
|
};
|
||||||
addressable = {
|
addressable = {
|
||||||
dependencies = ["public_suffix"];
|
dependencies = ["public_suffix"];
|
||||||
@ -16,10 +16,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
|
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.6.0";
|
version = "2.7.0";
|
||||||
};
|
};
|
||||||
classifier-reborn = {
|
classifier-reborn = {
|
||||||
dependencies = ["fast-stemmer"];
|
dependencies = ["fast-stemmer"];
|
||||||
@ -132,10 +132,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
|
sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.15.4";
|
version = "0.17.0";
|
||||||
};
|
};
|
||||||
fast-stemmer = {
|
fast-stemmer = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -164,10 +164,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
|
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.11.1";
|
version = "1.11.2";
|
||||||
};
|
};
|
||||||
forwardable-extended = {
|
forwardable-extended = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -195,10 +195,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
|
sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.12.0";
|
version = "2.12.2";
|
||||||
};
|
};
|
||||||
"http_parser.rb" = {
|
"http_parser.rb" = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -216,10 +216,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
|
sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.6.0";
|
version = "1.7.0";
|
||||||
};
|
};
|
||||||
jekyll = {
|
jekyll = {
|
||||||
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
|
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
|
||||||
@ -249,10 +249,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "040i6cyv20qmxlpm74kh5hfci8208ja4903yxdv4x0qs0z172kl9";
|
sha256 = "17fjk0bfm0rs3myid24y2scsf5vzzza185bissjmcc44cbxp571j";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.2.2";
|
version = "2.0.0";
|
||||||
};
|
};
|
||||||
jekyll-feed = {
|
jekyll-feed = {
|
||||||
dependencies = ["jekyll"];
|
dependencies = ["jekyll"];
|
||||||
@ -260,10 +260,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01f0ivjdr3qc9dh9n8lj6paiy7zmlb7hs9nk6rgni6jjn5plslg3";
|
sha256 = "1lx8nvkhd8l1wm3b6s506rycwbmpbzbsbjl65p21asjz6vbwf1ir";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.12.1";
|
version = "0.13.0";
|
||||||
};
|
};
|
||||||
jekyll-gist = {
|
jekyll-gist = {
|
||||||
dependencies = ["octokit"];
|
dependencies = ["octokit"];
|
||||||
@ -314,10 +314,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
|
sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.0.0";
|
version = "2.0.1";
|
||||||
};
|
};
|
||||||
jekyll-seo-tag = {
|
jekyll-seo-tag = {
|
||||||
dependencies = ["jekyll"];
|
dependencies = ["jekyll"];
|
||||||
@ -441,15 +441,15 @@
|
|||||||
version = "4.0.0";
|
version = "4.0.0";
|
||||||
};
|
};
|
||||||
listen = {
|
listen = {
|
||||||
dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
|
dependencies = ["rb-fsevent" "rb-inotify"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
|
sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.5";
|
version = "3.2.0";
|
||||||
};
|
};
|
||||||
mercenary = {
|
mercenary = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -467,20 +467,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
|
sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.2";
|
version = "3.3";
|
||||||
};
|
};
|
||||||
mime-types-data = {
|
mime-types-data = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
|
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2019.0331";
|
version = "3.2019.1009";
|
||||||
};
|
};
|
||||||
mini_portile2 = {
|
mini_portile2 = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -497,10 +497,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
|
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.11.3";
|
version = "5.13.0";
|
||||||
};
|
};
|
||||||
multipart-post = {
|
multipart-post = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -518,10 +518,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
|
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.10.4";
|
version = "1.10.5";
|
||||||
};
|
};
|
||||||
octokit = {
|
octokit = {
|
||||||
dependencies = ["sawyer"];
|
dependencies = ["sawyer"];
|
||||||
@ -550,10 +550,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
|
sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.1";
|
version = "4.0.1";
|
||||||
};
|
};
|
||||||
rb-fsevent = {
|
rb-fsevent = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -581,30 +581,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "07b7ac2nls2yskaicqshxgip6dwpxl80hlx4pslq90jgpxgs2kkp";
|
sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "6.1.1";
|
version = "6.2.0";
|
||||||
};
|
};
|
||||||
rouge = {
|
rouge = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
|
sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.9.0";
|
version = "3.13.0";
|
||||||
};
|
|
||||||
ruby_dep = {
|
|
||||||
groups = ["default"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "1.5.0";
|
|
||||||
};
|
};
|
||||||
safe_yaml = {
|
safe_yaml = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -622,10 +612,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
|
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.0";
|
version = "2.2.1";
|
||||||
};
|
};
|
||||||
sawyer = {
|
sawyer = {
|
||||||
dependencies = ["addressable" "faraday"];
|
dependencies = ["addressable" "faraday"];
|
||||||
@ -717,9 +707,9 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
|
sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.9";
|
version = "2.2.1";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -1,15 +1,12 @@
|
|||||||
{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }:
|
{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
version = "5.4.10";
|
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
pname = "masterpdfeditor";
|
pname = "masterpdfeditor";
|
||||||
inherit version;
|
version = "5.4.38";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
|
url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz";
|
||||||
sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7";
|
sha256 = "0fidy8gd4mqvyfgmrwdiz8z53dyzihqqhgfrffj0z0idm2zi4mcq";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
|
nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5, runtimeShell }:
|
{ fetchFromGitHub, libxcb, mtools, p7zip, parted, procps,
|
||||||
|
python36Packages, qt5, runtimeShell, stdenv, utillinux, wrapQtAppsHook }:
|
||||||
|
|
||||||
|
# Note: Multibootusb is tricky to maintain. It relies on the
|
||||||
|
# $PYTHONPATH variable containing some of their code, so that
|
||||||
|
# something like:
|
||||||
|
#
|
||||||
|
# from scripts import config
|
||||||
|
#
|
||||||
|
# works. It also relies on the current directory to find some runtime
|
||||||
|
# resources thanks to a use of __file__.
|
||||||
|
#
|
||||||
|
# https://github.com/mbusb/multibootusb/blob/0d34d70c3868f1d7695cfd141141b17c075de967/scripts/osdriver.py#L59
|
||||||
|
|
||||||
python36Packages.buildPythonApplication rec {
|
python36Packages.buildPythonApplication rec {
|
||||||
pname = "multibootusb";
|
pname = "multibootusb";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
version = "9.2.0";
|
version = "9.2.0";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
python36Packages.dbus-python
|
|
||||||
python36Packages.pyqt5
|
|
||||||
python36Packages.pytest-shutil
|
|
||||||
python36Packages.python
|
|
||||||
python36Packages.pyudev
|
|
||||||
python36Packages.six
|
|
||||||
libxcb
|
libxcb
|
||||||
mtools
|
mtools
|
||||||
p7zip
|
p7zip
|
||||||
parted
|
parted
|
||||||
procps
|
procps
|
||||||
|
python36Packages.python
|
||||||
qt5.full
|
qt5.full
|
||||||
utillinux
|
utillinux
|
||||||
];
|
];
|
||||||
@ -28,32 +40,42 @@ python36Packages.buildPythonApplication rec {
|
|||||||
sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
|
sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Skip the fixup stage where stuff is shrinked (can't shrink text files)
|
# Tests can't run inside the NixOS sandbox
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
# "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
installPhase = ''
|
pythonPath = [
|
||||||
share="$out/share/${pname}"
|
python36Packages.dbus-python
|
||||||
mkdir -p "$share"
|
python36Packages.pyqt5
|
||||||
cp -r data "$share/data"
|
python36Packages.pytest-shutil
|
||||||
cp -r scripts "$share/scripts"
|
python36Packages.pyudev
|
||||||
cp "${pname}" "$share/${pname}"
|
python36Packages.six
|
||||||
|
];
|
||||||
|
|
||||||
mkdir "$out/bin"
|
makeWrapperArgs = [
|
||||||
cat > "$out/bin/${pname}" <<EOF
|
# Firstly, add all necessary QT variables
|
||||||
#!${runtimeShell}
|
"\${qtWrapperArgs[@]}"
|
||||||
cd "$share"
|
|
||||||
export PYTHONPATH="$PYTHONPATH:$share"
|
|
||||||
export PATH="$PATH:${parted}/bin:${procps}/bin"
|
|
||||||
|
|
||||||
"${python36Packages.python}/bin/python" "${pname}"
|
# Then, add the installed scripts/ directory to the python path
|
||||||
EOF
|
"--prefix" "PYTHONPATH" ":" "$out/lib/${python36Packages.python.libPrefix}/site-packages"
|
||||||
chmod +x "$out/bin/${pname}"
|
|
||||||
|
# Finally, move to directory that contains data
|
||||||
|
"--run" "\"cd $out/share/${pname}\""
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# This script doesn't work and it doesn't add much anyway
|
||||||
|
rm $out/bin/multibootusb-pkexec
|
||||||
|
|
||||||
|
# The installed data isn't sufficient for whatever reason, missing gdisk/gdisk.exe
|
||||||
|
mkdir -p "$out/share/${pname}"
|
||||||
|
cp -r data "$out/share/${pname}/data"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Multiboot USB creator for Linux live disks";
|
description = "Multiboot USB creator for Linux live disks";
|
||||||
homepage = http://multibootusb.org/;
|
homepage = http://multibootusb.org/;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ jD91mZM2 ];
|
maintainers = []; # Looking for a maintainer!
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "notable";
|
pname = "notable";
|
||||||
version = "1.4.0";
|
version = "1.7.3";
|
||||||
in
|
in
|
||||||
appimageTools.wrapType2 rec {
|
appimageTools.wrapType2 rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage";
|
url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
|
||||||
sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr";
|
sha256 = "1a7xpdk23np398nrgivyp8z54idqm72dfwx67i2rmxa3dnmcxkvl";
|
||||||
};
|
};
|
||||||
|
|
||||||
profile = ''
|
profile = ''
|
||||||
@ -17,7 +17,7 @@ appimageTools.wrapType2 rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
multiPkgs = null; # no 32bit needed
|
multiPkgs = null; # no 32bit needed
|
||||||
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
|
extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ];
|
||||||
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
|
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -19,7 +19,7 @@ in mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ perlPackages.perl ];
|
buildInputs = [ perlPackages.perl ];
|
||||||
|
|
||||||
preBuild = ''
|
postPatch = ''
|
||||||
substituteInPlace scripts/scripts.pro \
|
substituteInPlace scripts/scripts.pro \
|
||||||
--replace /bin/true ${coreutils}/bin/true
|
--replace /bin/true ${coreutils}/bin/true
|
||||||
|
|
||||||
@ -37,9 +37,8 @@ in mkDerivation rec {
|
|||||||
substituteInPlace src/StdCleanup.cpp \
|
substituteInPlace src/StdCleanup.cpp \
|
||||||
--replace /bin/bash ${bash}/bin/bash
|
--replace /bin/bash ${bash}/bin/bash
|
||||||
'';
|
'';
|
||||||
postPatch = ''
|
|
||||||
export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out"
|
qmakeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ];
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/qdirstat-cache-writer \
|
wrapProgram $out/bin/qdirstat-cache-writer \
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
||||||
let
|
let
|
||||||
pname = "sidequest";
|
pname = "sidequest";
|
||||||
version = "0.7.5";
|
version = "0.7.6";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem rec {
|
desktopItem = makeDesktopItem rec {
|
||||||
name = "SideQuest";
|
name = "SideQuest";
|
||||||
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
|
url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
|
||||||
sha256 = "1a77slpm7yga5vh3j1y440dq2xgv4pa6h8xg29rdcs6zig55pa97";
|
sha256 = "1yyba5495ydyyfl62pjd4hbga86k7f2a72ds2j2qzkinngyl14j8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xmrig";
|
pname = "xmrig";
|
||||||
version = "3.2.0";
|
version = "5.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xmrig";
|
owner = "xmrig";
|
||||||
repo = "xmrig";
|
repo = "xmrig";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1qb20v3wvd6scx0dnlcqvj947ng4h0lxlvl9kpz0a2a3l5425rjf";
|
sha256 = "17bgz1rpix1zgzzn4zz84jp7hl6b2k968h918y3av5asxn0mji49";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xmrig-proxy";
|
pname = "xmrig-proxy";
|
||||||
version = "3.2.0";
|
version = "5.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xmrig";
|
owner = "xmrig";
|
||||||
repo = "xmrig-proxy";
|
repo = "xmrig-proxy";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0scz78cc5zcdd6z4gm0zqsb36jf0z8fyn2ki52814ndxrk7nr4xg";
|
sha256 = "0h0yxzpar952ix94j10qyf31c20g45w0nxr02vfybjip48dvlf76";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -45,11 +45,11 @@ let
|
|||||||
|
|
||||||
flash = stdenv.mkDerivation rec {
|
flash = stdenv.mkDerivation rec {
|
||||||
pname = "flashplayer-ppapi";
|
pname = "flashplayer-ppapi";
|
||||||
version = "32.0.0.270";
|
version = "32.0.0.293";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||||
sha256 = "1z8nfw7b3dsy79gb50bmmdjz66j5gx6m0hkw1abp35xdgh2sz2ak";
|
sha256 = "0rgriqdbyrzpm1bcph35bhzd5dz21yim56z93hkmbpdqg7767dwm";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Fast, small, webkit based browser framework extensible in Lua";
|
description = "Fast, small, webkit based browser framework extensible in Lua";
|
||||||
homepage = http://luakit.org;
|
homepage = https://luakit.github.io/;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux; # Only tested linux
|
platforms = platforms.linux; # Only tested linux
|
||||||
};
|
};
|
||||||
|
@ -74,7 +74,7 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flashplayer";
|
pname = "flashplayer";
|
||||||
version = "32.0.0.270";
|
version = "32.0.0.293";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"1c3dn4gkl40i5sjkvpbkn9fl82vjhy1v7dhrayk3ncfsxcyvbcm0"
|
"0lz1na68gdi9n23hfj5c731dbskm9684cwar7ji8yjfhfryfg5yn"
|
||||||
else
|
else
|
||||||
"1g7i9mihn5g9i71xyf805k19yk41vsr85gzk87gm426m0hcgg89i"
|
"10gm2ynndlyk66fndfbh7ah5ssqpyw8415i10n3lpw940x201dk0"
|
||||||
else
|
else
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"16lxgkbr2hg49vhc7414zkh1kblhysf779854faay308ml3i5kdw"
|
"0hmlv0v9lbgxrmz0n7czfnrbrwjwxhy99gsr5g1m0aqgw0y61clc"
|
||||||
else
|
else
|
||||||
"0jrdzm8pw7aq32w7m4rvkhj7mmqyddh5yxpj7q3d9hxrwshkikvj";
|
"0qdw4f48xhnkzdly3jz63v14nmzd0gg49az5wxb08ghs8laaqlik";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "flashplayer-standalone";
|
pname = "flashplayer-standalone";
|
||||||
version = "32.0.0.270";
|
version = "32.0.0.293";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
@ -60,9 +60,9 @@ stdenv.mkDerivation {
|
|||||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
|
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
|
||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
"0k5azrl92hkbn7adjz7s2lv8h59n7gsjrcprqdc485i4f7sjmkwj"
|
"13mrknvl3yd8vrcs7mp6szz6f9ssfs72apzvc60f9qfwkhiwlg87"
|
||||||
else
|
else
|
||||||
"1la5s4wxchfpl8in576xj675yrg84pify22pwf063h0jg3rdgi68";
|
"0isvmzyi4isxvxxc5ksplcqc5cafpvbrln3dddpms8zps2dxpyzi";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -15,13 +15,13 @@ with lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kubernetes";
|
pname = "kubernetes";
|
||||||
version = "1.15.4";
|
version = "1.16.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "18wpqrgb1ils4g8ggg217xq4jq30i4m7par2mdjk59pmz7ssm25p";
|
sha256 = "0s2k7ik2aa7knh25r0qki7ldr3g9h87dgi8nm64j8n0yy4xvg2h3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
||||||
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Production-Grade Container Scheduling and Management";
|
description = "Production-Grade Container Scheduling and Management";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
homepage = https://kubernetes.io;
|
homepage = https://kubernetes.io;
|
||||||
maintainers = with maintainers; [johanot offline];
|
maintainers = with maintainers; [johanot offline saschagrunert];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
24
pkgs/applications/networking/cluster/kubeseal/default.nix
Normal file
24
pkgs/applications/networking/cluster/kubeseal/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "kubeseal";
|
||||||
|
version = "0.9.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bitnami-labs";
|
||||||
|
repo = "sealed-secrets";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0k59n40rmxjdn0xi8gr08zlxk0irfc7crra9x8qdljvivqshma3z";
|
||||||
|
};
|
||||||
|
|
||||||
|
modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd";
|
||||||
|
|
||||||
|
subPackages = [ "cmd/kubeseal" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A Kubernetes controller and tool for one-way encrypted Secrets";
|
||||||
|
homepage = "https://github.com/bitnami-labs/sealed-secrets";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ groodt ];
|
||||||
|
};
|
||||||
|
}
|
@ -112,8 +112,8 @@ in rec {
|
|||||||
terraform_0_11-full = terraform_0_11.full;
|
terraform_0_11-full = terraform_0_11.full;
|
||||||
|
|
||||||
terraform_0_12 = pluggable (generic {
|
terraform_0_12 = pluggable (generic {
|
||||||
version = "0.12.14";
|
version = "0.12.15";
|
||||||
sha256 = "0pq4sfnnlj91gxyxvyzzrgglnvh8xpan90gnc9jvnnb23iv4q96l";
|
sha256 = "18kvgb2sjldis7bykb11zqzx6avr7a4ry91xsfq4v0iwbi5k383b";
|
||||||
patches = [ ./provider-path.patch ];
|
patches = [ ./provider-path.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
});
|
});
|
||||||
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||||||
castget is a simple, command-line based RSS enclosure downloader. It is
|
castget is a simple, command-line based RSS enclosure downloader. It is
|
||||||
primarily intended for automatic, unattended downloading of podcasts.
|
primarily intended for automatic, unattended downloading of podcasts.
|
||||||
'';
|
'';
|
||||||
homepage = "http://castget.johndal.com/";
|
homepage = "https://castget.johndal.com/";
|
||||||
maintainers = with maintainers; [ doronbehar ];
|
maintainers = with maintainers; [ doronbehar ];
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
{ callPackage }:
|
{ callPackage }:
|
||||||
|
|
||||||
let
|
let
|
||||||
stableVersion = "2.2.2";
|
stableVersion = "2.2.3";
|
||||||
previewVersion = "2.2.2";
|
previewVersion = stableVersion;
|
||||||
addVersion = args:
|
addVersion = args:
|
||||||
let version = if args.stable then stableVersion else previewVersion;
|
let version = if args.stable then stableVersion else previewVersion;
|
||||||
branch = if args.stable then "stable" else "preview";
|
branch = if args.stable then "stable" else "preview";
|
||||||
in args // { inherit version branch; };
|
in args // { inherit version branch; };
|
||||||
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
||||||
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
||||||
guiSrcHash = "0i335fjbadixp39l75w0fl5iwz2cb8rcdj2xvx1my3vzhg8lijfl";
|
guiSrcHash = "1l40q3d3hsmhgwb4d8hj73vhgckm0dvsc6l6qzacypd202iq1v8a";
|
||||||
serverSrcHash = "1g6km8jc53y8ph14ifjxscbimdxma6bw5ir9gqzvkjn39k9fy1w6";
|
serverSrcHash = "1qcypb1rmfdl8fl3ykqf5phcapmjid6jrxd6xpncd5dhyl2hr94n";
|
||||||
in {
|
in {
|
||||||
guiStable = mkGui {
|
guiStable = mkGui {
|
||||||
stable = true;
|
stable = true;
|
||||||
|
@ -27,10 +27,10 @@ in {
|
|||||||
pname = "discord-canary";
|
pname = "discord-canary";
|
||||||
binaryName = "DiscordCanary";
|
binaryName = "DiscordCanary";
|
||||||
desktopName = "Discord Canary";
|
desktopName = "Discord Canary";
|
||||||
version = "0.0.97";
|
version = "0.0.98";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||||
sha256 = "17kwgk2kwrfqgjqmfv055gvlqq144gz7bywwrs6i2x7mimz4345x";
|
sha256 = "0raqsfakjbcsh7g280yi7sg2jsrmy2q4jldg73wb868z35radld4";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}.${branch}
|
}.${branch}
|
||||||
|
@ -1,23 +1,31 @@
|
|||||||
{ stdenv, fetchFromGitHub, pidgin, glib, json-glib, nss, nspr, libgnome-keyring } :
|
{ stdenv, fetchFromGitHub, pkgconfig, pidgin, glib, json-glib, nss, nspr
|
||||||
|
, libsecret
|
||||||
|
} :
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pidgin-opensteamworks";
|
pname = "pidgin-opensteamworks";
|
||||||
version = "unstable-2018-08-02";
|
version = "1.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "EionRobb";
|
owner = "EionRobb";
|
||||||
repo = "pidgin-opensteamworks";
|
repo = "pidgin-opensteamworks";
|
||||||
rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
|
rev = version;
|
||||||
sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
|
sha256 = "0zxd45g9ycw5kmm4i0800jnqg1ms2gbqcld6gkyv6n3ac1wxizpj";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = "cd steam-mobile";
|
sourceRoot = "source/steam-mobile";
|
||||||
|
|
||||||
installFlags = [
|
installFlags = [
|
||||||
"PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
|
"PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
|
||||||
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
|
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ pidgin glib json-glib nss nspr libgnome-keyring ];
|
nativeBuildInputs = [
|
||||||
|
pkgconfig
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
pidgin glib json-glib nss nspr libsecret
|
||||||
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/EionRobb/pidgin-opensteamworks;
|
homepage = https://github.com/EionRobb/pidgin-opensteamworks;
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
{ stdenv, fetchgit, pkgconfig, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
|
{ stdenv, fetchFromGitHub, pkgconfig, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
version = "2018-08-03";
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "purple-matrix-unstable";
|
pname = "purple-matrix-unstable";
|
||||||
inherit version;
|
version = "2019-06-06";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/matrix-org/purple-matrix";
|
owner = "matrix-org";
|
||||||
rev = "5a7166a3f54f85793c6b60662f8d12196aeaaeb0";
|
repo = "purple-matrix";
|
||||||
sha256 = "0ph0s24b37d1c50p8zbzgf4q2xns43a8v6vk85iz633wdd72zsa0";
|
rev = "4494ba22b479917f0b1f96a3019792d3d75bcff1";
|
||||||
|
sha256 = "1gjm0z4wa5vi9x1xk43rany5pffrwg958n180ahdj9a7sa8a4hpm";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = [
|
||||||
# glib-2.62 deprecations
|
# glib-2.62 deprecations
|
||||||
NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
|
"-DGLIB_DISABLE_DEPRECATION_WARNINGS"
|
||||||
|
# override "-O0 -Werror" set by build system
|
||||||
|
"-O3" "-Wno-error"
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ pidgin json-glib glib http-parser sqlite olm libgcrypt ];
|
buildInputs = [ pidgin json-glib glib http-parser sqlite olm libgcrypt ];
|
||||||
|
|
||||||
hardeningDisable = [ "fortify" ]; # upstream compiles with -O0
|
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
|
"PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
|
||||||
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
|
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
|
||||||
|
@ -31,6 +31,7 @@ in yarn2nix-moretea.mkYarnPackage rec {
|
|||||||
ln -s '${riot-web}' "$out/share/riot/webapp"
|
ln -s '${riot-web}' "$out/share/riot/webapp"
|
||||||
cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
|
cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
|
||||||
cp -r './deps/riot-web' "$out/share/riot/electron"
|
cp -r './deps/riot-web' "$out/share/riot/electron"
|
||||||
|
cp -r './deps/riot-web/img' "$out/share/riot"
|
||||||
rm "$out/share/riot/electron/node_modules"
|
rm "$out/share/riot/electron/node_modules"
|
||||||
cp -r './node_modules' "$out/share/riot/electron"
|
cp -r './node_modules' "$out/share/riot/electron"
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ in stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
homepage = https://signal.org/;
|
homepage = https://signal.org/;
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = with lib.maintainers; [ ixmatus primeos ];
|
maintainers = with lib.maintainers; [ ixmatus primeos equirosa ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
{ theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
|
{ theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
|
||||||
cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf,
|
cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf,
|
||||||
libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
|
libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
|
||||||
at-spi2-atk, libuuid, nodePackages
|
at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "4.0.2";
|
version = "4.1.2";
|
||||||
|
|
||||||
rpath = stdenv.lib.makeLibraryPath [
|
rpath = stdenv.lib.makeLibraryPath [
|
||||||
alsaLib
|
alsaLib
|
||||||
at-spi2-atk
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
atk
|
atk
|
||||||
cairo
|
cairo
|
||||||
cups
|
cups
|
||||||
@ -32,6 +33,7 @@ let
|
|||||||
stdenv.cc.cc
|
stdenv.cc.cc
|
||||||
systemd
|
systemd
|
||||||
libuuid
|
libuuid
|
||||||
|
libpulseaudio
|
||||||
|
|
||||||
xorg.libxkbfile
|
xorg.libxkbfile
|
||||||
xorg.libX11
|
xorg.libX11
|
||||||
@ -51,7 +53,7 @@ let
|
|||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
|
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
|
||||||
sha256 = "053j5py16ilpwy868rhh5l2g93xj1fq4fwxrsi2bkfsnmq261hkm";
|
sha256 = "0a1b2k81hm1lfrdb47gmd07jqb7hva9sxsiph7b3iwzpzw8pjrkh";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw "Slack is not supported on ${stdenv.hostPlatform.system}";
|
throw "Slack is not supported on ${stdenv.hostPlatform.system}";
|
||||||
@ -63,18 +65,22 @@ in stdenv.mkDerivation {
|
|||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
dpkg
|
|
||||||
gtk3 # needed for GSETTINGS_SCHEMAS_PATH
|
gtk3 # needed for GSETTINGS_SCHEMAS_PATH
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper nodePackages.asar ];
|
nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
buildCommand = ''
|
dontBuild = true;
|
||||||
|
dontPatchELF = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
# The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
|
||||||
|
dpkg --fsys-tarfile $src | tar --extract
|
||||||
|
rm -rf usr/share/lintian
|
||||||
|
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
dpkg -x $src $out
|
mv usr/* $out
|
||||||
cp -av $out/usr/* $out
|
|
||||||
rm -rf $out/etc $out/usr $out/share/lintian
|
|
||||||
|
|
||||||
# Otherwise it looks "suspicious"
|
# Otherwise it looks "suspicious"
|
||||||
chmod -R g-w $out
|
chmod -R g-w $out
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user