Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-11-19 10:53:44 +01:00
commit f6b39f852e
109 changed files with 1240 additions and 38509 deletions

View File

@ -26,7 +26,7 @@
</listitem>
<listitem>
<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>
</listitem>
</itemizedlist>
@ -36,15 +36,11 @@
</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>
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>.
</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.
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>
</section>
@ -55,7 +51,7 @@
<title>Rebar3</title>
<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>
</section>
@ -72,32 +68,14 @@
<title>How to Install BEAM Packages</title>
<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>
<screen>
<prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A beamPackages
beamPackages.esqlite esqlite-0.2.1
beamPackages.goldrush goldrush-0.1.7
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 &quot;&lt;nixpkgs&gt;&quot; -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>
<screen>
<prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.rebar3
</screen>
</section>
<section xml:id="packaging-beam-applications">
<title>Packaging BEAM Applications</title>
@ -109,35 +87,7 @@ beamPackages.rebar3-pc pc-1.1.0
<title>Rebar3 Packages</title>
<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
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.
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.
</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>.
</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 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>.
</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>
Alternatively, we can use <literal>buildHex</literal> as a shortcut:
</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>
@ -243,66 +121,13 @@ buildHex {
<section xml:id="how-to-develop">
<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">
<title>Creating a Shell</title>
<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.
</para>
<para>
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>
<programlisting>
{ pkgs ? import &quot;&lt;nixpkgs&quot;&gt; {} }:
@ -311,114 +136,24 @@ with pkgs;
let
f = { buildRebar3, ibrowse, jsx, erlware_commons }:
buildRebar3 {
name = "hex2nix";
version = "0.1.0";
src = ./.;
beamDeps = [ ibrowse jsx erlware_commons ];
};
drv = beamPackages.callPackage f {};
elixir = beam.packages.erlangR22.elixir_1_9;
in
mkShell {
buildInputs = [ elixir ];
drv
ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
}
</programlisting>
<section xml:id="building-in-a-shell">
<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>
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>
</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>

View File

@ -944,6 +944,12 @@
githubId = 5718007;
name = "Bastian Köcher";
};
blitz = {
email = "js@alien8.de";
github = "blitz";
githubId = 37907;
name = "Julian Stecklina";
};
bluescreen303 = {
email = "mathijs@bluescreen303.nl";
github = "bluescreen303";
@ -1399,6 +1405,12 @@
githubId = 1740337;
name = "Chris Ostrouchov";
};
contrun = {
email = "uuuuuu@protonmail.com";
github = "contrun";
githubId = 32609395;
name = "B YI";
};
couchemar = {
email = "couchemar@yandex.ru";
github = "couchemar";
@ -2295,6 +2307,16 @@
githubId = 415760;
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 = {
email = "felix.weilbach@t-online.de";
github = "FlexW";
@ -3386,6 +3408,12 @@
github = "juliendehos";
name = "Julien Dehos";
};
jumper149 = {
email = "felixspringer149@gmail.com";
github = "jumper149";
githubId = 39434424;
name = "Felix Springer";
};
justinwoo = {
email = "moomoowoo@gmail.com";
github = "justinwoo";
@ -3922,6 +3950,22 @@
github = "lovek323";
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 = {
email = "andreas.wagner@lowfatcomputing.org";
github = "lowfatcomputing";

View File

@ -2,7 +2,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-running-nixos-tests">
xml:id="sec-running-nixos-tests-interactively">
<title>Running Tests interactively</title>
<para>

View File

@ -2,7 +2,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-running-nixos-tests-interactively">
xml:id="sec-running-nixos-tests">
<title>Running Tests</title>
<para>

View File

@ -149,6 +149,12 @@
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>
</section>

View File

@ -40,6 +40,7 @@ let
daemonService = appName: args:
{ description = "Samba Service Daemon ${appName}";
after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") ];
requiredBy = [ "samba.target" ];
partOf = [ "samba.target" ];

View File

@ -35,6 +35,7 @@ let
(if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
then "--credentials=${toString credFile}"
else "--no-auth")
"--addr=${address}:${toString port}"
] ++ extraOptions);
in {
@ -177,7 +178,7 @@ in {
systemd.services.magneticod = {
description = "Magnetico DHT crawler";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
after = [ "network.target" ];
serviceConfig = {
User = "magnetico";
@ -189,7 +190,7 @@ in {
systemd.services.magneticow = {
description = "Magnetico web interface";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" "magneticod.service"];
after = [ "network.target" "magneticod.service"];
serviceConfig = {
User = "magnetico";
@ -202,7 +203,7 @@ in {
assertions =
[
{
assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { };
assertion = cfg.web.credentialsFile == null || cfg.web.credentials == { };
message = ''
The options services.magnetico.web.credentialsFile and
services.magnetico.web.credentials are mutually exclusives.

View File

@ -15,7 +15,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
#
# One particular example are the boot tests where we want instrumentation
# within the images but not other stuff like setting up 9p filesystems.
options.virtualisation.qemu.program = mkOption { type = types.path; };
options.virtualisation.qemu = { };
config = {

View File

@ -148,6 +148,7 @@ in
loki = handleTest ./loki.nix {};
#logstash = handleTest ./logstash.nix {};
lorri = handleTest ./lorri/default.nix {};
magnetico = handleTest ./magnetico.nix {};
mailcatcher = handleTest ./mailcatcher.nix {};
mathics = handleTest ./mathics.nix {};
matomo = handleTest ./matomo.nix {};

View File

@ -1,4 +1,9 @@
import ./make-test.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ pkgs, ...} :
let
port = 8081;
in
{
name = "magnetico";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ rnhmjoj ];
@ -12,17 +17,24 @@ import ./make-test.nix ({ pkgs, ...} : {
services.magnetico = {
enable = true;
crawler.port = 9000;
web.port = port;
web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
};
};
testScript =
''
startAll;
$machine->waitForUnit("magneticod");
$machine->waitForUnit("magneticow");
$machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
$machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
$machine->shutdown();
start_all()
machine.wait_for_unit("magneticod")
machine.wait_for_unit("magneticow")
machine.succeed(
"${pkgs.curl}/bin/curl "
+ "-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()
'';
})

22
nixos/tests/spike.nix Normal file
View 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"
'';
})

View 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
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "lnd";
version = "0.7.1-beta";
version = "0.8.1-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry";
sha256 = "0f9fx2y66l3wxiax2vl2966avamjarkv3vbn9dy0wbxkwg4pfayb";
};
modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73";
modSha256 = "1i6xw2amkg4azvzybcl4pqxif9c0mv8ayrhz9hm8x85bz7i6a787";
meta = with lib; {
description = "Lightning Network Daemon";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "wasabiwallet";
version = "1.1.9";
version = "1.1.9.2";
src = fetchurl {
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz";
sha256 = "1dz05ivhadfjfp4yfpz492401yznm3rlnx7g4nqzxwh4cmqzisrm";
sha256 = "0qcgrw106rqcls6p5iq02sq3w6xrzhc5z7w8v5almbw7ikv6f0s2";
};
dontBuild = true;

View File

@ -1,6 +1,6 @@
{stdenv, fetchzip, emacs, colorTheme}:
{stdenv, fetchzip, emacs, color-theme}:
let
commit = "412713a0fcedd520d208a7b783fea03d710bcc61";
commit = "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee";
in
stdenv.mkDerivation {
name = "color-theme-solarized-1.0.0";
@ -8,15 +8,14 @@ stdenv.mkDerivation {
src = fetchzip {
url = "https://github.com/sellout/emacs-color-theme-solarized/archive/${commit}.zip";
sha256 = "1xd2yk7p39zxgcf91s80pqknzdxw9d09cppjb87g7ihj6f0wxqjv";
sha256 = "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3";
};
buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ colorTheme ];
propagatedUserEnvPkgs = [ color-theme ];
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 = ''
@ -30,8 +29,5 @@ stdenv.mkDerivation {
maintainers = [ maintainers.samuelrivas ];
license = licenses.mit;
platforms = platforms.all;
# Fails with `solarized-definitions.el:786:1:Warning: the function `rotatef' is not known to`
broken = true;
};
}

View File

@ -128,9 +128,7 @@
# From old emacsPackages (pre emacsPackagesNg)
cedet = callPackage ./cedet { };
cedille = callPackage ./cedille { cedille = pkgs.cedille; };
colorThemeSolarized = callPackage ./color-theme-solarized {
colorTheme = self.color-theme;
};
colorThemeSolarized = callPackage ./color-theme-solarized { };
emacsSessionManagement = callPackage ./session-management-for-emacs { };
hsc3-mode = callPackage ./hsc3 { };
hol_light_mode = callPackage ./hol_light { };

View 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;
};
}

View File

@ -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
# available.
, enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
@ -42,12 +42,11 @@ in python.pkgs.buildPythonApplication {
doCheck = false;
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ wrapQtAppsHook ];
propagatedBuildInputs = [ pythonEnv ];
postInstall = ''
mv $out/bin/retext $out/bin/.retext
makeWrapper "$out/bin/.retext" "$out/bin/retext" \
wrapQtApp "$out/bin/retext" \
--set ASPELL_CONF "dict-dir ${buildEnv {
name = "aspell-all-dicts";
paths = map (path: "${path}/lib/aspell") enchantAspellDicts;

View File

@ -76,6 +76,7 @@ stdenv.mkDerivation {
"--with-tclsh=${tcl}/bin/tclsh"
"--with-tlib=ncurses"
"--with-compiledby=Nix"
"LDFLAGS=-headerpad_max_install_names"
];
makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';

View 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;
};
}

View 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 ];
};
}

View File

@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
charlock_holmes (0.7.6)
charlock_holmes (0.7.7)
diff-lcs (1.3)
gemojione (3.3.0)
json
@ -31,12 +31,12 @@ GEM
twitter-text (= 1.14.7)
json (2.2.0)
kramdown (1.9.0)
mime-types (3.2.2)
mime-types (3.3)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.0331)
mime-types-data (3.2019.1009)
mini_portile2 (2.4.0)
mustache (0.99.8)
nokogiri (1.10.4)
nokogiri (1.10.5)
mini_portile2 (~> 2.4.0)
posix-spawn (0.3.13)
rack (1.6.11)
@ -50,7 +50,7 @@ GEM
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
stringex (2.8.5)
tilt (2.0.9)
tilt (2.0.10)
twitter-text (1.14.7)
unf (~> 0.1.0)
unf (0.1.4)
@ -65,4 +65,4 @@ DEPENDENCIES
gollum
BUNDLED WITH
1.17.2
1.17.3

View File

@ -4,10 +4,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
type = "gem";
};
version = "0.7.6";
version = "0.7.7";
};
diff-lcs = {
groups = ["default"];
@ -110,20 +110,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
type = "gem";
};
version = "3.2.2";
version = "3.3";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
type = "gem";
};
version = "3.2019.0331";
version = "3.2019.1009";
};
mini_portile2 = {
groups = ["default"];
@ -151,10 +151,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
type = "gem";
};
version = "1.10.4";
version = "1.10.5";
};
posix-spawn = {
groups = ["default"];
@ -234,10 +234,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
type = "gem";
};
version = "2.0.9";
version = "2.0.10";
};
twitter-text = {
dependencies = ["unf"];

View File

@ -1,28 +1,28 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.0)
activesupport (6.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.1, >= 2.1.8)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
zeitwerk (~> 2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.11.1)
ffi (1.11.2)
forwardable-extended (2.6.0)
gemoji (3.0.1)
html-pipeline (2.12.0)
html-pipeline (2.12.2)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (1.6.0)
i18n (1.7.0)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
addressable (~> 2.4)
@ -44,7 +44,7 @@ GEM
jekyll-mentions (1.5.1)
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.0.0)
jekyll-sass-converter (2.0.1)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.6.1)
jekyll (>= 3.3, < 5.0)
@ -60,25 +60,23 @@ GEM
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
listen (3.2.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mini_portile2 (2.4.0)
minitest (5.11.3)
nokogiri (1.10.4)
minitest (5.13.0)
nokogiri (1.10.5)
mini_portile2 (~> 2.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.1.1)
public_suffix (4.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (3.9.0)
ruby_dep (1.5.0)
rouge (3.13.0)
safe_yaml (1.0.5)
sassc (2.1.0)
sassc (2.2.1)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
@ -86,7 +84,7 @@ GEM
tzinfo (1.2.5)
thread_safe (~> 0.1)
unicode-display_width (1.6.0)
zeitwerk (2.1.9)
zeitwerk (2.2.1)
PLATFORMS
ruby
@ -100,4 +98,4 @@ DEPENDENCIES
jemoji
BUNDLED WITH
1.17.2
1.17.3

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
type = "gem";
};
version = "6.0.0";
version = "6.0.1";
};
addressable = {
dependencies = ["public_suffix"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
type = "gem";
};
version = "2.6.0";
version = "2.7.0";
};
colorator = {
groups = ["default"];
@ -67,10 +67,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
type = "gem";
};
version = "1.11.1";
version = "1.11.2";
};
forwardable-extended = {
groups = ["default"];
@ -98,10 +98,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
type = "gem";
};
version = "2.12.0";
version = "2.12.2";
};
"http_parser.rb" = {
groups = ["default"];
@ -119,10 +119,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
type = "gem";
};
version = "1.6.0";
version = "1.7.0";
};
jekyll = {
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 = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
type = "gem";
};
version = "2.0.0";
version = "2.0.1";
};
jekyll-seo-tag = {
dependencies = ["jekyll"];
@ -244,15 +244,15 @@
version = "4.0.3";
};
listen = {
dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
dependencies = ["rb-fsevent" "rb-inotify"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
type = "gem";
};
version = "3.1.5";
version = "3.2.0";
};
mercenary = {
groups = ["default"];
@ -279,10 +279,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
type = "gem";
};
version = "5.11.3";
version = "5.13.0";
};
nokogiri = {
dependencies = ["mini_portile2"];
@ -290,10 +290,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
type = "gem";
};
version = "1.10.4";
version = "1.10.5";
};
pathutil = {
dependencies = ["forwardable-extended"];
@ -311,10 +311,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
type = "gem";
};
version = "3.1.1";
version = "4.0.1";
};
rb-fsevent = {
groups = ["default"];
@ -342,20 +342,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
type = "gem";
};
version = "3.9.0";
};
ruby_dep = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
type = "gem";
};
version = "1.5.0";
version = "3.13.0";
};
safe_yaml = {
groups = ["default"];
@ -373,10 +363,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
type = "gem";
};
version = "2.1.0";
version = "2.2.1";
};
terminal-table = {
dependencies = ["unicode-display_width"];
@ -425,9 +415,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
type = "gem";
};
version = "2.1.9";
version = "2.2.1";
};
}

