Merge branch 'master' into staging-next
zynaddsubfx conflict has been updated to 3.0.1, which conflicted with rewrite after 3.0.5 update on a different branch.
This commit is contained in:
commit
e6c0c98940
@ -7989,6 +7989,12 @@
|
|||||||
githubId = 720864;
|
githubId = 720864;
|
||||||
name = "Sébastien Bourdeauducq";
|
name = "Sébastien Bourdeauducq";
|
||||||
};
|
};
|
||||||
|
sbond75 = {
|
||||||
|
name = "sbond75";
|
||||||
|
email = "43617712+sbond75@users.noreply.github.com";
|
||||||
|
github = "sbond75";
|
||||||
|
githubId = 43617712;
|
||||||
|
};
|
||||||
sboosali = {
|
sboosali = {
|
||||||
email = "SamBoosalis@gmail.com";
|
email = "SamBoosalis@gmail.com";
|
||||||
github = "sboosali";
|
github = "sboosali";
|
||||||
|
@ -144,6 +144,7 @@ in
|
|||||||
"/share/kservicetypes5"
|
"/share/kservicetypes5"
|
||||||
"/share/kxmlgui5"
|
"/share/kxmlgui5"
|
||||||
"/share/systemd"
|
"/share/systemd"
|
||||||
|
"/share/thumbnailers"
|
||||||
];
|
];
|
||||||
|
|
||||||
system.path = pkgs.buildEnv {
|
system.path = pkgs.buildEnv {
|
||||||
|
@ -4,31 +4,16 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.redis;
|
cfg = config.services.redis;
|
||||||
redisBool = b: if b then "yes" else "no";
|
|
||||||
condOption = name: value: if value != null then "${name} ${toString value}" else "";
|
|
||||||
|
|
||||||
redisConfig = pkgs.writeText "redis.conf" ''
|
mkValueString = value:
|
||||||
port ${toString cfg.port}
|
if value == true then "yes"
|
||||||
${condOption "bind" cfg.bind}
|
else if value == false then "no"
|
||||||
${condOption "unixsocket" cfg.unixSocket}
|
else generators.mkValueStringDefault { } value;
|
||||||
daemonize no
|
|
||||||
supervised systemd
|
redisConfig = pkgs.writeText "redis.conf" (generators.toKeyValue {
|
||||||
loglevel ${cfg.logLevel}
|
listsAsDuplicateKeys = true;
|
||||||
logfile ${cfg.logfile}
|
mkKeyValue = generators.mkKeyValueDefault { inherit mkValueString; } " ";
|
||||||
syslog-enabled ${redisBool cfg.syslog}
|
} cfg.settings);
|
||||||
databases ${toString cfg.databases}
|
|
||||||
${concatMapStrings (d: "save ${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}\n") cfg.save}
|
|
||||||
dbfilename dump.rdb
|
|
||||||
dir /var/lib/redis
|
|
||||||
${if cfg.slaveOf != null then "slaveof ${cfg.slaveOf.ip} ${toString cfg.slaveOf.port}" else ""}
|
|
||||||
${condOption "masterauth" cfg.masterAuth}
|
|
||||||
${condOption "requirepass" cfg.requirePass}
|
|
||||||
appendOnly ${redisBool cfg.appendOnly}
|
|
||||||
appendfsync ${cfg.appendFsync}
|
|
||||||
slowlog-log-slower-than ${toString cfg.slowLogLogSlowerThan}
|
|
||||||
slowlog-max-len ${toString cfg.slowLogMaxLen}
|
|
||||||
${cfg.extraConfig}
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@ -37,6 +22,7 @@ in
|
|||||||
(mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
|
(mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
|
||||||
(mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
|
(mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
|
||||||
(mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
|
(mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
|
||||||
|
(mkRemovedOptionModule [ "services" "redis" "extraConfig" ] "Use services.redis.settings instead.")
|
||||||
];
|
];
|
||||||
|
|
||||||
###### interface
|
###### interface
|
||||||
@ -191,10 +177,20 @@ in
|
|||||||
description = "Maximum number of items to keep in slow log.";
|
description = "Maximum number of items to keep in slow log.";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
settings = mkOption {
|
||||||
type = types.lines;
|
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
|
||||||
default = "";
|
default = {};
|
||||||
description = "Extra configuration options for redis.conf.";
|
description = ''
|
||||||
|
Redis configuration. Refer to
|
||||||
|
<link xlink:href="https://redis.io/topics/config"/>
|
||||||
|
for details on supported values.
|
||||||
|
'';
|
||||||
|
example = literalExample ''
|
||||||
|
{
|
||||||
|
unixsocketperm = "700";
|
||||||
|
loadmodule = [ "/path/to/my_module.so" "/path/to/other_module.so" ];
|
||||||
|
}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -225,6 +221,30 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
|
services.redis.settings = mkMerge [
|
||||||
|
{
|
||||||
|
port = cfg.port;
|
||||||
|
daemonize = false;
|
||||||
|
supervised = "systemd";
|
||||||
|
loglevel = cfg.logLevel;
|
||||||
|
logfile = cfg.logfile;
|
||||||
|
syslog-enabled = cfg.syslog;
|
||||||
|
databases = cfg.databases;
|
||||||
|
save = map (d: "${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}") cfg.save;
|
||||||
|
dbfilename = "dump.rdb";
|
||||||
|
dir = "/var/lib/redis";
|
||||||
|
appendOnly = cfg.appendOnly;
|
||||||
|
appendfsync = cfg.appendFsync;
|
||||||
|
slowlog-log-slower-than = cfg.slowLogLogSlowerThan;
|
||||||
|
slowlog-max-len = cfg.slowLogMaxLen;
|
||||||
|
}
|
||||||
|
(mkIf (cfg.bind != null) { bind = cfg.bind; })
|
||||||
|
(mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; })
|
||||||
|
(mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; })
|
||||||
|
(mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; })
|
||||||
|
(mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; })
|
||||||
|
];
|
||||||
|
|
||||||
systemd.services.redis = {
|
systemd.services.redis = {
|
||||||
description = "Redis Server";
|
description = "Redis Server";
|
||||||
|
|
||||||
|
@ -93,11 +93,11 @@ in {
|
|||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
|
assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
|
||||||
message = "PipeWire based PulseAudio server emulation replaces PulseAudio";
|
message = "PipeWire based PulseAudio server emulation replaces PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
|
assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
|
||||||
message = "PipeWire based JACK emulation doesn't use the JACK service";
|
message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -100,6 +100,10 @@ in
|
|||||||
packages = [ cfg.lxcPackage ];
|
packages = [ cfg.lxcPackage ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: remove once LXD gets proper support for cgroupsv2
|
||||||
|
# (currently most of the e.g. CPU accounting stuff doesn't work)
|
||||||
|
systemd.enableUnifiedCgroupHierarchy = false;
|
||||||
|
|
||||||
systemd.services.lxd = {
|
systemd.services.lxd = {
|
||||||
description = "LXD Container Management Daemon";
|
description = "LXD Container Management Daemon";
|
||||||
|
|
||||||
|
@ -1,30 +1,117 @@
|
|||||||
{ stdenv, fetchurl, alsaLib, cairo, cmake, libjack2, fftw, fltk13, lash, libjpeg
|
{ lib
|
||||||
, libXpm, minixml, ntk, pkg-config, zlib, liblo
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, callPackage
|
||||||
|
|
||||||
|
# Required build tools
|
||||||
|
, cmake
|
||||||
|
, makeWrapper
|
||||||
|
, pkg-config
|
||||||
|
|
||||||
|
# Required dependencies
|
||||||
|
, fftw
|
||||||
|
, liblo
|
||||||
|
, minixml
|
||||||
|
, zlib
|
||||||
|
|
||||||
|
# Optional dependencies
|
||||||
|
, alsaSupport ? true
|
||||||
|
, alsaLib
|
||||||
|
, dssiSupport ? false
|
||||||
|
, dssi
|
||||||
|
, ladspaH
|
||||||
|
, jackSupport ? true
|
||||||
|
, libjack2
|
||||||
|
, lashSupport ? false
|
||||||
|
, lash
|
||||||
|
, ossSupport ? true
|
||||||
|
, portaudioSupport ? true
|
||||||
|
, portaudio
|
||||||
|
|
||||||
|
# Optional GUI dependencies
|
||||||
|
, guiModule ? "off"
|
||||||
|
, cairo
|
||||||
|
, fltk13
|
||||||
|
, libGL
|
||||||
|
, libjpeg
|
||||||
|
, libX11
|
||||||
|
, libXpm
|
||||||
|
, ntk
|
||||||
|
|
||||||
|
# Test dependencies
|
||||||
|
, cxxtest
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
assert builtins.any (g: guiModule == g) [ "fltk" "ntk" "zest" "off" ];
|
||||||
|
|
||||||
|
let
|
||||||
|
guiName = {
|
||||||
|
"fltk" = "FLTK";
|
||||||
|
"ntk" = "NTK";
|
||||||
|
"zest" = "Zyn-Fusion";
|
||||||
|
}.${guiModule};
|
||||||
|
mruby-zest = callPackage ./mruby-zest { };
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
pname = "zynaddsubfx";
|
pname = "zynaddsubfx";
|
||||||
version = "3.0.5";
|
version = "3.0.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2";
|
owner = pname;
|
||||||
sha256 = "0qwzg14h043rmyf9jqdylxhyfy4sl0vsr0gjql51wjhid0i34ivl";
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1vh1gszgjxwn8m32rk5222z1j2cnjax0bqpag7b47v6i36p2q4x8";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ];
|
postPatch = ''
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
substituteInPlace src/Misc/Config.cpp --replace /usr $out
|
substituteInPlace src/Misc/Config.cpp --replace /usr $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
nativeBuildInputs = [ cmake makeWrapper pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [ fftw liblo minixml zlib ]
|
||||||
|
++ lib.optionals alsaSupport [ alsaLib ]
|
||||||
|
++ lib.optionals dssiSupport [ dssi ladspaH ]
|
||||||
|
++ lib.optionals jackSupport [ libjack2 ]
|
||||||
|
++ lib.optionals lashSupport [ lash ]
|
||||||
|
++ lib.optionals portaudioSupport [ portaudio ]
|
||||||
|
++ lib.optionals (guiModule == "fltk") [ fltk13 libjpeg libXpm ]
|
||||||
|
++ lib.optionals (guiModule == "ntk") [ ntk cairo libXpm ]
|
||||||
|
++ lib.optionals (guiModule == "zest") [ libGL libX11 ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DGuiModule=${guiModule}" ]
|
||||||
|
# OSS library is included in glibc.
|
||||||
|
# Must explicitly disable if support is not wanted.
|
||||||
|
++ lib.optional (!ossSupport) "-DOssEnable=OFF"
|
||||||
|
# Find FLTK without requiring an OpenGL library in buildInputs
|
||||||
|
++ lib.optional (guiModule == "fltk") "-DFLTK_SKIP_OPENGL=ON";
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkInputs = [ cxxtest ];
|
||||||
|
|
||||||
|
# When building with zest GUI, patch plugins
|
||||||
|
# and standalone executable to properly locate zest
|
||||||
|
postFixup = lib.optional (guiModule == "zest") ''
|
||||||
|
patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so")" \
|
||||||
|
"$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so"
|
||||||
|
|
||||||
|
patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/vst/ZynAddSubFX.so")" \
|
||||||
|
"$out/lib/vst/ZynAddSubFX.so"
|
||||||
|
|
||||||
|
wrapProgram "$out/bin/zynaddsubfx" \
|
||||||
|
--prefix PATH : ${mruby-zest} \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${mruby-zest}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "High quality software synthesizer (${guiName} GUI)";
|
||||||
|
homepage =
|
||||||
|
if guiModule == "zest"
|
||||||
|
then "https://zynaddsubfx.sourceforge.io/zyn-fusion.html"
|
||||||
|
else "https://zynaddsubfx.sourceforge.io";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "High quality software synthesizer";
|
|
||||||
homepage = "http://zynaddsubfx.sourceforge.net";
|
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
maintainers = with maintainers; [ goibhniu metadark ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.goibhniu maintainers.nico202 ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
109
pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix
Normal file
109
pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, bison
|
||||||
|
, git
|
||||||
|
, python2
|
||||||
|
, rake
|
||||||
|
, ruby
|
||||||
|
, libGL
|
||||||
|
, libuv
|
||||||
|
, libX11
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
mgem-list = fetchFromGitHub {
|
||||||
|
owner = "mruby";
|
||||||
|
repo = "mgem-list";
|
||||||
|
rev = "2033837203c8a141b1f9d23bb781fe0cbaefbd24";
|
||||||
|
sha256 = "0igf2nsx5i6g0yf7sjxxkngyriv213d0sjs3yidrflrabiywpxmm";
|
||||||
|
};
|
||||||
|
|
||||||
|
mruby-dir = fetchFromGitHub {
|
||||||
|
owner = "iij";
|
||||||
|
repo = "mruby-dir";
|
||||||
|
rev = "89dceefa1250fb1ae868d4cb52498e9e24293cd1";
|
||||||
|
sha256 = "0zrhiy9wmwmc9ls62iyb2z86j2ijqfn7rn4xfmrbrfxygczarsm9";
|
||||||
|
};
|
||||||
|
|
||||||
|
mruby-errno = fetchFromGitHub {
|
||||||
|
owner = "iij";
|
||||||
|
repo = "mruby-errno";
|
||||||
|
rev = "b4415207ff6ea62360619c89a1cff83259dc4db0";
|
||||||
|
sha256 = "12djcwjjw0fygai5kssxbfs3pzh3cpnq07h9m2h5b51jziw380xj";
|
||||||
|
};
|
||||||
|
|
||||||
|
mruby-file-stat = fetchFromGitHub {
|
||||||
|
owner = "ksss";
|
||||||
|
repo = "mruby-file-stat";
|
||||||
|
rev = "aa474589f065c71d9e39ab8ba976f3bea6f9aac2";
|
||||||
|
sha256 = "1clarmr67z133ivkbwla1a42wcjgj638j9w0mlv5n21mhim9rid5";
|
||||||
|
};
|
||||||
|
|
||||||
|
mruby-process = fetchFromGitHub {
|
||||||
|
owner = "iij";
|
||||||
|
repo = "mruby-process";
|
||||||
|
rev = "fe171fbe2a6cc3c2cf7d713641bddde71024f7c8";
|
||||||
|
sha256 = "00yrzc371f90gl5m1gbkw0qq8c394bpifssjr8p1wh5fmzhxqyml";
|
||||||
|
};
|
||||||
|
|
||||||
|
mruby-pack = fetchFromGitHub {
|
||||||
|
owner = "iij";
|
||||||
|
repo = "mruby-pack";
|
||||||
|
rev = "383a9c79e191d524a9a2b4107cc5043ecbf6190b";
|
||||||
|
sha256 = "003glxgxifk4ixl12sy4gn9bhwvgb79b4wga549ic79isgv81w2d";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "mruby-zest";
|
||||||
|
version = "3.0.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = pname;
|
||||||
|
repo = "${pname}-build";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0fxljrgamgz2rm85mclixs00b0f2yf109jc369039n1vf0l5m57d";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ bison git python2 rake ruby ];
|
||||||
|
buildInputs = [ libGL libuv libX11 ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./force-gcc-as-linker.patch
|
||||||
|
./system-libuv.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
# Add missing dependencies of deps/mruby-dir-glob/mrbgem.rake
|
||||||
|
# Should be fixed in next release, see bcadb0a5490bd6d599f1a0e66ce09b46363c9dae
|
||||||
|
postPatch = ''
|
||||||
|
mkdir -p mruby/build/mrbgems
|
||||||
|
ln -s ${mgem-list} mruby/build/mrbgems/mgem-list
|
||||||
|
ln -s ${mruby-dir} mruby/build/mrbgems/mruby-dir
|
||||||
|
ln -s ${mruby-errno} mruby/build/mrbgems/mruby-errno
|
||||||
|
ln -s ${mruby-file-stat} mruby/build/mrbgems/mruby-file-stat
|
||||||
|
ln -s ${mruby-process} mruby/build/mrbgems/mruby-process
|
||||||
|
ln -s ${mruby-pack} mruby/build/mrbgems/mruby-pack
|
||||||
|
'';
|
||||||
|
|
||||||
|
installTargets = [ "pack" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
ln -s "$out/zest" "$out/zyn-fusion"
|
||||||
|
cp -a package/{font,libzest.so,schema,zest} "$out"
|
||||||
|
|
||||||
|
# mruby-widget-lib/src/api.c requires MainWindow.qml as part of a
|
||||||
|
# sanity check, even though qml files are compiled into the binary
|
||||||
|
# https://github.com/mruby-zest/mruby-zest-build/tree/3.0.5/src/mruby-widget-lib/src/api.c#L99-L116
|
||||||
|
# https://github.com/mruby-zest/mruby-zest-build/tree/3.0.5/linux-pack.sh#L17-L18
|
||||||
|
mkdir -p "$out/qml"
|
||||||
|
touch "$out/qml/MainWindow.qml"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "The Zest Framework used in ZynAddSubFX's UI";
|
||||||
|
homepage = "https://github.com/mruby-zest";
|
||||||
|
license = licenses.lgpl21;
|
||||||
|
maintainers = with maintainers; [ metadark ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/mruby/tasks/toolchains/gcc.rake b/mruby/tasks/toolchains/gcc.rake
|
||||||
|
index f370c0ab..e5ab9f60 100644
|
||||||
|
--- a/mruby/tasks/toolchains/gcc.rake
|
||||||
|
+++ b/mruby/tasks/toolchains/gcc.rake
|
||||||
|
@@ -22,7 +22,7 @@ MRuby::Toolchain.new(:gcc) do |conf, _params|
|
||||||
|
end
|
||||||
|
|
||||||
|
conf.linker do |linker|
|
||||||
|
- linker.command = ENV['LD'] || 'gcc'
|
||||||
|
+ linker.command = 'gcc'
|
||||||
|
linker.flags = [ENV['LDFLAGS'] || %w()]
|
||||||
|
linker.libraries = %w(m)
|
||||||
|
linker.library_paths = []
|
@ -0,0 +1,113 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index f3e3be2..2398852 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1,8 +1,3 @@
|
||||||
|
-UV_DIR = libuv-v1.9.1
|
||||||
|
-UV_FILE = $(UV_DIR).tar.gz
|
||||||
|
-UV_URL = http://dist.libuv.org/dist/v1.9.1/$(UV_FILE)
|
||||||
|
-
|
||||||
|
-
|
||||||
|
all:
|
||||||
|
ruby ./rebuild-fcache.rb
|
||||||
|
cd deps/nanovg/src && $(CC) nanovg.c -c -fPIC
|
||||||
|
@@ -10,12 +5,12 @@ all:
|
||||||
|
# cd deps/pugl && python2 ./waf configure --no-cairo --static
|
||||||
|
cd deps/pugl && python2 ./waf configure --no-cairo --static --debug
|
||||||
|
cd deps/pugl && python2 ./waf
|
||||||
|
- cd src/osc-bridge && CFLAGS="-I ../../deps/$(UV_DIR)/include " make lib
|
||||||
|
+ cd src/osc-bridge && make lib
|
||||||
|
cd mruby && MRUBY_CONFIG=../build_config.rb rake
|
||||||
|
$(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
|
||||||
|
./deps/libnanovg.a \
|
||||||
|
src/osc-bridge/libosc-bridge.a \
|
||||||
|
- ./deps/$(UV_DIR)/.libs/libuv.a -lm -lX11 -lGL -lpthread
|
||||||
|
+ -luv -lm -lX11 -lGL -lpthread
|
||||||
|
$(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99
|
||||||
|
|
||||||
|
osx:
|
||||||
|
@@ -25,12 +20,12 @@ osx:
|
||||||
|
cd deps/pugl && python2 ./waf configure --no-cairo --static
|
||||||
|
# cd deps/pugl && python2 ./waf configure --no-cairo --static --debug
|
||||||
|
cd deps/pugl && python2 ./waf
|
||||||
|
- cd src/osc-bridge && CFLAGS="-I ../../deps/$(UV_DIR)/include " make lib
|
||||||
|
+ cd src/osc-bridge && make lib
|
||||||
|
cd mruby && MRUBY_CONFIG=../build_config.rb rake
|
||||||
|
$(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
|
||||||
|
./deps/libnanovg.a \
|
||||||
|
src/osc-bridge/libosc-bridge.a \
|
||||||
|
- ./deps/$(UV_DIR)/.libs/libuv.a -lm -framework OpenGL -lpthread
|
||||||
|
+ -luv -lm -framework OpenGL -lpthread
|
||||||
|
$(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -framework OpenGL -framework AppKit -lpthread -I deps/pugl -std=gnu99
|
||||||
|
|
||||||
|
windows:
|
||||||
|
@@ -38,38 +33,14 @@ windows:
|
||||||
|
$(AR) rc deps/libnanovg.a deps/nanovg/src/*.o
|
||||||
|
cd deps/pugl && CFLAGS="-mstackrealign" python2 ./waf configure --no-cairo --static --target=win32
|
||||||
|
cd deps/pugl && python2 ./waf
|
||||||
|
- cd src/osc-bridge && CFLAGS="-mstackrealign -I ../../deps/$(UV_DIR)/include " make lib
|
||||||
|
+ cd src/osc-bridge && CFLAGS="-mstackrealign" make lib
|
||||||
|
cd mruby && WINDOWS=1 MRUBY_CONFIG=../build_config.rb rake
|
||||||
|
$(CC) -mstackrealign -shared -o libzest.dll -static-libgcc `find mruby/build/w64 -type f | grep -e "\.o$$" | grep -v bin` \
|
||||||
|
./deps/libnanovg.a \
|
||||||
|
src/osc-bridge/libosc-bridge.a \
|
||||||
|
- ./deps/libuv-win.a \
|
||||||
|
- -lm -lpthread -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32
|
||||||
|
+ -luv -lm -lpthread -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32
|
||||||
|
$(CC) -mstackrealign -DWIN32 test-libversion.c deps/pugl/build/libpugl-0.a -o zest.exe -lpthread -I deps/pugl -std=c99 -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32
|
||||||
|
|
||||||
|
-
|
||||||
|
-builddep: deps/libuv.a
|
||||||
|
-deps/libuv.a:
|
||||||
|
- cd deps/$(UV_DIR) && ./autogen.sh
|
||||||
|
- cd deps/$(UV_DIR) && CFLAGS=-fPIC ./configure
|
||||||
|
- cd deps/$(UV_DIR) && CFLAGS=-fPIC make
|
||||||
|
- cp deps/$(UV_DIR)/.libs/libuv.a deps/
|
||||||
|
-
|
||||||
|
-builddepwin: deps/libuv-win.a
|
||||||
|
-deps/libuv-win.a:
|
||||||
|
- cd deps/$(UV_DIR) && ./autogen.sh
|
||||||
|
- cd deps/$(UV_DIR) && CFLAGS="-mstackrealign" ./configure --host=x86_64-w64-mingw32
|
||||||
|
- cd deps/$(UV_DIR) && LD=x86_64-w64-mingw32-gcc make
|
||||||
|
- cp deps/$(UV_DIR)/.libs/libuv.a deps/libuv-win.a
|
||||||
|
-
|
||||||
|
-deps/$(UV_DIR):
|
||||||
|
- cd deps && wget -4 $(UV_URL) && tar xvf $(UV_FILE)
|
||||||
|
-setup: deps/$(UV_DIR)
|
||||||
|
-
|
||||||
|
-setupwin:
|
||||||
|
- cd deps && wget -4 $(UV_URL)
|
||||||
|
- cd deps && tar xvf $(UV_FILE)
|
||||||
|
-
|
||||||
|
push:
|
||||||
|
cd src/osc-bridge && git push
|
||||||
|
cd src/mruby-qml-parse && git push
|
||||||
|
diff --git a/build_config.rb b/build_config.rb
|
||||||
|
index 00f1f69..11ac15b 100644
|
||||||
|
--- a/build_config.rb
|
||||||
|
+++ b/build_config.rb
|
||||||
|
@@ -96,7 +96,6 @@ build_type.new(build_name) do |conf|
|
||||||
|
conf.cc do |cc|
|
||||||
|
cc.include_paths << "#{`pwd`.strip}/../deps/nanovg/src"
|
||||||
|
cc.include_paths << "#{`pwd`.strip}/../deps/pugl/"
|
||||||
|
- cc.include_paths << "#{`pwd`.strip}/../deps/libuv-v1.9.1/include/"
|
||||||
|
cc.include_paths << "/usr/share/mingw-w64/include/" if windows
|
||||||
|
cc.include_paths << "/usr/x86_64-w64-mingw32/include/" if windows
|
||||||
|
cc.flags << "-DLDBL_EPSILON=1e-6" if windows
|
||||||
|
@@ -117,14 +116,14 @@ build_type.new(build_name) do |conf|
|
||||||
|
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/pugl/build/libpugl-0.a"
|
||||||
|
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libnanovg.a"
|
||||||
|
if(!windows)
|
||||||
|
- linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv.a"
|
||||||
|
+ linker.flags_after_libraries << "-luv"
|
||||||
|
if(ENV['OS'] != "Mac")
|
||||||
|
linker.libraries << 'GL'
|
||||||
|
linker.libraries << 'X11'
|
||||||
|
end
|
||||||
|
linker.flags_after_libraries << "-lpthread -ldl -lm"
|
||||||
|
else
|
||||||
|
- linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv-win.a"
|
||||||
|
+ linker.flags_after_libraries << "-luv"
|
||||||
|
linker.flags_after_libraries << "-lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi"
|
||||||
|
linker.flags_after_libraries << "-lglu32 -lgdi32 -lopengl32"
|
||||||
|
end
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "ghostwriter";
|
pname = "ghostwriter";
|
||||||
version = "1.8.1";
|
version = "2.0.0-rc3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wereturtle";
|
owner = "wereturtle";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = version;
|
||||||
sha256 = "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6";
|
sha256 = "sha256-Ag97iE++f3nG2zlwqn0qxSL9RpF8O3XWH9NtQ5kFuWg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake pkgconfig qttools ];
|
nativeBuildInputs = [ qmake pkgconfig qttools ];
|
||||||
@ -20,6 +20,7 @@ mkDerivation rec {
|
|||||||
homepage = src.meta.homepage;
|
homepage = src.meta.homepage;
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ dotlambda ];
|
maintainers = with maintainers; [ dotlambda erictapen ];
|
||||||
|
broken = stdenv.isDarwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,61 +1,102 @@
|
|||||||
{ asciidoc
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, asciidoc
|
||||||
, cmocka
|
, cmocka
|
||||||
, docbook_xsl
|
, docbook_xsl
|
||||||
, fetchFromGitHub
|
, libxslt
|
||||||
, fontconfig
|
, fontconfig
|
||||||
, freeimage
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
, icu
|
, icu
|
||||||
|
, pango
|
||||||
|
, inih
|
||||||
|
, withWindowSystem ? "all"
|
||||||
|
, xorg
|
||||||
|
, libxkbcommon
|
||||||
, libGLU
|
, libGLU
|
||||||
, libheif
|
, wayland
|
||||||
|
, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libnsgif" "libheif" ]
|
||||||
|
, freeimage
|
||||||
|
, libtiff
|
||||||
, libjpeg_turbo
|
, libjpeg_turbo
|
||||||
, libpng
|
, libpng
|
||||||
, librsvg
|
, librsvg
|
||||||
, libtiff
|
|
||||||
, libxkbcommon
|
|
||||||
, libxslt
|
|
||||||
, netsurf
|
, netsurf
|
||||||
, pango
|
, libheif
|
||||||
, pkgconfig
|
|
||||||
, stdenv
|
|
||||||
, wayland
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
windowSystems = {
|
||||||
|
all = windowSystems.x11 ++ windowSystems.wayland;
|
||||||
|
x11 = [ libGLU xorg.libxcb xorg.libX11 ];
|
||||||
|
wayland = [ wayland ];
|
||||||
|
};
|
||||||
|
|
||||||
|
backends = {
|
||||||
|
inherit freeimage libtiff libpng librsvg libheif;
|
||||||
|
libjpeg = libjpeg_turbo;
|
||||||
|
inherit (netsurf) libnsgif;
|
||||||
|
};
|
||||||
|
|
||||||
|
backendFlags = builtins.map
|
||||||
|
(b: if builtins.elem b withBackends
|
||||||
|
then "-D${b}=enabled"
|
||||||
|
else "-D${b}=disabled")
|
||||||
|
(builtins.attrNames backends);
|
||||||
|
in
|
||||||
|
|
||||||
|
# check that given window system is valid
|
||||||
|
assert lib.assertOneOf "withWindowSystem" withWindowSystem
|
||||||
|
(builtins.attrNames windowSystems);
|
||||||
|
# check that every given backend is valid
|
||||||
|
assert builtins.all
|
||||||
|
(b: lib.assertOneOf "each backend" b (builtins.attrNames backends))
|
||||||
|
withBackends;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "imv";
|
pname = "imv";
|
||||||
version = "4.1.0";
|
version = "4.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "eXeC64";
|
owner = "eXeC64";
|
||||||
repo = "imv";
|
repo = "imv";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0gk8g178i961nn3bls75a8qpv6wvfvav6hd9lxca1skaikd33zdx";
|
sha256 = "07pcpppmfvvj0czfvp1cyq03ha0jdj4whl13lzvw37q3vpxs5qqh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ asciidoc cmocka docbook_xsl libxslt ];
|
mesonFlags = [
|
||||||
|
"-Dwindows=${withWindowSystem}"
|
||||||
|
"-Dtest=enabled"
|
||||||
|
"-Dman=enabled"
|
||||||
|
] ++ backendFlags;
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
freeimage
|
asciidoc
|
||||||
icu
|
cmocka
|
||||||
libGLU
|
docbook_xsl
|
||||||
libjpeg_turbo
|
libxslt
|
||||||
librsvg
|
meson
|
||||||
libxkbcommon
|
ninja
|
||||||
netsurf.libnsgif
|
|
||||||
pango
|
|
||||||
pkgconfig
|
pkgconfig
|
||||||
wayland
|
|
||||||
];
|
];
|
||||||
|
|
||||||
installFlags = [ "PREFIX=$(out)" "CONFIGPREFIX=$(out)/etc" ];
|
buildInputs = [
|
||||||
|
icu
|
||||||
|
libxkbcommon
|
||||||
|
pango
|
||||||
|
inih
|
||||||
|
] ++ windowSystems."${withWindowSystem}"
|
||||||
|
++ builtins.map (b: backends."${b}") withBackends;
|
||||||
|
|
||||||
makeFlags = [ "BACKEND_LIBJPEG=yes" "BACKEND_LIBNSGIF=yes" ];
|
postFixup = lib.optionalString (withWindowSystem == "all") ''
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
# The `bin/imv` script assumes imv-wayland or imv-x11 in PATH,
|
# The `bin/imv` script assumes imv-wayland or imv-x11 in PATH,
|
||||||
# so we have to fix those to the binaries we installed into the /nix/store
|
# so we have to fix those to the binaries we installed into the /nix/store
|
||||||
|
|
||||||
sed -i "s|\bimv-wayland\b|$out/bin/imv-wayland|" $out/bin/imv
|
substituteInPlace "$out/bin/imv" \
|
||||||
sed -i "s|\bimv-x11\b|$out/bin/imv-x11|" $out/bin/imv
|
--replace "imv-wayland" "$out/bin/imv-wayland" \
|
||||||
|
--replace "imv-x11" "$out/bin/imv-x11"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
71
pkgs/applications/graphics/nufraw/default.nix
Normal file
71
pkgs/applications/graphics/nufraw/default.nix
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchurl
|
||||||
|
, lib
|
||||||
|
|
||||||
|
, autoreconfHook
|
||||||
|
, bzip2
|
||||||
|
, cfitsio
|
||||||
|
, exiv2
|
||||||
|
, gettext
|
||||||
|
, gtk2
|
||||||
|
, gtkimageview
|
||||||
|
, lcms2
|
||||||
|
, lensfun
|
||||||
|
, libjpeg
|
||||||
|
, libtiff
|
||||||
|
, perl
|
||||||
|
, pkg-config
|
||||||
|
, zlib
|
||||||
|
|
||||||
|
, addThumbnailer ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "nufraw";
|
||||||
|
version = "0.43-3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/nufraw/nufraw-${version}.tar.gz";
|
||||||
|
sha256 = "0b63qvw9r8kaqw36bk3a9zwxc41h8fr6498indkw4glrj0awqz9c";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoreconfHook gettext perl pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
bzip2
|
||||||
|
cfitsio
|
||||||
|
exiv2
|
||||||
|
gtk2
|
||||||
|
gtkimageview
|
||||||
|
lcms2
|
||||||
|
lensfun
|
||||||
|
libjpeg
|
||||||
|
libtiff
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--enable-contrast"
|
||||||
|
"--enable-dst-correction"
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = lib.optionalString addThumbnailer ''
|
||||||
|
mkdir -p $out/share/thumbnailers
|
||||||
|
substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://nufraw.sourceforge.io/";
|
||||||
|
description = "Utility to read and manipulate raw images from digital cameras";
|
||||||
|
longDescription =
|
||||||
|
''
|
||||||
|
A new version of the popular raw digital images manipulator ufraw.
|
||||||
|
Forks from the version 0.23 of ufraw (that's why the first nufraw version is the 0.24).
|
||||||
|
Nufraw offers the same features (gimp plugin, batch, ecc) and the same quality of
|
||||||
|
ufraw in a brand new improved user interface.
|
||||||
|
'';
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
maintainers = with maintainers; [ asbachb ];
|
||||||
|
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||||
|
};
|
||||||
|
}
|
4
pkgs/applications/graphics/nufraw/nufraw.thumbnailer
Normal file
4
pkgs/applications/graphics/nufraw/nufraw.thumbnailer
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Thumbnailer Entry]
|
||||||
|
TryExec=@out@/bin/nufraw-batch
|
||||||
|
Exec=@out@/bin/nufraw-batch --silent --size %s --out-type=png --noexif --output=%o --embedded-image %i
|
||||||
|
MimeType=image/x-canon-cr2;image/x-canon-crw;image/x-minolta-mrw;image/x-nikon-nef;image/x-pentax-pef;image/x-panasonic-rw2;image/x-panasonic-raw2;image/x-samsung-srw;image/x-olympus-orf;image/x-sony-arw
|
@ -30,12 +30,12 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "obsidian";
|
pname = "obsidian";
|
||||||
version = "0.10.1";
|
version = "0.10.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
"https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.asar.gz";
|
"https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.asar.gz";
|
||||||
sha256 = "wnCgW4EAcg0Oc1fqOZBYKN2g8N27riL+yonoIy0AfxA=";
|
sha256 = "KfGVc3nXu5ilYKQPLc5qaksTwsdhSVtty9CfjSoiCU8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper graphicsmagick ];
|
nativeBuildInputs = [ makeWrapper graphicsmagick ];
|
||||||
|
30
pkgs/applications/science/biology/fastp/default.nix
Normal file
30
pkgs/applications/science/biology/fastp/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "fastp";
|
||||||
|
version = "0.20.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "OpenGene";
|
||||||
|
repo = "fastp";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-pANwppkO9pfV9vctB7HmNCzYRtf+Xt+5HMKzvFuvyFM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ zlib ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -D fastp $out/bin/fastp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Ultra-fast all-in-one FASTQ preprocessor";
|
||||||
|
license = licenses.mit;
|
||||||
|
homepage = "https://github.com/OpenGene/fastp";
|
||||||
|
maintainers = with maintainers; [ jbedo ];
|
||||||
|
platforms = platforms.x86_64;
|
||||||
|
};
|
||||||
|
}
|
@ -144,7 +144,7 @@ for version in "${all_versions[@]}"; do
|
|||||||
for lib in "${libs[@]}"; do
|
for lib in "${libs[@]}"; do
|
||||||
echo "Checking ${lib}" >&2
|
echo "Checking ${lib}" >&2
|
||||||
url="${gitlab}/libraries/kicad-${lib}.git"
|
url="${gitlab}/libraries/kicad-${lib}.git"
|
||||||
lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | head -n1)"
|
lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | tail -n1)"
|
||||||
has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)"
|
has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)"
|
||||||
has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
|
has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
|
||||||
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
|
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
|
||||||
|
@ -3,19 +3,19 @@
|
|||||||
{
|
{
|
||||||
"kicad" = {
|
"kicad" = {
|
||||||
kicadVersion = {
|
kicadVersion = {
|
||||||
version = "5.1.8";
|
version = "5.1.9";
|
||||||
src = {
|
src = {
|
||||||
rev = "db9833491010954bc27fac92c83d2864bd95c23c";
|
rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5";
|
||||||
sha256 = "08ni9j2lw2hjc1csk6rkydcxwdal6da17ch60zkjij5vfsif2hix";
|
sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
libVersion = {
|
libVersion = {
|
||||||
version = "5.1.8";
|
version = "5.1.9";
|
||||||
libSources = {
|
libSources = {
|
||||||
i18n.rev = "78adcd19e7ed53f4889d6db65a33dd8ec2d323e9";
|
i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5";
|
||||||
i18n.sha256 = "0x0w2m6d3xfm22y4anp5j2j67iwzby149ynj6qjlw2kcsi8kwk1j";
|
i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f";
|
||||||
symbols.rev = "bf475af94877e8fd9cf80e667578ff61835e02bb";
|
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
|
||||||
symbols.sha256 = "1ii3r813653ng2ycggnknqx4g3ja7dbm4qyxrf9aq48ws0xkvhx3";
|
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
|
||||||
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
|
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
|
||||||
templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
|
templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
|
||||||
footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b";
|
footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b";
|
||||||
@ -27,25 +27,25 @@
|
|||||||
};
|
};
|
||||||
"kicad-unstable" = {
|
"kicad-unstable" = {
|
||||||
kicadVersion = {
|
kicadVersion = {
|
||||||
version = "2020-12-01";
|
version = "2020-12-23";
|
||||||
src = {
|
src = {
|
||||||
rev = "3c521942ed52e83482c82d426170b4fbf327f846";
|
rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3";
|
||||||
sha256 = "sha256:09qab69sy3n44kjlzxxx7gbksyr1kg8n14kz0zf8n71zfcqagci4";
|
sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
libVersion = {
|
libVersion = {
|
||||||
version = "2020-12-01";
|
version = "2020-12-23";
|
||||||
libSources = {
|
libSources = {
|
||||||
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
|
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
|
||||||
i18n.sha256 = "sha256:04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
||||||
symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
|
symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
|
||||||
symbols.sha256 = "sha256:117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
|
symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
|
||||||
templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
|
templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
|
||||||
templates.sha256 = "sha256:13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
|
templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
|
||||||
footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
|
footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
|
||||||
footprints.sha256 = "sha256:1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
|
footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
|
||||||
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
|
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
|
||||||
packages3d.sha256 = "sha256:0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
|
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{ rustPlatform
|
{ stdenv
|
||||||
|
, rustPlatform
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
|
||||||
@ -8,6 +9,11 @@
|
|||||||
, openssl
|
, openssl
|
||||||
, perl
|
, perl
|
||||||
|
|
||||||
|
# Apple frameworks
|
||||||
|
, CoreGraphics
|
||||||
|
, Cocoa
|
||||||
|
, Foundation
|
||||||
|
|
||||||
, dbus
|
, dbus
|
||||||
, libX11
|
, libX11
|
||||||
, xcbutil
|
, xcbutil
|
||||||
@ -25,6 +31,10 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
|
zlib
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
] ++ stdenv.lib.optionals (stdenv.isLinux) [
|
||||||
libX11
|
libX11
|
||||||
xcbutil
|
xcbutil
|
||||||
libxcb
|
libxcb
|
||||||
@ -33,13 +43,14 @@ let
|
|||||||
libxkbcommon
|
libxkbcommon
|
||||||
dbus
|
dbus
|
||||||
libglvnd
|
libglvnd
|
||||||
zlib
|
|
||||||
egl-wayland
|
egl-wayland
|
||||||
wayland
|
wayland
|
||||||
libGLU
|
libGLU
|
||||||
libGL
|
libGL
|
||||||
fontconfig
|
] ++ stdenv.lib.optionals (stdenv.isDarwin) [
|
||||||
freetype
|
Foundation
|
||||||
|
CoreGraphics
|
||||||
|
Cocoa
|
||||||
];
|
];
|
||||||
pname = "wezterm";
|
pname = "wezterm";
|
||||||
in
|
in
|
||||||
@ -67,10 +78,21 @@ rustPlatform.buildRustPackage {
|
|||||||
buildInputs = runtimeDeps;
|
buildInputs = runtimeDeps;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
|
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
|
||||||
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
|
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
|
||||||
install -D $releaseDir/$artifact -t $out/bin
|
install -D $releaseDir/$artifact -t $out/bin
|
||||||
done
|
done
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
mkdir -p "$out/Applications"
|
||||||
|
OUT_APP="$out/Applications/WezTerm.app"
|
||||||
|
cp -r assets/macos/WezTerm.app "$OUT_APP"
|
||||||
|
rm $OUT_APP/*.dylib
|
||||||
|
cp -r assets/shell-integration/* "$OUT_APP"
|
||||||
|
cp $releaseDir/wezterm "$OUT_APP"
|
||||||
|
cp $releaseDir/wezterm-mux-server "$OUT_APP"
|
||||||
|
cp $releaseDir/wezterm-gui "$OUT_APP"
|
||||||
|
cp $releaseDir/strip-ansi-escapes "$OUT_APP"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# prevent further changes to the RPATH
|
# prevent further changes to the RPATH
|
||||||
|
@ -55,8 +55,5 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
|
|||||||
license = with licenses; gpl3Plus;
|
license = with licenses; gpl3Plus;
|
||||||
maintainers = with maintainers; [ AndersonTorres ];
|
maintainers = with maintainers; [ AndersonTorres ];
|
||||||
platforms = with platforms; unix;
|
platforms = with platforms; unix;
|
||||||
# Cannot use a newer Qt (5.15) version because it requires qtwebkit
|
|
||||||
# and our qtwebkit fails to build with 5.15. 01bcfd3579219d60e5d07df309a000f96b2b658b
|
|
||||||
broken = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub, fetchpatch
|
||||||
, pkgconfig, cmake, doxygen
|
, pkgconfig, cmake, doxygen
|
||||||
, libopenshot-audio, imagemagick, ffmpeg_3
|
, libopenshot-audio, imagemagick, ffmpeg_3
|
||||||
, swig, python3
|
, swig, python3
|
||||||
@ -19,7 +19,15 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1mxjkgjmjzgf628y3rscc6rqf55hxgjpmvwxlncfk1216i5xskwp";
|
sha256 = "1mxjkgjmjzgf628y3rscc6rqf55hxgjpmvwxlncfk1216i5xskwp";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "fix-build-with-gcc-10.patch";
|
||||||
|
url = "https://github.com/OpenShot/libopenshot/commit/13290364e7bea54164ab83d973951f2898ad9e23.diff";
|
||||||
|
sha256 = "0i7rpdsr8y9dphil8yq75qbh20vfqjc2hp5ahv0ws58z9wj6ngnz";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt
|
sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt
|
||||||
sed -i 's/{_REL_PYTHON_MODULE_PATH}/ENV{_REL_PYTHON_MODULE_PATH}/g' src/bindings/python/CMakeLists.txt
|
sed -i 's/{_REL_PYTHON_MODULE_PATH}/ENV{_REL_PYTHON_MODULE_PATH}/g' src/bindings/python/CMakeLists.txt
|
||||||
export _REL_PYTHON_MODULE_PATH=$(toPythonPath $out)
|
export _REL_PYTHON_MODULE_PATH=$(toPythonPath $out)
|
||||||
|
@ -62,7 +62,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
mkdir bin
|
mkdir bin
|
||||||
|
|
||||||
cp nvidia-docker bin
|
cp nvidia-docker bin
|
||||||
|
substituteInPlace bin/nvidia-docker --subst-var-by VERSION ${version}
|
||||||
|
|
||||||
cp ${libnvidia-container}/bin/nvidia-container-cli bin
|
cp ${libnvidia-container}/bin/nvidia-container-cli bin
|
||||||
cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin
|
cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin
|
||||||
cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
|
cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
|
||||||
|
42
pkgs/development/compilers/cakelisp/default.nix
Normal file
42
pkgs/development/compilers/cakelisp/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, gcc }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "cakelisp";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "makuto";
|
||||||
|
repo = "cakelisp";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "126va59jy7rvy6c2wrf8j44m307f2d8jixqkc49s9wllxprj1dmg";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ gcc ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace runtime/HotReloading.cake \
|
||||||
|
--replace '"/usr/bin/g++"' '"${gcc}/bin/g++"'
|
||||||
|
substituteInPlace src/ModuleManager.cpp \
|
||||||
|
--replace '"/usr/bin/g++"' '"${gcc}/bin/g++"'
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
substituteInPlace Build.sh --replace '--export-dynamic' '-export_dynamic'
|
||||||
|
substituteInPlace runtime/HotReloading.cake --replace '--export-dynamic' '-export_dynamic'
|
||||||
|
substituteInPlace Bootstrap.cake --replace '--export-dynamic' '-export_dynamic'
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
./Build.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm755 bin/cakelisp -t $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A performance-oriented Lisp-like language";
|
||||||
|
homepage = "https://github.com/makuto/cakelisp";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.darwin ++ platforms.linux;
|
||||||
|
maintainers = [ maintainers.sbond75 ];
|
||||||
|
};
|
||||||
|
}
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "computecpp";
|
pname = "computecpp";
|
||||||
version = "2.2.1";
|
version = "2.3.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/x86_64-linux-gnu.tar.gz";
|
url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/x86_64-linux-gnu.tar.gz";
|
||||||
hash = "sha256-niXNWbkXjd35col6dS66HdxFurXfJw/Xb2c5njukxcg=";
|
hash = "sha256-AUHSls4BOX20PVKzDAp3RqpeRDwgbgYzz6CRvRN+kdk=";
|
||||||
stripRoot = true;
|
stripRoot = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "doctest";
|
pname = "doctest";
|
||||||
version = "2.4.1";
|
version = "2.4.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "onqtam";
|
owner = "onqtam";
|
||||||
repo = "doctest";
|
repo = "doctest";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w";
|
hash = "sha256-NqXC5948prTCi4gsaR8bJPBTrmH+rJbHsGvwkJlpjXY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
|
|||||||
pname = "libplacebo";
|
pname = "libplacebo";
|
||||||
version = "2.72.2";
|
version = "2.72.2";
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./glsl-import.patch
|
||||||
|
];
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "code.videolan.org";
|
domain = "code.videolan.org";
|
||||||
owner = "videolan";
|
owner = "videolan";
|
||||||
|
13
pkgs/development/libraries/libplacebo/glsl-import.patch
Normal file
13
pkgs/development/libraries/libplacebo/glsl-import.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/glsl/glslang.cc b/src/glsl/glslang.cc
|
||||||
|
index f701acc..c64cbf5 100644
|
||||||
|
--- a/src/glsl/glslang.cc
|
||||||
|
+++ b/src/glsl/glslang.cc
|
||||||
|
@@ -26,7 +26,7 @@ extern "C" {
|
||||||
|
|
||||||
|
#include <glslang/Include/ResourceLimits.h>
|
||||||
|
#include <glslang/Public/ShaderLang.h>
|
||||||
|
-#include <SPIRV/GlslangToSpv.h>
|
||||||
|
+#include <glslang/SPIRV/GlslangToSpv.h>
|
||||||
|
|
||||||
|
#include "glslang.h"
|
||||||
|
|
28
pkgs/development/libraries/libschrift/default.nix
Normal file
28
pkgs/development/libraries/libschrift/default.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libschrift";
|
||||||
|
version = "0.9.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "tomolt";
|
||||||
|
repo = pname;
|
||||||
|
rev = "c6d20460d6e602e8829d3a227fd7be4c4c3cda86";
|
||||||
|
hash = "sha256-BuTmWaWFZ0DXujlbhbmK3Woit8fR9F4DWmKszHX6gOI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace config.mk \
|
||||||
|
--replace "PREFIX = /usr/local" "PREFIX = $out"
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [ "libschrift.a" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://github.com/tomolt/libschrift";
|
||||||
|
description = "A lightweight TrueType font rendering library";
|
||||||
|
license = licenses.isc;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = [ maintainers.sternenseemann ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmake, qtmultimedia, utmp }:
|
{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmake, qtmultimedia, utmp, fetchpatch }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
version = "2018-11-24";
|
version = "2018-11-24";
|
||||||
@ -15,7 +15,15 @@ stdenv.mkDerivation {
|
|||||||
++ stdenv.lib.optional stdenv.isDarwin utmp;
|
++ stdenv.lib.optional stdenv.isDarwin utmp;
|
||||||
nativeBuildInputs = [ qmake ];
|
nativeBuildInputs = [ qmake ];
|
||||||
|
|
||||||
patchPhase = ''
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "fix-missing-includes.patch";
|
||||||
|
url = "https://github.com/Swordfish90/qmltermwidget/pull/27/commits/485f8d6d841b607ba49e55a791f7f587e4e193bc.diff";
|
||||||
|
sha256 = "186s8pv3642vr4lxsds919h0y2vrkl61r7wqq9mc4a5zk5vprinj";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
substituteInPlace qmltermwidget.pro \
|
substituteInPlace qmltermwidget.pro \
|
||||||
--replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/"
|
--replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/"
|
||||||
'';
|
'';
|
||||||
|
26
pkgs/development/python-modules/advantage-air/default.nix
Normal file
26
pkgs/development/python-modules/advantage-air/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ aiohttp, buildPythonPackage, fetchPypi, lib, pythonOlder }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "advantage_air";
|
||||||
|
version = "0.2.2";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit version pname;
|
||||||
|
sha256 = "04q2sjw9r50c00m4sfv98w9cwmmr970830c97m32p5j8ijb10j5x";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ aiohttp ];
|
||||||
|
|
||||||
|
# No tests
|
||||||
|
doCheck = false;
|
||||||
|
pythonImportsCheck = [ "advantage_air" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "API helper for Advantage Air's MyAir and e-zone API";
|
||||||
|
homepage = "https://github.com/Bre77/advantage_air";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ jamiemagee ];
|
||||||
|
};
|
||||||
|
}
|
37
pkgs/development/python-modules/pylacrosse/default.nix
Normal file
37
pkgs/development/python-modules/pylacrosse/default.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, mock
|
||||||
|
, nose
|
||||||
|
, pyserial
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pylacrosse";
|
||||||
|
version = "0.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "hthiery";
|
||||||
|
repo = "python-lacrosse";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0g5hqm8lq0gsnvhcydjk54rjf7lpxzph8k7w1nnvnqfbhf31xfcf";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pyserial ];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
mock
|
||||||
|
nose
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "pylacrosse" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python library for Jeelink LaCrosse";
|
||||||
|
homepage = "https://github.com/hthiery/python-lacrosse";
|
||||||
|
license = with licenses; [ lgpl2Plus ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,30 +0,0 @@
|
|||||||
{ stdenv, fetchPypi, buildPythonPackage
|
|
||||||
, numpy
|
|
||||||
, absl-py
|
|
||||||
, mock
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "tensorflow-estimator";
|
|
||||||
# This is effectively 1.15.0. Upstream tagged 1.15.0 by mistake before
|
|
||||||
# actually updating the version in setup.py, which is why this tag is called
|
|
||||||
# 1.15.1.
|
|
||||||
version = "1.15.1";
|
|
||||||
format = "wheel";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
pname = "tensorflow_estimator";
|
|
||||||
inherit version format;
|
|
||||||
sha256 = "1fc61wmc0w22frs79j2x4g6wnv5g21xc6rix1g4bsvy9qfvvylw8";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ mock numpy absl-py ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "TensorFlow Estimator is a high-level API that encapsulates model training, evaluation, prediction, and exporting.";
|
|
||||||
homepage = "http://tensorflow.org";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ jyp ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, lib
|
|
||||||
, fetchurl
|
|
||||||
, buildPythonPackage
|
|
||||||
, isPy3k, pythonOlder, pythonAtLeast
|
|
||||||
, astor
|
|
||||||
, gast
|
|
||||||
, google-pasta
|
|
||||||
, wrapt
|
|
||||||
, numpy
|
|
||||||
, six
|
|
||||||
, termcolor
|
|
||||||
, protobuf
|
|
||||||
, absl-py
|
|
||||||
, grpcio
|
|
||||||
, mock
|
|
||||||
, backports_weakref
|
|
||||||
, tensorflow-estimator_1
|
|
||||||
, tensorflow-tensorboard
|
|
||||||
, cudaSupport ? false
|
|
||||||
, cudatoolkit ? null
|
|
||||||
, cudnn ? null
|
|
||||||
, nvidia_x11 ? null
|
|
||||||
, zlib
|
|
||||||
, python
|
|
||||||
, symlinkJoin
|
|
||||||
, keras-applications
|
|
||||||
, keras-preprocessing
|
|
||||||
, addOpenGLRunpath
|
|
||||||
}:
|
|
||||||
|
|
||||||
# We keep this binary build for two reasons:
|
|
||||||
# - the source build doesn't work on Darwin.
|
|
||||||
# - the source build is currently brittle and not easy to maintain
|
|
||||||
|
|
||||||
assert cudaSupport -> cudatoolkit != null
|
|
||||||
&& cudnn != null
|
|
||||||
&& nvidia_x11 != null;
|
|
||||||
|
|
||||||
# unsupported combination
|
|
||||||
assert ! (stdenv.isDarwin && cudaSupport);
|
|
||||||
|
|
||||||
let
|
|
||||||
packages = import ./binary-hashes.nix;
|
|
||||||
|
|
||||||
variant = if cudaSupport then "-gpu" else "";
|
|
||||||
pname = "tensorflow${variant}";
|
|
||||||
|
|
||||||
in buildPythonPackage {
|
|
||||||
inherit pname;
|
|
||||||
inherit (packages) version;
|
|
||||||
format = "wheel";
|
|
||||||
disabled = pythonAtLeast "3.8";
|
|
||||||
|
|
||||||
src = let
|
|
||||||
pyVerNoDot = lib.strings.stringAsChars (x: if x == "." then "" else x) python.pythonVersion;
|
|
||||||
pyver = if stdenv.isDarwin then builtins.substring 0 1 pyVerNoDot else pyVerNoDot;
|
|
||||||
platform = if stdenv.isDarwin then "mac" else "linux";
|
|
||||||
unit = if cudaSupport then "gpu" else "cpu";
|
|
||||||
key = "${platform}_py_${pyver}_${unit}";
|
|
||||||
in fetchurl packages.${key};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
protobuf
|
|
||||||
numpy
|
|
||||||
termcolor
|
|
||||||
grpcio
|
|
||||||
six
|
|
||||||
astor
|
|
||||||
absl-py
|
|
||||||
gast
|
|
||||||
google-pasta
|
|
||||||
wrapt
|
|
||||||
tensorflow-estimator_1
|
|
||||||
tensorflow-tensorboard
|
|
||||||
keras-applications
|
|
||||||
keras-preprocessing
|
|
||||||
] ++ lib.optional (!isPy3k) mock
|
|
||||||
++ lib.optionals (pythonOlder "3.4") [ backports_weakref ];
|
|
||||||
|
|
||||||
nativeBuildInputs = lib.optional cudaSupport addOpenGLRunpath;
|
|
||||||
|
|
||||||
# Upstream has a pip hack that results in bin/tensorboard being in both tensorflow
|
|
||||||
# and the propageted input tensorflow-tensorboard which causes environment collisions.
|
|
||||||
# another possibility would be to have tensorboard only in the buildInputs
|
|
||||||
# https://github.com/tensorflow/tensorflow/blob/v1.7.1/tensorflow/tools/pip_package/setup.py#L79
|
|
||||||
postInstall = ''
|
|
||||||
rm $out/bin/tensorboard
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Note that we need to run *after* the fixup phase because the
|
|
||||||
# libraries are loaded at runtime. If we run in preFixup then
|
|
||||||
# patchelf --shrink-rpath will remove the cuda libraries.
|
|
||||||
postFixup = let
|
|
||||||
rpath = stdenv.lib.makeLibraryPath
|
|
||||||
([ stdenv.cc.cc.lib zlib ] ++ lib.optionals cudaSupport [ cudatoolkit.out cudatoolkit.lib cudnn nvidia_x11 ]);
|
|
||||||
in
|
|
||||||
lib.optionalString stdenv.isLinux ''
|
|
||||||
rrPath="$out/${python.sitePackages}/tensorflow/:$out/${python.sitePackages}/tensorflow/contrib/tensor_forest/:${rpath}"
|
|
||||||
internalLibPath="$out/${python.sitePackages}/tensorflow/python/_pywrap_tensorflow_internal.so"
|
|
||||||
find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
|
|
||||||
patchelf --set-rpath "$rrPath" "$lib"
|
|
||||||
${lib.optionalString cudaSupport ''
|
|
||||||
addOpenGLRunpath "$lib"
|
|
||||||
''}
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Computation using data flow graphs for scalable machine learning";
|
|
||||||
homepage = "http://tensorflow.org";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ jyp abbradar ];
|
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
|
||||||
# Python 2.7 build uses different string encoding.
|
|
||||||
# See https://github.com/NixOS/nixpkgs/pull/37044#issuecomment-373452253
|
|
||||||
broken = stdenv.isDarwin && !isPy3k;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
version = "1.14.0";
|
|
||||||
linux_py_27_cpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.14.0-cp27-none-linux_x86_64.whl";
|
|
||||||
sha256 = "0yywdrfk97dh1bxhibspg0raz70fx9lcczj6xlimqy4xb60clx7k";
|
|
||||||
};
|
|
||||||
linux_py_35_cpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.14.0-cp35-cp35m-linux_x86_64.whl";
|
|
||||||
sha256 = "1xvyb6xcrjhlwvrmrhn5vs9xy7g98smqmpv4i3hhpry4qyasphhj";
|
|
||||||
};
|
|
||||||
linux_py_36_cpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.14.0-cp36-cp36m-linux_x86_64.whl";
|
|
||||||
sha256 = "1psd9vyxz9f39dwj77nvrg373sxv3p5vdp9fnz81dpsm0b0mwl44";
|
|
||||||
};
|
|
||||||
linux_py_37_cpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.14.0-cp37-cp37m-linux_x86_64.whl";
|
|
||||||
sha256 = "0bg2sb1n2ag27r7ww695kg5hb0mjrw4kc5893krmixx2j71860c5";
|
|
||||||
};
|
|
||||||
linux_py_27_gpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.14.0-cp27-none-linux_x86_64.whl";
|
|
||||||
sha256 = "0y1x91gayg6pjddgl8ndcm63wfzhyv4s5khgl7ffzsgni1ivaqw5";
|
|
||||||
};
|
|
||||||
linux_py_35_gpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.14.0-cp35-cp35m-linux_x86_64.whl";
|
|
||||||
sha256 = "03piggpbz1jx8m2b95spq3jrdff4w6xx63ji07am7hyw2nsgx3mx";
|
|
||||||
};
|
|
||||||
linux_py_36_gpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.14.0-cp36-cp36m-linux_x86_64.whl";
|
|
||||||
sha256 = "0ypkp8cfhharsyyikb1qgf44cfm6284km9xswzvzymjzz75vg3gd";
|
|
||||||
};
|
|
||||||
linux_py_37_gpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.14.0-cp37-cp37m-linux_x86_64.whl";
|
|
||||||
sha256 = "0virp8nn2ysx4855hq29kas6fm6b3dsiybwzdxy9nnb9n2d8qlm2";
|
|
||||||
};
|
|
||||||
mac_py_2_cpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.14.0-py2-none-any.whl";
|
|
||||||
sha256 = "14f86k3pgq7z6i4s4im55zpp38f0drnm7xlclavsgcc0nxnj3z26";
|
|
||||||
};
|
|
||||||
mac_py_3_cpu = {
|
|
||||||
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.14.0-py3-none-any.whl";
|
|
||||||
sha256 = "0f3swpcjfgqhj6h5wnx8snc0xjkx4hnkqx83fmlrwpncs8c131d3";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,456 +0,0 @@
|
|||||||
{ stdenv, pkgs, bazel_0_26, buildBazelPackage, lib, fetchFromGitHub, fetchpatch, symlinkJoin
|
|
||||||
, addOpenGLRunpath
|
|
||||||
# Python deps
|
|
||||||
, buildPythonPackage, isPy3k, isPy27, pythonOlder, pythonAtLeast, python
|
|
||||||
# Python libraries
|
|
||||||
, numpy, tensorflow-tensorboard_1, backports_weakref, mock, enum34, absl-py
|
|
||||||
, future, setuptools, wheel, keras-preprocessing, keras-applications, google-pasta
|
|
||||||
, functools32
|
|
||||||
, opt-einsum
|
|
||||||
, termcolor, grpcio, six, wrapt, protobuf, tensorflow-estimator_1
|
|
||||||
# Common deps
|
|
||||||
, git, swig, which, binutils, glibcLocales, cython
|
|
||||||
# Common libraries
|
|
||||||
, jemalloc, openmpi, astor, gast, grpc, sqlite, openssl, jsoncpp, re2
|
|
||||||
, curl, snappy, flatbuffers, icu, double-conversion, libpng, libjpeg, giflib
|
|
||||||
# Upsteam by default includes cuda support since tensorflow 1.15. We could do
|
|
||||||
# that in nix as well. It would make some things easier and less confusing, but
|
|
||||||
# it would also make the default tensorflow package unfree. See
|
|
||||||
# https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
|
|
||||||
, cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null, nccl ? null
|
|
||||||
, mklSupport ? false, mkl ? null
|
|
||||||
# XLA without CUDA is broken
|
|
||||||
, xlaSupport ? cudaSupport
|
|
||||||
# Default from ./configure script
|
|
||||||
, cudaCapabilities ? [ "3.5" "5.2" ]
|
|
||||||
, sse42Support ? stdenv.hostPlatform.sse4_2Support
|
|
||||||
, avx2Support ? stdenv.hostPlatform.avx2Support
|
|
||||||
, fmaSupport ? stdenv.hostPlatform.fmaSupport
|
|
||||||
# Darwin deps
|
|
||||||
, Foundation, Security
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert cudaSupport -> nvidia_x11 != null
|
|
||||||
&& cudatoolkit != null
|
|
||||||
&& cudnn != null;
|
|
||||||
|
|
||||||
# unsupported combination
|
|
||||||
assert ! (stdenv.isDarwin && cudaSupport);
|
|
||||||
|
|
||||||
assert mklSupport -> mkl != null;
|
|
||||||
|
|
||||||
let
|
|
||||||
withTensorboard = pythonOlder "3.6";
|
|
||||||
|
|
||||||
cudatoolkit_joined = symlinkJoin {
|
|
||||||
name = "${cudatoolkit.name}-merged";
|
|
||||||
paths = [
|
|
||||||
cudatoolkit.lib
|
|
||||||
cudatoolkit.out
|
|
||||||
# for some reason some of the required libs are in the targets/x86_64-linux
|
|
||||||
# directory; not sure why but this works around it
|
|
||||||
"${cudatoolkit}/targets/${stdenv.system}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
cudatoolkit_cc_joined = symlinkJoin {
|
|
||||||
name = "${cudatoolkit.cc.name}-merged";
|
|
||||||
paths = [
|
|
||||||
cudatoolkit.cc
|
|
||||||
binutils.bintools # for ar, dwp, nm, objcopy, objdump, strip
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Needed for _some_ system libraries, grep INCLUDEDIR.
|
|
||||||
includes_joined = symlinkJoin {
|
|
||||||
name = "tensorflow-deps-merged";
|
|
||||||
paths = [
|
|
||||||
pkgs.protobuf
|
|
||||||
jsoncpp
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
tfFeature = x: if x then "1" else "0";
|
|
||||||
|
|
||||||
version = "1.15.4";
|
|
||||||
variant = if cudaSupport then "-gpu" else "";
|
|
||||||
pname = "tensorflow${variant}";
|
|
||||||
|
|
||||||
pythonEnv = python.withPackages (_:
|
|
||||||
[ # python deps needed during wheel build time (not runtime, see the buildPythonPackage part for that)
|
|
||||||
numpy
|
|
||||||
keras-preprocessing
|
|
||||||
protobuf
|
|
||||||
wrapt
|
|
||||||
gast
|
|
||||||
astor
|
|
||||||
absl-py
|
|
||||||
termcolor
|
|
||||||
keras-applications
|
|
||||||
setuptools
|
|
||||||
wheel
|
|
||||||
] ++ lib.optionals (!isPy3k)
|
|
||||||
[ future
|
|
||||||
functools32
|
|
||||||
mock
|
|
||||||
]);
|
|
||||||
|
|
||||||
bazel-build = buildBazelPackage {
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
bazel = bazel_0_26;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "tensorflow";
|
|
||||||
repo = "tensorflow";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0lg8ahyr2k7dmp0yfypk8ivl9a0xcg3j0f0dakmn5ljk8nsji0bj";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Work around https://github.com/tensorflow/tensorflow/issues/24752
|
|
||||||
../no-saved-proto.patch
|
|
||||||
# Fixes for NixOS jsoncpp
|
|
||||||
../system-jsoncpp.patch
|
|
||||||
|
|
||||||
# https://github.com/tensorflow/tensorflow/pull/29673
|
|
||||||
(fetchpatch {
|
|
||||||
name = "fix-compile-with-cuda-and-mpi.patch";
|
|
||||||
url = "https://github.com/tensorflow/tensorflow/pull/29673/commits/498e35a3bfe38dd75cf1416a1a23c07c3b59e6af.patch";
|
|
||||||
sha256 = "1m2qmwv1ysqa61z6255xggwbq6mnxbig749bdvrhnch4zydxb4di";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "backport-pr-18950.patch";
|
|
||||||
url = "https://github.com/tensorflow/tensorflow/commit/73640aaec2ab0234d9fff138e3c9833695570c0a.patch";
|
|
||||||
sha256 = "1n9ypbrx36fc1kc9cz5b3p9qhg15xxhq4nz6ap3hwqba535nakfz";
|
|
||||||
})
|
|
||||||
|
|
||||||
(fetchpatch {
|
|
||||||
# be compatible with gast >0.2 instead of only gast 0.2.2
|
|
||||||
name = "gast-update.patch";
|
|
||||||
url = "https://github.com/tensorflow/tensorflow/commit/85751ad6c7f5fd12c6c79545d96896cba92fa8b4.patch";
|
|
||||||
sha256 = "077cpj0kzyqxzdya1dwh8df17zfzhqn7c685hx6iskvw2979zg2n";
|
|
||||||
})
|
|
||||||
./lift-gast-restriction.patch
|
|
||||||
|
|
||||||
(fetchpatch {
|
|
||||||
# fix compilation with numpy >= 1.19
|
|
||||||
name = "add-const-overload.patch";
|
|
||||||
url = "https://github.com/tensorflow/tensorflow/commit/75ea0b31477d6ba9e990e296bbbd8ca4e7eebadf.patch";
|
|
||||||
sha256 = "1xp1icacig0xm0nmb05sbrf4nw4xbln9fhc308birrv8286zx7wv";
|
|
||||||
})
|
|
||||||
|
|
||||||
# cuda 10.2 does not have "-bin2c-path" option anymore
|
|
||||||
# https://github.com/tensorflow/tensorflow/issues/34429
|
|
||||||
../cuda-10.2-no-bin2c-path.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
# On update, it can be useful to steal the changes from gentoo
|
|
||||||
# https://gitweb.gentoo.org/repo/gentoo.git/tree/sci-libs/tensorflow
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
swig which pythonEnv
|
|
||||||
] ++ lib.optional cudaSupport addOpenGLRunpath;
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
jemalloc
|
|
||||||
openmpi
|
|
||||||
glibcLocales
|
|
||||||
git
|
|
||||||
|
|
||||||
# libs taken from system through the TF_SYS_LIBS mechanism
|
|
||||||
# grpc
|
|
||||||
sqlite
|
|
||||||
openssl
|
|
||||||
jsoncpp
|
|
||||||
pkgs.protobuf
|
|
||||||
curl
|
|
||||||
snappy
|
|
||||||
flatbuffers
|
|
||||||
icu
|
|
||||||
double-conversion
|
|
||||||
libpng
|
|
||||||
libjpeg
|
|
||||||
giflib
|
|
||||||
re2
|
|
||||||
pkgs.lmdb
|
|
||||||
] ++ lib.optionals cudaSupport [
|
|
||||||
cudatoolkit
|
|
||||||
cudnn
|
|
||||||
nvidia_x11
|
|
||||||
] ++ lib.optionals mklSupport [
|
|
||||||
mkl
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
Foundation
|
|
||||||
Security
|
|
||||||
];
|
|
||||||
|
|
||||||
# arbitrarily set to the current latest bazel version, overly careful
|
|
||||||
TF_IGNORE_MAX_BAZEL_VERSION = true;
|
|
||||||
|
|
||||||
# Take as many libraries from the system as possible. Keep in sync with
|
|
||||||
# list of valid syslibs in
|
|
||||||
# https://github.com/tensorflow/tensorflow/blob/master/third_party/systemlibs/syslibs_configure.bzl
|
|
||||||
TF_SYSTEM_LIBS = lib.concatStringsSep "," [
|
|
||||||
"absl_py"
|
|
||||||
"astor_archive"
|
|
||||||
"boringssl"
|
|
||||||
# Not packaged in nixpkgs
|
|
||||||
# "com_github_googleapis_googleapis"
|
|
||||||
# "com_github_googlecloudplatform_google_cloud_cpp"
|
|
||||||
"com_google_protobuf"
|
|
||||||
"com_googlesource_code_re2"
|
|
||||||
"curl"
|
|
||||||
"cython"
|
|
||||||
"double_conversion"
|
|
||||||
"flatbuffers"
|
|
||||||
"gast_archive"
|
|
||||||
"gif_archive"
|
|
||||||
# Lots of errors, requires an older version
|
|
||||||
# "grpc"
|
|
||||||
"hwloc"
|
|
||||||
"icu"
|
|
||||||
"jpeg"
|
|
||||||
"jsoncpp_git"
|
|
||||||
"keras_applications_archive"
|
|
||||||
"lmdb"
|
|
||||||
"nasm"
|
|
||||||
# "nsync" # not packaged in nixpkgs
|
|
||||||
"opt_einsum_archive"
|
|
||||||
"org_sqlite"
|
|
||||||
"pasta"
|
|
||||||
"pcre"
|
|
||||||
"png_archive"
|
|
||||||
"six_archive"
|
|
||||||
"snappy"
|
|
||||||
"swig"
|
|
||||||
"termcolor_archive"
|
|
||||||
"wrapt"
|
|
||||||
"zlib_archive"
|
|
||||||
];
|
|
||||||
|
|
||||||
INCLUDEDIR = "${includes_joined}/include";
|
|
||||||
|
|
||||||
PYTHON_BIN_PATH = pythonEnv.interpreter;
|
|
||||||
|
|
||||||
TF_NEED_GCP = true;
|
|
||||||
TF_NEED_HDFS = true;
|
|
||||||
TF_ENABLE_XLA = tfFeature xlaSupport;
|
|
||||||
|
|
||||||
CC_OPT_FLAGS = " ";
|
|
||||||
|
|
||||||
# https://github.com/tensorflow/tensorflow/issues/14454
|
|
||||||
TF_NEED_MPI = tfFeature cudaSupport;
|
|
||||||
|
|
||||||
TF_NEED_CUDA = tfFeature cudaSupport;
|
|
||||||
TF_CUDA_PATHS = lib.optionalString cudaSupport "${cudatoolkit_joined},${cudnn},${nccl}";
|
|
||||||
GCC_HOST_COMPILER_PREFIX = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin";
|
|
||||||
GCC_HOST_COMPILER_PATH = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin/gcc";
|
|
||||||
TF_CUDA_COMPUTE_CAPABILITIES = lib.concatStringsSep "," cudaCapabilities;
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# https://github.com/tensorflow/tensorflow/issues/20919
|
|
||||||
sed -i '/androidndk/d' tensorflow/lite/kernels/internal/BUILD
|
|
||||||
|
|
||||||
# Tensorboard pulls in a bunch of dependencies, some of which may
|
|
||||||
# include security vulnerabilities. So we make it optional.
|
|
||||||
# https://github.com/tensorflow/tensorflow/issues/20280#issuecomment-400230560
|
|
||||||
sed -i '/tensorboard >=/d' tensorflow/tools/pip_package/setup.py
|
|
||||||
|
|
||||||
substituteInPlace tensorflow/tools/pip_package/setup.py \
|
|
||||||
--replace "numpy >= 1.16.0, < 1.19.0" "numpy >= 1.16.0"
|
|
||||||
|
|
||||||
# glibc 2.31+ does not have sys/sysctl.h
|
|
||||||
# see https://github.com/tensorflow/tensorflow/issues/45861
|
|
||||||
substituteInPlace third_party/hwloc/BUILD.bazel\
|
|
||||||
--replace "#define HAVE_SYS_SYSCTL_H 1" "#undef HAVE_SYS_SYSCTL_H"
|
|
||||||
'';
|
|
||||||
|
|
||||||
preConfigure = let
|
|
||||||
opt_flags = []
|
|
||||||
++ lib.optionals sse42Support ["-msse4.2"]
|
|
||||||
++ lib.optionals avx2Support ["-mavx2"]
|
|
||||||
++ lib.optionals fmaSupport ["-mfma"];
|
|
||||||
in ''
|
|
||||||
patchShebangs configure
|
|
||||||
|
|
||||||
# dummy ldconfig
|
|
||||||
mkdir dummy-ldconfig
|
|
||||||
echo "#!${stdenv.shell}" > dummy-ldconfig/ldconfig
|
|
||||||
chmod +x dummy-ldconfig/ldconfig
|
|
||||||
export PATH="$PWD/dummy-ldconfig:$PATH"
|
|
||||||
|
|
||||||
export PYTHON_LIB_PATH="$NIX_BUILD_TOP/site-packages"
|
|
||||||
export CC_OPT_FLAGS="${lib.concatStringsSep " " opt_flags}"
|
|
||||||
mkdir -p "$PYTHON_LIB_PATH"
|
|
||||||
|
|
||||||
# To avoid mixing Python 2 and Python 3
|
|
||||||
unset PYTHONPATH
|
|
||||||
'';
|
|
||||||
|
|
||||||
configurePhase = ''
|
|
||||||
runHook preConfigure
|
|
||||||
./configure
|
|
||||||
runHook postConfigure
|
|
||||||
'';
|
|
||||||
|
|
||||||
# FIXME: Tensorflow uses dlopen() for CUDA libraries.
|
|
||||||
NIX_LDFLAGS = lib.optionalString cudaSupport "-lcudart -lcublas -lcufft -lcurand -lcusolver -lcusparse -lcudnn";
|
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
|
||||||
|
|
||||||
bazelFlags = [
|
|
||||||
# temporary fixes to make the build work with bazel 0.27
|
|
||||||
"--incompatible_no_support_tools_in_action_inputs=false"
|
|
||||||
];
|
|
||||||
bazelBuildFlags = [
|
|
||||||
"--config=opt" # optimize using the flags set in the configure phase
|
|
||||||
]
|
|
||||||
++ lib.optionals (mklSupport) [ "--config=mkl" ];
|
|
||||||
|
|
||||||
bazelTarget = "//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow";
|
|
||||||
|
|
||||||
fetchAttrs = {
|
|
||||||
# So that checksums don't depend on these.
|
|
||||||
TF_SYSTEM_LIBS = null;
|
|
||||||
|
|
||||||
# cudaSupport causes fetch of ncclArchive, resulting in different hashes
|
|
||||||
sha256 = if cudaSupport then
|
|
||||||
"1bi6aydidgi943hiqj0d279jbz2g173hvafdqla1ifw2qdsm73pb"
|
|
||||||
else
|
|
||||||
"0l5510fr8n22c4hx9llr0vqqhx9wlgkyxl55fxbixhssd0ai05r4";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildAttrs = {
|
|
||||||
outputs = [ "out" "python" ];
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
patchShebangs .
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p "$out"
|
|
||||||
tar -xf bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz -C "$out"
|
|
||||||
# Write pkgconfig file.
|
|
||||||
mkdir "$out/lib/pkgconfig"
|
|
||||||
cat > "$out/lib/pkgconfig/tensorflow.pc" << EOF
|
|
||||||
Name: TensorFlow
|
|
||||||
Version: ${version}
|
|
||||||
Description: Library for computation using data flow graphs for scalable machine learning
|
|
||||||
Requires:
|
|
||||||
Libs: -L$out/lib -ltensorflow
|
|
||||||
Cflags: -I$out/include/tensorflow
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# build the source code, then copy it to $python (build_pip_package
|
|
||||||
# actually builds a symlink farm so we must dereference them).
|
|
||||||
bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "$PWD/dist"
|
|
||||||
cp -Lr "$PWD/dist" "$python"
|
|
||||||
'';
|
|
||||||
|
|
||||||
postFixup = lib.optionalString cudaSupport ''
|
|
||||||
find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
|
|
||||||
addOpenGLRunpath "$lib"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Computation using data flow graphs for scalable machine learning";
|
|
||||||
homepage = "http://tensorflow.org";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ jyp abbradar ];
|
|
||||||
platforms = with platforms; linux ++ darwin;
|
|
||||||
# The py2 build fails due to some issue importing protobuf. Possibly related to the fix in
|
|
||||||
# https://github.com/akesandgren/easybuild-easyblocks/commit/1f2e517ddfd1b00a342c6abb55aef3fd93671a2b
|
|
||||||
broken = !(xlaSupport -> cudaSupport) || !isPy3k;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in buildPythonPackage {
|
|
||||||
inherit version pname;
|
|
||||||
disabled = isPy27 || (pythonAtLeast "3.8");
|
|
||||||
|
|
||||||
src = bazel-build.python;
|
|
||||||
|
|
||||||
# Upstream has a pip hack that results in bin/tensorboard being in both tensorflow
|
|
||||||
# and the propagated input tensorflow-tensorboard, which causes environment collisions.
|
|
||||||
# Another possibility would be to have tensorboard only in the buildInputs
|
|
||||||
# https://github.com/tensorflow/tensorflow/blob/v1.7.1/tensorflow/tools/pip_package/setup.py#L79
|
|
||||||
postInstall = ''
|
|
||||||
rm $out/bin/tensorboard
|
|
||||||
'';
|
|
||||||
|
|
||||||
setupPyGlobalFlags = [ "--project_name ${pname}" ];
|
|
||||||
|
|
||||||
# tensorflow/tools/pip_package/setup.py
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
absl-py
|
|
||||||
astor
|
|
||||||
gast
|
|
||||||
google-pasta
|
|
||||||
keras-applications
|
|
||||||
keras-preprocessing
|
|
||||||
numpy
|
|
||||||
six
|
|
||||||
protobuf
|
|
||||||
tensorflow-estimator_1
|
|
||||||
termcolor
|
|
||||||
wrapt
|
|
||||||
grpcio
|
|
||||||
opt-einsum
|
|
||||||
] ++ lib.optionals (!isPy3k) [
|
|
||||||
mock
|
|
||||||
future
|
|
||||||
functools32
|
|
||||||
] ++ lib.optionals (pythonOlder "3.4") [
|
|
||||||
backports_weakref enum34
|
|
||||||
] ++ lib.optionals withTensorboard [
|
|
||||||
tensorflow-tensorboard_1
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = lib.optional cudaSupport addOpenGLRunpath;
|
|
||||||
|
|
||||||
postFixup = lib.optionalString cudaSupport ''
|
|
||||||
find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
|
|
||||||
addOpenGLRunpath "$lib"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Actual tests are slow and impure.
|
|
||||||
# TODO try to run them anyway
|
|
||||||
# TODO better test (files in tensorflow/tools/ci_build/builds/*test)
|
|
||||||
checkPhase = ''
|
|
||||||
${python.interpreter} <<EOF
|
|
||||||
# A simple "Hello world"
|
|
||||||
import tensorflow as tf
|
|
||||||
hello = tf.constant("Hello, world!")
|
|
||||||
sess = tf.Session()
|
|
||||||
sess.run(hello)
|
|
||||||
|
|
||||||
# Fit a simple model to random data
|
|
||||||
import numpy as np
|
|
||||||
np.random.seed(0)
|
|
||||||
tf.random.set_random_seed(0)
|
|
||||||
model = tf.keras.models.Sequential([
|
|
||||||
tf.keras.layers.Dense(1, activation="linear")
|
|
||||||
])
|
|
||||||
model.compile(optimizer="sgd", loss="mse")
|
|
||||||
|
|
||||||
x = np.random.uniform(size=(1,1))
|
|
||||||
y = np.random.uniform(size=(1,))
|
|
||||||
model.fit(x, y, epochs=1)
|
|
||||||
|
|
||||||
# regression test for #77626
|
|
||||||
from tensorflow.contrib import tensor_forest
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
deps = bazel-build.deps;
|
|
||||||
libtensorflow = bazel-build.out;
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = bazel-build.meta // {
|
|
||||||
broken = gast.version != "0.3.2";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py
|
|
||||||
index 992f2eae22..d9386f9b13 100644
|
|
||||||
--- a/tensorflow/tools/pip_package/setup.py
|
|
||||||
+++ b/tensorflow/tools/pip_package/setup.py
|
|
||||||
@@ -54,7 +54,7 @@ REQUIRED_PACKAGES = [
|
|
||||||
'enum34 >= 1.1.6;python_version<"3.4"',
|
|
||||||
# functools comes with python3, need to install the backport for python2
|
|
||||||
'functools32 >= 3.2.3;python_version<"3"',
|
|
||||||
- 'gast == 0.2.2',
|
|
||||||
+ 'gast >= 0.2.2',
|
|
||||||
'google_pasta >= 0.1.6',
|
|
||||||
'keras_applications >= 1.0.8',
|
|
||||||
'keras_preprocessing >= 1.0.5',
|
|
@ -1,33 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
version=1.14.0
|
|
||||||
hashfile=binary-hashes.nix
|
|
||||||
rm -f $hashfile
|
|
||||||
echo "{" >> $hashfile
|
|
||||||
echo "version = \"$version\";" >> $hashfile
|
|
||||||
for sys in "linux" "mac"; do
|
|
||||||
for tfpref in "cpu/tensorflow" "gpu/tensorflow_gpu"; do
|
|
||||||
for pykind in "py2-none-any" "py3-none-any" "cp27-none-linux_x86_64" "cp35-cp35m-linux_x86_64" "cp36-cp36m-linux_x86_64" "cp37-cp37m-linux_x86_64"; do
|
|
||||||
if [ $sys == "mac" ]; then
|
|
||||||
[[ $pykind =~ py.* ]] && [[ $tfpref =~ cpu.* ]]
|
|
||||||
result=$?
|
|
||||||
pyver=${pykind:2:1}
|
|
||||||
flavour=cpu
|
|
||||||
else
|
|
||||||
[[ $pykind =~ .*linux.* ]]
|
|
||||||
result=$?
|
|
||||||
pyver=${pykind:2:2}
|
|
||||||
flavour=${tfpref:0:3}
|
|
||||||
fi
|
|
||||||
if [ $result == 0 ]; then
|
|
||||||
url=https://storage.googleapis.com/tensorflow/$sys/$tfpref-$version-$pykind.whl
|
|
||||||
hash=$(nix-prefetch-url $url)
|
|
||||||
echo "${sys}_py_${pyver}_${flavour} = {" >> $hashfile
|
|
||||||
echo " url = \"$url\";" >> $hashfile
|
|
||||||
echo " sha256 = \"$hash\";" >> $hashfile
|
|
||||||
echo "};" >> $hashfile
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
echo "}" >> $hashfile
|
|
@ -1,10 +0,0 @@
|
|||||||
--- a/third_party/nccl/build_defs.bzl.tpl
|
|
||||||
+++ b/third_party/nccl/build_defs.bzl.tpl
|
|
||||||
@@ -113,7 +113,6 @@ def _device_link_impl(ctx):
|
|
||||||
"--cmdline=--compile-only",
|
|
||||||
"--link",
|
|
||||||
"--compress-all",
|
|
||||||
- "--bin2c-path=%s" % bin2c.dirname,
|
|
||||||
"--create=%s" % tmp_fatbin.path,
|
|
||||||
"--embedded-fatbin=%s" % fatbin_h.path,
|
|
||||||
] + images,
|
|
@ -72,7 +72,7 @@ let
|
|||||||
|
|
||||||
tfFeature = x: if x then "1" else "0";
|
tfFeature = x: if x then "1" else "0";
|
||||||
|
|
||||||
version = "2.3.1";
|
version = "2.3.2";
|
||||||
variant = if cudaSupport then "-gpu" else "";
|
variant = if cudaSupport then "-gpu" else "";
|
||||||
pname = "tensorflow${variant}";
|
pname = "tensorflow${variant}";
|
||||||
|
|
||||||
@ -103,12 +103,12 @@ let
|
|||||||
owner = "tensorflow";
|
owner = "tensorflow";
|
||||||
repo = "tensorflow";
|
repo = "tensorflow";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1lvmrqfnwzh24fl5rdkksiqfv2bn0ld5gvzq1z57rphfkf0zg996";
|
sha256 = "sha256-ncwIkqLDqrB33pB9/FTlBklsIJUEvnDUmyAeUfufCFs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Fixes for NixOS jsoncpp
|
# Fixes for NixOS jsoncpp
|
||||||
../system-jsoncpp.patch
|
./system-jsoncpp.patch
|
||||||
|
|
||||||
./relax-dependencies.patch
|
./relax-dependencies.patch
|
||||||
|
|
||||||
@ -236,6 +236,9 @@ let
|
|||||||
rm -f .bazelversion
|
rm -f .bazelversion
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# https://github.com/tensorflow/tensorflow/pull/39470
|
||||||
|
NIX_CFLAGS_COMPILE = [ "-Wno-stringop-truncation" ];
|
||||||
|
|
||||||
preConfigure = let
|
preConfigure = let
|
||||||
opt_flags = []
|
opt_flags = []
|
||||||
++ lib.optionals sse42Support ["-msse4.2"]
|
++ lib.optionals sse42Support ["-msse4.2"]
|
||||||
@ -281,9 +284,9 @@ let
|
|||||||
|
|
||||||
# cudaSupport causes fetch of ncclArchive, resulting in different hashes
|
# cudaSupport causes fetch of ncclArchive, resulting in different hashes
|
||||||
sha256 = if cudaSupport then
|
sha256 = if cudaSupport then
|
||||||
"11blnw3ghp1kdi9hh9pdqa4qni9ysc3nk9iqqk9bg4dlr9zl1yld"
|
"sha256-lEdPA9vhYO6vd5FgPMbFp2PkRvDBurPidYsxtJLXcbQ="
|
||||||
else
|
else
|
||||||
"1kkghhwhl8frs68kv28r408lps7mpgq1xvq6hc3k0j35asv1g2kc";
|
"sha256-ZEY/bWo5M3Juw1x3CwhXYXZHD4q5LzWDlhgXnh4P95U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildAttrs = {
|
buildAttrs = {
|
@ -1,14 +0,0 @@
|
|||||||
diff --git a/tensorflow/cc/saved_model/BUILD b/tensorflow/cc/saved_model/BUILD
|
|
||||||
index 8626ed0087..27deb34387 100644
|
|
||||||
--- a/tensorflow/cc/saved_model/BUILD
|
|
||||||
+++ b/tensorflow/cc/saved_model/BUILD
|
|
||||||
@@ -49,9 +49,6 @@ cc_library(
|
|
||||||
# tf_lib depending on the build platform.
|
|
||||||
"//tensorflow/core:lib",
|
|
||||||
"//tensorflow/core:protos_all_cc",
|
|
||||||
- ]) + if_mobile([
|
|
||||||
- # Mobile-friendly SavedModel proto. See go/portable-proto for more info.
|
|
||||||
- "//tensorflow/core:saved_model_portable_proto",
|
|
||||||
]) + if_android([
|
|
||||||
"//tensorflow/core:android_tensorflow_lib",
|
|
||||||
]) + if_ios([
|
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, liburcu, python }:
|
{ stdenv, fetchurl, liburcu, python3 }:
|
||||||
|
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# ./configure ...
|
# ./configure ...
|
||||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
|
sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python ];
|
buildInputs = [ python3 ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
@ -2,25 +2,25 @@ GEM
|
|||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
ast (2.4.1)
|
ast (2.4.1)
|
||||||
parallel (1.19.2)
|
parallel (1.20.1)
|
||||||
parser (2.7.2.0)
|
parser (3.0.0.0)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
regexp_parser (1.8.2)
|
regexp_parser (2.0.3)
|
||||||
rexml (3.2.4)
|
rexml (3.2.4)
|
||||||
rubocop (1.1.0)
|
rubocop (1.8.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
parser (>= 2.7.1.5)
|
parser (>= 3.0.0.0)
|
||||||
rainbow (>= 2.2.2, < 4.0)
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
regexp_parser (>= 1.8)
|
regexp_parser (>= 1.8, < 3.0)
|
||||||
rexml
|
rexml
|
||||||
rubocop-ast (>= 1.0.1)
|
rubocop-ast (>= 1.2.0, < 2.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (>= 1.4.0, < 2.0)
|
unicode-display_width (>= 1.4.0, < 3.0)
|
||||||
rubocop-ast (1.1.0)
|
rubocop-ast (1.4.0)
|
||||||
parser (>= 2.7.1.5)
|
parser (>= 2.7.1.5)
|
||||||
ruby-progressbar (1.10.1)
|
ruby-progressbar (1.11.0)
|
||||||
unicode-display_width (1.7.0)
|
unicode-display_width (2.0.0)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l";
|
sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.19.2";
|
version = "1.20.1";
|
||||||
};
|
};
|
||||||
parser = {
|
parser = {
|
||||||
dependencies = ["ast"];
|
dependencies = ["ast"];
|
||||||
@ -25,10 +25,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
|
sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.7.2.0";
|
version = "3.0.0.0";
|
||||||
};
|
};
|
||||||
rainbow = {
|
rainbow = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -45,10 +45,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm";
|
sha256 = "0zm86k9q8m5jkcnpb1f93wsvc57saldfj8czxkx1aw031i95inip";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.8.2";
|
version = "2.0.3";
|
||||||
};
|
};
|
||||||
rexml = {
|
rexml = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -66,10 +66,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1nw87ngw4a9r3dpgykb872zcm640m7k0nk17qv537fmss2hl8shl";
|
sha256 = "12arfnsj32126ps6mxbn7dwrw43cy70sq45rm0ib7qfrmhp5qyid";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.8.0";
|
||||||
};
|
};
|
||||||
rubocop-ast = {
|
rubocop-ast = {
|
||||||
dependencies = ["parser"];
|
dependencies = ["parser"];
|
||||||
@ -77,29 +77,29 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ami6n3vnpm9y5z6wd4c6y2infijajizjjwv8fq0wrcjvr3zivzz";
|
sha256 = "1qvfp567aprjgcwj757p55ynj0dx2b3c3hd76za9z3c43sphprcj";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.4.0";
|
||||||
};
|
};
|
||||||
ruby-progressbar = {
|
ruby-progressbar = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
|
sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.10.1";
|
version = "1.11.0";
|
||||||
};
|
};
|
||||||
unicode-display_width = {
|
unicode-display_width = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
|
sha256 = "1bilbnc8j6jkb59lrf177i3p1pdyxll0n8400hzqr35vl3r3kv2m";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.7.0";
|
version = "2.0.0";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -18,7 +18,7 @@ mkDerivation rec {
|
|||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitlab.com/sdcofer70/enyo-doom";
|
homepage = "https://gitlab.com/sdcofer70/enyo-doom";
|
||||||
description = "Frontend for Doom engines";
|
description = "Frontend for Doom engines";
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl3Plus;
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
maintainers = [ stdenv.lib.maintainers.tadfisher ];
|
maintainers = [ stdenv.lib.maintainers.tadfisher ];
|
||||||
};
|
};
|
||||||
|
@ -1,25 +1,30 @@
|
|||||||
{
|
{
|
||||||
"4.14": {
|
"4.14": {
|
||||||
|
"extra": "",
|
||||||
"name": "linux-hardened-4.14.213.a.patch",
|
"name": "linux-hardened-4.14.213.a.patch",
|
||||||
"sha256": "0lkjgg6cbsaiypxij7p00q3y094qf0h172hc2p7wgy39777b45a7",
|
"sha256": "0lkjgg6cbsaiypxij7p00q3y094qf0h172hc2p7wgy39777b45a7",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.213.a/linux-hardened-4.14.213.a.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.213.a/linux-hardened-4.14.213.a.patch"
|
||||||
},
|
},
|
||||||
"4.19": {
|
"4.19": {
|
||||||
|
"extra": ".a",
|
||||||
"name": "linux-hardened-4.19.165.a.patch",
|
"name": "linux-hardened-4.19.165.a.patch",
|
||||||
"sha256": "06v34jaj4jg6f3v05wbkkfnr69ahxqyyq0gam4ma3wgm74x6cf3s",
|
"sha256": "06v34jaj4jg6f3v05wbkkfnr69ahxqyyq0gam4ma3wgm74x6cf3s",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.165.a/linux-hardened-4.19.165.a.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.165.a/linux-hardened-4.19.165.a.patch"
|
||||||
},
|
},
|
||||||
"5.10": {
|
"5.10": {
|
||||||
|
"extra": ".a",
|
||||||
"name": "linux-hardened-5.10.5.a.patch",
|
"name": "linux-hardened-5.10.5.a.patch",
|
||||||
"sha256": "1fq2n60brhi6wjazkdgj2aqc4maskvlymbznl03hvj0x5kahjxvx",
|
"sha256": "1fq2n60brhi6wjazkdgj2aqc4maskvlymbznl03hvj0x5kahjxvx",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.5.a/linux-hardened-5.10.5.a.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.5.a/linux-hardened-5.10.5.a.patch"
|
||||||
},
|
},
|
||||||
"5.4": {
|
"5.4": {
|
||||||
|
"extra": ".a",
|
||||||
"name": "linux-hardened-5.4.87.a.patch",
|
"name": "linux-hardened-5.4.87.a.patch",
|
||||||
"sha256": "01hpww6lm00iry8z4z86hh86x66h3xbmxknxhmmhh2zwz6ahkmfd",
|
"sha256": "01hpww6lm00iry8z4z86hh86x66h3xbmxknxhmmhh2zwz6ahkmfd",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.87.a/linux-hardened-5.4.87.a.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.87.a/linux-hardened-5.4.87.a.patch"
|
||||||
},
|
},
|
||||||
"5.9": {
|
"5.9": {
|
||||||
|
"extra": "",
|
||||||
"name": "linux-hardened-5.9.16.a.patch",
|
"name": "linux-hardened-5.9.16.a.patch",
|
||||||
"sha256": "024wdzc9bwgr4nd4z0l6bazcl35jczhsmdl2lb26bvffjwg207rw",
|
"sha256": "024wdzc9bwgr4nd4z0l6bazcl35jczhsmdl2lb26bvffjwg207rw",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.9.16.a/linux-hardened-5.9.16.a.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.9.16.a/linux-hardened-5.9.16.a.patch"
|
||||||
|
@ -31,7 +31,7 @@ VersionComponent = Union[int, str]
|
|||||||
Version = List[VersionComponent]
|
Version = List[VersionComponent]
|
||||||
|
|
||||||
|
|
||||||
Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str})
|
Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str, "extra": str})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -99,7 +99,10 @@ def verify_openpgp_signature(
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]:
|
def fetch_patch(*, name: str, release_info: ReleaseInfo) -> Optional[Patch]:
|
||||||
|
release = release_info.release
|
||||||
|
extra = f'.{release_info.version[-1]}'
|
||||||
|
|
||||||
def find_asset(filename: str) -> str:
|
def find_asset(filename: str) -> str:
|
||||||
try:
|
try:
|
||||||
it: Iterator[str] = (
|
it: Iterator[str] = (
|
||||||
@ -130,7 +133,7 @@ def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]:
|
|||||||
if not sig_ok:
|
if not sig_ok:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
return Patch(name=patch_filename, url=patch_url, sha256=sha256)
|
return Patch(name=patch_filename, url=patch_url, sha256=sha256, extra=extra)
|
||||||
|
|
||||||
|
|
||||||
def parse_version(version_str: str) -> Version:
|
def parse_version(version_str: str) -> Version:
|
||||||
@ -252,7 +255,7 @@ for kernel_key in sorted(releases.keys()):
|
|||||||
update = True
|
update = True
|
||||||
|
|
||||||
if update:
|
if update:
|
||||||
patch = fetch_patch(name=name, release=release)
|
patch = fetch_patch(name=name, release_info=release_info)
|
||||||
if patch is None:
|
if patch is None:
|
||||||
failures = True
|
failures = True
|
||||||
else:
|
else:
|
||||||
|
@ -41,7 +41,8 @@
|
|||||||
hardened = let
|
hardened = let
|
||||||
mkPatch = kernelVersion: src: {
|
mkPatch = kernelVersion: src: {
|
||||||
name = lib.removeSuffix ".patch" src.name;
|
name = lib.removeSuffix ".patch" src.name;
|
||||||
patch = fetchurl src;
|
patch = fetchurl (lib.filterAttrs (k: v: k != "extra") src);
|
||||||
|
extra = src.extra;
|
||||||
};
|
};
|
||||||
patches = builtins.fromJSON (builtins.readFile ./hardened/patches.json);
|
patches = builtins.fromJSON (builtins.readFile ./hardened/patches.json);
|
||||||
in lib.mapAttrs mkPatch patches;
|
in lib.mapAttrs mkPatch patches;
|
||||||
|
30
pkgs/os-specific/linux/pcimem/default.nix
Normal file
30
pkgs/os-specific/linux/pcimem/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "pcimem";
|
||||||
|
version = "unstable-2018-08-29";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "billfarrow";
|
||||||
|
repo = pname;
|
||||||
|
rev = "09724edb1783a98da2b7ae53c5aaa87493aabc9b";
|
||||||
|
sha256 = "0zlbvcl5q4hgna11p3w00px1p8qgn8ga79lh6a2m7d597g86kbq3";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
|
makeFlags = [ "CFLAGS=-Wno-maybe-uninitialized" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -D pcimem "$out/bin/pcimem"
|
||||||
|
install -D README "$doc/doc/README"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Simple method of reading and writing to memory registers on a PCI card";
|
||||||
|
homepage = "https://github.com/billfarrow/pcimem";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ mafo ];
|
||||||
|
};
|
||||||
|
}
|
@ -11,7 +11,7 @@
|
|||||||
"actiontec" = ps: with ps; [ ];
|
"actiontec" = ps: with ps; [ ];
|
||||||
"adguard" = ps: with ps; [ adguardhome ];
|
"adguard" = ps: with ps; [ adguardhome ];
|
||||||
"ads" = ps: with ps; [ pyads ];
|
"ads" = ps: with ps; [ pyads ];
|
||||||
"advantage_air" = ps: with ps; [ ]; # missing inputs: advantage_air
|
"advantage_air" = ps: with ps; [ advantage_air ];
|
||||||
"aftership" = ps: with ps; [ pyaftership ];
|
"aftership" = ps: with ps; [ pyaftership ];
|
||||||
"agent_dvr" = ps: with ps; [ ]; # missing inputs: agent-py
|
"agent_dvr" = ps: with ps; [ ]; # missing inputs: agent-py
|
||||||
"air_quality" = ps: with ps; [ ];
|
"air_quality" = ps: with ps; [ ];
|
||||||
@ -423,7 +423,7 @@
|
|||||||
"konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected
|
"konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected
|
||||||
"kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky
|
"kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky
|
||||||
"kwb" = ps: with ps; [ ]; # missing inputs: pykwb
|
"kwb" = ps: with ps; [ ]; # missing inputs: pykwb
|
||||||
"lacrosse" = ps: with ps; [ ]; # missing inputs: pylacrosse
|
"lacrosse" = ps: with ps; [ pylacrosse ];
|
||||||
"lametric" = ps: with ps; [ ]; # missing inputs: lmnotify
|
"lametric" = ps: with ps; [ ]; # missing inputs: lmnotify
|
||||||
"lannouncer" = ps: with ps; [ ];
|
"lannouncer" = ps: with ps; [ ];
|
||||||
"lastfm" = ps: with ps; [ pylast ];
|
"lastfm" = ps: with ps; [ pylast ];
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, srt
|
, srt
|
||||||
, ffmpeg_3_4
|
, ffmpeg_3_4
|
||||||
, bc
|
, bc
|
||||||
@ -12,6 +13,7 @@
|
|||||||
, libopus
|
, libopus
|
||||||
, srtp
|
, srtp
|
||||||
, jemalloc
|
, jemalloc
|
||||||
|
, pcre2
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -27,21 +29,30 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "oven-media-engine";
|
pname = "oven-media-engine";
|
||||||
version = "0.10.8";
|
version = "0.10.9-hotfix";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AirenSoft";
|
owner = "AirenSoft";
|
||||||
repo = "OvenMediaEngine";
|
repo = "OvenMediaEngine";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "ec4yvS+4/rTBHGEx2OP0yoNGDtzPucFOcZJ0o0cCAHg=";
|
sha256 = "1fhria0vwqsgmsglv5gn858li33vfy2dwy1f1qdd2jwikskb53am";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
# Needed to fix compilation under GCC 10.
|
||||||
|
url = "https://github.com/AirenSoft/OvenMediaEngine/commit/ad83e1d2226445d649e4b7e0c75106e31af4940d.patch";
|
||||||
|
sha256 = "1zk1rgi1wsjl6gdx3hdmgxlgindv6a3lsnkwcgi87ga9abw4vafw";
|
||||||
|
stripLen = 1;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
sourceRoot = "source/src";
|
sourceRoot = "source/src";
|
||||||
makeFlags = "release CONFIG_LIBRARY_PATHS= CONFIG_PKG_PATHS= GLOBAL_CC=$(CC) GLOBAL_CXX=$(CXX) GLOBAL_LD=$(CXX) SHELL=${stdenv.shell}";
|
makeFlags = "release CONFIG_LIBRARY_PATHS= CONFIG_PKG_PATHS= GLOBAL_CC=$(CC) GLOBAL_CXX=$(CXX) GLOBAL_LD=$(CXX) SHELL=${stdenv.shell}";
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ bc pkgconfig perl ];
|
nativeBuildInputs = [ bc pkgconfig perl ];
|
||||||
buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc ];
|
buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
patchShebangs core/colorg++
|
patchShebangs core/colorg++
|
||||||
@ -62,7 +73,7 @@ stdenv.mkDerivation rec {
|
|||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Open-source streaming video service with sub-second latency";
|
description = "Open-source streaming video service with sub-second latency";
|
||||||
homepage = "https://ovenmediaengine.com";
|
homepage = "https://ovenmediaengine.com";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [ lukegb ];
|
maintainers = with maintainers; [ lukegb ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
|
60
pkgs/tools/audio/mpris-scrobbler/default.nix
Normal file
60
pkgs/tools/audio/mpris-scrobbler/default.nix
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, nix-update-script
|
||||||
|
, curl
|
||||||
|
, dbus
|
||||||
|
, libevent
|
||||||
|
, m4
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, scdoc
|
||||||
|
, json_c
|
||||||
|
, xdg_utils
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "mpris-scrobbler";
|
||||||
|
version = "0.4.0.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mariusor";
|
||||||
|
repo = "mpris-scrobbler";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0jzmgcb9a19hl8y7iwy8l3cc2vgzi0scw7r5q72kszfyxn0yk2gs";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace src/signon.c \
|
||||||
|
--replace "/usr/bin/xdg-open" "${xdg_utils}/bin/xdg-open"
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
m4
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
scdoc
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
curl
|
||||||
|
dbus
|
||||||
|
json_c
|
||||||
|
libevent
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script {
|
||||||
|
attrPath = pname;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Minimalistic scrobbler for libre.fm & last.fm";
|
||||||
|
homepage = "https://github.com/mariusor/mpris-scrobbler";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ emantor ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -81,7 +81,7 @@ let
|
|||||||
inherit description;
|
inherit description;
|
||||||
license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
|
license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
|
||||||
maintainers = with maintainers; [ adev ak johanot krav ];
|
maintainers = with maintainers; [ adev ak johanot krav ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
ceph-common = python3Packages.buildPythonPackage rec{
|
ceph-common = python3Packages.buildPythonPackage rec{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml }:
|
{ stdenv, fetchurl, ocaml, perl }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "bibtex2html";
|
pname = "bibtex2html";
|
||||||
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j";
|
sha256 = "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml ];
|
buildInputs = [ ocaml perl ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A collection of tools for translating from BibTeX to HTML";
|
description = "A collection of tools for translating from BibTeX to HTML";
|
||||||
|
27
pkgs/tools/misc/tab-rs/default.nix
Normal file
27
pkgs/tools/misc/tab-rs/default.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, rustPlatform, IOKit }:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "tab-rs";
|
||||||
|
version = "0.5.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "austinjones";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "06nip7g5y7jslqj8anvn2z7w1c8yr0gl32bpnzv26xschan4gc2h";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "1clpl9fi07lms0din8f9m4y6br5jg8k5xsklsqmvgdwf83wyn321";
|
||||||
|
|
||||||
|
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
|
||||||
|
|
||||||
|
# many tests are failing
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Intuitive, config-driven terminal multiplexer designed for software & systems engineers";
|
||||||
|
homepage = "https://github.com/austinjones/tab-rs";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ bbigras ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,6 +1,10 @@
|
|||||||
{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl
|
{ gcc9Stdenv, lib, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl
|
||||||
, rpcsvc-proto, libtirpc, libnsl
|
, rpcsvc-proto, libtirpc, libnsl
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
# We compile with GCC 9 since GCC 10 segfaults on the code
|
||||||
|
# (see https://bugzilla.redhat.com/show_bug.cgi?id=1862809).
|
||||||
|
|
||||||
let
|
let
|
||||||
/*
|
/*
|
||||||
dsniff's build system unconditionnaly wants static libraries and does not
|
dsniff's build system unconditionnaly wants static libraries and does not
|
||||||
@ -38,7 +42,7 @@ let
|
|||||||
inherit (openssl) name;
|
inherit (openssl) name;
|
||||||
paths = with openssl.override { static = true; }; [ out dev ];
|
paths = with openssl.override { static = true; }; [ out dev ];
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in gcc9Stdenv.mkDerivation rec {
|
||||||
pname = "dsniff";
|
pname = "dsniff";
|
||||||
version = "2.4b1";
|
version = "2.4b1";
|
||||||
# upstream is so old that nearly every distribution packages the beta version.
|
# upstream is so old that nearly every distribution packages the beta version.
|
||||||
@ -71,7 +75,7 @@ in stdenv.mkDerivation rec {
|
|||||||
"--with-openssl=${ssl}"
|
"--with-openssl=${ssl}"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "collection of tools for network auditing and penetration testing";
|
description = "collection of tools for network auditing and penetration testing";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a network for interesting data (passwords, e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the interception of network traffic normally unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm implement active monkey-in-the-middle attacks against redirected SSH and HTTPS sessions by exploiting weak bindings in ad-hoc PKI.
|
dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a network for interesting data (passwords, e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the interception of network traffic normally unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm implement active monkey-in-the-middle attacks against redirected SSH and HTTPS sessions by exploiting weak bindings in ad-hoc PKI.
|
||||||
|
32
pkgs/tools/security/subjs/default.nix
Normal file
32
pkgs/tools/security/subjs/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ buildGoModule
|
||||||
|
, fetchFromGitHub
|
||||||
|
, stdenv
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "subjs";
|
||||||
|
version = "1.0.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "lc";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "01cip5rf35dnh3l325p03y6axyqdpf48ry4zcwiyd7hlfsglbk3j";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "1y01k8pvv7y9zb15wbk068cvkx0g83484jak2dvcvghqcf5j1fr1";
|
||||||
|
|
||||||
|
buildFlagsArray = [ "-ldflags=-s -w -X main.AppVersion=${version}" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Fetcher for Javascript files";
|
||||||
|
longDescription = ''
|
||||||
|
subjs fetches Javascript files from a list of URLs or subdomains.
|
||||||
|
Analyzing Javascript files can help you find undocumented endpoints,
|
||||||
|
secrets and more.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/lc/subjs";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
@ -11,19 +11,19 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "mdcat";
|
pname = "mdcat";
|
||||||
version = "0.22.1";
|
version = "0.22.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lunaryorn";
|
owner = "lunaryorn";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "mdcat-${version}";
|
rev = "mdcat-${version}";
|
||||||
hash = "sha256-4sM1xT/JQ+yM5tZkGwK7r0gUT5so9o1MnDJ7apZkRd4=";
|
hash = "sha256-i36MYTMkbSuWxxlWUDsyYMay/4Mg7M5jEFhHM60UrkM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig asciidoctor installShellFiles ];
|
nativeBuildInputs = [ pkgconfig asciidoctor installShellFiles ];
|
||||||
buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
|
buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||||
|
|
||||||
cargoSha256 = "sha256-LoNm2/6/FgTKp95ETODY39D8Ou+9X+IXIy625YW9AFI=";
|
cargoSha256 = "sha256-mnDUIJhEGNoh3eq2Vhww1T/tpZh9RP+RxbRsBNrpOzw=";
|
||||||
|
|
||||||
checkInputs = [ ansi2html ];
|
checkInputs = [ ansi2html ];
|
||||||
# Skip tests that use the network and that include files.
|
# Skip tests that use the network and that include files.
|
||||||
|
@ -813,7 +813,9 @@ in
|
|||||||
|
|
||||||
wayst = callPackage ../applications/terminal-emulators/wayst { };
|
wayst = callPackage ../applications/terminal-emulators/wayst { };
|
||||||
|
|
||||||
wezterm = callPackage ../applications/terminal-emulators/wezterm { };
|
wezterm = callPackage ../applications/terminal-emulators/wezterm {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation;
|
||||||
|
};
|
||||||
|
|
||||||
x3270 = callPackage ../applications/terminal-emulators/x3270 { };
|
x3270 = callPackage ../applications/terminal-emulators/x3270 { };
|
||||||
|
|
||||||
@ -2510,6 +2512,8 @@ in
|
|||||||
|
|
||||||
mpd-mpris = callPackage ../tools/audio/mpd-mpris { };
|
mpd-mpris = callPackage ../tools/audio/mpd-mpris { };
|
||||||
|
|
||||||
|
mpris-scrobbler = callPackage ../tools/audio/mpris-scrobbler { };
|
||||||
|
|
||||||
mq-cli = callPackage ../tools/system/mq-cli { };
|
mq-cli = callPackage ../tools/system/mq-cli { };
|
||||||
|
|
||||||
nextdns = callPackage ../applications/networking/nextdns { };
|
nextdns = callPackage ../applications/networking/nextdns { };
|
||||||
@ -6599,6 +6603,8 @@ in
|
|||||||
|
|
||||||
pbzip2 = callPackage ../tools/compression/pbzip2 { };
|
pbzip2 = callPackage ../tools/compression/pbzip2 { };
|
||||||
|
|
||||||
|
pcimem = callPackage ../os-specific/linux/pcimem { };
|
||||||
|
|
||||||
pciutils = callPackage ../tools/system/pciutils { };
|
pciutils = callPackage ../tools/system/pciutils { };
|
||||||
|
|
||||||
pcsclite = callPackage ../tools/security/pcsclite {
|
pcsclite = callPackage ../tools/security/pcsclite {
|
||||||
@ -7711,6 +7717,8 @@ in
|
|||||||
|
|
||||||
su = shadow.su;
|
su = shadow.su;
|
||||||
|
|
||||||
|
subjs = callPackage ../tools/security/subjs { };
|
||||||
|
|
||||||
subsonic = callPackage ../servers/misc/subsonic { };
|
subsonic = callPackage ../servers/misc/subsonic { };
|
||||||
|
|
||||||
subfinder = callPackage ../tools/networking/subfinder { };
|
subfinder = callPackage ../tools/networking/subfinder { };
|
||||||
@ -7762,6 +7770,10 @@ in
|
|||||||
|
|
||||||
tabnine = callPackage ../development/tools/tabnine { };
|
tabnine = callPackage ../development/tools/tabnine { };
|
||||||
|
|
||||||
|
tab-rs = callPackage ../tools/misc/tab-rs {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) IOKit;
|
||||||
|
};
|
||||||
|
|
||||||
t1utils = callPackage ../tools/misc/t1utils { };
|
t1utils = callPackage ../tools/misc/t1utils { };
|
||||||
|
|
||||||
talkfilters = callPackage ../misc/talkfilters {};
|
talkfilters = callPackage ../misc/talkfilters {};
|
||||||
@ -9039,6 +9051,8 @@ in
|
|||||||
gmp-static = gmp.override { withStatic = true; };
|
gmp-static = gmp.override { withStatic = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cakelisp = callPackage ../development/compilers/cakelisp { };
|
||||||
|
|
||||||
ciao = callPackage ../development/compilers/ciao { };
|
ciao = callPackage ../development/compilers/ciao { };
|
||||||
|
|
||||||
colm = callPackage ../development/compilers/colm { };
|
colm = callPackage ../development/compilers/colm { };
|
||||||
@ -14819,6 +14833,8 @@ in
|
|||||||
|
|
||||||
libs3 = callPackage ../development/libraries/libs3 { };
|
libs3 = callPackage ../development/libraries/libs3 { };
|
||||||
|
|
||||||
|
libschrift = callPackage ../development/libraries/libschrift { };
|
||||||
|
|
||||||
libsearpc = callPackage ../development/libraries/libsearpc { };
|
libsearpc = callPackage ../development/libraries/libsearpc { };
|
||||||
|
|
||||||
libsigcxx = callPackage ../development/libraries/libsigcxx { };
|
libsigcxx = callPackage ../development/libraries/libsigcxx { };
|
||||||
@ -19002,7 +19018,7 @@ in
|
|||||||
kernelPatches.tag_hardened
|
kernelPatches.tag_hardened
|
||||||
kernelPatches.hardened.${kernel.meta.branch}
|
kernelPatches.hardened.${kernel.meta.branch}
|
||||||
];
|
];
|
||||||
modDirVersionArg = kernel.modDirVersion + "-hardened";
|
modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra + "-hardened";
|
||||||
isHardened = true;
|
isHardened = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -21553,7 +21569,7 @@ in
|
|||||||
|
|
||||||
geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { };
|
geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { };
|
||||||
|
|
||||||
ghostwriter = libsForQt514.callPackage ../applications/editors/ghostwriter { };
|
ghostwriter = libsForQt5.callPackage ../applications/editors/ghostwriter { };
|
||||||
|
|
||||||
gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { };
|
gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { };
|
||||||
|
|
||||||
@ -23526,6 +23542,12 @@ in
|
|||||||
|
|
||||||
muchsync = callPackage ../applications/networking/mailreaders/notmuch/muchsync.nix { };
|
muchsync = callPackage ../applications/networking/mailreaders/notmuch/muchsync.nix { };
|
||||||
|
|
||||||
|
nufraw = callPackage ../applications/graphics/nufraw/default.nix { };
|
||||||
|
|
||||||
|
nufraw-thumbnailer = callPackage ../applications/graphics/nufraw/default.nix {
|
||||||
|
addThumbnailer = true;
|
||||||
|
};
|
||||||
|
|
||||||
notmuch-addrlookup = callPackage ../applications/networking/mailreaders/notmuch-addrlookup { };
|
notmuch-addrlookup = callPackage ../applications/networking/mailreaders/notmuch-addrlookup { };
|
||||||
|
|
||||||
nova-filters = callPackage ../applications/audio/nova-filters { };
|
nova-filters = callPackage ../applications/audio/nova-filters { };
|
||||||
@ -25656,7 +25678,19 @@ in
|
|||||||
|
|
||||||
zscroll = callPackage ../applications/misc/zscroll {};
|
zscroll = callPackage ../applications/misc/zscroll {};
|
||||||
|
|
||||||
zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
|
zynaddsubfx = zyn-fusion;
|
||||||
|
|
||||||
|
zynaddsubfx-fltk = callPackage ../applications/audio/zynaddsubfx {
|
||||||
|
guiModule = "fltk";
|
||||||
|
};
|
||||||
|
|
||||||
|
zynaddsubfx-ntk = callPackage ../applications/audio/zynaddsubfx {
|
||||||
|
guiModule = "ntk";
|
||||||
|
};
|
||||||
|
|
||||||
|
zyn-fusion = callPackage ../applications/audio/zynaddsubfx {
|
||||||
|
guiModule = "zest";
|
||||||
|
};
|
||||||
|
|
||||||
### BLOCKCHAINS / CRYPTOCURRENCIES / WALLETS
|
### BLOCKCHAINS / CRYPTOCURRENCIES / WALLETS
|
||||||
|
|
||||||
@ -27005,6 +27039,8 @@ in
|
|||||||
|
|
||||||
exonerate = callPackage ../applications/science/biology/exonerate { };
|
exonerate = callPackage ../applications/science/biology/exonerate { };
|
||||||
|
|
||||||
|
fastp = callPackage ../applications/science/biology/fastp { };
|
||||||
|
|
||||||
hisat2 = callPackage ../applications/science/biology/hisat2 { };
|
hisat2 = callPackage ../applications/science/biology/hisat2 { };
|
||||||
|
|
||||||
htslib = callPackage ../development/libraries/science/biology/htslib { };
|
htslib = callPackage ../development/libraries/science/biology/htslib { };
|
||||||
|
@ -175,6 +175,8 @@ in {
|
|||||||
|
|
||||||
adguardhome = callPackage ../development/python-modules/adguardhome { };
|
adguardhome = callPackage ../development/python-modules/adguardhome { };
|
||||||
|
|
||||||
|
advantage-air = callPackage ../development/python-modules/advantage-air { };
|
||||||
|
|
||||||
aenum = callPackage ../development/python-modules/aenum { };
|
aenum = callPackage ../development/python-modules/aenum { };
|
||||||
|
|
||||||
afdko = callPackage ../development/python-modules/afdko { };
|
afdko = callPackage ../development/python-modules/afdko { };
|
||||||
@ -5363,6 +5365,8 @@ in {
|
|||||||
|
|
||||||
pykwalify = callPackage ../development/python-modules/pykwalify { };
|
pykwalify = callPackage ../development/python-modules/pykwalify { };
|
||||||
|
|
||||||
|
pylacrosse = callPackage ../development/python-modules/pylacrosse { };
|
||||||
|
|
||||||
pylama = callPackage ../development/python-modules/pylama { };
|
pylama = callPackage ../development/python-modules/pylama { };
|
||||||
|
|
||||||
pylast = callPackage ../development/python-modules/pylast { };
|
pylast = callPackage ../development/python-modules/pylast { };
|
||||||
@ -7352,62 +7356,39 @@ in {
|
|||||||
|
|
||||||
tensorboardx = callPackage ../development/python-modules/tensorboardx { };
|
tensorboardx = callPackage ../development/python-modules/tensorboardx { };
|
||||||
|
|
||||||
tensorflow-bin_1 = callPackage ../development/python-modules/tensorflow/1/bin.nix {
|
tensorflow-bin_2 = callPackage ../development/python-modules/tensorflow/bin.nix {
|
||||||
cudaSupport = pkgs.config.cudaSupport or false;
|
cudaSupport = pkgs.config.cudaSupport or false;
|
||||||
inherit (pkgs.linuxPackages) nvidia_x11;
|
inherit (pkgs.linuxPackages) nvidia_x11;
|
||||||
cudatoolkit = pkgs.cudatoolkit_10;
|
cudatoolkit = pkgs.cudatoolkit_11_0;
|
||||||
cudnn = pkgs.cudnn_cudatoolkit_10;
|
cudnn = pkgs.cudnn_cudatoolkit_11_0;
|
||||||
};
|
};
|
||||||
|
|
||||||
tensorflow-bin_2 = callPackage ../development/python-modules/tensorflow/2/bin.nix {
|
tensorflow-bin = self.tensorflow-bin_2;
|
||||||
cudaSupport = pkgs.config.cudaSupport or false;
|
|
||||||
inherit (pkgs.linuxPackages) nvidia_x11;
|
|
||||||
cudatoolkit = pkgs.cudatoolkit_10;
|
|
||||||
cudnn = pkgs.cudnn_cudatoolkit_10;
|
|
||||||
};
|
|
||||||
|
|
||||||
tensorflow-bin = self.tensorflow-bin_1;
|
tensorflow-build_2 = callPackage ../development/python-modules/tensorflow {
|
||||||
|
|
||||||
tensorflow-build_1 = callPackage ../development/python-modules/tensorflow/1 {
|
|
||||||
cudaSupport = pkgs.config.cudaSupport or false;
|
cudaSupport = pkgs.config.cudaSupport or false;
|
||||||
inherit (pkgs.linuxPackages) nvidia_x11;
|
cudatoolkit = pkgs.cudatoolkit_11_0;
|
||||||
cudatoolkit = pkgs.cudatoolkit_10;
|
cudnn = pkgs.cudnn_cudatoolkit_11_0;
|
||||||
cudnn = pkgs.cudnn_cudatoolkit_10;
|
|
||||||
nccl = pkgs.nccl_cudatoolkit_10;
|
|
||||||
openssl = pkgs.openssl_1_1;
|
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
|
|
||||||
inherit (pkgs) flatbuffers;
|
|
||||||
};
|
|
||||||
|
|
||||||
tensorflow-build_2 = callPackage ../development/python-modules/tensorflow/2 {
|
|
||||||
cudaSupport = pkgs.config.cudaSupport or false;
|
|
||||||
cudatoolkit = pkgs.cudatoolkit_11;
|
|
||||||
cudnn = pkgs.cudnn_cudatoolkit_11;
|
|
||||||
nccl = pkgs.nccl_cudatoolkit_11;
|
nccl = pkgs.nccl_cudatoolkit_11;
|
||||||
openssl = pkgs.openssl_1_1;
|
openssl = pkgs.openssl_1_1;
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
|
inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
|
||||||
inherit (pkgs) flatbuffers;
|
inherit (pkgs) flatbuffers;
|
||||||
};
|
};
|
||||||
|
|
||||||
tensorflow-build = self.tensorflow-build_1;
|
tensorflow-build = self.tensorflow-build_2;
|
||||||
|
|
||||||
tensorflow-estimator_1 = callPackage ../development/python-modules/tensorflow-estimator/1 { };
|
tensorflow-estimator_2 = callPackage ../development/python-modules/tensorflow-estimator { };
|
||||||
|
|
||||||
tensorflow-estimator_2 = callPackage ../development/python-modules/tensorflow-estimator/2 { };
|
tensorflow-estimator = self.tensorflow-estimator_2;
|
||||||
|
|
||||||
tensorflow-estimator = self.tensorflow-estimator_1;
|
|
||||||
|
|
||||||
tensorflow-probability = callPackage ../development/python-modules/tensorflow-probability { };
|
tensorflow-probability = callPackage ../development/python-modules/tensorflow-probability { };
|
||||||
|
|
||||||
tensorflow = self.tensorflow_1;
|
tensorflow = self.tensorflow_2;
|
||||||
tensorflow_1 = self.tensorflow-build_1;
|
|
||||||
tensorflow_2 = self.tensorflow-build_2;
|
tensorflow_2 = self.tensorflow-build_2;
|
||||||
|
|
||||||
tensorflow-tensorboard_1 = callPackage ../development/python-modules/tensorflow-tensorboard/1 { };
|
tensorflow-tensorboard_2 = callPackage ../development/python-modules/tensorflow-tensorboard { };
|
||||||
|
|
||||||
tensorflow-tensorboard_2 = callPackage ../development/python-modules/tensorflow-tensorboard/2 { };
|
tensorflow-tensorboard = self.tensorflow-tensorboard_2;
|
||||||
|
|
||||||
tensorflow-tensorboard = self.tensorflow-tensorboard_1;
|
|
||||||
|
|
||||||
tensorflowWithCuda = self.tensorflow.override { cudaSupport = true; };
|
tensorflowWithCuda = self.tensorflow.override { cudaSupport = true; };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user