Merge staging-next into staging
This commit is contained in:
commit
18280919d6
|
@ -7989,6 +7989,12 @@
|
|||
githubId = 720864;
|
||||
name = "Sébastien Bourdeauducq";
|
||||
};
|
||||
sbond75 = {
|
||||
name = "sbond75";
|
||||
email = "43617712+sbond75@users.noreply.github.com";
|
||||
github = "sbond75";
|
||||
githubId = 43617712;
|
||||
};
|
||||
sboosali = {
|
||||
email = "SamBoosalis@gmail.com";
|
||||
github = "sboosali";
|
||||
|
|
|
@ -144,6 +144,7 @@ in
|
|||
"/share/kservicetypes5"
|
||||
"/share/kxmlgui5"
|
||||
"/share/systemd"
|
||||
"/share/thumbnailers"
|
||||
];
|
||||
|
||||
system.path = pkgs.buildEnv {
|
||||
|
|
|
@ -4,31 +4,16 @@ with lib;
|
|||
|
||||
let
|
||||
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" ''
|
||||
port ${toString cfg.port}
|
||||
${condOption "bind" cfg.bind}
|
||||
${condOption "unixsocket" cfg.unixSocket}
|
||||
daemonize no
|
||||
supervised systemd
|
||||
loglevel ${cfg.logLevel}
|
||||
logfile ${cfg.logfile}
|
||||
syslog-enabled ${redisBool cfg.syslog}
|
||||
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}
|
||||
'';
|
||||
mkValueString = value:
|
||||
if value == true then "yes"
|
||||
else if value == false then "no"
|
||||
else generators.mkValueStringDefault { } value;
|
||||
|
||||
redisConfig = pkgs.writeText "redis.conf" (generators.toKeyValue {
|
||||
listsAsDuplicateKeys = true;
|
||||
mkKeyValue = generators.mkKeyValueDefault { inherit mkValueString; } " ";
|
||||
} cfg.settings);
|
||||
in
|
||||
{
|
||||
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" "appendOnlyFilename" ] "This option was never used.")
|
||||
(mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
|
||||
(mkRemovedOptionModule [ "services" "redis" "extraConfig" ] "Use services.redis.settings instead.")
|
||||
];
|
||||
|
||||
###### interface
|
||||
|
@ -191,10 +177,20 @@ in
|
|||
description = "Maximum number of items to keep in slow log.";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = "Extra configuration options for redis.conf.";
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
|
||||
default = {};
|
||||
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 ];
|
||||
|
||||
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 = {
|
||||
description = "Redis Server";
|
||||
|
||||
|
|
|
@ -93,11 +93,11 @@ in {
|
|||
assertions = [
|
||||
{
|
||||
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;
|
||||
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 ];
|
||||
};
|
||||
|
||||
# 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 = {
|
||||
description = "LXD Container Management Daemon";
|
||||
|
||||
|
|
|
@ -1,30 +1,117 @@
|
|||
{ stdenv, fetchurl, alsaLib, cairo, cmake, libjack2, fftw, fltk13, lash, libjpeg
|
||||
, libXpm, minixml, ntk, pkg-config, zlib, liblo
|
||||
{ lib
|
||||
, 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";
|
||||
version = "3.0.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2";
|
||||
sha256 = "0qwzg14h043rmyf9jqdylxhyfy4sl0vsr0gjql51wjhid0i34ivl";
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1vh1gszgjxwn8m32rk5222z1j2cnjax0bqpag7b47v6i36p2q4x8";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ];
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
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;
|
||||
maintainers = with maintainers; [ goibhniu metadark ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.goibhniu maintainers.nico202 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
pname = "ghostwriter";
|
||||
version = "1.8.1";
|
||||
version = "2.0.0-rc3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wereturtle";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6";
|
||||
rev = version;
|
||||
sha256 = "sha256-Ag97iE++f3nG2zlwqn0qxSL9RpF8O3XWH9NtQ5kFuWg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkgconfig qttools ];
|
||||
|
@ -20,6 +20,7 @@ mkDerivation rec {
|
|||
homepage = src.meta.homepage;
|
||||
license = licenses.gpl3Plus;
|
||||
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
|
||||
, docbook_xsl
|
||||
, fetchFromGitHub
|
||||
, libxslt
|
||||
, fontconfig
|
||||
, freeimage
|
||||
, meson
|
||||
, ninja
|
||||
, pkgconfig
|
||||
, icu
|
||||
, pango
|
||||
, inih
|
||||
, withWindowSystem ? "all"
|
||||
, xorg
|
||||
, libxkbcommon
|
||||
, libGLU
|
||||
, libheif
|
||||
, wayland
|
||||
, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libnsgif" "libheif" ]
|
||||
, freeimage
|
||||
, libtiff
|
||||
, libjpeg_turbo
|
||||
, libpng
|
||||
, librsvg
|
||||
, libtiff
|
||||
, libxkbcommon
|
||||
, libxslt
|
||||
, netsurf
|
||||
, pango
|
||||
, pkgconfig
|
||||
, stdenv
|
||||
, wayland
|
||||
, libheif
|
||||
}:
|
||||
|
||||
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 {
|
||||
pname = "imv";
|
||||
version = "4.1.0";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eXeC64";
|
||||
repo = "imv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0gk8g178i961nn3bls75a8qpv6wvfvav6hd9lxca1skaikd33zdx";
|
||||
sha256 = "07pcpppmfvvj0czfvp1cyq03ha0jdj4whl13lzvw37q3vpxs5qqh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ asciidoc cmocka docbook_xsl libxslt ];
|
||||
mesonFlags = [
|
||||
"-Dwindows=${withWindowSystem}"
|
||||
"-Dtest=enabled"
|
||||
"-Dman=enabled"
|
||||
] ++ backendFlags;
|
||||
|
||||
buildInputs = [
|
||||
freeimage
|
||||
icu
|
||||
libGLU
|
||||
libjpeg_turbo
|
||||
librsvg
|
||||
libxkbcommon
|
||||
netsurf.libnsgif
|
||||
pango
|
||||
nativeBuildInputs = [
|
||||
asciidoc
|
||||
cmocka
|
||||
docbook_xsl
|
||||
libxslt
|
||||
meson
|
||||
ninja
|
||||
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 = ''
|
||||
postFixup = lib.optionalString (withWindowSystem == "all") ''
|
||||
# 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
|
||||
|
||||
sed -i "s|\bimv-wayland\b|$out/bin/imv-wayland|" $out/bin/imv
|
||||
sed -i "s|\bimv-x11\b|$out/bin/imv-x11|" $out/bin/imv
|
||||
substituteInPlace "$out/bin/imv" \
|
||||
--replace "imv-wayland" "$out/bin/imv-wayland" \
|
||||
--replace "imv-x11" "$out/bin/imv-x11"
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
|
@ -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 {
|
||||
pname = "obsidian";
|
||||
version = "0.10.1";
|
||||
version = "0.10.6";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.asar.gz";
|
||||
sha256 = "wnCgW4EAcg0Oc1fqOZBYKN2g8N27riL+yonoIy0AfxA=";
|
||||
sha256 = "KfGVc3nXu5ilYKQPLc5qaksTwsdhSVtty9CfjSoiCU8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper graphicsmagick ];
|
||||
|
|
|
@ -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
|
||||
echo "Checking ${lib}" >&2
|
||||
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_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
|
||||
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
|
||||
|
@ -173,8 +173,8 @@ printf "}\n"
|
|||
} > "${tmp}"
|
||||
|
||||
if grep '""' "${tmp}"; then
|
||||
echo "empty value detected, out of space?" >&2
|
||||
exit "1"
|
||||
echo "empty value detected, out of space?" >&2
|
||||
exit "1"
|
||||
fi
|
||||
|
||||
mv "${tmp}" "${file}"
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
{
|
||||
"kicad" = {
|
||||
kicadVersion = {
|
||||
version = "5.1.8";
|
||||
version = "5.1.9";
|
||||
src = {
|
||||
rev = "db9833491010954bc27fac92c83d2864bd95c23c";
|
||||
sha256 = "08ni9j2lw2hjc1csk6rkydcxwdal6da17ch60zkjij5vfsif2hix";
|
||||
rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5";
|
||||
sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "5.1.8";
|
||||
version = "5.1.9";
|
||||
libSources = {
|
||||
i18n.rev = "78adcd19e7ed53f4889d6db65a33dd8ec2d323e9";
|
||||
i18n.sha256 = "0x0w2m6d3xfm22y4anp5j2j67iwzby149ynj6qjlw2kcsi8kwk1j";
|
||||
symbols.rev = "bf475af94877e8fd9cf80e667578ff61835e02bb";
|
||||
symbols.sha256 = "1ii3r813653ng2ycggnknqx4g3ja7dbm4qyxrf9aq48ws0xkvhx3";
|
||||
i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5";
|
||||
i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f";
|
||||
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
|
||||
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
|
||||
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
|
||||
templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
|
||||
footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b";
|
||||
|
@ -27,25 +27,25 @@
|
|||
};
|
||||
"kicad-unstable" = {
|
||||
kicadVersion = {
|
||||
version = "2020-12-01";
|
||||
version = "2020-12-23";
|
||||
src = {
|
||||
rev = "3c521942ed52e83482c82d426170b4fbf327f846";
|
||||
sha256 = "sha256:09qab69sy3n44kjlzxxx7gbksyr1kg8n14kz0zf8n71zfcqagci4";
|
||||
rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3";
|
||||
sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "2020-12-01";
|
||||
version = "2020-12-23";
|
||||
libSources = {
|
||||
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
|
||||
i18n.sha256 = "sha256:04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
||||
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
||||
symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
|
||||
symbols.sha256 = "sha256:117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
|
||||
symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
|
||||
templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
|
||||
templates.sha256 = "sha256:13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
|
||||
templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
|
||||
footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
|
||||
footprints.sha256 = "sha256:1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
|
||||
footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
|
||||
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
|
||||
packages3d.sha256 = "sha256:0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
|
||||
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{ rustPlatform
|
||||
{ stdenv
|
||||
, rustPlatform
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
|
||||
|
@ -8,6 +9,11 @@
|
|||
, openssl
|
||||
, perl
|
||||
|
||||
# Apple frameworks
|
||||
, CoreGraphics
|
||||
, Cocoa
|
||||
, Foundation
|
||||
|
||||
, dbus
|
||||
, libX11
|
||||
, xcbutil
|
||||
|
@ -25,6 +31,10 @@
|
|||
}:
|
||||
let
|
||||
runtimeDeps = [
|
||||
zlib
|
||||
fontconfig
|
||||
freetype
|
||||
] ++ stdenv.lib.optionals (stdenv.isLinux) [
|
||||
libX11
|
||||
xcbutil
|
||||
libxcb
|
||||
|
@ -33,13 +43,14 @@ let
|
|||
libxkbcommon
|
||||
dbus
|
||||
libglvnd
|
||||
zlib
|
||||
egl-wayland
|
||||
wayland
|
||||
libGLU
|
||||
libGL
|
||||
fontconfig
|
||||
freetype
|
||||
] ++ stdenv.lib.optionals (stdenv.isDarwin) [
|
||||
Foundation
|
||||
CoreGraphics
|
||||
Cocoa
|
||||
];
|
||||
pname = "wezterm";
|
||||
in
|
||||
|
@ -67,10 +78,21 @@ rustPlatform.buildRustPackage {
|
|||
buildInputs = runtimeDeps;
|
||||
|
||||
installPhase = ''
|
||||
'' + stdenv.lib.optionalString stdenv.isLinux ''
|
||||
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
|
||||
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
|
||||
install -D $releaseDir/$artifact -t $out/bin
|
||||
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
|
||||
|
|
|
@ -55,8 +55,5 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
|
|||
license = with licenses; gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
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
|
||||
, libopenshot-audio, imagemagick, ffmpeg_3
|
||||
, swig, python3
|
||||
|
@ -19,7 +19,15 @@ stdenv.mkDerivation rec {
|
|||
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/{_REL_PYTHON_MODULE_PATH}/ENV{_REL_PYTHON_MODULE_PATH}/g' src/bindings/python/CMakeLists.txt
|
||||
export _REL_PYTHON_MODULE_PATH=$(toPythonPath $out)
|
||||
|
|
|
@ -62,7 +62,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildPhase = ''
|
||||
mkdir bin
|
||||
|
||||
cp nvidia-docker bin
|
||||
substituteInPlace bin/nvidia-docker --subst-var-by VERSION ${version}
|
||||
|
||||
cp ${libnvidia-container}/bin/nvidia-container-cli bin
|
||||
cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin
|
||||
cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
|
||||
|
|
|
@ -203,10 +203,6 @@ runCommand
|
|||
--subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \
|
||||
--subst-var-by prog "$emacs/Applications/Emacs.app/Contents/MacOS/Emacs"
|
||||
chmod +x $out/Applications/Emacs.app/Contents/MacOS/Emacs
|
||||
|
||||
makeWrapper $emacs/Applications/Emacs.app/Contents/MacOS/Emacs $out/Applications/Emacs.app/Contents/MacOS/Emacs \
|
||||
--suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:" \
|
||||
--suffix EMACSNATIVELOADPATH ":" "$deps/share/emacs/native-lisp:"
|
||||
fi
|
||||
|
||||
mkdir -p $out/share
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
, libsecret
|
||||
, libcap_ng
|
||||
, numactl
|
||||
, xen
|
||||
, libapparmor
|
||||
, json-glib
|
||||
, webkitgtk
|
||||
|
@ -117,7 +116,6 @@ stdenv.mkDerivation rec {
|
|||
tracker-miners
|
||||
vte
|
||||
webkitgtk
|
||||
xen
|
||||
yajl
|
||||
];
|
||||
|
||||
|
|
|
@ -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 {
|
||||
pname = "computecpp";
|
||||
version = "2.2.1";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchzip {
|
||||
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;
|
||||
};
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "doctest";
|
||||
version = "2.4.1";
|
||||
version = "2.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onqtam";
|
||||
repo = "doctest";
|
||||
rev = version;
|
||||
sha256 = "17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w";
|
||||
hash = "sha256-NqXC5948prTCi4gsaR8bJPBTrmH+rJbHsGvwkJlpjXY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
|
|||
pname = "libplacebo";
|
||||
version = "2.72.2";
|
||||
|
||||
patches = [
|
||||
./glsl-import.patch
|
||||
];
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "code.videolan.org";
|
||||
owner = "videolan";
|
||||
|
|
|
@ -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"
|
||||
|
|
@ -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 {
|
||||
version = "2018-11-24";
|
||||
|
@ -15,7 +15,15 @@ stdenv.mkDerivation {
|
|||
++ stdenv.lib.optional stdenv.isDarwin utmp;
|
||||
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 \
|
||||
--replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/"
|
||||
'';
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
||||
version = "2.3.1";
|
||||
version = "2.3.2";
|
||||
variant = if cudaSupport then "-gpu" else "";
|
||||
pname = "tensorflow${variant}";
|
||||
|
||||
|
@ -103,12 +103,12 @@ let
|
|||
owner = "tensorflow";
|
||||
repo = "tensorflow";
|
||||
rev = "v${version}";
|
||||
sha256 = "1lvmrqfnwzh24fl5rdkksiqfv2bn0ld5gvzq1z57rphfkf0zg996";
|
||||
sha256 = "sha256-ncwIkqLDqrB33pB9/FTlBklsIJUEvnDUmyAeUfufCFs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fixes for NixOS jsoncpp
|
||||
../system-jsoncpp.patch
|
||||
./system-jsoncpp.patch
|
||||
|
||||
./relax-dependencies.patch
|
||||
|
||||
|
@ -236,6 +236,9 @@ let
|
|||
rm -f .bazelversion
|
||||
'';
|
||||
|
||||
# https://github.com/tensorflow/tensorflow/pull/39470
|
||||
NIX_CFLAGS_COMPILE = [ "-Wno-stringop-truncation" ];
|
||||
|
||||
preConfigure = let
|
||||
opt_flags = []
|
||||
++ lib.optionals sse42Support ["-msse4.2"]
|
||||
|
@ -281,9 +284,9 @@ let
|
|||
|
||||
# cudaSupport causes fetch of ncclArchive, resulting in different hashes
|
||||
sha256 = if cudaSupport then
|
||||
"11blnw3ghp1kdi9hh9pdqa4qni9ysc3nk9iqqk9bg4dlr9zl1yld"
|
||||
"sha256-lEdPA9vhYO6vd5FgPMbFp2PkRvDBurPidYsxtJLXcbQ="
|
||||
else
|
||||
"1kkghhwhl8frs68kv28r408lps7mpgq1xvq6hc3k0j35asv1g2kc";
|
||||
"sha256-ZEY/bWo5M3Juw1x3CwhXYXZHD4q5LzWDlhgXnh4P95U=";
|
||||
};
|
||||
|
||||
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:
|
||||
# ./configure ...
|
||||
|
@ -20,12 +20,12 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
|
||||
};
|
||||
|
||||
buildInputs = [ python ];
|
||||
buildInputs = [ python3 ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
|
||||
propagatedBuildInputs = [ liburcu ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -2,25 +2,25 @@ GEM
|
|||
remote: https://rubygems.org/
|
||||
specs:
|
||||
ast (2.4.1)
|
||||
parallel (1.19.2)
|
||||
parser (2.7.2.0)
|
||||
parallel (1.20.1)
|
||||
parser (3.0.0.0)
|
||||
ast (~> 2.4.1)
|
||||
rainbow (3.0.0)
|
||||
regexp_parser (1.8.2)
|
||||
regexp_parser (2.0.3)
|
||||
rexml (3.2.4)
|
||||
rubocop (1.1.0)
|
||||
rubocop (1.8.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.7.1.5)
|
||||
parser (>= 3.0.0.0)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
rexml
|
||||
rubocop-ast (>= 1.0.1)
|
||||
rubocop-ast (>= 1.2.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 2.0)
|
||||
rubocop-ast (1.1.0)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.4.0)
|
||||
parser (>= 2.7.1.5)
|
||||
ruby-progressbar (1.10.1)
|
||||
unicode-display_width (1.7.0)
|
||||
ruby-progressbar (1.11.0)
|
||||
unicode-display_width (2.0.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l";
|
||||
sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.19.2";
|
||||
version = "1.20.1";
|
||||
};
|
||||
parser = {
|
||||
dependencies = ["ast"];
|
||||
|
@ -25,10 +25,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
|
||||
sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.7.2.0";
|
||||
version = "3.0.0.0";
|
||||
};
|
||||
rainbow = {
|
||||
groups = ["default"];
|
||||
|
@ -45,10 +45,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm";
|
||||
sha256 = "0zm86k9q8m5jkcnpb1f93wsvc57saldfj8czxkx1aw031i95inip";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.2";
|
||||
version = "2.0.3";
|
||||
};
|
||||
rexml = {
|
||||
groups = ["default"];
|
||||
|
@ -66,10 +66,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1nw87ngw4a9r3dpgykb872zcm640m7k0nk17qv537fmss2hl8shl";
|
||||
sha256 = "12arfnsj32126ps6mxbn7dwrw43cy70sq45rm0ib7qfrmhp5qyid";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
version = "1.8.0";
|
||||
};
|
||||
rubocop-ast = {
|
||||
dependencies = ["parser"];
|
||||
|
@ -77,29 +77,29 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ami6n3vnpm9y5z6wd4c6y2infijajizjjwv8fq0wrcjvr3zivzz";
|
||||
sha256 = "1qvfp567aprjgcwj757p55ynj0dx2b3c3hd76za9z3c43sphprcj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
version = "1.4.0";
|
||||
};
|
||||
ruby-progressbar = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
|
||||
sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.1";
|
||||
version = "1.11.0";
|
||||
};
|
||||
unicode-display_width = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
|
||||
sha256 = "1bilbnc8j6jkb59lrf177i3p1pdyxll0n8400hzqr35vl3r3kv2m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.7.0";
|
||||
version = "2.0.0";
|
||||
};
|
||||
}
|
|
@ -18,7 +18,7 @@ mkDerivation rec {
|
|||
meta = {
|
||||
homepage = "https://gitlab.com/sdcofer70/enyo-doom";
|
||||
description = "Frontend for Doom engines";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.tadfisher ];
|
||||
};
|
||||
|
|
|
@ -1,25 +1,30 @@
|
|||
{
|
||||
"4.14": {
|
||||
"extra": "",
|
||||
"name": "linux-hardened-4.14.213.a.patch",
|
||||
"sha256": "0lkjgg6cbsaiypxij7p00q3y094qf0h172hc2p7wgy39777b45a7",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.213.a/linux-hardened-4.14.213.a.patch"
|
||||
},
|
||||
"4.19": {
|
||||
"extra": ".a",
|
||||
"name": "linux-hardened-4.19.165.a.patch",
|
||||
"sha256": "06v34jaj4jg6f3v05wbkkfnr69ahxqyyq0gam4ma3wgm74x6cf3s",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.165.a/linux-hardened-4.19.165.a.patch"
|
||||
},
|
||||
"5.10": {
|
||||
"extra": ".a",
|
||||
"name": "linux-hardened-5.10.5.a.patch",
|
||||
"sha256": "1fq2n60brhi6wjazkdgj2aqc4maskvlymbznl03hvj0x5kahjxvx",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.5.a/linux-hardened-5.10.5.a.patch"
|
||||
},
|
||||
"5.4": {
|
||||
"extra": ".a",
|
||||
"name": "linux-hardened-5.4.87.a.patch",
|
||||
"sha256": "01hpww6lm00iry8z4z86hh86x66h3xbmxknxhmmhh2zwz6ahkmfd",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.87.a/linux-hardened-5.4.87.a.patch"
|
||||
},
|
||||
"5.9": {
|
||||
"extra": "",
|
||||
"name": "linux-hardened-5.9.16.a.patch",
|
||||
"sha256": "024wdzc9bwgr4nd4z0l6bazcl35jczhsmdl2lb26bvffjwg207rw",
|
||||
"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]
|
||||
|
||||
|
||||
Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str})
|
||||
Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str, "extra": str})
|
||||
|
||||
|
||||
@dataclass
|
||||
|
@ -99,7 +99,10 @@ def verify_openpgp_signature(
|
|||
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:
|
||||
try:
|
||||
it: Iterator[str] = (
|
||||
|
@ -130,7 +133,7 @@ def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]:
|
|||
if not sig_ok:
|
||||
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:
|
||||
|
@ -252,7 +255,7 @@ for kernel_key in sorted(releases.keys()):
|
|||
update = True
|
||||
|
||||
if update:
|
||||
patch = fetch_patch(name=name, release=release)
|
||||
patch = fetch_patch(name=name, release_info=release_info)
|
||||
if patch is None:
|
||||
failures = True
|
||||
else:
|
||||
|
|
|
@ -41,7 +41,8 @@
|
|||
hardened = let
|
||||
mkPatch = kernelVersion: src: {
|
||||
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);
|
||||
in lib.mapAttrs mkPatch patches;
|
||||
|
|
|
@ -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; [ ];
|
||||
"adguard" = ps: with ps; [ adguardhome ];
|
||||
"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 ];
|
||||
"agent_dvr" = ps: with ps; [ ]; # missing inputs: agent-py
|
||||
"air_quality" = ps: with ps; [ ];
|
||||
|
@ -423,7 +423,7 @@
|
|||
"konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected
|
||||
"kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky
|
||||
"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
|
||||
"lannouncer" = ps: with ps; [ ];
|
||||
"lastfm" = ps: with ps; [ pylast ];
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, srt
|
||||
, ffmpeg_3_4
|
||||
, bc
|
||||
|
@ -12,6 +13,7 @@
|
|||
, libopus
|
||||
, srtp
|
||||
, jemalloc
|
||||
, pcre2
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -27,21 +29,30 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oven-media-engine";
|
||||
version = "0.10.8";
|
||||
version = "0.10.9-hotfix";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AirenSoft";
|
||||
repo = "OvenMediaEngine";
|
||||
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";
|
||||
makeFlags = "release CONFIG_LIBRARY_PATHS= CONFIG_PKG_PATHS= GLOBAL_CC=$(CC) GLOBAL_CXX=$(CXX) GLOBAL_LD=$(CXX) SHELL=${stdenv.shell}";
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ bc pkgconfig perl ];
|
||||
buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc ];
|
||||
buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 ];
|
||||
|
||||
preBuild = ''
|
||||
patchShebangs core/colorg++
|
||||
|
@ -62,7 +73,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "Open-source streaming video service with sub-second latency";
|
||||
homepage = "https://ovenmediaengine.com";
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ lukegb ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
|
||||
maintainers = with maintainers; [ adev ak johanot krav ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
};
|
||||
|
||||
ceph-common = python3Packages.buildPythonPackage rec{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, ocaml }:
|
||||
{ stdenv, fetchurl, ocaml, perl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "bibtex2html";
|
||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
|||
sha256 = "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml ];
|
||||
buildInputs = [ ocaml perl ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A collection of tools for translating from BibTeX to HTML";
|
||||
|
|
|
@ -76,8 +76,7 @@ stdenv.mkDerivation (rec {
|
|||
outputs = [ "out" "info" ];
|
||||
|
||||
nativeBuildInputs = [ perl xz.bin ]
|
||||
++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ] # due to patch
|
||||
++ optionals stdenv.hostPlatform.isMusl [ autoreconfHook bison ]; # due to patch
|
||||
++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ]; # due to patch
|
||||
configureFlags = [ "--with-packager=https://NixOS.org" ]
|
||||
++ optional (singleBinary != false)
|
||||
("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
, zlib
|
||||
, szip ? null
|
||||
}:
|
||||
|
||||
let uselibtirpc = stdenv.isLinux;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hdf";
|
||||
version = "4.2.15";
|
||||
|
@ -49,12 +50,13 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
libjpeg
|
||||
libtirpc
|
||||
szip
|
||||
zlib
|
||||
] ++ stdenv.lib.optionals uselibtirpc [
|
||||
libtirpc
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
preConfigure = stdenv.lib.optionalString uselibtirpc ''
|
||||
# Make tirpc discovery work with CMAKE_PREFIX_PATH
|
||||
substituteInPlace config/cmake/FindXDR.cmake \
|
||||
--replace 'find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATHS "/usr/include" "/usr/include/tirpc")' \
|
||||
|
|
|
@ -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
|
||||
}:
|
||||
|
||||
# We compile with GCC 9 since GCC 10 segfaults on the code
|
||||
# (see https://bugzilla.redhat.com/show_bug.cgi?id=1862809).
|
||||
|
||||
let
|
||||
/*
|
||||
dsniff's build system unconditionnaly wants static libraries and does not
|
||||
|
@ -38,7 +42,7 @@ let
|
|||
inherit (openssl) name;
|
||||
paths = with openssl.override { static = true; }; [ out dev ];
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
in gcc9Stdenv.mkDerivation rec {
|
||||
pname = "dsniff";
|
||||
version = "2.4b1";
|
||||
# upstream is so old that nearly every distribution packages the beta version.
|
||||
|
@ -71,7 +75,7 @@ in stdenv.mkDerivation rec {
|
|||
"--with-openssl=${ssl}"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
description = "collection of tools for network auditing and penetration testing";
|
||||
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.
|
||||
|
|
|
@ -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 {
|
||||
pname = "mdcat";
|
||||
version = "0.22.1";
|
||||
version = "0.22.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lunaryorn";
|
||||
repo = pname;
|
||||
rev = "mdcat-${version}";
|
||||
hash = "sha256-4sM1xT/JQ+yM5tZkGwK7r0gUT5so9o1MnDJ7apZkRd4=";
|
||||
hash = "sha256-i36MYTMkbSuWxxlWUDsyYMay/4Mg7M5jEFhHM60UrkM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig asciidoctor installShellFiles ];
|
||||
buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||
|
||||
cargoSha256 = "sha256-LoNm2/6/FgTKp95ETODY39D8Ou+9X+IXIy625YW9AFI=";
|
||||
cargoSha256 = "sha256-mnDUIJhEGNoh3eq2Vhww1T/tpZh9RP+RxbRsBNrpOzw=";
|
||||
|
||||
checkInputs = [ ansi2html ];
|
||||
# Skip tests that use the network and that include files.
|
||||
|
|
|
@ -813,7 +813,9 @@ in
|
|||
|
||||
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 { };
|
||||
|
||||
|
@ -2510,6 +2512,8 @@ in
|
|||
|
||||
mpd-mpris = callPackage ../tools/audio/mpd-mpris { };
|
||||
|
||||
mpris-scrobbler = callPackage ../tools/audio/mpris-scrobbler { };
|
||||
|
||||
mq-cli = callPackage ../tools/system/mq-cli { };
|
||||
|
||||
nextdns = callPackage ../applications/networking/nextdns { };
|
||||
|
@ -4963,7 +4967,9 @@ in
|
|||
|
||||
ipfs = callPackage ../applications/networking/ipfs { };
|
||||
ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { };
|
||||
ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { };
|
||||
ipfs-cluster = callPackage ../applications/networking/ipfs-cluster {
|
||||
buildGoModule = buildGo114Module;
|
||||
};
|
||||
|
||||
ipget = callPackage ../applications/networking/ipget { };
|
||||
|
||||
|
@ -6599,6 +6605,8 @@ in
|
|||
|
||||
pbzip2 = callPackage ../tools/compression/pbzip2 { };
|
||||
|
||||
pcimem = callPackage ../os-specific/linux/pcimem { };
|
||||
|
||||
pciutils = callPackage ../tools/system/pciutils { };
|
||||
|
||||
pcsclite = callPackage ../tools/security/pcsclite {
|
||||
|
@ -7711,6 +7719,8 @@ in
|
|||
|
||||
su = shadow.su;
|
||||
|
||||
subjs = callPackage ../tools/security/subjs { };
|
||||
|
||||
subsonic = callPackage ../servers/misc/subsonic { };
|
||||
|
||||
subfinder = callPackage ../tools/networking/subfinder { };
|
||||
|
@ -7762,6 +7772,10 @@ in
|
|||
|
||||
tabnine = callPackage ../development/tools/tabnine { };
|
||||
|
||||
tab-rs = callPackage ../tools/misc/tab-rs {
|
||||
inherit (darwin.apple_sdk.frameworks) IOKit;
|
||||
};
|
||||
|
||||
t1utils = callPackage ../tools/misc/t1utils { };
|
||||
|
||||
talkfilters = callPackage ../misc/talkfilters {};
|
||||
|
@ -9039,6 +9053,8 @@ in
|
|||
gmp-static = gmp.override { withStatic = true; };
|
||||
};
|
||||
|
||||
cakelisp = callPackage ../development/compilers/cakelisp { };
|
||||
|
||||
ciao = callPackage ../development/compilers/ciao { };
|
||||
|
||||
colm = callPackage ../development/compilers/colm { };
|
||||
|
@ -14819,6 +14835,8 @@ in
|
|||
|
||||
libs3 = callPackage ../development/libraries/libs3 { };
|
||||
|
||||
libschrift = callPackage ../development/libraries/libschrift { };
|
||||
|
||||
libsearpc = callPackage ../development/libraries/libsearpc { };
|
||||
|
||||
libsigcxx = callPackage ../development/libraries/libsigcxx { };
|
||||
|
@ -18995,7 +19013,7 @@ in
|
|||
kernelPatches.tag_hardened
|
||||
kernelPatches.hardened.${kernel.meta.branch}
|
||||
];
|
||||
modDirVersionArg = kernel.modDirVersion + "-hardened";
|
||||
modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra + "-hardened";
|
||||
isHardened = true;
|
||||
});
|
||||
|
||||
|
@ -21546,7 +21564,7 @@ in
|
|||
|
||||
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 { };
|
||||
|
||||
|
@ -23519,6 +23537,12 @@ in
|
|||
|
||||
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 { };
|
||||
|
||||
nova-filters = callPackage ../applications/audio/nova-filters { };
|
||||
|
@ -25649,7 +25673,19 @@ in
|
|||
|
||||
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
|
||||
|
||||
|
@ -26998,6 +27034,8 @@ in
|
|||
|
||||
exonerate = callPackage ../applications/science/biology/exonerate { };
|
||||
|
||||
fastp = callPackage ../applications/science/biology/fastp { };
|
||||
|
||||
hisat2 = callPackage ../applications/science/biology/hisat2 { };
|
||||
|
||||
htslib = callPackage ../development/libraries/science/biology/htslib { };
|
||||
|
|
|
@ -173,7 +173,9 @@ in {
|
|||
|
||||
addic7ed-cli = callPackage ../development/python-modules/addic7ed-cli { };
|
||||
|
||||
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 { };
|
||||
|
||||
|
@ -5363,6 +5365,8 @@ in {
|
|||
|
||||
pykwalify = callPackage ../development/python-modules/pykwalify { };
|
||||
|
||||
pylacrosse = callPackage ../development/python-modules/pylacrosse { };
|
||||
|
||||
pylama = callPackage ../development/python-modules/pylama { };
|
||||
|
||||
pylast = callPackage ../development/python-modules/pylast { };
|
||||
|
@ -7352,62 +7356,39 @@ in {
|
|||
|
||||
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;
|
||||
inherit (pkgs.linuxPackages) nvidia_x11;
|
||||
cudatoolkit = pkgs.cudatoolkit_10;
|
||||
cudnn = pkgs.cudnn_cudatoolkit_10;
|
||||
cudatoolkit = pkgs.cudatoolkit_11_0;
|
||||
cudnn = pkgs.cudnn_cudatoolkit_11_0;
|
||||
};
|
||||
|
||||
tensorflow-bin_2 = callPackage ../development/python-modules/tensorflow/2/bin.nix {
|
||||
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_2;
|
||||
|
||||
tensorflow-bin = self.tensorflow-bin_1;
|
||||
|
||||
tensorflow-build_1 = callPackage ../development/python-modules/tensorflow/1 {
|
||||
tensorflow-build_2 = callPackage ../development/python-modules/tensorflow {
|
||||
cudaSupport = pkgs.config.cudaSupport or false;
|
||||
inherit (pkgs.linuxPackages) nvidia_x11;
|
||||
cudatoolkit = pkgs.cudatoolkit_10;
|
||||
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;
|
||||
cudatoolkit = pkgs.cudatoolkit_11_0;
|
||||
cudnn = pkgs.cudnn_cudatoolkit_11_0;
|
||||
nccl = pkgs.nccl_cudatoolkit_11;
|
||||
openssl = pkgs.openssl_1_1;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
|
||||
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_1;
|
||||
tensorflow-estimator = self.tensorflow-estimator_2;
|
||||
|
||||
tensorflow-probability = callPackage ../development/python-modules/tensorflow-probability { };
|
||||
|
||||
tensorflow = self.tensorflow_1;
|
||||
tensorflow_1 = self.tensorflow-build_1;
|
||||
tensorflow = self.tensorflow_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_1;
|
||||
tensorflow-tensorboard = self.tensorflow-tensorboard_2;
|
||||
|
||||
tensorflowWithCuda = self.tensorflow.override { cudaSupport = true; };
|
||||
|
||||
|
|
Loading…
Reference in New Issue