View File

@ -1,14 +1,14 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.0)
activesupport (6.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.1, >= 2.1.8)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
zeitwerk (~> 2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
classifier-reborn (2.2.0)
fast-stemmer (~> 1.0)
coderay (1.1.2)
@ -23,17 +23,17 @@ GEM
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (0.15.4)
faraday (0.17.0)
multipart-post (>= 1.2, < 3)
fast-stemmer (1.0.2)
ffi (1.11.1)
ffi (1.11.2)
forwardable-extended (2.6.0)
gemoji (3.0.1)
html-pipeline (2.12.0)
html-pipeline (2.12.2)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (1.6.0)
i18n (1.7.0)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
addressable (~> 2.4)
@ -52,10 +52,10 @@ GEM
terminal-table (~> 1.8)
jekyll-avatar (0.7.0)
jekyll (>= 3.0, < 5.0)
jekyll-coffeescript (1.2.2)
jekyll-coffeescript (2.0.0)
coffee-script (~> 2.2)
coffee-script-source (~> 1.12)
jekyll-feed (0.12.1)
jekyll-feed (0.13.0)
jekyll (>= 3.7, < 5.0)
jekyll-gist (1.5.0)
octokit (~> 4.2)
@ -65,7 +65,7 @@ GEM
jekyll-paginate (1.1.0)
jekyll-redirect-from (0.15.0)
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (2.0.0)
jekyll-sass-converter (2.0.1)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.6.1)
jekyll (>= 3.3, < 5.0)
@ -86,32 +86,30 @@ GEM
liquid (4.0.3)
liquid-c (4.0.0)
liquid (>= 3.0.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
listen (3.2.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mime-types (3.2.2)
mime-types (3.3)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.0331)
mime-types-data (3.2019.1009)
mini_portile2 (2.4.0)
minitest (5.11.3)
minitest (5.13.0)
multipart-post (2.1.1)
nokogiri (1.10.4)
nokogiri (1.10.5)
mini_portile2 (~> 2.4.0)
octokit (4.14.0)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.1.1)
public_suffix (4.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rdoc (6.1.1)
rouge (3.9.0)
ruby_dep (1.5.0)
rdoc (6.2.0)
rouge (3.13.0)
safe_yaml (1.0.5)
sassc (2.1.0)
sassc (2.2.1)
ffi (~> 1.9)
sawyer (0.8.2)
addressable (>= 2.3.5)
@ -124,7 +122,7 @@ GEM
thread_safe (~> 0.1)
unicode-display_width (1.6.0)
yajl-ruby (1.4.1)
zeitwerk (2.1.9)
zeitwerk (2.2.1)
PLATFORMS
ruby
@ -150,4 +148,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4)
BUNDLED WITH
1.17.2
1.17.3

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
type = "gem";
};
version = "6.0.0";
version = "6.0.1";
};
addressable = {
dependencies = ["public_suffix"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
type = "gem";
};
version = "2.6.0";
version = "2.7.0";
};
classifier-reborn = {
dependencies = ["fast-stemmer"];
@ -132,10 +132,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
type = "gem";
};
version = "0.15.4";
version = "0.17.0";
};
fast-stemmer = {
groups = ["default"];
@ -164,10 +164,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
type = "gem";
};
version = "1.11.1";
version = "1.11.2";
};
forwardable-extended = {
groups = ["default"];
@ -195,10 +195,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
type = "gem";
};
version = "2.12.0";
version = "2.12.2";
};
"http_parser.rb" = {
groups = ["default"];
@ -216,10 +216,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
type = "gem";
};
version = "1.6.0";
version = "1.7.0";
};
jekyll = {
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 = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "040i6cyv20qmxlpm74kh5hfci8208ja4903yxdv4x0qs0z172kl9";
sha256 = "17fjk0bfm0rs3myid24y2scsf5vzzza185bissjmcc44cbxp571j";
type = "gem";
};
version = "1.2.2";
version = "2.0.0";
};
jekyll-feed = {
dependencies = ["jekyll"];
@ -260,10 +260,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01f0ivjdr3qc9dh9n8lj6paiy7zmlb7hs9nk6rgni6jjn5plslg3";
sha256 = "1lx8nvkhd8l1wm3b6s506rycwbmpbzbsbjl65p21asjz6vbwf1ir";
type = "gem";
};
version = "0.12.1";
version = "0.13.0";
};
jekyll-gist = {
dependencies = ["octokit"];
@ -314,10 +314,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
type = "gem";
};
version = "2.0.0";
version = "2.0.1";
};
jekyll-seo-tag = {
dependencies = ["jekyll"];
@ -441,15 +441,15 @@
version = "4.0.0";
};
listen = {
dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
dependencies = ["rb-fsevent" "rb-inotify"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
type = "gem";
};
version = "3.1.5";
version = "3.2.0";
};
mercenary = {
groups = ["default"];
@ -467,20 +467,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
type = "gem";
};
version = "3.2.2";
version = "3.3";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
type = "gem";
};
version = "3.2019.0331";
version = "3.2019.1009";
};
mini_portile2 = {
groups = ["default"];
@ -497,10 +497,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
type = "gem";
};
version = "5.11.3";
version = "5.13.0";
};
multipart-post = {
groups = ["default"];
@ -518,10 +518,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
type = "gem";
};
version = "1.10.4";
version = "1.10.5";
};
octokit = {
dependencies = ["sawyer"];
@ -550,10 +550,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
type = "gem";
};
version = "3.1.1";
version = "4.0.1";
};
rb-fsevent = {
groups = ["default"];
@ -581,30 +581,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "07b7ac2nls2yskaicqshxgip6dwpxl80hlx4pslq90jgpxgs2kkp";
sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
type = "gem";
};
version = "6.1.1";
version = "6.2.0";
};
rouge = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
type = "gem";
};
version = "3.9.0";
};
ruby_dep = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
type = "gem";
};
version = "1.5.0";
version = "3.13.0";
};
safe_yaml = {
groups = ["default"];
@ -622,10 +612,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
type = "gem";
};
version = "2.1.0";
version = "2.2.1";
};
sawyer = {
dependencies = ["addressable" "faraday"];
@ -717,9 +707,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
type = "gem";
};
version = "2.1.9";
version = "2.2.1";
};
}

View File

@ -1,15 +1,12 @@
{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }:
let
version = "5.4.10";
in stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "masterpdfeditor";
inherit version;
version = "5.4.38";
src = fetchurl {
url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7";
url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz";
sha256 = "0fidy8gd4mqvyfgmrwdiz8z53dyzihqqhgfrffj0z0idm2zi4mcq";
};
nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];

View File

@ -2,13 +2,13 @@
let
pname = "notable";
version = "1.4.0";
version = "1.7.3";
in
appimageTools.wrapType2 rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage";
sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr";
url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
sha256 = "1a7xpdk23np398nrgivyp8z54idqm72dfwx67i2rmxa3dnmcxkvl";
};
profile = ''
@ -17,7 +17,7 @@ appimageTools.wrapType2 rec {
'';
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}}";
meta = with lib; {

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
let
pname = "sidequest";
version = "0.7.5";
version = "0.7.6";
desktopItem = makeDesktopItem rec {
name = "SideQuest";
@ -16,7 +16,7 @@
src = fetchurl {
url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
sha256 = "1a77slpm7yga5vh3j1y440dq2xgv4pa6h8xg29rdcs6zig55pa97";
sha256 = "1yyba5495ydyyfl62pjd4hbga86k7f2a72ds2j2qzkinngyl14j8";
};
buildInputs = [ makeWrapper ];

View File

@ -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";
version = "unstable-2018-08-02";
version = "1.7";
src = fetchFromGitHub {
owner = "EionRobb";
repo = "pidgin-opensteamworks";
rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
rev = version;
sha256 = "0zxd45g9ycw5kmm4i0800jnqg1ms2gbqcld6gkyv6n3ac1wxizpj";
};
preConfigure = "cd steam-mobile";
sourceRoot = "source/steam-mobile";
installFlags = [
"PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
"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; {
homepage = https://github.com/EionRobb/pidgin-opensteamworks;

View File

@ -0,0 +1,40 @@
{ lib
, fetchurl
, appimageTools
}:
let
pname = "zulip";
version = "4.0.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
sha256 = "1pni02mb5bvwx3k45vd6ga269ghdl633gjklyslai24rrhp16h9z";
name="${pname}-${version}.AppImage";
};
appimageContents = appimageTools.extractType2 {
inherit name src;
};
in appimageTools.wrapType2 {
inherit name src;
extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \
$out/share/icons/hicolor/512x512/apps/zulip.png
substituteInPlace $out/share/applications/zulip.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "Desktop client for Zulip Chat";
homepage = https://zulipchat.com;
license = licenses.asl20;
maintainers = with maintainers; [ jonafato ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "quiterss";
version = "0.19.0";
version = "0.19.1";
src = fetchFromGitHub {
owner = "QuiteRSS";
repo = "quiterss";
rev = version;
sha256 = "1czz8n21f4iaazvkq37m867bqy40sdkj44bqggfjcw49pl60kvjn";
sha256 = "0zr17r33g99ylvb1avcbixg2jiwisaks4x91lywv2dy3g6dkpxml";
};
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];

View File

@ -0,0 +1,17 @@
diff --git a/src/obs-ndi.cpp b/src/obs-ndi.cpp
index 493831c..7b0f8db 100644
--- a/src/obs-ndi.cpp
+++ b/src/obs-ndi.cpp
@@ -197,11 +197,7 @@ const char* obs_module_description()
const NDIlib_v4* load_ndilib()
{
QStringList locations;
- locations << QString(qgetenv(NDILIB_REDIST_FOLDER));
-#if defined(__linux__) || defined(__APPLE__)
- locations << "/usr/lib";
- locations << "/usr/local/lib";
-#endif
+ locations << "@NDI@/lib";
for (QString path : locations) {
blog(LOG_INFO, "Trying '%s'", path.toUtf8().constData());

View File

@ -2,15 +2,18 @@
# somewhat manually install this:
# nix-env -f "<nixpkgs>" -iA obs-ndi
# mkdir -p ~/.config/obs-studio/plugins
# ln -s ~/.nix-profile/share/obs/obs-plugins/obs-ndi ~/.config/obs-studio/plugins/
# mkdir -p ~/.config/obs-studio/plugins/bin
# ln -s ~/.nix-profile/lib/obs-plugins/obs-ndi.so ~/.config/obs-studio/plugins/bin/
{ stdenv, fetchFromGitHub, obs-studio, cmake, qt5 }:
{ stdenv, fetchFromGitHub, obs-studio, cmake, qt5, ndi }:
stdenv.mkDerivation rec {
pname = "obs-ndi";
version = "4.7.1";
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio qt5.qtbase ndi ];
src = fetchFromGitHub {
owner = "Palakis";
repo = "obs-ndi";
@ -18,10 +21,9 @@ stdenv.mkDerivation rec {
sha256 = "040fkbf3f3qgqcrd3072y3zrjb4fwga8zr10jym744xd7bgyylqh";
};
patches = [ ./fix-search-path.patch ];
patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio qt5.qtbase ];
postPatch = "sed -i -e s,@NDI@,${ndi},g src/obs-ndi.cpp";
cmakeFlags = [
"-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"

View File

@ -0,0 +1,30 @@
{ stdenv, fetchgit, dtc }:
stdenv.mkDerivation rec {
pname = "spike";
version = "1.0.0";
src = fetchgit {
url = "https://github.com/riscv/riscv-isa-sim.git";
rev = "v${version}";
sha256 = "1hcl01nj96s3rkz4mrq747s5lkw81lgdjdimb8b1b9h8qnida7ww";
};
nativeBuildInputs = [ dtc ];
enableParallelBuilding = true;
patchPhase = ''
patchShebangs scripts/*.sh
patchShebangs tests/ebreak.py
'';
doCheck = true;
meta = with stdenv.lib; {
description = "A RISC-V ISA Simulator";
homepage = "https://github.com/riscv/riscv-isa-sim";
license = licenses.bsd3;
platforms = [ "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ blitz ];
};
}

View File

@ -0,0 +1,39 @@
{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
pname = "recursive";
version = "1.022";
srcs = [
(fetchzip {
name = "${pname}";
url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-beta_1_022.zip";
sha256 = "09nr1fli7ksv8z4yb25c4xidwsqq50av18qrybsy4kqy5c22957v";
stripRoot = false;
})
(fetchzip {
name = "${pname}-static";
url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-static_fonts-b020.zip";
sha256 = "1wlj113gjm26ra9y2r2b3syis2wx0mjq2m8i8xpwscp1kflma1r6";
stripRoot = false;
})
];
sourceRoot = ".";
installPhase = ''
mkdir -p $out/share/fonts/{opentype,truetype,woff2}
find -name "*.otf" -exec cp "{}" $out/share/fonts/opentype \;
find -name "*.ttf" -exec cp "{}" $out/share/fonts/truetype \;
find -name "*.woff2" -exec cp "{}" $out/share/fonts/woff2 \;
'';
meta = with stdenv.lib; {
homepage = https://github.com/arrowtype/recursive;
description = "A variable font family for code & UI";
license = licenses.ofl;
maintainers = [ maintainers.eadwu ];
platforms = platforms.all;
};
}

View File

@ -349,11 +349,11 @@ lib.makeScope pkgs.newScope (self: with self; {
pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01
# added 2019-08-25
corePackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-shell.enable`";
optionalPackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-utilities.enable`";
gamesPackages = throw "deprecated 2019-08-25: please use `services.gnome3.games.enable`";
corePackages = throw "gnome3.corePackages is removed since 2019-08-25: please use `services.gnome3.core-shell.enable`";
optionalPackages = throw "gnome3.optionalPackages is removed since 2019-08-25: please use `services.gnome3.core-utilities.enable`";
gamesPackages = throw "gnome3.gamesPackages is removed since 2019-08-25: please use `services.gnome3.games.enable`";
nautilus-sendto = throw "deprecated 2019-09-17: abandoned";
nautilus-sendto = throw "nautilus-sendto is removed since 2019-09-17: abandoned upstream";
inherit (pkgs) vala; # added 2019-10-10

View File

@ -1,4 +1,4 @@
{ stdenv, writeText, elixir, erlang, hexRegistrySnapshot, hex, lib }:
{ stdenv, writeText, elixir, erlang, hex, lib }:
{ name
, version
@ -43,7 +43,7 @@ let
else setupHook;
inherit buildInputs;
propagatedBuildInputs = [ hexRegistrySnapshot hex elixir ] ++ beamDeps;
propagatedBuildInputs = [ hex elixir ] ++ beamDeps;
configurePhase = if configurePhase == null
then ''

View File

@ -14,16 +14,11 @@ let
defaultScope = mkScope self;
callPackage = drv: args: callPackageWithScope defaultScope drv args;
in
import ./hex-packages.nix {
inherit pkgs stdenv callPackage;
} // rec {
rec {
inherit callPackage erlang;
beamPackages = self;
hexRegistrySnapshot = callPackage ./hex-registry-snapshot.nix { };
rebar = callPackage ../tools/build-managers/rebar { };
rebar3-open = callPackage ../tools/build-managers/rebar3 { };
rebar3 = callPackage ../tools/build-managers/rebar3 { };
# rebar3 port compiler plugin is required by buildRebar3
@ -80,9 +75,6 @@ let
webdriver = callPackage ./webdriver {};
relxExe = callPackage ../tools/erlang/relx-exe {};
# The tool used to upgrade hex-packages.nix.
hex2nix = callPackage ../tools/erlang/hex2nix {};
# An example of Erlang/C++ package.
cuter = callPackage ../tools/erlang/cuter {};
};

File diff suppressed because it is too large Load Diff

View File

@ -1,27 +0,0 @@
{stdenv, writeText, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "hex-registry";
rev = "11d7a24e9f53f52490ce255a6248e71128e73aa1";
version = "unstable-2018-07-12";
src = fetchFromGitHub {
inherit rev;
owner = "erlang-nix";
repo = "hex-pm-registry-snapshots";
sha256 = "0dbpcrdh6jqmvnm1ysmy7ixyc95vnbqmikyx5kk77qwgyd43fqgi";
};
installPhase = ''
mkdir -p "$out/var/hex"
zcat "registry.ets.gz" > "$out/var/hex/registry.ets"
'';
setupHook = writeText "setupHook.sh" ''
export HEX_REGISTRY_SNAPSHOT="$1/var/hex/registry.ets"
'';
meta = {
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -25,8 +25,7 @@
-record(data, {version
, erl_libs
, root
, name
, registry_snapshot}).
, name}).
-define(LOCAL_HEX_REGISTRY, "registry.ets").
main(Args) ->
@ -51,8 +50,7 @@ gather_required_data_from_the_environment(_) ->
{ok, #data{ version = guard_env("version")
, erl_libs = os:getenv("ERL_LIBS", [])
, root = code:root_dir()
, name = guard_env("name")
, registry_snapshot = guard_env("HEX_REGISTRY_SNAPSHOT")}}.
, name = guard_env("name")}}.
-spec guard_env(string()) -> string().
guard_env(Name) ->

View File

@ -0,0 +1,42 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "quickjs";
version = "2019-10-27";
src = fetchurl {
url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
sha256 = "0xm16ja3c0k80jy0xkx0f40r44v2lgx2si4dnaw2w7c5nx7cmkai";
};
makeFlags = [ "prefix=${placeholder ''out''}" ];
enableParallelBuilding = true;
doInstallCheck = true;
installCheckPhase = ''
PATH="$out/bin:$PATH"
# Programs exit with code 1 when testing help, so grep for a string
set +o pipefail
qjs --help 2>&1 | grep "QuickJS version"
qjsbn --help 2>&1 | grep "QuickJS version"
qjscalc --help 2>&1 | grep "QuickJS version"
set -o pipefail
temp=$(mktemp).js
echo "console.log('Output from compiled program');" > "$temp"
set -o verbose
out=$(mktemp) && qjsc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
out=$(mktemp) && qjsbnc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
out=$(mktemp) && qjsc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
out=$(mktemp) && qjsbnc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
'';
meta = with stdenv.lib; {
description = "A small and embeddable Javascript engine";
homepage = "https://bellard.org/quickjs/";
maintainers = with maintainers; [ stesie ivan ];
platforms = platforms.linux;
license = licenses.mit;
};
}

View File

@ -15,11 +15,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ninja unzip ];
meta = with stdenv.lib; {
description = "A polygon and line clipping and offsetting library (C++, C#, Delphi)";
longDescription = ''
The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or,
and line & polygon offsetting. The library is based on Vatti's clipping algorithm.
'';
homepage = https://sourceforge.net/projects/polyclipping;
homepage = "https://sourceforge.net/projects/polyclipping";
license = licenses.boost;
maintainers = with maintainers; [ mpickering ];
platforms = with platforms; unix;

View File

@ -1,15 +1,17 @@
{ stdenv, fetchsvn, cmake } :
{ stdenv, fetchFromGitHub, cmake } :
let
version = "0.8";
version = "0.9.2";
in stdenv.mkDerivation {
pname = "codec2";
inherit version;
src = fetchsvn {
url = "https://svn.code.sf.net/p/freetel/code/codec2/branches/${version}";
sha256 = "0qbyaqdn37253s30n6m2ric8nfdsxhkslb9h572kdx18j2yjccki";
src = fetchFromGitHub {
owner = "drowe67";
repo = "codec2";
rev = "v${version}";
sha256 = "1jpvr7bra8srz8jvnlbmhf8andbaavq5v01qjnp2f61za93rzwba";
};
enableParallelBuilding = true;

View File

@ -1,18 +0,0 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "coredumper-1.1";
src = fetchurl {
url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz;
sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx";
};
# Doesn't build:
#
# src/elfcore.c: In function 'CreatePipeline':
# src/elfcore.c:1424:26: error: 'CLONE_VM' undeclared (first use in this function)
# CLONE_VM|CLONE_UNTRACED|SIGCHLD, &args, 0, 0, 0);
# ^
# src/elfcore.c:1424:26: note: each undeclared identifier is reported only once for each function it appears in
meta.broken = true;
}

View File

@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
doCheck = stdenv.isLinux;
meta = with stdenv.lib; {
homepage = https://libopenraw.freedesktop.org/wiki/Exempi/;
description = "An implementation of XMP (Adobe's Extensible Metadata Platform)";
homepage = "https://libopenraw.freedesktop.org/wiki/Exempi/";
platforms = platforms.linux ++ platforms.darwin;
license = licenses.bsd3;
};

View File

@ -7,7 +7,8 @@ stdenv.mkDerivation {
};
buildInputs = [ libusb ];
meta = {
homepage = https://code.google.com/archive/p/garmintools/; # community clone at https://github.com/ianmartin/garmintools
description = "Provides the ability to communicate with the Garmin Forerunner 305 via the USB interface";
homepage = "https://code.google.com/archive/p/garmintools/"; # community clone at https://github.com/ianmartin/garmintools
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.ocharles ];
platforms = stdenv.lib.platforms.unix;

View File

@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
doCheck = stdenv.isx86_64;
meta = with stdenv.lib; {
description = " A library for 2D/3D vectors and matrices and other mathematical objects, functions and data types for computer graphics";
homepage = https://www.openexr.com/;
license = licenses.bsd3;
platforms = platforms.all;

View File

@ -10,6 +10,8 @@ stdenv.mkDerivation {
};
meta = {
description = "A XMPP (Jabber) client library for instant messaging and presence";
homepage = "http://www.igniterealtime.org/projects/smack/";
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.asl20;
};

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation {
};
meta = {
description = "A portable library for controlling audio CDs";
homepage = "http://libcdaudio.sourceforge.net";
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl2;
};

View File

@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/libextractor-exiv2-0.27.patch?h=packages/libextractor&id=4dc53f7fc69210ae571285dface108ed65d8ee53";
sha256 = "0w4gc1q1m1yxsd4hv105nblmif465nw3g5nxzldy0x2rl9mdncg6";
})
(fetchpatch {
name = "CVE-2019-15531.patch";
url = "https://git.gnunet.org/libextractor.git/patch/?id=d2b032452241708bee68d02aa02092cfbfba951a";
sha256 = "01xhcjbzv6p53wz7y2ii76kb8m9iwvnm4ip9w4a0bpgaxqz4b9fw";
excludes = [ "ChangeLog" ];
})
];
preConfigure =

View File

@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
};
meta = with stdenv.lib; {
description = "A library that provides GObject bindings for libudev";
homepage = https://wiki.gnome.org/Projects/libgudev;
maintainers = [ maintainers.eelco ] ++ gnome3.maintainers;
platforms = platforms.linux;

View File

@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "A GPL reimplementation of libdjb";
homepage = https://www.fefe.de/libowfat/;
license = licenses.gpl2;
platforms = platforms.linux;

View File

@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
;
meta = {
homepage = http://www.creytiv.com/re.html;
description = "A library for real-time communications with async IO support and a complete SIP stack";
homepage = "http://www.creytiv.com/re.html";
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [raskin];
license = stdenv.lib.licenses.bsd3;

View File

@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
;
meta = {
homepage = http://www.creytiv.com/rem.html;
description = " A library for real-time audio and video processing";
homepage = "http://www.creytiv.com/rem.html";
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [raskin];
license = stdenv.lib.licenses.bsd3;

View File

@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = with stdenv.lib; {
description = "Vorbis audio compression reference implementation";
homepage = https://xiph.org/vorbis/;
license = licenses.bsd3;
maintainers = [ maintainers.ehmry ];

View File

@ -10,6 +10,7 @@ stdenv.mkDerivation {
sourceRoot = "zlib-${zlib.version}/contrib/minizip";
meta = {
description = "Compression library implementing the deflate compression method found in gzip and PKZIP";
inherit (zlib.meta) license homepage;
platforms = stdenv.lib.platforms.unix;
};

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "mpich";
version = "3.3.1";
version = "3.3.2";
src = fetchurl {
url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
sha256 = "1raism1r4jsx4cybc9ddyr1xkccbxm0l8j3ryrw8kslfkkr1wmgy";
sha256 = "1farz5zfx4cd0c3a0wb9pgfypzw0xxql1j1294z1sxslga1ziyjb";
};
configureFlags = [

View File

@ -0,0 +1,60 @@
{ stdenv, requireFile, avahi }:
stdenv.mkDerivation rec {
pname = "ndi";
version = "4";
src = requireFile rec {
name = "InstallNDISDK_v${version}_Linux.tar.gz";
sha256 = "1hac5npyg8nifs9ipj34pkn0zjyx8774x3i3h8znhmijx2j2982p";
message = ''
In order to use the NDI SDK, you need to comply with NewTek's license and
download the Linux version ${version} tarball from:
${meta.homepage}
Once you have downloaded the file, please use the following command and
re-run the installation:
nix-prefetch-url file://\$PWD/${name}
'';
};
buildInputs = [ avahi ];
unpackPhase = ''
unpackFile ${src}
echo y | ./InstallNDISDK_v4_Linux.sh
sourceRoot="NDI SDK for Linux";
'';
installPhase = ''
mkdir $out
mv bin/x86_64-linux-gnu $out/bin
for i in $out/bin/*; do
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"
done
patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" $out/bin/ndi-record
mv lib/x86_64-linux-gnu $out/lib
for i in $out/lib/*; do
if [ -L "$i" ]; then continue; fi
patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" "$i"
done
mv include examples $out/
mkdir -p $out/share/doc/${pname}-${version}
mv licenses $out/share/doc/${pname}-${version}/licenses
mv logos $out/share/doc/${pname}-${version}/logos
mv documentation/* $out/share/doc/${pname}-${version}/
'';
# Stripping breaks ndi-record.
dontStrip = true;
meta = with stdenv.lib; {
homepage = "https://ndi.tv/sdk/";
description = "NDI Software Developer Kit";
platforms = ["x86_64-linux"];
hydraPlatforms = [];
license = licenses.unfree;
};
}

View File

@ -41,6 +41,7 @@ in stdenv.mkDerivation rec {
++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
meta = {
description = "Libraries for the Unidata network Common Data Format";
platforms = stdenv.lib.platforms.unix;
homepage = https://www.unidata.ucar.edu/software/netcdf/;
license = {

View File

@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig ];
meta = {
description = "A toolbox designed to speak the many languages of chemical data";
homepage = "http://openbabel.org";
platforms = stdenv.lib.platforms.all;
maintainers = [ ];
license = stdenv.lib.licenses.gpl2Plus;

View File

@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
configureFlags = [ "ac_cv_file__usr_include_mach_audit_triggers_defs=no" ];
meta = {
homepage = http://www.openbsm.org/;
description = "An implementation of Sun's Basic Security Module (BSM) security audit API and file format";
homepage = "http://www.openbsm.org/";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ matthewbauer ];
license = lib.licenses.bsd2;

View File

@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
doCheck = false; # fails 1 of 1 tests
meta = with stdenv.lib; {
homepage = https://www.openexr.com/;
description = "A high dynamic-range (HDR) image file format";
homepage = "https://www.openexr.com/";
license = licenses.bsd3;
platforms = platforms.all;
};

View File

@ -4,10 +4,7 @@ stdenv.mkDerivation {
name = "schroedinger-1.0.11";
src = fetchurl {
urls = [
http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
];
url = https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz;
sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
};
@ -27,7 +24,8 @@ stdenv.mkDerivation {
];
meta = with stdenv.lib; {
homepage = http://diracvideo.org/;
description = "An implementation of the Dirac video codec in ANSI C";
homepage = "https://sourceforge.net/projects/schrodinger/";
maintainers = [ maintainers.spwhitt ];
license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ];
platforms = platforms.unix;

View File

@ -46,6 +46,7 @@ in stdenvNoCC.mkDerivation {
tar xzvf $f
done
'' else ''
rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm
rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm
rpmextract rpm/intel-mkl-core-${rpm-ver}.x86_64.rpm
rpmextract rpm/intel-mkl-core-rt-${rpm-ver}.x86_64.rpm

View File

@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [audiofile libtiff];
meta = {
description = "A portable and modular SIP User-Agent with audio and video support";
homepage = http://www.creytiv.com/baresip.html;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [raskin];

View File

@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
];
meta = {
description = "Lightweight and robust POSIX compliant regexp matching library";
homepage = "https://laurikari.net/tre/";
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.bsd2;
};

View File

@ -3,19 +3,23 @@
, fetchPypi
, cython
, numpy
, scikitlearn
, six
, python
, isPy27
}:
buildPythonPackage rec {
pname = "word2vec";
version = "0.10.2";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "40f6f30a5f113ffbfc24c5ad5de23bfac897f4c1210fb93685b7fca5c4dee7db";
};
propagatedBuildInputs = [ cython numpy ];
propagatedBuildInputs = [ cython numpy scikitlearn six ];
checkPhase = ''
cd word2vec/tests;
@ -27,7 +31,6 @@ buildPythonPackage rec {
homepage = "https://github.com/danielfrg/word2vec";
license = licenses.asl20;
maintainers = with maintainers; [ NikolaMandic ];
broken = true;
};
}

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices }:
{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices, fetchpatch }:
stdenv.mkDerivation rec {
pname = "flow";
version = "0.111.3";
version = "0.112.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
rev = "refs/tags/v${version}";
sha256 = "12hfdcm491ylh0a8rhzj76wdbh556r02aj4q6vv86n3lh2120cxm";
sha256 = "1l8aahvlj9hk93snvrqm7r0mxj5iw244q72s6wallsqm7j4g967h";
};
installPhase = ''
@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ocaml-migrate-parsetree ])
++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
patches = [
# Fix List.compare labeled argument. Remove when https://github.com/facebook/flow/pull/8191 is merged
(fetchpatch {
url = "https://github.com/facebook/flow/commit/1625664ec7290d4128587d96cb878571751f8881.patch";
sha256 = "18fan0d2xa6z4ilbr7ha3vhnfqlr2s6mb02sgpv8ala99b0mcgmn";
})
];
meta = with stdenv.lib; {
description = "A static type checker for JavaScript";
homepage = https://flow.org/;

View File

@ -2,22 +2,22 @@
buildGoModule rec {
pname = "tflint";
version = "0.12.1";
version = "0.13.1";
src = fetchFromGitHub {
owner = "wata727";
owner = "terraform-linters";
repo = pname;
rev = "v${version}";
sha256 = "1vwv6gkzrs5nv5a278siwza2ifwqy08rmcdddx275crcjkz3bv53";
sha256 = "0ivvx1nbhzijyiv9q05b5953wxga5wdskamnhfvlwpniabic3gxi";
};
modSha256 = "048mh6zr1fkz5bcxg27d0s472ig9xcq0zgbqpxspkvkdxxw9iizf";
modSha256 = "0q1sc0bj4a29rzly4fk6m40b8i7syxa7ff9882jwi7gxjdiklch3";
subPackages = [ "." ];
meta = with lib; {
description = "Terraform linter focused on possible errors, best practices, and so on";
homepage = "https://github.com/wata727/tflint";
homepage = "https://github.com/terraform-linters/tflint";
license = licenses.mpl20;
maintainers = [ maintainers.marsam ];
};

View File

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "async";
version = "0.1.1";
src = fetchFromGitHub {
owner = "ctbur";
repo = pname;
rev = "v${version}";
sha256 = "19ypflbayi5l0mb8yw7w0a4bq9a3w8nl9jsxapp9m3xggzmsvrxx";
};
cargoSha256 = "1qf52xsd15rj8y9w65zyab7akvzry76k1d4gxvxlz7ph3sl7jl3y";
meta = with stdenv.lib; {
description = "A tool to parallelize shell commands";
longDescription = ''
`async` is a tool to run shell commands in parallel and is designed to be
able to quickly parallelize shell scripts with minimal changes. It was
inspired by GNU Parallel, with the main difference being that async
retains state between commands by running a server in the background.
'';
homepage = "https://github.com/ctbur/async";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ minijackson ];
platforms = platforms.all;
};
}

View File

@ -1,12 +1,10 @@
{ stdenv, fetchFromGitHub,
fetchHex, erlang,
tree, hexRegistrySnapshot }:
tree }:
let
version = "3.12.0";
bootstrapper = ./rebar3-nix-bootstrap;
erlware_commons = fetchHex {
pkg = "erlware_commons";
version = "1.3.1";
@ -80,15 +78,9 @@ stdenv.mkDerivation rec {
sha256 = "0936ix7lfwsamssap58b265zid7x2m97azrr2qpjcln3xysd16lg";
};
inherit bootstrapper;
buildInputs = [ erlang tree ];
# TODO: Remove registry snapshot
propagatedBuildInputs = [ hexRegistrySnapshot ];
postPatch = ''
${erlang}/bin/escript ${bootstrapper} registry-only
mkdir -p _checkouts
mkdir -p _build/default/lib/

View File

@ -25,14 +25,12 @@
%%% Environment Variable
-record(data, {version
, registry_only = false
, debug_info = false
, compile_ports
, erl_libs
, plugins
, root
, name
, registry_snapshot}).
, name}).
-define(HEX_REGISTRY_PATH, ".cache/rebar3/hex/default/registry").
@ -41,30 +39,24 @@ main(Args) ->
{ok, RequiredData} = gather_required_data_from_the_environment(ArgData),
do_the_bootstrap(RequiredData).
%% @doc There are two modes 'registry_only' where the register is
%% created from hex and everything else.
-spec do_the_bootstrap(#data{}) -> ok.
do_the_bootstrap(RequiredData = #data{registry_only = true}) ->
ok = bootstrap_registry(RequiredData);
do_the_bootstrap(RequiredData) ->
ok = bootstrap_registry(RequiredData),
ok = bootstrap_configs(RequiredData),
ok = bootstrap_plugins(RequiredData),
ok = bootstrap_libs(RequiredData).
%% @doc
%% Argument parsing is super simple only because we want to keep the
%% dependencies minimal. For now there can be two entries on the
%% command line, "registry-only" and "debug-info"
%% dependencies minimal. For now there can be one entry on the
%% command line: "debug-info"
-spec parse_args([string()]) -> #data{}.
parse_args(Args0) ->
PossibleArgs = sets:from_list(["registry-only", "debug-info"]),
PossibleArgs = sets:from_list(["debug-info"]),
Args1 = sets:from_list(Args0),
Result = sets:subtract(Args1, PossibleArgs),
case sets:to_list(Result) of
[] ->
{ok, #data{registry_only = sets:is_element("registry-only", Args1),
debug_info = sets:is_element("debug-info", Args1)}};
{ok, #data{debug_info = sets:is_element("debug-info", Args1)}};
UnknownArgs ->
io:format("Unexpected command line arguments passed in: ~p~n",
[UnknownArgs]),
@ -156,30 +148,6 @@ fixup_app_name(FileName) ->
[Name, _Version, _Tag] -> Name
end.
-spec bootstrap_registry(#data{}) -> ok.
bootstrap_registry(#data{registry_snapshot = RegistrySnapshot}) ->
io:format("Bootstrapping Hex Registry for Rebar~n"),
make_sure_registry_snapshot_exists(RegistrySnapshot),
filelib:ensure_dir(?HEX_REGISTRY_PATH),
ok = case filelib:is_file(?HEX_REGISTRY_PATH) of
true ->
file:delete(?HEX_REGISTRY_PATH);
false ->
ok
end,
ok = file:make_symlink(RegistrySnapshot,
?HEX_REGISTRY_PATH).
-spec make_sure_registry_snapshot_exists(string()) -> ok.
make_sure_registry_snapshot_exists(RegistrySnapshot) ->
case filelib:is_file(RegistrySnapshot) of
true ->
ok;
false ->
stderr("Registry snapshot (~s) does not exist!", [RegistrySnapshot]),
erlang:halt(1)
end.
-spec gather_required_data_from_the_environment(#data{}) -> {ok, #data{}}.
gather_required_data_from_the_environment(ArgData) ->
{ok, ArgData#data{ version = guard_env("version")
@ -187,8 +155,7 @@ gather_required_data_from_the_environment(ArgData) ->
, plugins = get_env("buildPlugins", [])
, root = code:root_dir()
, name = guard_env("name")
, compile_ports = nix2bool(get_env("compilePorts", ""))
, registry_snapshot = guard_env("HEX_REGISTRY_SNAPSHOT")}}.
, compile_ports = nix2bool(get_env("compilePorts", ""))}}.
-spec nix2bool(any()) -> boolean().
nix2bool("1") ->

View File

@ -13,15 +13,20 @@ in stdenv.mkDerivation {
runHook preInstall
mkdir -p $out/bin
export libc_includes="${stdenv.lib.getDev stdenv.cc.libc}/include"
export libcpp_includes="${llvmPackages.libcxx}/include/c++/v1"
export clang=${clang}
substituteAll ${./wrapper} $out/bin/clangd
chmod +x $out/bin/clangd
for tool in \
clang-apply-replacements \
clang-check \
clang-format \
clang-rename \
clang-tidy \
clangd
clang-tidy
do
ln -s ${clang}/bin/$tool $out/bin/$tool
ln -s $out/bin/clangd $out/bin/$tool
done
runHook postInstall

View File

@ -0,0 +1,20 @@
#!/bin/sh
buildcpath() {
local path
while (( $# )); do
case $1 in
-isystem)
shift
path=$path${path':'}$1
esac
shift
done
echo $path
}
export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE})
export CPATH=${CPATH}${CPATH:+':'}@libc_includes@
export CPLUS_INCLUDE_PATH=${CPATH}${CPATH:+':'}@libcpp_includes@
exec -a "$0" @clang@/bin/$(basename $0) "$@"

View File

@ -2,28 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-fuzz";
version = "0.5.3"; # Note to self: on 0.5.4, remove the hand-added Cargo.lock
version = "0.5.4";
src =
let
source = fetchFromGitHub {
owner = "rust-fuzz";
repo = "cargo-fuzz";
rev = version;
sha256 = "1l452fnjw7i10nrd4y4rssi5d457vgjp6rhdr9cnq32bjhdkprrs";
};
cargo-lock = fetchurl {
url = "https://gist.githubusercontent.com/Ekleog/7d5b62d13b7207aafa4c37d1bbdf2de7/raw/c6027fc1c531947f4d6836a3c4cba1b3e24df24c/Cargo.lock";
sha256 = "0d7b6kxfbfvwksybzrihylamg2zv5fmsk9m6xshryhwipskzzvmd";
};
in
runCommand "cargo-fuzz-src" {} ''
cp -R ${source} $out
chmod +w $out
cp ${cargo-lock} $out/Cargo.lock
'';
src = fetchFromGitHub {
owner = "rust-fuzz";
repo = "cargo-fuzz";
rev = version;
sha256 = "0qy4xb7bxyw2x2ya7zmbkz48wxb69jcnvvj7021f1kyc6wdwcxs7";
};
cargoSha256 = "19kldw2sx0jd89q5q9cwmdcaan148s45fxlb2m0vdxwb69crb7yp";
cargoSha256 = "1d42cmpg1yn1ql9isx26kxsxzf5rg6qw6j948skc5p054r0c9n3f";
meta = with stdenv.lib; {
description = "Command line helpers for fuzzing";

View File

@ -187,6 +187,19 @@ in rec {
};
};
plumb = mkDerivation {
pluginName = "plumb";
src = fetchFromGitHub {
owner = "eraserhd";
repo = "tmux-plumb";
rev = "v0.1.1";
sha256 = "1c6k4fdl0az9811r6k164mgd4w5la75xr6x7nabmy046xc0z5i2r";
};
postInstall = ''
sed -i -e 's,9 plumb,${pkgs.plan9port}/bin/9 plumb,' $target/scripts/plumb
'';
};
prefix-highlight = mkDerivation {
pluginName = "prefix-highlight";
src = fetchgit {

View File

@ -8,11 +8,11 @@ let
in stdenv.mkDerivation rec {
name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}";
version = "19.08";
version = "19.08.2";
src = fetchurl {
url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
sha256 = "0xgrkip2aji1c7jy5gk38zzwlp5ap1s6dmbcag5dnyy3bmwvmp9y";
sha256 = "141bqqy4w6nzs9z70x7yv94a4gmxjfal46pxry9bwdh3zi1jwnyd";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -7,14 +7,14 @@
stdenv.mkDerivation rec {
pname = "ell";
version = "0.24";
version = "0.26";
outputs = [ "out" "dev" ];
src = fetchgit {
url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
rev = version;
sha256 = "1dspi6ds58dy7g1q3chapxydfiyz8bjjlryq66jvwgpynzp0c1h1";
sha256 = "1gnqd7dghwkcn48f6fr9qvkkm976b3x4bn3l7l2k9pamzpng084i";
};
patches = [

View File

@ -8,16 +8,17 @@
, docutils
, readline
, python3Packages
, systemd
}:
stdenv.mkDerivation rec {
pname = "iwd";
version = "0.22";
version = "1.1";
src = fetchgit {
url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
rev = version;
sha256 = "0mjc08ayq2k7sinqanrlm97dn88dxkqkyk2vqqcx1nqjvwvbpbsp";
sha256 = "1rvsr5i79wpdicghplrxamb4qbkdm5cpgw3mk0rsqzwwj6d6l0vs";
};
nativeBuildInputs = [
@ -31,6 +32,7 @@ stdenv.mkDerivation rec {
ell
python3Packages.python
readline
systemd
];
pythonPath = [
@ -46,6 +48,7 @@ stdenv.mkDerivation rec {
"--with-dbus-datadir=${placeholder "out"}/share/"
"--with-systemd-modloaddir=${placeholder "out"}/etc/modules-load.d/" # maybe
"--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/"
"--with-systemd-networkdir=${placeholder "out"}/lib/systemd/network/"
];
postUnpack = ''
@ -77,6 +80,6 @@ stdenv.mkDerivation rec {
description = "Wireless daemon for Linux";
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = with maintainers; [ dtzWill ];
maintainers = with maintainers; [ dtzWill fpletz ];
};
}

View File

@ -3,10 +3,10 @@
}: let
dpdk_17_11 = dpdk.overrideAttrs (old: rec {
version = "17.11.6";
version = "17.11.9";
src = fetchurl {
url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
sha256 = "0g4l6yjcn17n18c7q1pxkmnj4fg2kiv0krz7n2vjjsb8s6gmbps2";
sha256 = "0vrcc9mdjs5fk69lh7bigsk9208dfmjsz3jxaddkjlvk2hds1id6";
};
});

View File

@ -8,7 +8,7 @@
stdenv.mkDerivation rec {
pname = "slurm";
version = "19.05.3.2";
version = "19.05.4.1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases.
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
repo = "slurm";
# The release tags use - instead of .
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
sha256 = "1ds4dvwswyx9rjcmcwz2fm2zi3q4gcc2n0fxxihl31i5i6wg1kv0";
sha256 = "07ydjda2dl9casz8hh91jlxdyc67mj4af1l2gq3gkzi4397azzz6";
};
outputs = [ "out" "dev" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pgroonga";
version = "2.2.1";
version = "2.2.2";
src = fetchurl {
url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
sha256 = "0d913rkxx6qlkav6z9crsz3ypqkdffn4c667nsgzh5s9n4wbbpb8";
sha256 = "0pdz2lpi7g1n9b5rg6kwhh6fr0bwf06zr642brmh53n6mp41186m";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -3,19 +3,17 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "xzoom";
major = "0";
minor = "3";
version = "0.3";
patch = "24";
version = "${major}.${minor}.${patch}";
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
src = fetchurl {
url = "http://www.ibiblio.org/pub/linux/libs/X/${pname}-${major}.${minor}.tgz";
url = "http://www.ibiblio.org/pub/linux/libs/X/${pname}-${version}.tgz";
sha256 = "0jzl5py4ny4n4i58lxx2hdwq9zphqf7h3m14spl3079y5mlzssxj";
};
patches = [
(fetchurl {
url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${major}.${minor}-${patch}.diff.gz";
url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patch}.diff.gz";
sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
})
];

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl }:
let
arch_table = {
"x86_64-linux" = "linux-x86_64";
"i686-linux" = "linux-i686";
};
sha_table = {
"x86_64-linux" =
"d9902aadac4f442992877945da2a6fe8d6ea6b0de314ca8ac0c28dc5f253f7d8";
"i686-linux" =
"46deb0a053b4910c4e68737a7b6556ff5360260c8f86652f91a0130445f5c949";
};
arch = arch_table.${stdenv.system};
sha = sha_table.${stdenv.system};
in stdenv.mkDerivation rec {
pname = "essentia-extractor";
version = "2.1_beta2";
src = fetchurl {
url =
"ftp://ftp.acousticbrainz.org/pub/acousticbrainz/essentia-extractor-v${version}-${arch}.tar.gz";
sha256 = sha;
};
unpackPhase = "unpackFile $src ; export sourceRoot=.";
installPhase = ''
mkdir -p $out/bin
cp streaming_extractor_music $out/bin
'';
meta = with stdenv.lib; {
homepage = "https://acousticbrainz.org/download";
description = "AcousticBrainz audio feature extractor";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ lovesegfault ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
, utillinux, asciidoc, asciidoctor, makeWrapper }:
, utillinux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
stdenv.mkDerivation rec {
pname = "btrbk";
@ -38,15 +38,15 @@ stdenv.mkDerivation rec {
preFixup = ''
wrapProgram $out/sbin/btrbk \
--set PERL5LIB $PERL5LIB \
--prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash openssh ]}"
--prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash mbuffer openssh ]}"
'';
meta = with stdenv.lib; {
description = "A backup tool for btrfs subvolumes";
homepage = http://digint.ch/btrbk;
homepage = https://digint.ch/btrbk;
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ the-kenny ];
maintainers = with maintainers; [ asymmetric the-kenny ];
inherit version;
};
}

View File

@ -0,0 +1,103 @@
From ea1bc0fcfd33191002c5d1f7072c1c02bb7ec4af Mon Sep 17 00:00:00 2001
From: Alyssa Ross <hi@alyssa.is>
Date: Thu, 14 Nov 2019 15:45:46 +0000
Subject: [PATCH] Fix build on BSD systems
I tested FreeBSD, DragonflyBSD, NetBSD and OpenBSD and the endian
macros weren't necessary (and in fact caused errors) on all of them.
Because OpenBSD ships with an ancient GCC that doesn't support the
checked addition/multiplication builtins, the build there would fail
unless built with CC=cc or CC=clang. I changed configure.ac to prefer
cc over gcc, so that the distribution's compiler preference is
respected. (The default is [gcc cc]). I had to move AC_PROG_CC above
LT_INIT because otherwise LT_INIT would run AC_PROG_CC first, and we
wouldn't have a chance to use non-default parameters.
---
configure.ac | 2 +-
include/util/compat.h | 13 +++++--------
lib/common/dirstack.c | 1 +
lib/common/mkdir_p.c | 2 +-
4 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 018b3f6..19ea0ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,8 +3,8 @@ AC_INIT([squashfs-tools-ng], [0.7], [goliath@infraroot.at], squashfs-tools-ng)
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign dist-xz subdir-objects])
AM_SILENT_RULES([yes])
+AC_PROG_CC([cc gcc clang])
LT_INIT
-AC_PROG_CC
AC_PROG_CC_C99
AC_PROG_INSTALL
AC_SYS_LARGEFILE
diff --git a/include/util/compat.h b/include/util/compat.h
index 74d0b6f..f53fd0e 100644
--- a/include/util/compat.h
+++ b/include/util/compat.h
@@ -7,6 +7,10 @@
#ifndef COMPAT_H
#define COMPAT_H
+#ifndef __linux__
+#define O_PATH 0
+#endif
+
#if defined(__APPLE__)
#include <libkern/OSByteOrder.h>
@@ -17,14 +21,8 @@
#define le32toh(x) OSSwapLittleToHostInt32(x)
#define le16toh(x) OSSwapLittleToHostInt16(x)
#define le64toh(x) OSSwapLittleToHostInt64(x)
-#elif defined(__OpenBSD__)
+#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
#include <sys/endian.h>
-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
-#include <sys/endian.h>
-
-#define le16toh(x) letoh16(x)
-#define le32toh(x) letoh32(x)
-#define le64toh(x) letoh64(x)
#elif defined(_WIN32) || defined(__WINDOWS__)
#define htole16(x) (x)
#define htole32(x) (x)
@@ -89,7 +87,6 @@
#else
#include <sys/types.h>
#include <sys/stat.h>
-#include <sys/sysmacros.h>
#endif
#endif /* COMPAT_H */
diff --git a/lib/common/dirstack.c b/lib/common/dirstack.c
index 8f73898..f8d1278 100644
--- a/lib/common/dirstack.c
+++ b/lib/common/dirstack.c
@@ -5,6 +5,7 @@
* Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
*/
#include "common.h"
+#include "util/compat.h"
#include <string.h>
#include <stdlib.h>
diff --git a/lib/common/mkdir_p.c b/lib/common/mkdir_p.c
index cb433b3..95187ba 100644
--- a/lib/common/mkdir_p.c
+++ b/lib/common/mkdir_p.c
@@ -7,7 +7,7 @@
#include "common.h"
#include <string.h>
-#include <alloca.h>
+#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
--
2.23.0

View File

@ -0,0 +1,26 @@
{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, doxygen, graphviz, perl
, pkgconfig, lz4, xz, zlib, zstd
}:
stdenv.mkDerivation rec {
pname = "squashfs-tools-ng";
version = "0.7";
src = fetchurl {
url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
sha256 = "01yn621dnsfhrah3qj1xh6ynag7r3nvihc510sa5frapkyg9nw8n";
};
patches = lib.optional (!stdenv.isLinux) ./0001-Fix-build-on-BSD-systems.patch;
nativeBuildInputs = [ doxygen graphviz pkgconfig perl ]
++ lib.optional (!stdenv.isLinux) autoreconfHook;
buildInputs = [ zlib xz lz4 zstd ];
meta = with lib; {
homepage = https://github.com/AgentD/squashfs-tools-ng;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ qyliss ];
platforms = platforms.unix;
};
}

View File

@ -4,13 +4,13 @@
buildGoPackage rec {
pname = "wallutils";
version = "5.8.2";
version = "5.8.3";
src = fetchFromGitHub {
owner = "xyproto";
repo = "wallutils";
rev = version;
sha256 = "1ghvcxsy5prj8l38r4lg39imsqbwmvn1zmiv7004j6skmgpaaawh";
sha256 = "1cc0bb6bdh3pm9mf6rcgk9myr62xhqc6l84xgw44lhm6hkkp16gb";
};
goPackagePath = "github.com/xyproto/wallutils";

View File

@ -1,25 +1,26 @@
From 9d064428cec970ced9be6753d6250b20a45a9fe2 Mon Sep 17 00:00:00 2001
From 2643b06889605e6096174fb48dcb64a49b252217 Mon Sep 17 00:00:00 2001
From: Michael Weiss <dev.primeos@gmail.com>
Date: Fri, 19 Apr 2019 11:56:50 +0200
Date: Sun, 17 Nov 2019 20:30:08 +0100
Subject: [PATCH] lscollection: Add NixOS paths to DefaultWallpaperDirectories
---
collections.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
collections.go | 3 +++
1 file changed, 3 insertions(+)
diff --git a/collections.go b/collections.go
index ef74ea6..9f9a608 100644
index be04d41..cc79c56 100644
--- a/collections.go
+++ b/collections.go
@@ -21,7 +21,7 @@ const (
)
@@ -22,6 +22,9 @@ const (
var (
- DefaultWallpaperDirectories = []string{"/usr/share/pixmaps", "/usr/share/wallpapers", "/usr/share/backgrounds", "/usr/local/share/pixmaps", "/usr/local/share/wallpapers", "/usr/local/share/backgrounds", "/usr/share/archlinux"}
+ DefaultWallpaperDirectories = []string{"/run/current-system/sw/share/pixmaps", "/run/current-system/sw/share/wallpapers", "/run/current-system/sw/share/backgrounds", "/usr/share/pixmaps", "/usr/share/wallpapers", "/usr/share/backgrounds", "/usr/local/share/pixmaps", "/usr/local/share/wallpapers", "/usr/local/share/backgrounds", "/usr/share/archlinux"}
)
type SearchResults struct {
// DefaultWallpaperDirectories lists the default locations to look for wallpapers
var DefaultWallpaperDirectories = []string{
+ "/run/current-system/sw/share/pixmaps",
+ "/run/current-system/sw/share/wallpapers",
+ "/run/current-system/sw/share/backgrounds",
"/usr/share/pixmaps",
"/usr/share/wallpapers",
"/usr/share/backgrounds",
--
2.19.2
2.23.0

View File

@ -5,8 +5,8 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
ethon (0.12.0)
ffi (>= 1.3.0)
ffi (1.11.1)
html-proofer (3.13.0)
ffi (1.11.2)
html-proofer (3.14.1)
addressable (~> 2.3)
mercenary (~> 0.3)
nokogiri (~> 1.10)
@ -16,9 +16,9 @@ GEM
yell (~> 2.0)
mercenary (0.3.6)
mini_portile2 (2.4.0)
nokogiri (1.10.4)
nokogiri (1.10.5)
mini_portile2 (~> 2.4.0)
parallel (1.17.0)
parallel (1.19.0)
public_suffix (4.0.1)
rainbow (3.0.0)
typhoeus (1.3.1)
@ -32,4 +32,4 @@ DEPENDENCIES
html-proofer
BUNDLED WITH
1.17.2
1.17.3

View File

@ -26,10 +26,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
type = "gem";
};
version = "1.11.1";
version = "1.11.2";
};
html-proofer = {
dependencies = ["addressable" "mercenary" "nokogiri" "parallel" "rainbow" "typhoeus" "yell"];
@ -37,10 +37,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1a620704y2h4g9ffpl6461ssdx87bn6hjd0y1m370r2p2xddkb9f";
sha256 = "16i803vhrygcbln077czhv9ngipljsawr338lbvd0zr2473r8qja";
type = "gem";
};
version = "3.13.0";
version = "3.14.1";
};
mercenary = {
groups = ["default"];
@ -68,20 +68,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
type = "gem";
};
version = "1.10.4";
version = "1.10.5";
};
parallel = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
sha256 = "0bsg06zklvxv1qkpqhiric2m07108rqlmnl4axv5fzpxx9973pfz";
type = "gem";
};
version = "1.17.0";
version = "1.19.0";
};
public_suffix = {
groups = ["default"];

View File

@ -0,0 +1,23 @@
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "wagyu";
version = "0.6.1";
src = fetchFromGitHub {
owner = "ArgusHQ";
repo = pname;
rev = "v${version}";
sha256 = "1646j0lgg3hhznifvbkvr672p3yqlcavswijawaxq7n33ll8vmcn";
};
cargoSha256 = "10b96l0b32zxq0xrnhivv3gihmi5y31rllbizv67hrg1axz095vn";
verifyCargoDeps = true;
meta = with lib; {
description = "Rust library for generating cryptocurrency wallets";
homepage = https://github.com/ArgusHQ/wagyu;
license = with licenses; [ mit asl20 ];
maintainers = [ maintainers.offline ];
};
}

View File

@ -3,13 +3,13 @@
with python3Packages;
buildPythonApplication rec {
pname = "wakatime";
version = "10.8.0";
version = "13.0.1";
src = fetchFromGitHub {
owner = "wakatime";
repo = "wakatime";
rev = version;
sha256 = "057gq6j41x9z29az4s21crswm97pa9z4v58m34q8mi3chihc3pj6";
sha256 = "1a188n763hg39s8wa20mb1bj6f3vs8h7knvm4ys7q8bhsib0pyrd";
};
# needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt

View File

@ -5,14 +5,14 @@
stdenv.mkDerivation rec {
pname = "wob";
version = "0.2";
version = "0.4";
src = fetchFromGitHub {
owner = "francma";
repo = pname;
rev = version;
fetchSubmodules = true;
sha256 = "1jyia4166lp4cc8gmjmgcyz6prshhfjriam8w8mz2c5h77990fr9";
sha256 = "1z0vwss3ix5mf7mqpm4dzlv1bblddfi47ykblj0nmscxn1sinr7j";
};
nativeBuildInputs = [ meson ninja pkg-config wayland ];

View File

@ -2,7 +2,7 @@
buildGoModule rec {
pname = "croc";
version = "6.2.0";
version = "6.2.3";
goPackagePath = "github.com/schollz/croc";
@ -10,10 +10,10 @@ buildGoModule rec {
owner = "schollz";
repo = pname;
rev = "v${version}";
sha256 = "0pav0l7akzqgwj7yqkgbpl96kndlb41kg1vmb3g6xp7ykmbdsbbc";
sha256 = "13z3k0s7piwxxh87f04ldvxsd664jncwgmin397v5152bxadbgxp";
};
modSha256 = "02w4p877nvv7dril7l9nmj8xf3fnghxnj8kglxkv541vabvlpq03";
modSha256 = "0d9xhlszgy839naj4v2l613sn3nckx87cwwz1sh1rjwxarp8gqa9";
subPackages = [ "." ];
meta = with stdenv.lib; {

View File

@ -0,0 +1,23 @@
{ stdenv, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "dnsproxy";
version = "0.20.0";
src = fetchFromGitHub {
owner = "AdguardTeam";
repo = pname;
rev = "v${version}";
sha256 = "0yd3d90ssdzpbsdq068dvsi0r1z2rlv3wpbmpkhfgpxmwrvdanrq";
};
modSha256 = "0cqwkmhajp3py3b5aj3qz9480qy2ws0vy1gk21bxjm56wqxl2gf0";
meta = with stdenv.lib; {
description = "Simple DNS proxy with DoH, DoT, and DNSCrypt support";
homepage = "https://github.com/AdguardTeam/dnsproxy";
license = licenses.gpl3;
maintainers = with maintainers; [ contrun ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,40 @@
{ stdenv, lib, fetchFromGitHub, python3, aircrack-ng, wireshark-cli, reaverwps-t6x, cowpatty, hashcat, hcxtools, which }:
python3.pkgs.buildPythonApplication rec {
version = "2.2.5";
pname = "wifite2";
src = fetchFromGitHub {
owner = "derv82";
repo = "wifite2";
rev = version;
sha256 = "1hfy90wf2bjg0z8rbs8cfhhvz78pzg2c6nj0zksal42mb6b5cjdp";
};
propagatedBuildInputs = [
aircrack-ng
wireshark-cli
reaverwps-t6x
cowpatty
hashcat
hcxtools
which
];
postFixup = let
sitePackagesDir = "$out/lib/python3.${lib.versions.minor python3.version}/site-packages";
in ''
mv ${sitePackagesDir}/wifite/__main__.py ${sitePackagesDir}/wifite/wifite.py
'';
# which is not found
doCheck = false;
meta = with stdenv.lib; {
homepage = "https://github.com/derv82/wifite2";
description = "Rewrite of the popular wireless network auditor, wifite";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ lassulus ];
};
}

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