Merge branch 'staging-next' into staging
This commit is contained in:
commit
a16ce80193
|
@ -36,7 +36,17 @@
|
||||||
now point to an externally wrapped by default derivations, that allow you to
|
now point to an externally wrapped by default derivations, that allow you to
|
||||||
also add `extraPythonPackages` to the Python interpreter used by GNURadio.
|
also add `extraPythonPackages` to the Python interpreter used by GNURadio.
|
||||||
Missing environmental variables needed for operational GUI were also added
|
Missing environmental variables needed for operational GUI were also added
|
||||||
(<link xlink:href="https://github.com/NixOS/nixpkgs/issues/75478">#7547</link>).
|
(<link xlink:href="https://github.com/NixOS/nixpkgs/issues/75478">#75478</link>).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://www.gnuradio.org/">GNURadio</link> has a
|
||||||
|
<code>pkgs</code> attribute set, and there's a <code>gnuradio.callPackage</code>
|
||||||
|
function that extends <code>pkgs</code> with a <code>mkDerivation</code>, and a
|
||||||
|
<code>mkDerivationWith</code>, like Qt5. Now all <code>gnuradio.pkgs</code> are
|
||||||
|
defined with <code>gnuradio.callPackage</code> and some packages that depend
|
||||||
|
on gnuradio are defined with this as well.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -63,6 +73,13 @@
|
||||||
are not reproducible. Optimizations can now be enabled with an option.
|
are not reproducible. Optimizations can now be enabled with an option.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://kodi.tv/">Kodi</link> has been updated to version 19.0 "Matrix". See
|
||||||
|
the <link xlink:href="https://kodi.tv/article/kodi-190-matrix-release">announcement</link> for
|
||||||
|
further details.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -588,6 +605,37 @@ self: super:
|
||||||
for your Kafka version.
|
for your Kafka version.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <package>kodi</package> package has been modified to allow concise addon management. Consider
|
||||||
|
the following configuration from previous releases of NixOS to install <package>kodi</package>,
|
||||||
|
including the <package>kodiPackages.inputstream-adaptive</package> and <package>kodiPackages.vfs-sftp</package>
|
||||||
|
addons:
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.kodi
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.kodi = {
|
||||||
|
enableInputStreamAdaptive = true;
|
||||||
|
enableVFSSFTP = true;
|
||||||
|
};
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
All Kodi <literal>config</literal> flags have been removed, and as a result the above configuration
|
||||||
|
should now be written as:
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.kodi.withPackages (p: with p; [
|
||||||
|
inputstream-adaptive
|
||||||
|
vfs-sftp
|
||||||
|
]))
|
||||||
|
];
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,9 @@ let
|
||||||
dataDir = "/var/lib/mautrix-telegram";
|
dataDir = "/var/lib/mautrix-telegram";
|
||||||
registrationFile = "${dataDir}/telegram-registration.yaml";
|
registrationFile = "${dataDir}/telegram-registration.yaml";
|
||||||
cfg = config.services.mautrix-telegram;
|
cfg = config.services.mautrix-telegram;
|
||||||
# TODO: switch to configGen.json once RFC42 is implemented
|
settingsFormat = pkgs.formats.json {};
|
||||||
settingsFile = pkgs.writeText "mautrix-telegram-settings.json" (builtins.toJSON cfg.settings);
|
settingsFileUnsubstituted = settingsFormat.generate "mautrix-telegram-config-unsubstituted.json" cfg.settings;
|
||||||
|
settingsFile = "${dataDir}/config.json";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
|
@ -15,9 +16,8 @@ in {
|
||||||
enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
|
enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
|
||||||
|
|
||||||
settings = mkOption rec {
|
settings = mkOption rec {
|
||||||
# TODO: switch to types.config.json as prescribed by RFC42 once it's implemented
|
|
||||||
type = types.attrs;
|
|
||||||
apply = recursiveUpdate default;
|
apply = recursiveUpdate default;
|
||||||
|
inherit (settingsFormat) type;
|
||||||
default = {
|
default = {
|
||||||
appservice = rec {
|
appservice = rec {
|
||||||
database = "sqlite:///${dataDir}/mautrix-telegram.db";
|
database = "sqlite:///${dataDir}/mautrix-telegram.db";
|
||||||
|
@ -124,6 +124,16 @@ in {
|
||||||
after = [ "network-online.target" ] ++ cfg.serviceDependencies;
|
after = [ "network-online.target" ] ++ cfg.serviceDependencies;
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
|
# Not all secrets can be passed as environment variable (yet)
|
||||||
|
# https://github.com/tulir/mautrix-telegram/issues/584
|
||||||
|
[ -f ${settingsFile} ] && rm -f ${settingsFile}
|
||||||
|
old_umask=$(umask)
|
||||||
|
umask 0277
|
||||||
|
${pkgs.envsubst}/bin/envsubst \
|
||||||
|
-o ${settingsFile} \
|
||||||
|
-i ${settingsFileUnsubstituted}
|
||||||
|
umask $old_umask
|
||||||
|
|
||||||
# generate the appservice's registration file if absent
|
# generate the appservice's registration file if absent
|
||||||
if [ ! -f '${registrationFile}' ]; then
|
if [ ! -f '${registrationFile}' ]; then
|
||||||
${pkgs.mautrix-telegram}/bin/mautrix-telegram \
|
${pkgs.mautrix-telegram}/bin/mautrix-telegram \
|
||||||
|
@ -159,6 +169,8 @@ in {
|
||||||
--config='${settingsFile}'
|
--config='${settingsFile}'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
restartTriggers = [ settingsFileUnsubstituted ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ let
|
||||||
"dovecot"
|
"dovecot"
|
||||||
"fritzbox"
|
"fritzbox"
|
||||||
"json"
|
"json"
|
||||||
|
"jitsi"
|
||||||
"keylight"
|
"keylight"
|
||||||
"knot"
|
"knot"
|
||||||
"lnd"
|
"lnd"
|
||||||
|
@ -130,7 +131,7 @@ let
|
||||||
inherit name port;
|
inherit name port;
|
||||||
} // extraOpts);
|
} // extraOpts);
|
||||||
} ({ config, ... }: mkIf config.openFirewall {
|
} ({ config, ... }: mkIf config.openFirewall {
|
||||||
firewallFilter = mkOptionDefault "-p tcp -m tcp --dport ${toString config.port}";
|
firewallFilter = mkDefault "-p tcp -m tcp --dport ${toString config.port}";
|
||||||
})];
|
})];
|
||||||
internal = true;
|
internal = true;
|
||||||
default = {};
|
default = {};
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
{ config, lib, pkgs, options }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.prometheus.exporters.jitsi;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
port = 9700;
|
||||||
|
extraOpts = {
|
||||||
|
url = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "http://localhost:8080/colibri/stats";
|
||||||
|
description = ''
|
||||||
|
Jitsi Videobridge metrics URL to monitor.
|
||||||
|
This is usually /colibri/stats on port 8080 of the jitsi videobridge host.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
interval = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "30s";
|
||||||
|
example = "1min";
|
||||||
|
description = ''
|
||||||
|
How often to scrape new data
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
serviceOpts = {
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = ''
|
||||||
|
${pkgs.prometheus-jitsi-exporter}/bin/jitsiexporter \
|
||||||
|
-url ${escapeShellArg cfg.url} \
|
||||||
|
-host ${cfg.listenAddress} \
|
||||||
|
-port ${toString cfg.port} \
|
||||||
|
-interval ${toString cfg.interval} \
|
||||||
|
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -233,6 +233,29 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jitsi = {
|
||||||
|
exporterConfig = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
metricProvider = {
|
||||||
|
systemd.services.prometheus-jitsi-exporter.after = [ "jitsi-videobridge2.service" ];
|
||||||
|
services.jitsi-videobridge = {
|
||||||
|
enable = true;
|
||||||
|
apis = [ "colibri" "rest" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
exporterTest = ''
|
||||||
|
wait_for_unit("jitsi-videobridge2.service")
|
||||||
|
wait_for_open_port(8080)
|
||||||
|
wait_for_unit("prometheus-jitsi-exporter.service")
|
||||||
|
wait_for_open_port(9700)
|
||||||
|
wait_until_succeeds(
|
||||||
|
'journalctl -eu prometheus-jitsi-exporter.service -o cat | grep -q "key=participants"'
|
||||||
|
)
|
||||||
|
succeed("curl -sSf 'localhost:9700/metrics' | grep -q 'jitsi_participants 0'")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
json = {
|
json = {
|
||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
, liblo, libsamplerate, libsndfile, lirc ? null, lrdf, qtbase }:
|
, liblo, libsamplerate, libsndfile, lirc ? null, lrdf, qtbase }:
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
version = "20.06";
|
version = "20.12";
|
||||||
pname = "rosegarden";
|
pname = "rosegarden";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
|
url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "1i9x9rkqwwdrk77xl5ra8i48cjirbc7fbisnj0nnclccwaq0wk6r";
|
sha256 = "sha256-iGaEr8WFipV4I00fhFGI2xMBFPf784IIxNXs2hUTHFs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lightdm-mini-greeter";
|
pname = "lightdm-mini-greeter";
|
||||||
version = "0.5.0";
|
version = "0.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "prikhi";
|
owner = "prikhi";
|
||||||
repo = "lightdm-mini-greeter";
|
repo = "lightdm-mini-greeter";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-cVOnd3k+9hFQjROiwPpxZcCxD2NiH1eclJHF88eV6BM=";
|
sha256 = "sha256-Pm7ExfusFIPktX2C4UE07qgOVhcWhVxnaD3QARpmu7Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
|
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
|
||||||
|
|
|
@ -19,13 +19,11 @@ mkDerivation rec {
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${graphicsmagick}/include/GraphicsMagick";
|
NIX_CFLAGS_COMPILE = "-I${graphicsmagick}/include/GraphicsMagick";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A cross-platform image editor with a powerful features and a very friendly graphical user interface";
|
description = "A cross-platform image editor with a powerful features and a very friendly graphical user interface";
|
||||||
homepage = "https://photoflare.io";
|
homepage = "https://photoflare.io";
|
||||||
maintainers = [ maintainers.omgbebebe ];
|
maintainers = [ maintainers.omgbebebe ];
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,19 +7,25 @@
|
||||||
, gtk3
|
, gtk3
|
||||||
, gobject-introspection
|
, gobject-introspection
|
||||||
, libxml2
|
, libxml2
|
||||||
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "deadd-notification-center";
|
pname = "deadd-notification-center";
|
||||||
version = "1.7.3";
|
version = "2021-03-10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "phuhl";
|
owner = "phuhl";
|
||||||
repo = "linux_notification_center";
|
repo = "linux_notification_center";
|
||||||
rev = version;
|
rev = "640ce0f";
|
||||||
sha256 = "QaOLrtlhQyhMOirk6JO1yMGRrgycHmF9FAdKNbN2TRk=";
|
sha256 = "12ldr8vppylr90849g3mpjphmnr4lp0vsdkj01a5f4bv4ksx35fm";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/phuhl/linux_notification_center/commit/5244e1498574983322be97925e1ff7ebe456d974.patch";
|
||||||
|
sha256 = "sha256-hbqbgBmuewOhtx0na2tmFa5W128ZrBvDcyPme/mRzlI=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoPatchelfHook
|
autoPatchelfHook
|
||||||
|
@ -33,15 +39,18 @@ stdenv.mkDerivation rec {
|
||||||
hicolor-icon-theme
|
hicolor-icon-theme
|
||||||
];
|
];
|
||||||
|
|
||||||
installPhase = ''
|
buildFlags = [
|
||||||
mkdir -p $out/bin $out/share/dbus-1/services
|
# Exclude stack from `make all` to use the prebuilt binary from .out/
|
||||||
|
"service"
|
||||||
|
];
|
||||||
|
|
||||||
cp $src/.out/${pname} $out/bin/
|
makeFlags = [
|
||||||
chmod +x $out/bin/${pname}
|
"PREFIX=${placeholder "out"}"
|
||||||
|
"SERVICEDIR_SYSTEMD=${placeholder "out"}/etc/systemd/user"
|
||||||
sed "s|##PREFIX##|$out|g" $src/${pname}.service.in > \
|
"SERVICEDIR_DBUS=${placeholder "out"}/share/dbus-1/services"
|
||||||
$out/share/dbus-1/services/com.ph-uhl.deadd.notification.service
|
# Override systemd auto-detection.
|
||||||
'';
|
"SYSTEMD=1"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A haskell-written notification center for users that like a desktop with style";
|
description = "A haskell-written notification center for users that like a desktop with style";
|
||||||
|
|
|
@ -1,20 +1,22 @@
|
||||||
{ lib, rustPlatform, fetchFromGitHub, installShellFiles }:
|
{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, SystemConfiguration, libiconv }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "pueue";
|
pname = "pueue";
|
||||||
version = "0.12.0";
|
version = "0.12.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Nukesor";
|
owner = "Nukesor";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-yOUVDq/wRY35ZQjQVwTLYHKukkKpoggN51wBDdZnhI4=";
|
sha256 = "sha256-wcOF34GzlB6YKISkjDgYgsaN1NmWBMIntfT23A6byx8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-56jJ8IjxWTBlaDd1CVit4RP659Mgw2j2wMWcSDYVihM=";
|
cargoSha256 = "sha256-7SJjtHNSabE/VqdiSwKZ/yNzk6GSMNsQLaSx/MjN5NA=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ SystemConfiguration libiconv ];
|
||||||
|
|
||||||
checkFlags = [ "--skip=test_single_huge_payload" "--skip=test_create_unix_socket" ];
|
checkFlags = [ "--skip=test_single_huge_payload" "--skip=test_create_unix_socket" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -27,6 +29,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A daemon for managing long running shell commands";
|
description = "A daemon for managing long running shell commands";
|
||||||
homepage = "https://github.com/Nukesor/pueue";
|
homepage = "https://github.com/Nukesor/pueue";
|
||||||
|
changelog = "https://github.com/Nukesor/pueue/raw/v${version}/CHANGELOG.md";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.marsam ];
|
maintainers = [ maintainers.marsam ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,24 +19,29 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
version = "1.1.2";
|
version = "1.1.3";
|
||||||
pname = "syncthingtray";
|
pname = "syncthingtray";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Martchus";
|
owner = "Martchus";
|
||||||
repo = "syncthingtray";
|
repo = "syncthingtray";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-I5QhnYp4ga3ERJ3w4qjh5gFFU+S1Htw26vHK/2M8j5s=";
|
sha256 = "sha256-ovit2XSkxSjcbpqQUv8IzMqfsfItbtXLbx0/Vy0+J0Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ qtbase cpp-utilities qtutilities ]
|
buildInputs = [ qtbase cpp-utilities qtutilities ]
|
||||||
++ lib.optionals webviewSupport [ qtwebengine ]
|
++ lib.optionals webviewSupport [ qtwebengine ]
|
||||||
++ lib.optionals jsSupport [ qtdeclarative ]
|
++ lib.optionals jsSupport [ qtdeclarative ]
|
||||||
++ lib.optionals kioPluginSupport [ kio ]
|
++ lib.optionals kioPluginSupport [ kio ]
|
||||||
++ lib.optionals plasmoidSupport [ extra-cmake-modules plasma-framework ]
|
++ lib.optionals plasmoidSupport [ plasma-framework ]
|
||||||
;
|
;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake qttools ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
qttools
|
||||||
|
]
|
||||||
|
++ lib.optionals plasmoidSupport [ extra-cmake-modules ]
|
||||||
|
;
|
||||||
|
|
||||||
# No tests are available by upstream, but we test --help anyway
|
# No tests are available by upstream, but we test --help anyway
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
@ -56,7 +61,7 @@ mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/Martchus/syncthingtray";
|
homepage = "https://github.com/Martchus/syncthingtray";
|
||||||
description = "Tray application and Dolphin/Plasma integration for Syncthing";
|
description = "Tray application and Dolphin/Plasma integration for Syncthing";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ doronbehar ];
|
maintainers = with maintainers; [ doronbehar ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
{ lib, stdenv, rustPlatform, fetchurl, pkg-config, ncurses, openssl, Security }:
|
{ lib, stdenv, rustPlatform, fetchFromSourcehut, pkg-config, ncurses, openssl, Security }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "asuka";
|
pname = "asuka";
|
||||||
version = "0.8.1";
|
version = "0.8.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromSourcehut {
|
||||||
url = "https://git.sr.ht/~julienxx/${pname}/archive/${version}.tar.gz";
|
owner = "~julienxx";
|
||||||
sha256 = "07i80qmdpwfdgwrk1gzs10wln91v23qjrsk0x134xf5mjnakxc06";
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1y8v4qc5dng3v9k0bky1xlf3qi9pk2vdsi29lff4ha5310467f0k";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "0p0x4ch04kydg76bfal5zqzr9hvn5268wf3k2v9h7g8r4y8xqlhw";
|
cargoSha256 = "0p0x4ch04kydg76bfal5zqzr9hvn5268wf3k2v9h7g8r4y8xqlhw";
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"stable": {
|
"stable": {
|
||||||
"version": "89.0.4389.82",
|
"version": "89.0.4389.90",
|
||||||
"sha256": "0yg33d6zldz3j1jghhdci63fn46i10dkz3nb95jdrbv8gd018jfz",
|
"sha256": "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi",
|
||||||
"sha256bin64": "1sqzzillq38qyh85449ncz8bni93mjxb6r4z8y5h8k2w3j38jc0q",
|
"sha256bin64": "1hgpx7isp9krarj7jpbhs97ym4i9j9a1srywv9pdfzbhw6cid2pk",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-01-07",
|
"version": "2021-01-07",
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "terragrunt";
|
pname = "terragrunt";
|
||||||
version = "0.28.9";
|
version = "0.28.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gruntwork-io";
|
owner = "gruntwork-io";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-sqwR+bXx5ab5OsmW44C5MIXjzQFM1QsBvsM0R3pL3H8=";
|
sha256 = "sha256-qlmiQ73MRXcdXXC50pewUMt9YFbzXIbjnZTV5gIcvGs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-9DBCP/4mp/Gr2ie0nk7WGfL+M7snMEztdHZzxdIFbzM=";
|
vendorSha256 = "sha256-SVrDBDGK809O+RaE3gOa9U1agY6hSGI/k3FUCgm+5PA=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "zulip-term";
|
pname = "zulip-term";
|
||||||
version = "0.5.2";
|
version = "0.6.0";
|
||||||
|
|
||||||
# no tests on PyPI
|
# no tests on PyPI
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zulip";
|
owner = "zulip";
|
||||||
repo = "zulip-terminal";
|
repo = "zulip-terminal";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1xhhy3v4wck74a83avil0rnmsi2grrh03cww19n5mv80p2q1cjmf";
|
sha256 = "sha256-nlvZaGMVRRCu8PZHxPWjNSxkqhZs0T/tE1js/3pDUFk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -26,7 +26,9 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
urwid-readline
|
urwid-readline
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
lxml
|
lxml
|
||||||
mypy-extensions
|
typing-extensions
|
||||||
|
python-dateutil
|
||||||
|
tzlocal
|
||||||
];
|
];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildGoModule, fetchurl
|
{ lib, buildGoModule, fetchFromSourcehut
|
||||||
, ncurses, notmuch, scdoc
|
, ncurses, notmuch, scdoc
|
||||||
, python3, w3m, dante
|
, python3, w3m, dante
|
||||||
}:
|
}:
|
||||||
|
@ -7,9 +7,11 @@ buildGoModule rec {
|
||||||
pname = "aerc";
|
pname = "aerc";
|
||||||
version = "0.5.2";
|
version = "0.5.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromSourcehut {
|
||||||
url = "https://git.sr.ht/~sircmpwn/aerc/archive/${version}.tar.gz";
|
owner = "~sircmpwn";
|
||||||
sha256 = "h7kiRA5TuZ8mDSMymWU33stFLIOMd06TQLYzKW+faO4=";
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1ja639qry8h2d6y7qshf62ypkzs2rzady59p81scqh8nx0g9bils";
|
||||||
};
|
};
|
||||||
|
|
||||||
runVend = true;
|
runVend = true;
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
{ lib, stdenv, fetchFromGitHub
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
, armadillo
|
, armadillo
|
||||||
, boost
|
|
||||||
, cmake
|
, cmake
|
||||||
|
, gmp
|
||||||
, glog
|
, glog
|
||||||
, gmock
|
, gmock
|
||||||
, openssl
|
, openssl
|
||||||
, gflags
|
, gflags
|
||||||
, gnuradio
|
, gnuradio3_8
|
||||||
|
, libpcap
|
||||||
, orc
|
, orc
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, pythonPackages
|
|
||||||
, uhd
|
, uhd
|
||||||
, log4cpp
|
, log4cpp
|
||||||
, blas, lapack
|
, blas, lapack
|
||||||
|
@ -18,7 +19,7 @@
|
||||||
, protobuf
|
, protobuf
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
gnuradio3_8.pkgs.mkDerivation rec {
|
||||||
pname = "gnss-sdr";
|
pname = "gnss-sdr";
|
||||||
version = "0.0.13";
|
version = "0.0.13";
|
||||||
|
|
||||||
|
@ -29,27 +30,32 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0a3k47fl5dizzhbqbrbmckl636lznyjby2d2nz6fz21637hvrnby";
|
sha256 = "0a3k47fl5dizzhbqbrbmckl636lznyjby2d2nz6fz21637hvrnby";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
gnuradio3_8.unwrapped.python
|
||||||
|
gnuradio3_8.unwrapped.python.pkgs.Mako
|
||||||
|
gnuradio3_8.unwrapped.python.pkgs.six
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
gmp
|
||||||
armadillo
|
armadillo
|
||||||
boost.dev
|
gnuradio3_8.unwrapped.boost
|
||||||
glog
|
glog
|
||||||
gmock
|
gmock
|
||||||
openssl.dev
|
openssl
|
||||||
gflags
|
gflags
|
||||||
gnuradio
|
|
||||||
orc
|
orc
|
||||||
pythonPackages.Mako
|
|
||||||
pythonPackages.six
|
|
||||||
|
|
||||||
# UHD support is optional, but gnuradio is built with it, so there's
|
# UHD support is optional, but gnuradio is built with it, so there's
|
||||||
# nothing to be gained by leaving it out.
|
# nothing to be gained by leaving it out.
|
||||||
uhd
|
gnuradio3_8.unwrapped.uhd
|
||||||
log4cpp
|
log4cpp
|
||||||
blas lapack
|
blas lapack
|
||||||
matio
|
matio
|
||||||
pugixml
|
pugixml
|
||||||
protobuf
|
protobuf
|
||||||
|
gnuradio3_8.pkgs.osmosdr
|
||||||
|
libpcap
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
# Remove gcc and python references
|
# Remove gcc and python references
|
||||||
, removeReferencesTo
|
, removeReferencesTo
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
, volk
|
||||||
, cppunit
|
, cppunit
|
||||||
, swig
|
, swig
|
||||||
, orc
|
, orc
|
||||||
|
@ -43,11 +44,12 @@
|
||||||
minor = "14";
|
minor = "14";
|
||||||
patch = "0";
|
patch = "0";
|
||||||
}
|
}
|
||||||
, fetchSubmodules ? true
|
# We use our build of volk and not the one bundled with the release
|
||||||
|
, fetchSubmodules ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
sourceSha256 = "1nh4f9dmygprlbqybd3j1byg9fsr6065n140mvc4b0v8qqygmhrc";
|
sourceSha256 = "BiUDibXV/5cEYmAAaIxT4WTxF/ni4MJumF5oJ/vuOyc=";
|
||||||
featuresInfo = {
|
featuresInfo = {
|
||||||
# Needed always
|
# Needed always
|
||||||
basic = {
|
basic = {
|
||||||
|
@ -61,6 +63,9 @@ let
|
||||||
};
|
};
|
||||||
volk = {
|
volk = {
|
||||||
cmakeEnableFlag = "VOLK";
|
cmakeEnableFlag = "VOLK";
|
||||||
|
runtime = [
|
||||||
|
volk
|
||||||
|
];
|
||||||
};
|
};
|
||||||
doxygen = {
|
doxygen = {
|
||||||
native = [ doxygen ];
|
native = [ doxygen ];
|
||||||
|
@ -213,19 +218,29 @@ let
|
||||||
qt = qt4;
|
qt = qt4;
|
||||||
gtk = gtk2;
|
gtk = gtk2;
|
||||||
});
|
});
|
||||||
|
inherit (shared) hasFeature; # function
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
inherit pname;
|
||||||
inherit (shared)
|
inherit (shared)
|
||||||
version
|
version
|
||||||
src
|
src
|
||||||
hasFeature # function
|
|
||||||
nativeBuildInputs
|
nativeBuildInputs
|
||||||
buildInputs
|
buildInputs
|
||||||
disallowedReferences
|
disallowedReferences
|
||||||
postInstall
|
postInstall
|
||||||
passthru
|
|
||||||
doCheck
|
doCheck
|
||||||
dontWrapPythonPrograms
|
dontWrapPythonPrograms
|
||||||
meta
|
meta
|
||||||
;
|
;
|
||||||
|
|
||||||
|
passthru = shared.passthru // {
|
||||||
|
# Deps that are potentially overriden and are used inside GR plugins - the same version must
|
||||||
|
inherit boost volk;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gr-uhd" features) {
|
||||||
|
inherit uhd;
|
||||||
|
};
|
||||||
cmakeFlags = shared.cmakeFlags
|
cmakeFlags = shared.cmakeFlags
|
||||||
# From some reason, if these are not set, libcodec2 and gsm are
|
# From some reason, if these are not set, libcodec2 and gsm are
|
||||||
# not detected properly (slightly different then what's in
|
# not detected properly (slightly different then what's in
|
||||||
|
@ -236,6 +251,9 @@ let
|
||||||
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
|
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
|
||||||
"-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm"
|
"-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm"
|
||||||
]
|
]
|
||||||
|
++ lib.optionals (hasFeature "volk" features && volk != null) [
|
||||||
|
"-DENABLE_INTERNAL_VOLK=OFF"
|
||||||
|
]
|
||||||
;
|
;
|
||||||
stripDebugList = shared.stripDebugList
|
stripDebugList = shared.stripDebugList
|
||||||
# gr-fcd feature was dropped in 3.8
|
# gr-fcd feature was dropped in 3.8
|
||||||
|
@ -250,15 +268,6 @@ let
|
||||||
+ lib.optionalString (hasFeature "gnuradio-companion" features) ''
|
+ lib.optionalString (hasFeature "gnuradio-companion" features) ''
|
||||||
sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
|
sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
|
||||||
''
|
''
|
||||||
# If python-support is disabled, don't install volk's (git submodule)
|
|
||||||
# volk_modtool - it references python.
|
|
||||||
#
|
|
||||||
# NOTE: The same is done for 3.8, but we don't put this string in
|
|
||||||
# ./shared.nix since on the next release of 3.8 it won't be needed there,
|
|
||||||
# but it will be needed for 3.7, probably for ever.
|
|
||||||
+ lib.optionalString (!hasFeature "python-support" features) ''
|
|
||||||
sed -i -e "/python\/volk_modtool/d" volk/CMakeLists.txt
|
|
||||||
''
|
|
||||||
;
|
;
|
||||||
patches = [
|
patches = [
|
||||||
# Don't install python referencing files if python support is disabled.
|
# Don't install python referencing files if python support is disabled.
|
||||||
|
@ -272,24 +281,4 @@ let
|
||||||
sha256 = "2Pitgu8accs16B5X5+/q51hr+IY9DMsA15f56gAtBs8=";
|
sha256 = "2Pitgu8accs16B5X5+/q51hr+IY9DMsA15f56gAtBs8=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
inherit
|
|
||||||
pname
|
|
||||||
version
|
|
||||||
src
|
|
||||||
nativeBuildInputs
|
|
||||||
buildInputs
|
|
||||||
cmakeFlags
|
|
||||||
preConfigure
|
|
||||||
# disallowedReferences
|
|
||||||
stripDebugList
|
|
||||||
patches
|
|
||||||
postInstall
|
|
||||||
passthru
|
|
||||||
doCheck
|
|
||||||
dontWrapPythonPrograms
|
|
||||||
meta
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
284
pkgs/applications/radio/gnuradio/3.8.nix
Normal file
284
pkgs/applications/radio/gnuradio/3.8.nix
Normal file
|
@ -0,0 +1,284 @@
|
||||||
|
{ lib, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, cmake
|
||||||
|
# Remove gcc and python references
|
||||||
|
, removeReferencesTo
|
||||||
|
, pkg-config
|
||||||
|
, volk
|
||||||
|
, cppunit
|
||||||
|
, swig
|
||||||
|
, orc
|
||||||
|
, boost
|
||||||
|
, log4cpp
|
||||||
|
, mpir
|
||||||
|
, doxygen
|
||||||
|
, python
|
||||||
|
, codec2
|
||||||
|
, gsm
|
||||||
|
, fftwFloat
|
||||||
|
, alsaLib
|
||||||
|
, libjack2
|
||||||
|
, CoreAudio
|
||||||
|
, uhd
|
||||||
|
, SDL
|
||||||
|
, gsl
|
||||||
|
, cppzmq
|
||||||
|
, zeromq
|
||||||
|
# Needed only if qt-gui is disabled, from some reason
|
||||||
|
, icu
|
||||||
|
# GUI related
|
||||||
|
, gtk3
|
||||||
|
, pango
|
||||||
|
, gobject-introspection
|
||||||
|
, cairo
|
||||||
|
, qt5
|
||||||
|
, libsForQt5
|
||||||
|
# Features available to override, the list of them is in featuresInfo. They
|
||||||
|
# are all turned on by default.
|
||||||
|
, features ? {}
|
||||||
|
# If one wishes to use a different src or name for a very custom build
|
||||||
|
, overrideSrc ? {}
|
||||||
|
, pname ? "gnuradio"
|
||||||
|
, versionAttr ? {
|
||||||
|
major = "3.8";
|
||||||
|
minor = "2";
|
||||||
|
patch = "0";
|
||||||
|
}
|
||||||
|
# We use our build of volk and not the one bundled with the release
|
||||||
|
, fetchSubmodules ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
sourceSha256 = "SFDjtyQRp0fXijZukpLYtISpx8imxedlYN9mRibv1eA=";
|
||||||
|
featuresInfo = {
|
||||||
|
# Needed always
|
||||||
|
basic = {
|
||||||
|
native = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
orc
|
||||||
|
];
|
||||||
|
runtime = [
|
||||||
|
boost
|
||||||
|
log4cpp
|
||||||
|
mpir
|
||||||
|
]
|
||||||
|
# when gr-qtgui is disabled, icu needs to be included, otherwise
|
||||||
|
# building with boost 1.7x fails
|
||||||
|
++ lib.optionals (!(hasFeature "gr-qtgui" features)) [ icu ];
|
||||||
|
pythonNative = with python.pkgs; [
|
||||||
|
Mako
|
||||||
|
six
|
||||||
|
];
|
||||||
|
};
|
||||||
|
volk = {
|
||||||
|
cmakeEnableFlag = "VOLK";
|
||||||
|
runtime = [
|
||||||
|
volk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
doxygen = {
|
||||||
|
native = [ doxygen ];
|
||||||
|
cmakeEnableFlag = "DOXYGEN";
|
||||||
|
};
|
||||||
|
sphinx = {
|
||||||
|
pythonNative = with python.pkgs; [ sphinx ];
|
||||||
|
cmakeEnableFlag = "SPHINX";
|
||||||
|
};
|
||||||
|
python-support = {
|
||||||
|
pythonRuntime = [ python.pkgs.six ];
|
||||||
|
native = [
|
||||||
|
swig
|
||||||
|
python
|
||||||
|
];
|
||||||
|
cmakeEnableFlag = "PYTHON";
|
||||||
|
};
|
||||||
|
testing-support = {
|
||||||
|
native = [ cppunit ];
|
||||||
|
cmakeEnableFlag = "TESTING";
|
||||||
|
};
|
||||||
|
gnuradio-runtime = {
|
||||||
|
cmakeEnableFlag = "GNURADIO_RUNTIME";
|
||||||
|
};
|
||||||
|
gr-ctrlport = {
|
||||||
|
# Thrift support is not really working well, and even the patch they
|
||||||
|
# recommend applying on 0.9.2 won't apply. See:
|
||||||
|
# https://github.com/gnuradio/gnuradio/blob/v3.8.2.0/gnuradio-runtime/lib/controlport/thrift/README
|
||||||
|
cmakeEnableFlag = "GR_CTRLPORT";
|
||||||
|
native = [
|
||||||
|
swig
|
||||||
|
];
|
||||||
|
};
|
||||||
|
gnuradio-companion = {
|
||||||
|
pythonRuntime = with python.pkgs; [
|
||||||
|
pyyaml
|
||||||
|
Mako
|
||||||
|
numpy
|
||||||
|
pygobject3
|
||||||
|
];
|
||||||
|
runtime = [
|
||||||
|
gtk3
|
||||||
|
pango
|
||||||
|
gobject-introspection
|
||||||
|
cairo
|
||||||
|
];
|
||||||
|
cmakeEnableFlag = "GRC";
|
||||||
|
};
|
||||||
|
gr-blocks = {
|
||||||
|
cmakeEnableFlag = "GR_BLOCKS";
|
||||||
|
};
|
||||||
|
gr-fec = {
|
||||||
|
cmakeEnableFlag = "GR_FEC";
|
||||||
|
};
|
||||||
|
gr-fft = {
|
||||||
|
runtime = [ fftwFloat ];
|
||||||
|
cmakeEnableFlag = "GR_FFT";
|
||||||
|
};
|
||||||
|
gr-filter = {
|
||||||
|
runtime = [ fftwFloat ];
|
||||||
|
cmakeEnableFlag = "GR_FILTER";
|
||||||
|
};
|
||||||
|
gr-analog = {
|
||||||
|
cmakeEnableFlag = "GR_ANALOG";
|
||||||
|
};
|
||||||
|
gr-digital = {
|
||||||
|
cmakeEnableFlag = "GR_DIGITAL";
|
||||||
|
};
|
||||||
|
gr-dtv = {
|
||||||
|
cmakeEnableFlag = "GR_DTV";
|
||||||
|
};
|
||||||
|
gr-audio = {
|
||||||
|
runtime = []
|
||||||
|
++ lib.optionals stdenv.isLinux [ alsaLib libjack2 ]
|
||||||
|
++ lib.optionals stdenv.isDarwin [ CoreAudio ]
|
||||||
|
;
|
||||||
|
cmakeEnableFlag = "GR_AUDIO";
|
||||||
|
};
|
||||||
|
gr-channels = {
|
||||||
|
cmakeEnableFlag = "GR_CHANNELS";
|
||||||
|
};
|
||||||
|
gr-qtgui = {
|
||||||
|
runtime = [ qt5.qtbase libsForQt5.qwt ];
|
||||||
|
pythonRuntime = [ python.pkgs.pyqt5 ];
|
||||||
|
cmakeEnableFlag = "GR_QTGUI";
|
||||||
|
};
|
||||||
|
gr-trellis = {
|
||||||
|
cmakeEnableFlag = "GR_TRELLIS";
|
||||||
|
};
|
||||||
|
gr-uhd = {
|
||||||
|
runtime = [ uhd ];
|
||||||
|
cmakeEnableFlag = "GR_UHD";
|
||||||
|
};
|
||||||
|
gr-utils = {
|
||||||
|
cmakeEnableFlag = "GR_UTILS";
|
||||||
|
};
|
||||||
|
gr-modtool = {
|
||||||
|
pythonRuntime = with python.pkgs; [
|
||||||
|
click
|
||||||
|
click-plugins
|
||||||
|
];
|
||||||
|
cmakeEnableFlag = "GR_MODTOOL";
|
||||||
|
};
|
||||||
|
gr-video-sdl = {
|
||||||
|
runtime = [ SDL ];
|
||||||
|
cmakeEnableFlag = "GR_VIDEO_SDL";
|
||||||
|
};
|
||||||
|
gr-vocoder = {
|
||||||
|
runtime = [ codec2 gsm ];
|
||||||
|
cmakeEnableFlag = "GR_VOCODER";
|
||||||
|
};
|
||||||
|
gr-wavelet = {
|
||||||
|
cmakeEnableFlag = "GR_WAVELET";
|
||||||
|
runtime = [ gsl ];
|
||||||
|
};
|
||||||
|
gr-zeromq = {
|
||||||
|
runtime = [ cppzmq zeromq ];
|
||||||
|
cmakeEnableFlag = "GR_ZEROMQ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
shared = (import ./shared.nix {
|
||||||
|
inherit
|
||||||
|
stdenv
|
||||||
|
lib
|
||||||
|
python
|
||||||
|
removeReferencesTo
|
||||||
|
featuresInfo
|
||||||
|
features
|
||||||
|
versionAttr
|
||||||
|
sourceSha256
|
||||||
|
overrideSrc
|
||||||
|
fetchFromGitHub
|
||||||
|
fetchSubmodules
|
||||||
|
;
|
||||||
|
qt = qt5;
|
||||||
|
gtk = gtk3;
|
||||||
|
});
|
||||||
|
inherit (shared) hasFeature; # function
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
inherit pname;
|
||||||
|
inherit (shared)
|
||||||
|
version
|
||||||
|
src
|
||||||
|
nativeBuildInputs
|
||||||
|
buildInputs
|
||||||
|
disallowedReferences
|
||||||
|
stripDebugList
|
||||||
|
doCheck
|
||||||
|
dontWrapPythonPrograms
|
||||||
|
dontWrapQtApps
|
||||||
|
meta
|
||||||
|
;
|
||||||
|
passthru = shared.passthru // {
|
||||||
|
# Deps that are potentially overriden and are used inside GR plugins - the same version must
|
||||||
|
inherit boost volk;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gr-uhd" features) {
|
||||||
|
inherit uhd;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
|
||||||
|
inherit (libsForQt5) qwt;
|
||||||
|
};
|
||||||
|
cmakeFlags = shared.cmakeFlags
|
||||||
|
# From some reason, if these are not set, libcodec2 and gsm are not
|
||||||
|
# detected properly. NOTE: qradiolink needs libcodec2 to be detected in
|
||||||
|
# order to build, see https://github.com/qradiolink/qradiolink/issues/67
|
||||||
|
++ lib.optionals (hasFeature "gr-vocoder" features) [
|
||||||
|
"-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
|
||||||
|
"-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
|
||||||
|
"-DLIBCODEC2_HAS_FREEDV_API=ON"
|
||||||
|
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
|
||||||
|
"-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
|
||||||
|
]
|
||||||
|
++ lib.optionals (hasFeature "volk" features && volk != null) [
|
||||||
|
"-DENABLE_INTERNAL_VOLK=OFF"
|
||||||
|
]
|
||||||
|
;
|
||||||
|
|
||||||
|
postInstall = shared.postInstall
|
||||||
|
# This is the only python reference worth removing, if needed (3.7 doesn't
|
||||||
|
# set that reference).
|
||||||
|
+ lib.optionalString (!hasFeature "python-support" features) ''
|
||||||
|
${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
|
||||||
|
''
|
||||||
|
;
|
||||||
|
patches = [
|
||||||
|
# Don't install python referencing files if python support is disabled.
|
||||||
|
# See: https://github.com/gnuradio/gnuradio/pull/3839
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/gnuradio/gnuradio/commit/4a4fd570b398b0b50fe875fcf0eb9c9db2ea5c6e.diff";
|
||||||
|
sha256 = "xz2E0ji6zfdOAhjfPecAcaVOIls1XP8JngLkBbBBW5Q=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/gnuradio/gnuradio/commit/dbc8ad7e7361fddc7b1dbc267c07a776a3f9664b.diff";
|
||||||
|
sha256 = "tQcCpcUbJv3yqAX8rSHN/pAuBq4ueEvoVo7sNzZGvf4=";
|
||||||
|
})
|
||||||
|
# Needed to use boost 1.7x, see:
|
||||||
|
# https://github.com/gnuradio/gnuradio/issues/3720
|
||||||
|
# https://github.com/gnuradio/gnuradio/pull/3967
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/gnuradio/gnuradio/commit/cbcb968358fad56f3646619b258f18b0e6693a07.diff";
|
||||||
|
sha256 = "1ajf4797f869lqv436xw61s29qdbn7f01i0970kfxv3yahd34p9v";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,53 +0,0 @@
|
||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, cmake
|
|
||||||
, pkg-config
|
|
||||||
, boost
|
|
||||||
, gnuradio
|
|
||||||
, makeWrapper
|
|
||||||
, cppunit
|
|
||||||
, gr-osmosdr
|
|
||||||
, log4cpp
|
|
||||||
, pythonSupport ? true
|
|
||||||
, python
|
|
||||||
, swig
|
|
||||||
, fetchpatch
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "gr-ais";
|
|
||||||
version = "2015-12-20";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "bistromath";
|
|
||||||
repo = "gr-ais";
|
|
||||||
rev = "cdc1f52745853f9c739c718251830eb69704b26e";
|
|
||||||
sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054.patch";
|
|
||||||
sha256 = "1cwalphldvf6dbhzwz1gi53z0cb4921qsvlz4138q7m6dxccvssg";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake makeWrapper pkg-config ];
|
|
||||||
buildInputs = [ boost gnuradio cppunit gr-osmosdr log4cpp ]
|
|
||||||
++ lib.optionals pythonSupport [ python swig ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for prog in "$out"/bin/*; do
|
|
||||||
wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Gnuradio block for ais";
|
|
||||||
homepage = "https://github.com/bistromath/gr-ais";
|
|
||||||
license = licenses.gpl3Plus;
|
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
|
||||||
maintainers = with maintainers; [ mog ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -5,8 +5,8 @@
|
||||||
# Remove gcc and python references
|
# Remove gcc and python references
|
||||||
, removeReferencesTo
|
, removeReferencesTo
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
, volk
|
||||||
, cppunit
|
, cppunit
|
||||||
, swig
|
|
||||||
, orc
|
, orc
|
||||||
, boost
|
, boost
|
||||||
, log4cpp
|
, log4cpp
|
||||||
|
@ -22,8 +22,13 @@
|
||||||
, uhd
|
, uhd
|
||||||
, SDL
|
, SDL
|
||||||
, gsl
|
, gsl
|
||||||
|
, libsodium
|
||||||
|
, libsndfile
|
||||||
|
, libunwind
|
||||||
, cppzmq
|
, cppzmq
|
||||||
, zeromq
|
, zeromq
|
||||||
|
# Needed only if qt-gui is disabled, from some reason
|
||||||
|
, icu
|
||||||
# GUI related
|
# GUI related
|
||||||
, gtk3
|
, gtk3
|
||||||
, pango
|
, pango
|
||||||
|
@ -38,16 +43,15 @@
|
||||||
, overrideSrc ? {}
|
, overrideSrc ? {}
|
||||||
, pname ? "gnuradio"
|
, pname ? "gnuradio"
|
||||||
, versionAttr ? {
|
, versionAttr ? {
|
||||||
major = "3.8";
|
major = "3.9";
|
||||||
minor = "2";
|
minor = "0";
|
||||||
patch = "0";
|
patch = "0";
|
||||||
}
|
}
|
||||||
# Should be false on the release after 3.8.2.0
|
, fetchSubmodules ? false
|
||||||
, fetchSubmodules ? true
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
sourceSha256 = "1mnfwdy7w3160vi6110x2qkyq8l78qi8771zwak9n72bl7lhhpnf";
|
sourceSha256 = "ZjQzioAuWrd8jsYOnLNH1mK4n9EbrjgvPX3mTzVFdLk=";
|
||||||
featuresInfo = {
|
featuresInfo = {
|
||||||
# Needed always
|
# Needed always
|
||||||
basic = {
|
basic = {
|
||||||
|
@ -57,32 +61,26 @@ let
|
||||||
orc
|
orc
|
||||||
];
|
];
|
||||||
runtime = [
|
runtime = [
|
||||||
|
volk
|
||||||
boost
|
boost
|
||||||
log4cpp
|
log4cpp
|
||||||
mpir
|
mpir
|
||||||
];
|
]
|
||||||
|
# when gr-qtgui is disabled, icu needs to be included, otherwise
|
||||||
|
# building with boost 1.7x fails
|
||||||
|
++ lib.optionals (!(hasFeature "gr-qtgui" features)) [ icu ];
|
||||||
pythonNative = with python.pkgs; [
|
pythonNative = with python.pkgs; [
|
||||||
Mako
|
Mako
|
||||||
six
|
six
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# NOTE: Should be removed on the release after 3.8.2.0, see:
|
|
||||||
# https://github.com/gnuradio/gnuradio/commit/80c04479d
|
|
||||||
volk = {
|
|
||||||
cmakeEnableFlag = "VOLK";
|
|
||||||
};
|
|
||||||
doxygen = {
|
doxygen = {
|
||||||
native = [ doxygen ];
|
native = [ doxygen ];
|
||||||
cmakeEnableFlag = "DOXYGEN";
|
cmakeEnableFlag = "DOXYGEN";
|
||||||
};
|
};
|
||||||
sphinx = {
|
|
||||||
pythonNative = with python.pkgs; [ sphinx ];
|
|
||||||
cmakeEnableFlag = "SPHINX";
|
|
||||||
};
|
|
||||||
python-support = {
|
python-support = {
|
||||||
pythonRuntime = [ python.pkgs.six ];
|
pythonRuntime = [ python.pkgs.six ];
|
||||||
native = [
|
native = [
|
||||||
swig
|
|
||||||
python
|
python
|
||||||
];
|
];
|
||||||
cmakeEnableFlag = "PYTHON";
|
cmakeEnableFlag = "PYTHON";
|
||||||
|
@ -91,17 +89,23 @@ let
|
||||||
native = [ cppunit ];
|
native = [ cppunit ];
|
||||||
cmakeEnableFlag = "TESTING";
|
cmakeEnableFlag = "TESTING";
|
||||||
};
|
};
|
||||||
|
post-install = {
|
||||||
|
cmakeEnableFlag = "POSTINSTALL";
|
||||||
|
};
|
||||||
gnuradio-runtime = {
|
gnuradio-runtime = {
|
||||||
cmakeEnableFlag = "GNURADIO_RUNTIME";
|
cmakeEnableFlag = "GNURADIO_RUNTIME";
|
||||||
|
pythonRuntime = [
|
||||||
|
python.pkgs.pybind11
|
||||||
|
];
|
||||||
};
|
};
|
||||||
gr-ctrlport = {
|
gr-ctrlport = {
|
||||||
# Thrift support is not really working well, and even the patch they
|
# Thrift support is not really working well, and even the patch they
|
||||||
# recommend applying on 0.9.2 won't apply. See:
|
# recommend applying on 0.9.2 won't apply. See:
|
||||||
# https://github.com/gnuradio/gnuradio/blob/v3.8.2.0/gnuradio-runtime/lib/controlport/thrift/README
|
# https://github.com/gnuradio/gnuradio/blob/v3.9.0.0/gnuradio-runtime/lib/controlport/thrift/README
|
||||||
cmakeEnableFlag = "GR_CTRLPORT";
|
runtime = [
|
||||||
native = [
|
libunwind
|
||||||
swig
|
|
||||||
];
|
];
|
||||||
|
cmakeEnableFlag = "GR_CTRLPORT";
|
||||||
};
|
};
|
||||||
gnuradio-companion = {
|
gnuradio-companion = {
|
||||||
pythonRuntime = with python.pkgs; [
|
pythonRuntime = with python.pkgs; [
|
||||||
|
@ -110,11 +114,15 @@ let
|
||||||
numpy
|
numpy
|
||||||
pygobject3
|
pygobject3
|
||||||
];
|
];
|
||||||
|
native = [
|
||||||
|
python.pkgs.pytest
|
||||||
|
];
|
||||||
runtime = [
|
runtime = [
|
||||||
gtk3
|
gtk3
|
||||||
pango
|
pango
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
cairo
|
cairo
|
||||||
|
libsndfile
|
||||||
];
|
];
|
||||||
cmakeEnableFlag = "GRC";
|
cmakeEnableFlag = "GRC";
|
||||||
};
|
};
|
||||||
|
@ -160,7 +168,9 @@ let
|
||||||
cmakeEnableFlag = "GR_TRELLIS";
|
cmakeEnableFlag = "GR_TRELLIS";
|
||||||
};
|
};
|
||||||
gr-uhd = {
|
gr-uhd = {
|
||||||
runtime = [ uhd ];
|
runtime = [
|
||||||
|
uhd
|
||||||
|
];
|
||||||
cmakeEnableFlag = "GR_UHD";
|
cmakeEnableFlag = "GR_UHD";
|
||||||
};
|
};
|
||||||
gr-utils = {
|
gr-utils = {
|
||||||
|
@ -173,22 +183,29 @@ let
|
||||||
];
|
];
|
||||||
cmakeEnableFlag = "GR_MODTOOL";
|
cmakeEnableFlag = "GR_MODTOOL";
|
||||||
};
|
};
|
||||||
|
gr-blocktool = {
|
||||||
|
cmakeEnableFlag = "GR_BLOCKTOOL";
|
||||||
|
};
|
||||||
gr-video-sdl = {
|
gr-video-sdl = {
|
||||||
runtime = [ SDL ];
|
runtime = [ SDL ];
|
||||||
cmakeEnableFlag = "GR_VIDEO_SDL";
|
cmakeEnableFlag = "GR_VIDEO_SDL";
|
||||||
};
|
};
|
||||||
gr-vocoder = {
|
# codec2 and gsm support is broken with gr3.9: https://github.com/gnuradio/gnuradio/issues/4278
|
||||||
runtime = [ codec2 gsm ];
|
# gr-vocoder = {
|
||||||
cmakeEnableFlag = "GR_VOCODER";
|
# runtime = [ codec2 gsm ];
|
||||||
};
|
# cmakeEnableFlag = "GR_VOCODER";
|
||||||
|
# };
|
||||||
gr-wavelet = {
|
gr-wavelet = {
|
||||||
cmakeEnableFlag = "GR_WAVELET";
|
cmakeEnableFlag = "GR_WAVELET";
|
||||||
runtime = [ gsl ];
|
runtime = [ gsl libsodium ];
|
||||||
};
|
};
|
||||||
gr-zeromq = {
|
gr-zeromq = {
|
||||||
runtime = [ cppzmq zeromq ];
|
runtime = [ cppzmq zeromq ];
|
||||||
cmakeEnableFlag = "GR_ZEROMQ";
|
cmakeEnableFlag = "GR_ZEROMQ";
|
||||||
};
|
};
|
||||||
|
gr-network = {
|
||||||
|
cmakeEnableFlag = "GR_NETWORK";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
shared = (import ./shared.nix {
|
shared = (import ./shared.nix {
|
||||||
inherit
|
inherit
|
||||||
|
@ -207,84 +224,42 @@ let
|
||||||
qt = qt5;
|
qt = qt5;
|
||||||
gtk = gtk3;
|
gtk = gtk3;
|
||||||
});
|
});
|
||||||
inherit (shared)
|
inherit (shared) hasFeature; # function
|
||||||
version
|
|
||||||
src
|
|
||||||
hasFeature # function
|
|
||||||
nativeBuildInputs
|
|
||||||
buildInputs
|
|
||||||
disallowedReferences
|
|
||||||
stripDebugList
|
|
||||||
passthru
|
|
||||||
doCheck
|
|
||||||
dontWrapPythonPrograms
|
|
||||||
dontWrapQtApps
|
|
||||||
meta
|
|
||||||
;
|
|
||||||
cmakeFlags = shared.cmakeFlags
|
|
||||||
# From some reason, if these are not set, libcodec2 and gsm are not
|
|
||||||
# detected properly. NOTE: qradiolink needs libcodec2 to be detected in
|
|
||||||
# order to build, see https://github.com/qradiolink/qradiolink/issues/67
|
|
||||||
++ lib.optionals (hasFeature "gr-vocoder" features) [
|
|
||||||
"-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
|
|
||||||
"-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
|
|
||||||
"-DLIBCODEC2_HAS_FREEDV_API=ON"
|
|
||||||
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
|
|
||||||
"-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
|
|
||||||
]
|
|
||||||
;
|
|
||||||
|
|
||||||
postInstall = shared.postInstall
|
|
||||||
# This is the only python reference worth removing, if needed (3.7 doesn't
|
|
||||||
# set that reference).
|
|
||||||
+ lib.optionalString (!hasFeature "python-support" features) ''
|
|
||||||
${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
|
|
||||||
''
|
|
||||||
;
|
|
||||||
preConfigure = ""
|
|
||||||
# If python-support is disabled, don't install volk's (git submodule)
|
|
||||||
# volk_modtool - it references python.
|
|
||||||
#
|
|
||||||
# NOTE: on the next release, volk will always be required to be installed
|
|
||||||
# externally (submodule removed upstream). Hence this hook will fail and
|
|
||||||
# we'll need to package volk while able to tell it to install or not
|
|
||||||
# install python referencing files. When we'll be there, this will help:
|
|
||||||
# https://github.com/gnuradio/volk/pull/404
|
|
||||||
+ lib.optionalString (!hasFeature "python-support" features) ''
|
|
||||||
sed -i -e "/python\/volk_modtool/d" volk/CMakeLists.txt
|
|
||||||
''
|
|
||||||
;
|
|
||||||
patches = [
|
|
||||||
# Don't install python referencing files if python support is disabled.
|
|
||||||
# See: https://github.com/gnuradio/gnuradio/pull/3839
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/gnuradio/gnuradio/commit/4a4fd570b398b0b50fe875fcf0eb9c9db2ea5c6e.diff";
|
|
||||||
sha256 = "xz2E0ji6zfdOAhjfPecAcaVOIls1XP8JngLkBbBBW5Q=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/gnuradio/gnuradio/commit/dbc8ad7e7361fddc7b1dbc267c07a776a3f9664b.diff";
|
|
||||||
sha256 = "tQcCpcUbJv3yqAX8rSHN/pAuBq4ueEvoVo7sNzZGvf4=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit
|
inherit pname;
|
||||||
pname
|
inherit (shared)
|
||||||
version
|
version
|
||||||
src
|
src
|
||||||
nativeBuildInputs
|
nativeBuildInputs
|
||||||
buildInputs
|
buildInputs
|
||||||
cmakeFlags
|
cmakeFlags
|
||||||
preConfigure
|
disallowedReferences
|
||||||
# disallowedReferences
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
patches
|
|
||||||
postInstall
|
|
||||||
passthru
|
|
||||||
doCheck
|
doCheck
|
||||||
dontWrapPythonPrograms
|
dontWrapPythonPrograms
|
||||||
dontWrapQtApps
|
dontWrapQtApps
|
||||||
meta
|
meta
|
||||||
;
|
;
|
||||||
|
passthru = shared.passthru // {
|
||||||
|
# Deps that are potentially overriden and are used inside GR plugins - the same version must
|
||||||
|
inherit boost volk;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gr-uhd" features) {
|
||||||
|
inherit uhd;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
|
||||||
|
inherit (libsForQt5) qwt;
|
||||||
|
};
|
||||||
|
|
||||||
|
postInstall = shared.postInstall
|
||||||
|
# This is the only python reference worth removing, if needed.
|
||||||
|
# Even if python support is enabled, and we don't care about this
|
||||||
|
# reference, pybind's path is not properly set. See:
|
||||||
|
# https://github.com/gnuradio/gnuradio/issues/4380
|
||||||
|
+ lib.optionalString (!hasFeature "python-support" features) ''
|
||||||
|
${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
|
||||||
|
${removeReferencesTo}/bin/remove-references-to -t ${python} $(readlink -f $out/lib/libgnuradio-runtime.so)
|
||||||
|
${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake
|
||||||
|
''
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, gnuradio, log4cpp
|
|
||||||
, makeWrapper, cppunit, libosmocore, gr-osmosdr
|
|
||||||
, pythonSupport ? true, python, swig
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert pythonSupport -> python != null && swig != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "gr-gsm";
|
|
||||||
version = "2016-08-25";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "ptrkrysik";
|
|
||||||
repo = "gr-gsm";
|
|
||||||
rev = "3ca05e6914ef29eb536da5dbec323701fbc2050d";
|
|
||||||
sha256 = "13nnq927kpf91iqccr8db9ripy5czjl5jiyivizn6bia0bam2pvx";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
buildInputs = [
|
|
||||||
boost gnuradio makeWrapper cppunit libosmocore gr-osmosdr log4cpp
|
|
||||||
] ++ lib.optionals pythonSupport [ python swig ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for prog in "$out"/bin/*; do
|
|
||||||
wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:${gr-osmosdr}/lib/${python.libPrefix}/site-packages:$(toPythonPath "$out")
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Gnuradio block for gsm";
|
|
||||||
homepage = "https://github.com/ptrkrysik/gr-gsm";
|
|
||||||
license = licenses.gpl3Plus;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ mog ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, gnuradio
|
|
||||||
, pythonSupport ? true, python, swig, limesuite, log4cpp
|
|
||||||
} :
|
|
||||||
|
|
||||||
assert pythonSupport -> python != null && swig != null;
|
|
||||||
|
|
||||||
let
|
|
||||||
version = "2.0.0";
|
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
pname = "gr-limesdr";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "myriadrf";
|
|
||||||
repo = "gr-limesdr";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
pkg-config
|
|
||||||
] ++ lib.optionals pythonSupport [ swig ];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
boost gnuradio limesuite log4cpp
|
|
||||||
] ++ lib.optionals pythonSupport [ python ];
|
|
||||||
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Gnuradio source and sink blocks for LimeSDR";
|
|
||||||
homepage = "https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio";
|
|
||||||
license = licenses.mit;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = [ maintainers.markuskowa ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,45 +0,0 @@
|
||||||
{ lib, stdenv, fetchgit, cmake, pkg-config, makeWrapper
|
|
||||||
, boost
|
|
||||||
, pythonSupport ? true, python, swig
|
|
||||||
, airspy
|
|
||||||
, gnuradio
|
|
||||||
, hackrf
|
|
||||||
, libbladeRF
|
|
||||||
, rtl-sdr
|
|
||||||
, soapysdr-with-plugins
|
|
||||||
, uhd
|
|
||||||
, log4cpp
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert pythonSupport -> python != null && swig != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "gr-osmosdr";
|
|
||||||
version = "0.1.5";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "git://git.osmocom.org/gr-osmosdr";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake makeWrapper pkg-config ];
|
|
||||||
buildInputs = [
|
|
||||||
boost log4cpp airspy gnuradio hackrf libbladeRF rtl-sdr uhd
|
|
||||||
] ++ lib.optionals stdenv.isLinux [ soapysdr-with-plugins ]
|
|
||||||
++ lib.optionals pythonSupport [ python swig python.pkgs.cheetah ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for prog in "$out"/bin/*; do
|
|
||||||
wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Gnuradio block for OsmoSDR and rtl-sdr";
|
|
||||||
homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR";
|
|
||||||
license = licenses.gpl3Plus;
|
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
|
||||||
maintainers = with maintainers; [ bjornfor ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, gnuradio, log4cpp
|
|
||||||
, makeWrapper, pythonSupport ? true, python, swig
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert pythonSupport -> python != null && swig != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "gr-rds";
|
|
||||||
version = "1.1.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "bastibl";
|
|
||||||
repo = "gr-rds";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0jkzchvw0ivcxsjhi1h0mf7k13araxf5m4wi5v9xdgqxvipjzqfy";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
buildInputs = [
|
|
||||||
boost gnuradio makeWrapper log4cpp
|
|
||||||
] ++ lib.optionals pythonSupport [ python swig ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for prog in "$out"/bin/*; do
|
|
||||||
wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Gnuradio block for radio data system";
|
|
||||||
homepage = "https://github.com/bastibl/gr-rds";
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
|
||||||
maintainers = with maintainers; [ mog ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -85,9 +85,6 @@ rec {
|
||||||
;
|
;
|
||||||
postInstall = ""
|
postInstall = ""
|
||||||
# Gcc references
|
# Gcc references
|
||||||
+ lib.optionalString (hasFeature "volk" features) ''
|
|
||||||
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
|
|
||||||
''
|
|
||||||
+ lib.optionalString (hasFeature "gnuradio-runtime" features) ''
|
+ lib.optionalString (hasFeature "gnuradio-runtime" features) ''
|
||||||
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libgnuradio-runtime.so)
|
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libgnuradio-runtime.so)
|
||||||
''
|
''
|
||||||
|
@ -103,9 +100,11 @@ rec {
|
||||||
features
|
features
|
||||||
featuresInfo
|
featuresInfo
|
||||||
python
|
python
|
||||||
qt
|
|
||||||
gtk
|
|
||||||
;
|
;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
|
||||||
|
inherit qt;
|
||||||
|
} // lib.optionalAttrs (hasFeature "gnuradio-companion" features) {
|
||||||
|
inherit gtk;
|
||||||
};
|
};
|
||||||
# Wrapping is done with an external wrapper
|
# Wrapping is done with an external wrapper
|
||||||
dontWrapPythonPrograms = true;
|
dontWrapPythonPrograms = true;
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
|
# The unwrapped gnuradio derivation
|
||||||
, unwrapped
|
, unwrapped
|
||||||
|
# If it's a minimal build, we don't want to wrap it with lndir and
|
||||||
|
# wrapProgram..
|
||||||
|
, wrap ? true
|
||||||
|
# For the wrapper
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
# For lndir
|
# For lndir
|
||||||
, xorg
|
, xorg
|
||||||
|
# To define a the gnuradio.pkgs scope
|
||||||
|
, newScope
|
||||||
# For Emulating wrapGAppsHook
|
# For Emulating wrapGAppsHook
|
||||||
, gsettings-desktop-schemas
|
, gsettings-desktop-schemas
|
||||||
, glib
|
, glib
|
||||||
|
@ -37,12 +44,16 @@ let
|
||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
) unwrapped.featuresInfo)
|
) unwrapped.featuresInfo)
|
||||||
++ lib.optionals (unwrapped.hasFeature "python-support" unwrapped.features) [
|
++ lib.optionals
|
||||||
# Add unwrapped itself as a python module
|
(unwrapped.hasFeature "python-support" unwrapped.features)
|
||||||
(unwrapped.python.pkgs.toPythonModule unwrapped)
|
(
|
||||||
]
|
# Add unwrapped itself as a python module
|
||||||
|
[ (unwrapped.python.pkgs.toPythonModule unwrapped) ]
|
||||||
|
# Add all extraPackages as python modules
|
||||||
|
++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages)
|
||||||
|
)
|
||||||
;
|
;
|
||||||
python3Env = unwrapped.python.withPackages(ps: pythonPkgs);
|
pythonEnv = unwrapped.python.withPackages(ps: pythonPkgs);
|
||||||
|
|
||||||
name = (lib.appendToName "wrapped" unwrapped).name;
|
name = (lib.appendToName "wrapped" unwrapped).name;
|
||||||
makeWrapperArgs = builtins.concatStringsSep " " ([
|
makeWrapperArgs = builtins.concatStringsSep " " ([
|
||||||
|
@ -88,48 +99,84 @@ let
|
||||||
(if unwrapped.versionAttr.major == "3.8" then
|
(if unwrapped.versionAttr.major == "3.8" then
|
||||||
[
|
[
|
||||||
"--prefix" "QT_PLUGIN_PATH" ":"
|
"--prefix" "QT_PLUGIN_PATH" ":"
|
||||||
"${lib.getBin unwrapped.qt.qtbase}/${unwrapped.qt.qtbase.qtPluginPrefix}"
|
"${
|
||||||
|
lib.makeSearchPath
|
||||||
|
unwrapped.qt.qtbase.qtPluginPrefix
|
||||||
|
(builtins.map lib.getBin [
|
||||||
|
unwrapped.qt.qtbase
|
||||||
|
unwrapped.qt.qtwayland
|
||||||
|
])
|
||||||
|
}"
|
||||||
"--prefix" "QML2_IMPORT_PATH" ":"
|
"--prefix" "QML2_IMPORT_PATH" ":"
|
||||||
"${lib.getBin unwrapped.qt.qtbase}/${unwrapped.qt.qtbase.qtQmlPrefix}"
|
"${
|
||||||
|
lib.makeSearchPath
|
||||||
|
unwrapped.qt.qtbase.qtQmlPrefix
|
||||||
|
(builtins.map lib.getBin [
|
||||||
|
unwrapped.qt.qtbase
|
||||||
|
unwrapped.qt.qtwayland
|
||||||
|
])
|
||||||
|
}"
|
||||||
]
|
]
|
||||||
else
|
else
|
||||||
# TODO: Add here qt4 related environment for 3.7?
|
# Add here qt4 related environment for 3.7?
|
||||||
[
|
[
|
||||||
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
++ extraMakeWrapperArgs
|
++ extraMakeWrapperArgs
|
||||||
);
|
);
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
buildInputs = [
|
packages = import ../../../top-level/gnuradio-packages.nix {
|
||||||
makeWrapper
|
inherit lib stdenv newScope;
|
||||||
xorg.lndir
|
gnuradio = unwrapped;
|
||||||
];
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
inherit python3Env pythonPkgs unwrapped;
|
|
||||||
};
|
};
|
||||||
|
passthru = unwrapped.passthru // {
|
||||||
buildCommand = ''
|
inherit
|
||||||
mkdir $out
|
pythonEnv
|
||||||
cd $out
|
pythonPkgs
|
||||||
lndir -silent ${unwrapped}
|
unwrapped
|
||||||
for i in $out/bin/*; do
|
;
|
||||||
if [[ ! -x "$i" ]]; then
|
pkgs = packages;
|
||||||
continue
|
};
|
||||||
fi
|
self = if wrap then
|
||||||
cp -L "$i" "$i".tmp
|
stdenv.mkDerivation {
|
||||||
mv -f "$i".tmp "$i"
|
inherit name passthru;
|
||||||
if head -1 "$i" | grep -q ${unwrapped.python}; then
|
buildInputs = [
|
||||||
substituteInPlace "$i" \
|
makeWrapper
|
||||||
--replace ${unwrapped.python} ${python3Env}
|
xorg.lndir
|
||||||
fi
|
];
|
||||||
wrapProgram "$i" ${makeWrapperArgs}
|
buildCommand = ''
|
||||||
done
|
mkdir $out
|
||||||
'';
|
cd $out
|
||||||
|
lndir -silent ${unwrapped}
|
||||||
inherit (unwrapped) meta;
|
${lib.optionalString
|
||||||
}
|
(extraPackages != [])
|
||||||
|
(builtins.concatStringsSep "\n"
|
||||||
|
(builtins.map (pkg: ''
|
||||||
|
if [[ -d ${lib.getBin pkg}/bin/ ]]; then
|
||||||
|
lndir -silent ${pkg}/bin ./bin
|
||||||
|
fi
|
||||||
|
'') extraPackages)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
for i in $out/bin/*; do
|
||||||
|
if [[ ! -x "$i" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
cp -L "$i" "$i".tmp
|
||||||
|
mv -f "$i".tmp "$i"
|
||||||
|
if head -1 "$i" | grep -q ${unwrapped.python}; then
|
||||||
|
substituteInPlace "$i" \
|
||||||
|
--replace ${unwrapped.python} ${pythonEnv}
|
||||||
|
fi
|
||||||
|
wrapProgram "$i" ${makeWrapperArgs}
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
inherit (unwrapped) meta;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
unwrapped.overrideAttrs(_: {
|
||||||
|
inherit passthru;
|
||||||
|
})
|
||||||
|
;
|
||||||
|
in self
|
||||||
|
|
|
@ -1,13 +1,23 @@
|
||||||
{ lib, fetchFromGitHub, cmake, qtbase, qtsvg, gnuradio, boost, gr-osmosdr
|
{ lib
|
||||||
, mkDerivation
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, qt5
|
||||||
|
, gnuradio3_8Minimal
|
||||||
|
, log4cpp
|
||||||
|
, mpir
|
||||||
|
, fftwFloat
|
||||||
|
, alsaLib
|
||||||
|
, libjack2
|
||||||
# drivers (optional):
|
# drivers (optional):
|
||||||
, rtl-sdr, hackrf
|
, rtl-sdr
|
||||||
|
, hackrf
|
||||||
, pulseaudioSupport ? true, libpulseaudio
|
, pulseaudioSupport ? true, libpulseaudio
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert pulseaudioSupport -> libpulseaudio != null;
|
assert pulseaudioSupport -> libpulseaudio != null;
|
||||||
|
|
||||||
mkDerivation rec {
|
gnuradio3_8Minimal.pkgs.mkDerivation rec {
|
||||||
pname = "gqrx";
|
pname = "gqrx";
|
||||||
version = "2.14.4";
|
version = "2.14.4";
|
||||||
|
|
||||||
|
@ -18,9 +28,23 @@ mkDerivation rec {
|
||||||
sha256 = "sha256-mMaxu0jq2GaNLWjLsJQXx+zCxtyiCAZQJJZ8GJtnllQ=";
|
sha256 = "sha256-mMaxu0jq2GaNLWjLsJQXx+zCxtyiCAZQJJZ8GJtnllQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
qt5.wrapQtAppsHook
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase qtsvg gnuradio boost gr-osmosdr rtl-sdr hackrf
|
log4cpp
|
||||||
|
mpir
|
||||||
|
fftwFloat
|
||||||
|
alsaLib
|
||||||
|
libjack2
|
||||||
|
gnuradio3_8Minimal.unwrapped.boost
|
||||||
|
qt5.qtbase
|
||||||
|
qt5.qtsvg
|
||||||
|
gnuradio3_8Minimal.pkgs.osmosdr
|
||||||
|
rtl-sdr
|
||||||
|
hackrf
|
||||||
] ++ lib.optionals pulseaudioSupport [ libpulseaudio ];
|
] ++ lib.optionals pulseaudioSupport [ libpulseaudio ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -1,17 +1,14 @@
|
||||||
{ lib
|
{ lib
|
||||||
, mkDerivation
|
, gnuradio3_8Minimal
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, cmake
|
, cmake
|
||||||
, boost
|
|
||||||
, fftwFloat
|
, fftwFloat
|
||||||
, gnuradio
|
, qt5
|
||||||
, liquid-dsp
|
, liquid-dsp
|
||||||
, qtbase
|
|
||||||
, wrapQtAppsHook
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
gnuradio3_8Minimal.pkgs.mkDerivation rec {
|
||||||
pname = "inspectrum";
|
pname = "inspectrum";
|
||||||
version = "0.2.3";
|
version = "0.2.3";
|
||||||
|
|
||||||
|
@ -22,13 +19,15 @@ mkDerivation rec {
|
||||||
sha256 = "1x6nyn429pk0f7lqzskrgsbq09mq5787xd4piic95add6n1cc355";
|
sha256 = "1x6nyn429pk0f7lqzskrgsbq09mq5787xd4piic95add6n1cc355";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
qt5.wrapQtAppsHook
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
fftwFloat
|
fftwFloat
|
||||||
boost
|
|
||||||
gnuradio
|
|
||||||
liquid-dsp
|
liquid-dsp
|
||||||
qtbase
|
qt5.qtbase
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,51 +1,71 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, alsaLib, boost
|
{ lib
|
||||||
, qt4, libpulseaudio, codec2, libconfig
|
, fetchFromGitHub
|
||||||
, gnuradio, gr-osmosdr, gsm
|
, libpulseaudio
|
||||||
, libopus, libjpeg, protobuf, qwt, speex
|
, libconfig
|
||||||
} :
|
# Needs a gnuradio built with qt gui support
|
||||||
|
, gnuradio3_8
|
||||||
|
# Not gnuradioPackages'
|
||||||
|
, codec2
|
||||||
|
, log4cpp
|
||||||
|
, gmp
|
||||||
|
, gsm
|
||||||
|
, libopus
|
||||||
|
, libjpeg
|
||||||
|
, libsndfile
|
||||||
|
, libftdi
|
||||||
|
, protobuf
|
||||||
|
, speex
|
||||||
|
, speexdsp
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
gnuradio3_8.pkgs.mkDerivation rec {
|
||||||
version = "0.5.0";
|
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
pname = "qradiolink";
|
pname = "qradiolink";
|
||||||
inherit version;
|
version = "0.8.5-2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kantooon";
|
owner = "qradiolink";
|
||||||
repo = "qradiolink";
|
repo = "qradiolink";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0xhg5zhjznmls5m3rhpk1qx0dipxmca12s85w15d0i7qwva2f1gi";
|
sha256 = "MgHfKR3AJW3pIN9oCBr4BWxk1fGSCpLmMzjxvuTmuFA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
cd ext
|
cd src/ext
|
||||||
protoc --cpp_out=. Mumble.proto
|
protoc --cpp_out=. Mumble.proto
|
||||||
protoc --cpp_out=. QRadioLink.proto
|
protoc --cpp_out=. QRadioLink.proto
|
||||||
cd ..
|
cd ../..
|
||||||
qmake
|
qmake
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
install -D qradiolink $out/bin/qradiolink
|
||||||
cp qradiolink $out/bin
|
install -Dm644 src/res/icon.png $out/share/pixmaps/qradiolink.png
|
||||||
|
install -Dm644 qradiolink.desktop $out/share/applications/qradiolink.desktop
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qt4
|
gnuradio3_8.unwrapped.boost
|
||||||
alsaLib
|
|
||||||
boost
|
|
||||||
libpulseaudio
|
|
||||||
codec2
|
codec2
|
||||||
|
log4cpp
|
||||||
|
gmp
|
||||||
|
libpulseaudio
|
||||||
libconfig
|
libconfig
|
||||||
gsm
|
gsm
|
||||||
gnuradio
|
gnuradio3_8.pkgs.osmosdr
|
||||||
gr-osmosdr
|
|
||||||
libopus
|
libopus
|
||||||
libjpeg
|
libjpeg
|
||||||
protobuf
|
|
||||||
speex
|
speex
|
||||||
qwt
|
speexdsp
|
||||||
|
gnuradio3_8.qt.qtbase
|
||||||
|
gnuradio3_8.qt.qtmultimedia
|
||||||
|
libftdi
|
||||||
|
libsndfile
|
||||||
|
gnuradio3_8.qwt
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
protobuf
|
||||||
|
gnuradio3_8.qt.qmake
|
||||||
|
gnuradio3_8.qt.wrapQtAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
159
pkgs/applications/radio/uhd/3.5.nix
Normal file
159
pkgs/applications/radio/uhd/3.5.nix
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
# See https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html for dependencies explanations
|
||||||
|
, boost
|
||||||
|
, enableLibuhd_C_api ? true
|
||||||
|
# requires numpy
|
||||||
|
, enableLibuhd_Python_api ? false
|
||||||
|
, python3
|
||||||
|
, enableExamples ? false
|
||||||
|
, enableUtils ? false
|
||||||
|
, enableLiberio ? false
|
||||||
|
, liberio
|
||||||
|
, libusb1
|
||||||
|
, enableDpdk ? false
|
||||||
|
, dpdk
|
||||||
|
# Devices
|
||||||
|
, enableOctoClock ? true
|
||||||
|
, enableMpmd ? true
|
||||||
|
, enableB100 ? true
|
||||||
|
, enableB200 ? true
|
||||||
|
, enableUsrp1 ? true
|
||||||
|
, enableUsrp2 ? true
|
||||||
|
, enableX300 ? true
|
||||||
|
, enableN230 ? true
|
||||||
|
, enableN300 ? true
|
||||||
|
, enableN320 ? true
|
||||||
|
, enableE300 ? true
|
||||||
|
, enableE320 ? true
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
onOffBool = b: if b then "ON" else "OFF";
|
||||||
|
inherit (lib) optionals;
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "uhd";
|
||||||
|
# UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
|
||||||
|
# and xxx.yyy.zzz. Hrmpf... style keeps changing
|
||||||
|
version = "3.15.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "EttusResearch";
|
||||||
|
repo = "uhd";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0jknln88a69fh244670nb7qrflbyv0vvdxfddb5g8ncpb6hcg8qf";
|
||||||
|
};
|
||||||
|
# Firmware images are downloaded (pre-built) from the respective release on Github
|
||||||
|
uhdImagesSrc = fetchurl {
|
||||||
|
url = "https://github.com/EttusResearch/uhd/releases/download/v${version}/uhd-images_${version}.tar.xz";
|
||||||
|
sha256 = "1fir1a13ac07mqhm4sr34cixiqj2difxq0870qv1wr7a7cbfw6vp";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DENABLE_LIBUHD=ON"
|
||||||
|
"-DENABLE_USB=ON"
|
||||||
|
"-DENABLE_TESTS=ON" # This installs tests as well so we delete them via postPhases
|
||||||
|
"-DENABLE_EXAMPLES=${onOffBool enableExamples}"
|
||||||
|
"-DENABLE_UTILS=${onOffBool enableUtils}"
|
||||||
|
"-DENABLE_LIBUHD_C_API=${onOffBool enableLibuhd_C_api}"
|
||||||
|
"-DENABLE_LIBUHD_PYTHON_API=${onOffBool enableLibuhd_Python_api}"
|
||||||
|
"-DENABLE_LIBERIO=${onOffBool enableLiberio}"
|
||||||
|
"-DENABLE_DPDK=${onOffBool enableDpdk}"
|
||||||
|
# Devices
|
||||||
|
"-DENABLE_OCTOCLOCK=${onOffBool enableOctoClock}"
|
||||||
|
"-DENABLE_MPMD=${onOffBool enableMpmd}"
|
||||||
|
"-DENABLE_B100=${onOffBool enableB100}"
|
||||||
|
"-DENABLE_B200=${onOffBool enableB200}"
|
||||||
|
"-DENABLE_USRP1=${onOffBool enableUsrp1}"
|
||||||
|
"-DENABLE_USRP2=${onOffBool enableUsrp2}"
|
||||||
|
"-DENABLE_X300=${onOffBool enableX300}"
|
||||||
|
"-DENABLE_N230=${onOffBool enableN230}"
|
||||||
|
"-DENABLE_N300=${onOffBool enableN300}"
|
||||||
|
"-DENABLE_N320=${onOffBool enableN320}"
|
||||||
|
"-DENABLE_E300=${onOffBool enableE300}"
|
||||||
|
"-DENABLE_E320=${onOffBool enableE320}"
|
||||||
|
]
|
||||||
|
# TODO: Check if this still needed
|
||||||
|
# ABI differences GCC 7.1
|
||||||
|
# /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1
|
||||||
|
++ [ (lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ]
|
||||||
|
;
|
||||||
|
|
||||||
|
# Python + Mako are always required for the build itself but not necessary for runtime.
|
||||||
|
pythonEnv = python3.withPackages (ps: with ps; [ Mako ]
|
||||||
|
++ optionals (enableLibuhd_Python_api) [ numpy setuptools ]
|
||||||
|
++ optionals (enableUtils) [ requests six ]
|
||||||
|
);
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
]
|
||||||
|
# If both enableLibuhd_Python_api and enableUtils are off, we don't need
|
||||||
|
# pythonEnv in buildInputs as it's a 'build' dependency and not a runtime
|
||||||
|
# dependency
|
||||||
|
++ optionals (!enableLibuhd_Python_api && !enableUtils) [ pythonEnv ]
|
||||||
|
;
|
||||||
|
buildInputs = [
|
||||||
|
boost
|
||||||
|
libusb1
|
||||||
|
]
|
||||||
|
# However, if enableLibuhd_Python_api *or* enableUtils is on, we need
|
||||||
|
# pythonEnv for runtime as well. The utilities' runtime dependencies are
|
||||||
|
# handled at the environment
|
||||||
|
++ optionals (enableLibuhd_Python_api || enableUtils) [ pythonEnv ]
|
||||||
|
++ optionals (enableLiberio) [ liberio ]
|
||||||
|
++ optionals (enableDpdk) [ dpdk ]
|
||||||
|
;
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
# Build only the host software
|
||||||
|
preConfigure = "cd host";
|
||||||
|
# TODO: Check if this still needed, perhaps relevant:
|
||||||
|
# https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html#build_instructions_unix_arm
|
||||||
|
patches = if stdenv.isAarch32 then ./neon.patch else null;
|
||||||
|
|
||||||
|
postPhases = [ "installFirmware" "removeInstalledTests" ]
|
||||||
|
++ optionals (enableUtils) [ "moveUdevRules" ]
|
||||||
|
;
|
||||||
|
|
||||||
|
# UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images`
|
||||||
|
installFirmware = ''
|
||||||
|
mkdir -p "$out/share/uhd/images"
|
||||||
|
tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out/share/uhd/images"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# -DENABLE_TESTS=ON installs the tests, we don't need them in the output
|
||||||
|
removeInstalledTests = ''
|
||||||
|
rm -r $out/lib/uhd/tests
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Moves the udev rules to the standard location, needed only if utils are
|
||||||
|
# enabled
|
||||||
|
moveUdevRules = ''
|
||||||
|
mkdir -p $out/lib/udev/rules.d
|
||||||
|
mv $out/lib/uhd/utils/uhd-usrp.rules $out/lib/udev/rules.d/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "USRP Hardware Driver (for Software Defined Radio)";
|
||||||
|
longDescription = ''
|
||||||
|
The USRP Hardware Driver (UHD) software is the hardware driver for all
|
||||||
|
USRP (Universal Software Radio Peripheral) devices.
|
||||||
|
|
||||||
|
USRP devices are designed and sold by Ettus Research, LLC and its parent
|
||||||
|
company, National Instruments.
|
||||||
|
'';
|
||||||
|
homepage = "https://uhd.ettus.com/";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
|
maintainers = with maintainers; [ bjornfor fpletz tomberek ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, stdenv
|
{ lib
|
||||||
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
|
@ -8,14 +9,14 @@
|
||||||
, enableLibuhd_C_api ? true
|
, enableLibuhd_C_api ? true
|
||||||
# requires numpy
|
# requires numpy
|
||||||
, enableLibuhd_Python_api ? false
|
, enableLibuhd_Python_api ? false
|
||||||
, python3 ? null
|
, python3
|
||||||
, enableExamples ? false
|
, enableExamples ? false
|
||||||
, enableUtils ? false
|
, enableUtils ? false
|
||||||
, enableLiberio ? false
|
, enableLiberio ? false
|
||||||
, liberio ? null
|
, liberio
|
||||||
, libusb1 ? null
|
, libusb1
|
||||||
, enableDpdk ? false
|
, enableDpdk ? false
|
||||||
, dpdk ? null
|
, dpdk
|
||||||
# Devices
|
# Devices
|
||||||
, enableOctoClock ? true
|
, enableOctoClock ? true
|
||||||
, enableMpmd ? true
|
, enableMpmd ? true
|
||||||
|
@ -40,18 +41,18 @@ stdenv.mkDerivation rec {
|
||||||
pname = "uhd";
|
pname = "uhd";
|
||||||
# UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
|
# UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
|
||||||
# and xxx.yyy.zzz. Hrmpf... style keeps changing
|
# and xxx.yyy.zzz. Hrmpf... style keeps changing
|
||||||
version = "3.15.0.0";
|
version = "4.0.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "EttusResearch";
|
owner = "EttusResearch";
|
||||||
repo = "uhd";
|
repo = "uhd";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0jknln88a69fh244670nb7qrflbyv0vvdxfddb5g8ncpb6hcg8qf";
|
sha256 = "NCyiI4pIPw0nBRFdUGpgZ/x2mWz+Qm78ZGACUnSbGSs=";
|
||||||
};
|
};
|
||||||
# Firmware images are downloaded (pre-built) from the respective release on Github
|
# Firmware images are downloaded (pre-built) from the respective release on Github
|
||||||
uhdImagesSrc = fetchurl {
|
uhdImagesSrc = fetchurl {
|
||||||
url = "https://github.com/EttusResearch/uhd/releases/download/v${version}/uhd-images_${version}.tar.xz";
|
url = "https://github.com/EttusResearch/uhd/releases/download/v${version}/uhd-images_${version}.tar.xz";
|
||||||
sha256 = "1fir1a13ac07mqhm4sr34cixiqj2difxq0870qv1wr7a7cbfw6vp";
|
sha256 = "Xfx0bsHUQ5+Dp+xk0sVWWP83oyXQcUH5AX4PNEE7fY4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -1,250 +1,14 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
|
{ callPackage, ... } @ args:
|
||||||
, pkg-config, cmake, gnumake, yasm, python3Packages
|
|
||||||
, libgcrypt, libgpgerror, libunistring
|
|
||||||
, boost, avahi, lame
|
|
||||||
, gettext, pcre-cpp, yajl, fribidi, which
|
|
||||||
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
|
|
||||||
, gtest, ncurses, spdlog
|
|
||||||
, libxml2, systemd
|
|
||||||
, alsaLib, libGLU, libGL, fontconfig, freetype, ftgl
|
|
||||||
, libjpeg, libpng, libtiff
|
|
||||||
, libmpeg2, libsamplerate, libmad
|
|
||||||
, libogg, libvorbis, flac, libxslt
|
|
||||||
, lzo, libcdio, libmodplug, libass, libbluray
|
|
||||||
, sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
|
|
||||||
, curl, bzip2, zip, unzip, glxinfo
|
|
||||||
, libcec, libcec_platform, dcadec, libuuid
|
|
||||||
, libcrossguid, libmicrohttpd
|
|
||||||
, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1
|
|
||||||
, libplist, p11-kit, zlib, flatbuffers, fmt, fstrcmp, rapidjson
|
|
||||||
, lirc
|
|
||||||
, x11Support ? true, libX11, xorgproto, libXt, libXmu, libXext, libXinerama, libXrandr, libXtst, libXfixes, xdpyinfo, libXdmcp
|
|
||||||
, dbusSupport ? true, dbus ? null
|
|
||||||
, joystickSupport ? true, cwiid ? null
|
|
||||||
, nfsSupport ? true, libnfs ? null
|
|
||||||
, pulseSupport ? true, libpulseaudio ? null
|
|
||||||
, rtmpSupport ? true, rtmpdump ? null
|
|
||||||
, sambaSupport ? true, samba ? null
|
|
||||||
, udevSupport ? true, udev ? null
|
|
||||||
, usbSupport ? false, libusb-compat-0_1 ? null
|
|
||||||
, vdpauSupport ? true, libvdpau ? null
|
|
||||||
, useWayland ? false, wayland ? null, wayland-protocols ? null
|
|
||||||
, waylandpp ? null, libxkbcommon ? null
|
|
||||||
, useGbm ? false, mesa ? null, libinput ? null
|
|
||||||
, buildPackages
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert dbusSupport -> dbus != null;
|
|
||||||
assert nfsSupport -> libnfs != null;
|
|
||||||
assert pulseSupport -> libpulseaudio != null;
|
|
||||||
assert rtmpSupport -> rtmpdump != null;
|
|
||||||
assert sambaSupport -> samba != null;
|
|
||||||
assert udevSupport -> udev != null;
|
|
||||||
assert usbSupport -> libusb-compat-0_1 != null && ! udevSupport; # libusb-compat-0_1 won't be used if udev is avaliable
|
|
||||||
assert vdpauSupport -> libvdpau != null;
|
|
||||||
assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
|
|
||||||
assert useGbm || useWayland || x11Support;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
kodiReleaseDate = "20210219";
|
unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]);
|
||||||
kodiVersion = "19.0";
|
kodiPackages = callPackage ./packages.nix { kodi = unwrapped; };
|
||||||
rel = "Matrix";
|
in
|
||||||
|
unwrapped.overrideAttrs (oldAttrs: {
|
||||||
kodi_src = fetchFromGitHub {
|
passthru = oldAttrs.passthru // {
|
||||||
owner = "xbmc";
|
packages = kodiPackages;
|
||||||
repo = "xbmc";
|
withPackages = func: callPackage ./wrapper.nix {
|
||||||
rev = "${kodiVersion}-${rel}";
|
kodi = unwrapped;
|
||||||
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
|
addons = kodiPackages.requiredKodiAddons (func kodiPackages);
|
||||||
};
|
};
|
||||||
|
|
||||||
ffmpeg = stdenv.mkDerivation rec {
|
|
||||||
pname = "kodi-ffmpeg";
|
|
||||||
version = "4.3.1";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = "FFmpeg";
|
|
||||||
rev = "${version}-${rel}-Beta1";
|
|
||||||
sha256 = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
|
|
||||||
};
|
};
|
||||||
preConfigure = ''
|
})
|
||||||
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
|
||||||
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
|
|
||||||
sed -i 's/--strip=''${CMAKE_STRIP}/--strip=''${CMAKE_STRIP} --ranlib=''${CMAKE_RANLIB}/' CMakeLists.txt
|
|
||||||
'';
|
|
||||||
cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
|
||||||
"-DCROSSCOMPILING=ON"
|
|
||||||
"-DCPU=${stdenv.hostPlatform.parsed.cpu.name}"
|
|
||||||
"-DOS=${stdenv.hostPlatform.parsed.kernel.name}"
|
|
||||||
"-DPKG_CONFIG_EXECUTABLE=pkg-config"
|
|
||||||
];
|
|
||||||
buildInputs = [ libidn libtasn1 p11-kit zlib libva ]
|
|
||||||
++ lib.optional vdpauSupport libvdpau;
|
|
||||||
nativeBuildInputs = [ cmake nasm pkg-config gnutls ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# We can build these externally but FindLibDvd.cmake forces us to build it
|
|
||||||
# them, so we currently just use them for the src.
|
|
||||||
libdvdcss = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = "libdvdcss";
|
|
||||||
rev = "1.4.2-${rel}-Beta-5";
|
|
||||||
sha256 = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
|
|
||||||
};
|
|
||||||
|
|
||||||
libdvdnav = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = "libdvdnav";
|
|
||||||
rev = "6.0.0-${rel}-Alpha-3";
|
|
||||||
sha256 = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
|
|
||||||
};
|
|
||||||
|
|
||||||
libdvdread = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = "libdvdread";
|
|
||||||
rev = "6.0.0-${rel}-Alpha-3";
|
|
||||||
sha256 = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
|
|
||||||
};
|
|
||||||
|
|
||||||
kodi_platforms =
|
|
||||||
lib.optional useGbm "gbm" ++
|
|
||||||
lib.optional useWayland "wayland" ++
|
|
||||||
lib.optional x11Support "x11"
|
|
||||||
;
|
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
name = "kodi-${lib.optionalString useWayland "wayland-"}${kodiVersion}";
|
|
||||||
|
|
||||||
src = kodi_src;
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
gnutls libidn libtasn1 nasm p11-kit
|
|
||||||
libxml2 python3Packages.python
|
|
||||||
boost libmicrohttpd
|
|
||||||
gettext pcre-cpp yajl fribidi libva libdrm
|
|
||||||
openssl gperf tinyxml2 taglib libssh
|
|
||||||
gtest ncurses spdlog
|
|
||||||
alsaLib libGL libGLU fontconfig freetype ftgl
|
|
||||||
libjpeg libpng libtiff
|
|
||||||
libmpeg2 libsamplerate libmad
|
|
||||||
libogg libvorbis flac libxslt systemd
|
|
||||||
lzo libcdio libmodplug libass libbluray
|
|
||||||
sqlite libmysqlclient avahi lame
|
|
||||||
curl bzip2 zip glxinfo
|
|
||||||
libcec libcec_platform dcadec libuuid
|
|
||||||
libgcrypt libgpgerror libunistring
|
|
||||||
libcrossguid libplist
|
|
||||||
bluez giflib glib harfbuzz lcms2 libpthreadstubs
|
|
||||||
ffmpeg flatbuffers fmt fstrcmp rapidjson
|
|
||||||
lirc
|
|
||||||
]
|
|
||||||
++ lib.optional x11Support [
|
|
||||||
libX11 xorgproto libXt libXmu libXext.dev libXdmcp
|
|
||||||
libXinerama libXrandr.dev libXtst libXfixes
|
|
||||||
]
|
|
||||||
++ lib.optional dbusSupport dbus
|
|
||||||
++ lib.optional joystickSupport cwiid
|
|
||||||
++ lib.optional nfsSupport libnfs
|
|
||||||
++ lib.optional pulseSupport libpulseaudio
|
|
||||||
++ lib.optional rtmpSupport rtmpdump
|
|
||||||
++ lib.optional sambaSupport samba
|
|
||||||
++ lib.optional udevSupport udev
|
|
||||||
++ lib.optional usbSupport libusb-compat-0_1
|
|
||||||
++ lib.optional vdpauSupport libvdpau
|
|
||||||
++ lib.optionals useWayland [
|
|
||||||
wayland
|
|
||||||
waylandpp.dev
|
|
||||||
wayland-protocols
|
|
||||||
# Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise
|
|
||||||
libxkbcommon.dev
|
|
||||||
]
|
|
||||||
++ lib.optional useGbm [
|
|
||||||
libxkbcommon.dev
|
|
||||||
mesa.dev
|
|
||||||
libinput.dev
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
doxygen
|
|
||||||
makeWrapper
|
|
||||||
which
|
|
||||||
pkg-config gnumake
|
|
||||||
autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
|
|
||||||
jre_headless yasm gettext python3Packages.python flatbuffers
|
|
||||||
|
|
||||||
# for TexturePacker
|
|
||||||
giflib zlib libpng libjpeg lzo
|
|
||||||
] ++ lib.optionals useWayland [ wayland-protocols waylandpp.bin ];
|
|
||||||
|
|
||||||
depsBuildBuild = [
|
|
||||||
buildPackages.stdenv.cc
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DAPP_RENDER_SYSTEM=${if useGbm then "gles" else "gl"}"
|
|
||||||
"-Dlibdvdcss_URL=${libdvdcss}"
|
|
||||||
"-Dlibdvdnav_URL=${libdvdnav}"
|
|
||||||
"-Dlibdvdread_URL=${libdvdread}"
|
|
||||||
"-DGIT_VERSION=${kodiReleaseDate}"
|
|
||||||
"-DENABLE_EVENTCLIENTS=ON"
|
|
||||||
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
|
||||||
"-DENABLE_OPTICAL=ON"
|
|
||||||
"-DLIRC_DEVICE=/run/lirc/lircd"
|
|
||||||
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
|
||||||
"-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
|
|
||||||
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
|
|
||||||
] ++ lib.optional useWayland [
|
|
||||||
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
|
|
||||||
];
|
|
||||||
|
|
||||||
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
|
|
||||||
# I'm guessing there is a thing waiting to time out
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
cmakeFlagsArray+=("-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}")
|
|
||||||
'' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
|
||||||
# Need these tools on the build system when cross compiling,
|
|
||||||
# hacky, but have found no other way.
|
|
||||||
CXX=${stdenv.cc.targetPrefix}c++ LD=ld make -C tools/depends/native/JsonSchemaBuilder
|
|
||||||
cmakeFlags+=" -DWITH_JSONSCHEMABUILDER=$PWD/tools/depends/native/JsonSchemaBuilder/bin"
|
|
||||||
|
|
||||||
CXX=${stdenv.cc.targetPrefix}c++ LD=ld make EXTRA_CONFIGURE= -C tools/depends/native/TexturePacker
|
|
||||||
cmakeFlags+=" -DWITH_TEXTUREPACKER=$PWD/tools/depends/native/TexturePacker/bin"
|
|
||||||
'';
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace xbmc/platform/posix/PosixTimezone.cpp \
|
|
||||||
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for p in $(ls $out/bin/) ; do
|
|
||||||
wrapProgram $out/bin/$p \
|
|
||||||
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \
|
|
||||||
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
|
||||||
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
|
|
||||||
++ lib.optional nfsSupport libnfs
|
|
||||||
++ lib.optional rtmpSupport rtmpdump)}"
|
|
||||||
done
|
|
||||||
|
|
||||||
substituteInPlace $out/share/xsessions/kodi.desktop \
|
|
||||||
--replace kodi-standalone $out/bin/kodi-standalone
|
|
||||||
'';
|
|
||||||
|
|
||||||
doInstallCheck = true;
|
|
||||||
|
|
||||||
installCheckPhase = "$out/bin/kodi --version";
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
pythonPackages = python3Packages;
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Media center";
|
|
||||||
homepage = "https://kodi.tv/";
|
|
||||||
license = licenses.gpl2;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ titanous edwtjo peterhoeg sephalon ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, callPackage, fetchFromGitHub
|
{ lib, stdenv, callPackage, fetchFromGitHub
|
||||||
, cmake, kodiPlain, libcec_platform, tinyxml, pugixml
|
, cmake, kodi, libcec_platform, tinyxml, pugixml
|
||||||
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
|
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
|
||||||
, python3Packages, expat, glib, nspr, nss, openssl
|
, python3Packages, expat, glib, nspr, nss, openssl
|
||||||
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
|
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
|
||||||
|
@ -8,32 +8,27 @@ with lib;
|
||||||
|
|
||||||
let self = rec {
|
let self = rec {
|
||||||
|
|
||||||
pluginDir = "/share/kodi/addons";
|
addonDir = "/share/kodi/addons";
|
||||||
rel = "Matrix";
|
rel = "Matrix";
|
||||||
|
|
||||||
kodi = kodiPlain;
|
inherit kodi;
|
||||||
|
|
||||||
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
|
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
|
||||||
toKodiPlugin = drv: drv.overrideAttrs(oldAttrs: {
|
toKodiAddon = drv: drv.overrideAttrs(oldAttrs: {
|
||||||
# Use passthru in order to prevent rebuilds when possible.
|
# Use passthru in order to prevent rebuilds when possible.
|
||||||
passthru = (oldAttrs.passthru or {})// {
|
passthru = (oldAttrs.passthru or {})// {
|
||||||
kodiPluginFor = kodi;
|
kodiAddonFor = kodi;
|
||||||
requiredKodiPlugins = requiredKodiPlugins drv.propagatedBuildInputs;
|
requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
# Check whether a derivation provides a Kodi plugin.
|
# Check whether a derivation provides a Kodi addon.
|
||||||
hasKodiPlugin = drv: drv ? kodiPluginFor && drv.kodiPluginFor == kodi;
|
hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
|
||||||
|
|
||||||
# Get list of required Kodi plugins given a list of derivations.
|
# Get list of required Kodi addons given a list of derivations.
|
||||||
requiredKodiPlugins = drvs: let
|
requiredKodiAddons = drvs: let
|
||||||
modules = filter hasKodiPlugin drvs;
|
modules = filter hasKodiAddon drvs;
|
||||||
in unique (modules ++ concatLists (catAttrs "requiredKodiPlugins" modules));
|
in unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
|
||||||
|
|
||||||
kodiWithPlugins = func: callPackage ./wrapper.nix {
|
|
||||||
inherit kodi;
|
|
||||||
plugins = requiredKodiPlugins (func self);
|
|
||||||
};
|
|
||||||
|
|
||||||
kodi-platform = stdenv.mkDerivation rec {
|
kodi-platform = stdenv.mkDerivation rec {
|
||||||
project = "kodi-platform";
|
project = "kodi-platform";
|
||||||
|
@ -48,36 +43,45 @@ let self = rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [ kodiPlain libcec_platform tinyxml ];
|
buildInputs = [ kodi libcec_platform tinyxml ];
|
||||||
};
|
};
|
||||||
|
|
||||||
mkKodiPlugin = { plugin, namespace, version, sourceDir ? null, ... }@args:
|
buildKodiAddon =
|
||||||
toKodiPlugin (stdenv.mkDerivation ({
|
{ name ? "${attrs.pname}-${attrs.version}"
|
||||||
name = "kodi-plugin-${plugin}-${version}";
|
, namespace
|
||||||
|
, sourceDir ? ""
|
||||||
|
, ... } @ attrs:
|
||||||
|
toKodiAddon (stdenv.mkDerivation ({
|
||||||
|
name = "kodi-" + name;
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
extraRuntimeDependencies = [ ];
|
extraRuntimeDependencies = [ ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
${if sourceDir == null then "" else "cd $src/$sourceDir"}
|
cd $src/$sourceDir
|
||||||
d=$out${pluginDir}/${namespace}
|
d=$out${addonDir}/${namespace}
|
||||||
mkdir -p $d
|
mkdir -p $d
|
||||||
sauce="."
|
sauce="."
|
||||||
[ -d ${namespace} ] && sauce=${namespace}
|
[ -d ${namespace} ] && sauce=${namespace}
|
||||||
cp -R "$sauce/"* $d
|
cp -R "$sauce/"* $d
|
||||||
'';
|
'';
|
||||||
} // args));
|
} // attrs));
|
||||||
|
|
||||||
mkKodiABIPlugin = { plugin, namespace, version, extraBuildInputs ? [],
|
buildKodiBinaryAddon =
|
||||||
extraRuntimeDependencies ? [], extraInstallPhase ? "", ... }@args:
|
{ name ? "${attrs.pname}-${attrs.version}"
|
||||||
toKodiPlugin (stdenv.mkDerivation ({
|
, namespace
|
||||||
name = "kodi-plugin-${plugin}-${version}";
|
, version
|
||||||
|
, extraBuildInputs ? []
|
||||||
|
, extraRuntimeDependencies ? []
|
||||||
|
, extraInstallPhase ? "", ... } @ attrs:
|
||||||
|
toKodiAddon (stdenv.mkDerivation ({
|
||||||
|
name = "kodi-" + name;
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [ kodiPlain kodi-platform libcec_platform ] ++ extraBuildInputs;
|
buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs;
|
||||||
|
|
||||||
inherit extraRuntimeDependencies;
|
inherit extraRuntimeDependencies;
|
||||||
|
|
||||||
|
@ -86,25 +90,25 @@ let self = rec {
|
||||||
"-DOVERRIDE_PATHS=1"
|
"-DOVERRIDE_PATHS=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
# kodi checks for plugin .so libs existance in the addon folder (share/...)
|
# kodi checks for addon .so libs existance in the addon folder (share/...)
|
||||||
# and the non-wrapped kodi lib/... folder before even trying to dlopen
|
# and the non-wrapped kodi lib/... folder before even trying to dlopen
|
||||||
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
|
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
|
||||||
installPhase = let n = namespace; in ''
|
installPhase = let n = namespace; in ''
|
||||||
make install
|
make install
|
||||||
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${pluginDir}/${n}/${n}.so.${version}
|
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
|
||||||
${extraInstallPhase}
|
${extraInstallPhase}
|
||||||
'';
|
'';
|
||||||
} // args));
|
} // attrs));
|
||||||
|
|
||||||
advanced-launcher = mkKodiPlugin rec {
|
advanced-launcher = buildKodiAddon rec {
|
||||||
|
|
||||||
plugin = "advanced-launcher";
|
pname = "advanced-launcher";
|
||||||
namespace = "plugin.program.advanced.launcher";
|
namespace = "plugin.program.advanced.launcher";
|
||||||
version = "2.5.8";
|
version = "2.5.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "edwtjo";
|
owner = "edwtjo";
|
||||||
repo = plugin;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "142vvgs37asq5m54xqhjzqvgmb0xlirvm0kz6lxaqynp0vvgrkx2";
|
sha256 = "142vvgs37asq5m54xqhjzqvgmb0xlirvm0kz6lxaqynp0vvgrkx2";
|
||||||
};
|
};
|
||||||
|
@ -127,9 +131,9 @@ let self = rec {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
advanced-emulator-launcher = mkKodiPlugin rec {
|
advanced-emulator-launcher = buildKodiAddon rec {
|
||||||
|
|
||||||
plugin = "advanced-emulator-launcher";
|
pname = "advanced-emulator-launcher";
|
||||||
namespace = "plugin.program.advanced.emulator.launcher";
|
namespace = "plugin.program.advanced.emulator.launcher";
|
||||||
version = "0.9.6";
|
version = "0.9.6";
|
||||||
|
|
||||||
|
@ -175,8 +179,8 @@ let self = rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
mkController = controller: {
|
mkController = controller: {
|
||||||
${controller} = mkKodiPlugin rec {
|
${controller} = buildKodiAddon rec {
|
||||||
plugin = pname + "-" + controller;
|
pname = pname + "-" + controller;
|
||||||
namespace = "game.controller." + controller;
|
namespace = "game.controller." + controller;
|
||||||
sourceDir = "addons/" + namespace;
|
sourceDir = "addons/" + namespace;
|
||||||
inherit version src meta;
|
inherit version src meta;
|
||||||
|
@ -209,23 +213,22 @@ let self = rec {
|
||||||
broken = true; # requires port to python3
|
broken = true; # requires port to python3
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
service = mkKodiPlugin {
|
service = buildKodiAddon {
|
||||||
plugin = pname + "-service";
|
pname = pname + "-service";
|
||||||
version = "1.2.1";
|
version = "1.2.1";
|
||||||
namespace = "service.hyper.launcher";
|
namespace = "service.hyper.launcher";
|
||||||
inherit src meta;
|
inherit src meta;
|
||||||
};
|
};
|
||||||
plugin = mkKodiPlugin {
|
plugin = buildKodiAddon {
|
||||||
plugin = pname;
|
|
||||||
namespace = "plugin.hyper.launcher";
|
namespace = "plugin.hyper.launcher";
|
||||||
inherit version src meta;
|
inherit pname version src meta;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
joystick = mkKodiABIPlugin rec {
|
joystick = buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
namespace = "peripheral.joystick";
|
namespace = "peripheral.joystick";
|
||||||
version = "1.7.1";
|
version = "1.7.1";
|
||||||
plugin = namespace;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
|
@ -243,8 +246,8 @@ let self = rec {
|
||||||
extraBuildInputs = [ tinyxml udev ];
|
extraBuildInputs = [ tinyxml udev ];
|
||||||
};
|
};
|
||||||
|
|
||||||
simpleplugin = mkKodiPlugin rec {
|
simpleplugin = buildKodiAddon rec {
|
||||||
plugin = "simpleplugin";
|
pname = "simpleplugin";
|
||||||
namespace = "script.module.simpleplugin";
|
namespace = "script.module.simpleplugin";
|
||||||
version = "2.3.2";
|
version = "2.3.2";
|
||||||
|
|
||||||
|
@ -263,16 +266,16 @@ let self = rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
svtplay = mkKodiPlugin rec {
|
svtplay = buildKodiAddon rec {
|
||||||
|
|
||||||
plugin = "svtplay";
|
pname = "svtplay";
|
||||||
namespace = "plugin.video.svtplay";
|
namespace = "plugin.video.svtplay";
|
||||||
version = "5.1.12";
|
version = "5.1.12";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
name = plugin + "-" + version + ".tar.gz";
|
name = pname + "-" + version + ".tar.gz";
|
||||||
owner = "nilzen";
|
owner = "nilzen";
|
||||||
repo = "xbmc-" + plugin;
|
repo = "xbmc-" + pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
|
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
|
||||||
};
|
};
|
||||||
|
@ -292,10 +295,10 @@ let self = rec {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
steam-controller = mkKodiABIPlugin rec {
|
steam-controller = buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
namespace = "peripheral.steamcontroller";
|
namespace = "peripheral.steamcontroller";
|
||||||
version = "0.11.0";
|
version = "0.11.0";
|
||||||
plugin = namespace;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kodi-game";
|
owner = "kodi-game";
|
||||||
|
@ -314,9 +317,9 @@ let self = rec {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
steam-launcher = mkKodiPlugin {
|
steam-launcher = buildKodiAddon {
|
||||||
|
|
||||||
plugin = "steam-launcher";
|
pname = "steam-launcher";
|
||||||
namespace = "script.steam.launcher";
|
namespace = "script.steam.launcher";
|
||||||
version = "3.5.1";
|
version = "3.5.1";
|
||||||
|
|
||||||
|
@ -343,8 +346,8 @@ let self = rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pdfreader = mkKodiPlugin rec {
|
pdfreader = buildKodiAddon rec {
|
||||||
plugin = "pdfreader";
|
pname = "pdfreader";
|
||||||
namespace = "plugin.image.pdf";
|
namespace = "plugin.image.pdf";
|
||||||
version = "2.0.2";
|
version = "2.0.2";
|
||||||
|
|
||||||
|
@ -362,9 +365,9 @@ let self = rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pvr-hts = mkKodiABIPlugin rec {
|
pvr-hts = buildKodiBinaryAddon rec {
|
||||||
|
|
||||||
plugin = "pvr-hts";
|
pname = "pvr-hts";
|
||||||
namespace = "pvr.hts";
|
namespace = "pvr.hts";
|
||||||
version = "8.2.2";
|
version = "8.2.2";
|
||||||
|
|
||||||
|
@ -384,9 +387,9 @@ let self = rec {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pvr-hdhomerun = mkKodiABIPlugin rec {
|
pvr-hdhomerun = buildKodiBinaryAddon rec {
|
||||||
|
|
||||||
plugin = "pvr-hdhomerun";
|
pname = "pvr-hdhomerun";
|
||||||
namespace = "pvr.hdhomerun";
|
namespace = "pvr.hdhomerun";
|
||||||
version = "7.1.0";
|
version = "7.1.0";
|
||||||
|
|
||||||
|
@ -408,9 +411,9 @@ let self = rec {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pvr-iptvsimple = mkKodiABIPlugin rec {
|
pvr-iptvsimple = buildKodiBinaryAddon rec {
|
||||||
|
|
||||||
plugin = "pvr-iptvsimple";
|
pname = "pvr-iptvsimple";
|
||||||
namespace = "pvr.iptvsimple";
|
namespace = "pvr.iptvsimple";
|
||||||
version = "7.4.2";
|
version = "7.4.2";
|
||||||
|
|
||||||
|
@ -432,9 +435,9 @@ let self = rec {
|
||||||
extraBuildInputs = [ zlib pugixml ];
|
extraBuildInputs = [ zlib pugixml ];
|
||||||
};
|
};
|
||||||
|
|
||||||
osmc-skin = mkKodiPlugin rec {
|
osmc-skin = buildKodiAddon rec {
|
||||||
|
|
||||||
plugin = "osmc-skin";
|
pname = "osmc-skin";
|
||||||
namespace = "skin.osmc";
|
namespace = "skin.osmc";
|
||||||
version = "18.0.0";
|
version = "18.0.0";
|
||||||
|
|
||||||
|
@ -454,8 +457,8 @@ let self = rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
yatp = python3Packages.toPythonModule (mkKodiPlugin rec {
|
yatp = python3Packages.toPythonModule (buildKodiAddon rec {
|
||||||
plugin = "yatp";
|
pname = "yatp";
|
||||||
namespace = "plugin.video.yatp";
|
namespace = "plugin.video.yatp";
|
||||||
version = "3.3.2";
|
version = "3.3.2";
|
||||||
|
|
||||||
|
@ -482,9 +485,9 @@ let self = rec {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
inputstream-adaptive = mkKodiABIPlugin rec {
|
inputstream-adaptive = buildKodiBinaryAddon rec {
|
||||||
|
|
||||||
plugin = "inputstream-adaptive";
|
pname = "inputstream-adaptive";
|
||||||
namespace = "inputstream.adaptive";
|
namespace = "inputstream.adaptive";
|
||||||
version = "2.6.7";
|
version = "2.6.7";
|
||||||
|
|
||||||
|
@ -500,7 +503,7 @@ let self = rec {
|
||||||
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
|
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
|
||||||
|
|
||||||
extraInstallPhase = let n = namespace; in ''
|
extraInstallPhase = let n = namespace; in ''
|
||||||
ln -s $out/lib/addons/${n}/libssd_wv.so $out/${pluginDir}/${n}/libssd_wv.so
|
ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -511,10 +514,10 @@ let self = rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
vfs-sftp = mkKodiABIPlugin rec {
|
vfs-sftp = buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
namespace = "vfs.sftp";
|
namespace = "vfs.sftp";
|
||||||
version = "2.0.0";
|
version = "2.0.0";
|
||||||
plugin = namespace;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
|
@ -533,10 +536,10 @@ let self = rec {
|
||||||
extraBuildInputs = [ openssl libssh zlib ];
|
extraBuildInputs = [ openssl libssh zlib ];
|
||||||
};
|
};
|
||||||
|
|
||||||
vfs-libarchive = mkKodiABIPlugin rec {
|
vfs-libarchive = buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
namespace = "vfs.libarchive";
|
namespace = "vfs.libarchive";
|
||||||
version = "2.0.0";
|
version = "2.0.0";
|
||||||
plugin = namespace;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
242
pkgs/applications/video/kodi/unwrapped.nix
Normal file
242
pkgs/applications/video/kodi/unwrapped.nix
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
|
||||||
|
, pkg-config, cmake, gnumake, yasm, python3Packages
|
||||||
|
, libgcrypt, libgpgerror, libunistring
|
||||||
|
, boost, avahi, lame
|
||||||
|
, gettext, pcre-cpp, yajl, fribidi, which
|
||||||
|
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
|
||||||
|
, gtest, ncurses, spdlog
|
||||||
|
, libxml2, systemd
|
||||||
|
, alsaLib, libGLU, libGL, fontconfig, freetype, ftgl
|
||||||
|
, libjpeg, libpng, libtiff
|
||||||
|
, libmpeg2, libsamplerate, libmad
|
||||||
|
, libogg, libvorbis, flac, libxslt
|
||||||
|
, lzo, libcdio, libmodplug, libass, libbluray
|
||||||
|
, sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
|
||||||
|
, curl, bzip2, zip, unzip, glxinfo
|
||||||
|
, libcec, libcec_platform, dcadec, libuuid
|
||||||
|
, libcrossguid, libmicrohttpd
|
||||||
|
, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1
|
||||||
|
, libplist, p11-kit, zlib, flatbuffers, fmt, fstrcmp, rapidjson
|
||||||
|
, lirc
|
||||||
|
, x11Support ? true, libX11, xorgproto, libXt, libXmu, libXext, libXinerama, libXrandr, libXtst, libXfixes, xdpyinfo, libXdmcp
|
||||||
|
, dbusSupport ? true, dbus
|
||||||
|
, joystickSupport ? true, cwiid
|
||||||
|
, nfsSupport ? true, libnfs
|
||||||
|
, pulseSupport ? true, libpulseaudio
|
||||||
|
, rtmpSupport ? true, rtmpdump
|
||||||
|
, sambaSupport ? true, samba
|
||||||
|
, udevSupport ? true, udev
|
||||||
|
, usbSupport ? false, libusb-compat-0_1
|
||||||
|
, vdpauSupport ? true, libvdpau
|
||||||
|
, waylandSupport ? false, wayland, wayland-protocols
|
||||||
|
, waylandpp ? null, libxkbcommon
|
||||||
|
, gbmSupport ? false, mesa, libinput
|
||||||
|
, buildPackages
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is avaliable
|
||||||
|
assert gbmSupport || waylandSupport || x11Support;
|
||||||
|
|
||||||
|
let
|
||||||
|
kodiReleaseDate = "20210219";
|
||||||
|
kodiVersion = "19.0";
|
||||||
|
rel = "Matrix";
|
||||||
|
|
||||||
|
kodi_src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = "xbmc";
|
||||||
|
rev = "${kodiVersion}-${rel}";
|
||||||
|
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
|
||||||
|
};
|
||||||
|
|
||||||
|
ffmpeg = stdenv.mkDerivation rec {
|
||||||
|
pname = "kodi-ffmpeg";
|
||||||
|
version = "4.3.1";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = "FFmpeg";
|
||||||
|
rev = "${version}-${rel}-Beta1";
|
||||||
|
sha256 = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
|
||||||
|
};
|
||||||
|
preConfigure = ''
|
||||||
|
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
||||||
|
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
|
||||||
|
sed -i 's/--strip=''${CMAKE_STRIP}/--strip=''${CMAKE_STRIP} --ranlib=''${CMAKE_RANLIB}/' CMakeLists.txt
|
||||||
|
'';
|
||||||
|
cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
|
"-DCROSSCOMPILING=ON"
|
||||||
|
"-DCPU=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||||
|
"-DOS=${stdenv.hostPlatform.parsed.kernel.name}"
|
||||||
|
"-DPKG_CONFIG_EXECUTABLE=pkg-config"
|
||||||
|
];
|
||||||
|
buildInputs = [ libidn libtasn1 p11-kit zlib libva ]
|
||||||
|
++ lib.optional vdpauSupport libvdpau;
|
||||||
|
nativeBuildInputs = [ cmake nasm pkg-config gnutls ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# We can build these externally but FindLibDvd.cmake forces us to build it
|
||||||
|
# them, so we currently just use them for the src.
|
||||||
|
libdvdcss = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = "libdvdcss";
|
||||||
|
rev = "1.4.2-${rel}-Beta-5";
|
||||||
|
sha256 = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
|
||||||
|
};
|
||||||
|
|
||||||
|
libdvdnav = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = "libdvdnav";
|
||||||
|
rev = "6.0.0-${rel}-Alpha-3";
|
||||||
|
sha256 = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
|
||||||
|
};
|
||||||
|
|
||||||
|
libdvdread = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = "libdvdread";
|
||||||
|
rev = "6.0.0-${rel}-Alpha-3";
|
||||||
|
sha256 = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
|
||||||
|
};
|
||||||
|
|
||||||
|
kodi_platforms = lib.optional gbmSupport "gbm"
|
||||||
|
++ lib.optional waylandSupport "wayland"
|
||||||
|
++ lib.optional x11Support "x11";
|
||||||
|
|
||||||
|
in stdenv.mkDerivation {
|
||||||
|
pname = "kodi";
|
||||||
|
version = kodiVersion;
|
||||||
|
|
||||||
|
src = kodi_src;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gnutls libidn libtasn1 nasm p11-kit
|
||||||
|
libxml2 python3Packages.python
|
||||||
|
boost libmicrohttpd
|
||||||
|
gettext pcre-cpp yajl fribidi libva libdrm
|
||||||
|
openssl gperf tinyxml2 taglib libssh
|
||||||
|
gtest ncurses spdlog
|
||||||
|
alsaLib libGL libGLU fontconfig freetype ftgl
|
||||||
|
libjpeg libpng libtiff
|
||||||
|
libmpeg2 libsamplerate libmad
|
||||||
|
libogg libvorbis flac libxslt systemd
|
||||||
|
lzo libcdio libmodplug libass libbluray
|
||||||
|
sqlite libmysqlclient avahi lame
|
||||||
|
curl bzip2 zip unzip glxinfo
|
||||||
|
libcec libcec_platform dcadec libuuid
|
||||||
|
libgcrypt libgpgerror libunistring
|
||||||
|
libcrossguid libplist
|
||||||
|
bluez giflib glib harfbuzz lcms2 libpthreadstubs
|
||||||
|
ffmpeg flatbuffers fmt fstrcmp rapidjson
|
||||||
|
lirc
|
||||||
|
]
|
||||||
|
++ lib.optional x11Support [
|
||||||
|
libX11 xorgproto libXt libXmu libXext.dev libXdmcp
|
||||||
|
libXinerama libXrandr.dev libXtst libXfixes
|
||||||
|
]
|
||||||
|
++ lib.optional dbusSupport dbus
|
||||||
|
++ lib.optional joystickSupport cwiid
|
||||||
|
++ lib.optional nfsSupport libnfs
|
||||||
|
++ lib.optional pulseSupport libpulseaudio
|
||||||
|
++ lib.optional rtmpSupport rtmpdump
|
||||||
|
++ lib.optional sambaSupport samba
|
||||||
|
++ lib.optional udevSupport udev
|
||||||
|
++ lib.optional usbSupport libusb-compat-0_1
|
||||||
|
++ lib.optional vdpauSupport libvdpau
|
||||||
|
++ lib.optionals waylandSupport [
|
||||||
|
wayland
|
||||||
|
waylandpp.dev
|
||||||
|
wayland-protocols
|
||||||
|
# Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise
|
||||||
|
libxkbcommon.dev
|
||||||
|
]
|
||||||
|
++ lib.optional gbmSupport [
|
||||||
|
libxkbcommon.dev
|
||||||
|
mesa.dev
|
||||||
|
libinput.dev
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
doxygen
|
||||||
|
makeWrapper
|
||||||
|
which
|
||||||
|
pkg-config gnumake
|
||||||
|
autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
|
||||||
|
jre_headless yasm gettext python3Packages.python flatbuffers
|
||||||
|
|
||||||
|
# for TexturePacker
|
||||||
|
giflib zlib libpng libjpeg lzo
|
||||||
|
] ++ lib.optionals waylandSupport [ wayland-protocols waylandpp.bin ];
|
||||||
|
|
||||||
|
depsBuildBuild = [
|
||||||
|
buildPackages.stdenv.cc
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DAPP_RENDER_SYSTEM=${if gbmSupport then "gles" else "gl"}"
|
||||||
|
"-Dlibdvdcss_URL=${libdvdcss}"
|
||||||
|
"-Dlibdvdnav_URL=${libdvdnav}"
|
||||||
|
"-Dlibdvdread_URL=${libdvdread}"
|
||||||
|
"-DGIT_VERSION=${kodiReleaseDate}"
|
||||||
|
"-DENABLE_EVENTCLIENTS=ON"
|
||||||
|
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
||||||
|
"-DENABLE_OPTICAL=ON"
|
||||||
|
"-DLIRC_DEVICE=/run/lirc/lircd"
|
||||||
|
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
||||||
|
"-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
|
||||||
|
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
|
||||||
|
] ++ lib.optional waylandSupport [
|
||||||
|
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
|
||||||
|
];
|
||||||
|
|
||||||
|
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
|
||||||
|
# I'm guessing there is a thing waiting to time out
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
cmakeFlagsArray+=("-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}")
|
||||||
|
'' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||||
|
# Need these tools on the build system when cross compiling,
|
||||||
|
# hacky, but have found no other way.
|
||||||
|
CXX=${stdenv.cc.targetPrefix}c++ LD=ld make -C tools/depends/native/JsonSchemaBuilder
|
||||||
|
cmakeFlags+=" -DWITH_JSONSCHEMABUILDER=$PWD/tools/depends/native/JsonSchemaBuilder/bin"
|
||||||
|
|
||||||
|
CXX=${stdenv.cc.targetPrefix}c++ LD=ld make EXTRA_CONFIGURE= -C tools/depends/native/TexturePacker
|
||||||
|
cmakeFlags+=" -DWITH_TEXTUREPACKER=$PWD/tools/depends/native/TexturePacker/bin"
|
||||||
|
'';
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace xbmc/platform/posix/PosixTimezone.cpp \
|
||||||
|
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
for p in $(ls $out/bin/) ; do
|
||||||
|
wrapProgram $out/bin/$p \
|
||||||
|
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ]
|
||||||
|
++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \
|
||||||
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
||||||
|
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
|
||||||
|
++ lib.optional nfsSupport libnfs
|
||||||
|
++ lib.optional rtmpSupport rtmpdump)}"
|
||||||
|
done
|
||||||
|
|
||||||
|
substituteInPlace $out/share/xsessions/kodi.desktop \
|
||||||
|
--replace kodi-standalone $out/bin/kodi-standalone
|
||||||
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
|
||||||
|
installCheckPhase = "$out/bin/kodi --version";
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
pythonPackages = python3Packages;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Media center";
|
||||||
|
homepage = "https://kodi.tv/";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ titanous edwtjo peterhoeg sephalon ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,11 +1,9 @@
|
||||||
{ lib, makeWrapper, buildEnv, kodi, plugins }:
|
{ lib, makeWrapper, buildEnv, kodi, addons }:
|
||||||
|
|
||||||
let
|
buildEnv {
|
||||||
drvName = builtins.parseDrvName kodi.name;
|
name = "${kodi.name}-env";
|
||||||
in buildEnv {
|
|
||||||
name = "${drvName.name}-with-plugins-${drvName.version}";
|
|
||||||
|
|
||||||
paths = [ kodi ] ++ plugins;
|
paths = [ kodi ] ++ addons;
|
||||||
pathsToLink = [ "/share" ];
|
pathsToLink = [ "/share" ];
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
@ -15,16 +13,11 @@ in buildEnv {
|
||||||
for exe in kodi{,-standalone}
|
for exe in kodi{,-standalone}
|
||||||
do
|
do
|
||||||
makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
|
makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
|
||||||
--prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath plugins} \
|
--prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath addons} \
|
||||||
--prefix KODI_HOME : $out/share/kodi \
|
--prefix KODI_HOME : $out/share/kodi \
|
||||||
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
||||||
(lib.concatMap
|
(lib.concatMap
|
||||||
(plugin: plugin.extraRuntimeDependencies or []) plugins)}"
|
(plugin: plugin.extraRuntimeDependencies or []) addons)}"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = kodi.meta // {
|
|
||||||
description = kodi.meta.description
|
|
||||||
+ " (with plugins: ${lib.concatMapStringsSep ", " (x: x.name) plugins})";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,14 +14,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "13.0.1";
|
version = "13.0.2";
|
||||||
|
|
||||||
twemojiSrc = fetchFromGitHub {
|
twemojiSrc = fetchFromGitHub {
|
||||||
name = "twemoji";
|
name = "twemoji";
|
||||||
owner = "twitter";
|
owner = "twitter";
|
||||||
repo = "twemoji";
|
repo = "twemoji";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0acinlv2l3s1jga2i9wh16mvgkxw4ipzgvjx8c80zd104lpdpgd9";
|
sha256 = "069pyq09jfzwp3xla8vmhbyyam32x2iyp0s29xcxlkj22p99bg6d";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonEnv =
|
pythonEnv =
|
||||||
|
|
45
pkgs/development/gnuradio-modules/ais/default.nix
Normal file
45
pkgs/development/gnuradio-modules/ais/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, mkDerivation
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, python
|
||||||
|
, boost
|
||||||
|
, cppunit
|
||||||
|
, log4cpp
|
||||||
|
, osmosdr
|
||||||
|
}:
|
||||||
|
|
||||||
|
mkDerivation rec {
|
||||||
|
pname = "gr-ais";
|
||||||
|
version = "2015-12-20";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bistromath";
|
||||||
|
repo = "gr-ais";
|
||||||
|
rev = "cdc1f52745853f9c739c718251830eb69704b26e";
|
||||||
|
sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
|
||||||
|
};
|
||||||
|
disabledForGRafter = "3.8";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
python
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
cppunit
|
||||||
|
osmosdr
|
||||||
|
boost
|
||||||
|
log4cpp
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Gnuradio block for ais";
|
||||||
|
homepage = "https://github.com/bistromath/gr-ais";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ mog ];
|
||||||
|
};
|
||||||
|
}
|
48
pkgs/development/gnuradio-modules/gsm/default.nix
Normal file
48
pkgs/development/gnuradio-modules/gsm/default.nix
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{ lib
|
||||||
|
, mkDerivation
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, cppunit
|
||||||
|
, swig
|
||||||
|
, boost
|
||||||
|
, log4cpp
|
||||||
|
, python
|
||||||
|
, libosmocore
|
||||||
|
, osmosdr
|
||||||
|
}:
|
||||||
|
|
||||||
|
mkDerivation {
|
||||||
|
pname = "gr-gsm";
|
||||||
|
version = "2016-08-25";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ptrkrysik";
|
||||||
|
repo = "gr-gsm";
|
||||||
|
rev = "3ca05e6914ef29eb536da5dbec323701fbc2050d";
|
||||||
|
sha256 = "13nnq927kpf91iqccr8db9ripy5czjl5jiyivizn6bia0bam2pvx";
|
||||||
|
};
|
||||||
|
disabledForGRafter = "3.8";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
swig
|
||||||
|
python
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
cppunit
|
||||||
|
log4cpp
|
||||||
|
boost
|
||||||
|
libosmocore
|
||||||
|
osmosdr
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Gnuradio block for gsm";
|
||||||
|
homepage = "https://github.com/ptrkrysik/gr-gsm";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ mog ];
|
||||||
|
};
|
||||||
|
}
|
61
pkgs/development/gnuradio-modules/limesdr/default.nix
Normal file
61
pkgs/development/gnuradio-modules/limesdr/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
{ lib
|
||||||
|
, mkDerivation
|
||||||
|
, fetchFromGitHub
|
||||||
|
, gnuradio
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, doxygen
|
||||||
|
, swig
|
||||||
|
, python
|
||||||
|
, log4cpp
|
||||||
|
, mpir
|
||||||
|
, boost
|
||||||
|
, gmp
|
||||||
|
, icu
|
||||||
|
, limesuite
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = {
|
||||||
|
"3.7" = "2.0.0";
|
||||||
|
"3.8" = "3.0.1";
|
||||||
|
"3.9" = null;
|
||||||
|
}.${gnuradio.versionAttr.major};
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "myriadrf";
|
||||||
|
repo = "gr-limesdr";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = {
|
||||||
|
"3.7" = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq";
|
||||||
|
"3.8" = "ffs+8TU0yr6IW1xZJ/abQ1CQWGZM+zYqPRJxy3ZvM9U=";
|
||||||
|
"3.9" = null;
|
||||||
|
}.${gnuradio.versionAttr.major};
|
||||||
|
};
|
||||||
|
in mkDerivation {
|
||||||
|
pname = "gr-limesdr";
|
||||||
|
inherit version src;
|
||||||
|
disabledForGRafter = "3.9";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
swig
|
||||||
|
python
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
log4cpp
|
||||||
|
mpir
|
||||||
|
boost
|
||||||
|
gmp
|
||||||
|
icu
|
||||||
|
limesuite
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Gnuradio source and sink blocks for LimeSDR";
|
||||||
|
homepage = "https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ maintainers.markuskowa ];
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/development/gnuradio-modules/mkDerivation.nix
Normal file
25
pkgs/development/gnuradio-modules/mkDerivation.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib
|
||||||
|
, unwrapped
|
||||||
|
}:
|
||||||
|
|
||||||
|
mkDerivation:
|
||||||
|
|
||||||
|
args:
|
||||||
|
|
||||||
|
# Check if it's supposed to not get built for the current gnuradio version
|
||||||
|
if (builtins.hasAttr "disabledForGRafter" args) &&
|
||||||
|
(lib.versionAtLeast unwrapped.versionAttr.major args.disabledForGRafter) then
|
||||||
|
let name = args.name or "${args.pname}"; in
|
||||||
|
throw "Package ${name} is incompatible with GNURadio ${unwrapped.versionAttr.major}"
|
||||||
|
else
|
||||||
|
|
||||||
|
let
|
||||||
|
args_ = {
|
||||||
|
enableParallelBuilding = args.enableParallelBuilding or true;
|
||||||
|
nativeBuildInputs = (args.nativeBuildInputs or []);
|
||||||
|
# We add gnuradio and volk itself by default - most gnuradio based packages
|
||||||
|
# will not consider it a depenency worth mentioning and it will almost
|
||||||
|
# always be needed
|
||||||
|
buildInputs = (args.buildInputs or []) ++ [ unwrapped unwrapped.volk ];
|
||||||
|
};
|
||||||
|
in mkDerivation (args // args_)
|
|
@ -1,31 +1,40 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, gnuradio, uhd
|
{ lib
|
||||||
, makeWrapper, libsodium, cppunit, log4cpp
|
, mkDerivation
|
||||||
, pythonSupport ? true, python, swig
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, cppunit
|
||||||
|
, swig
|
||||||
|
, boost
|
||||||
|
, log4cpp
|
||||||
|
, python
|
||||||
|
, libsodium
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert pythonSupport -> python != null && swig != null;
|
mkDerivation {
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "gr-nacl";
|
pname = "gr-nacl";
|
||||||
version = "2017-04-10";
|
version = "2017-04-10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "stwunsch";
|
owner = "stwunsch";
|
||||||
repo = "gr-nacl";
|
repo = "gr-nacl";
|
||||||
rev = "15276bb0fcabf5fe4de4e58df3d579b5be0e9765";
|
rev = "15276bb0fcabf5fe4de4e58df3d579b5be0e9765";
|
||||||
sha256 = "018np0qlk61l7mlv3xxx5cj1rax8f1vqrsrch3higsl25yydbv7v";
|
sha256 = "018np0qlk61l7mlv3xxx5cj1rax8f1vqrsrch3higsl25yydbv7v";
|
||||||
};
|
};
|
||||||
|
disabledForGRafter = "3.8";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
swig
|
||||||
|
python
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost gnuradio uhd makeWrapper libsodium cppunit log4cpp
|
cppunit
|
||||||
] ++ lib.optionals pythonSupport [ python swig ];
|
log4cpp
|
||||||
|
boost
|
||||||
postInstall = ''
|
libsodium
|
||||||
for prog in "$out"/bin/*; do
|
];
|
||||||
wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Gnuradio block for encryption";
|
description = "Gnuradio block for encryption";
|
86
pkgs/development/gnuradio-modules/osmosdr/default.nix
Normal file
86
pkgs/development/gnuradio-modules/osmosdr/default.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
{ lib
|
||||||
|
, mkDerivation
|
||||||
|
, fetchgit
|
||||||
|
, gnuradio
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, log4cpp
|
||||||
|
, mpir
|
||||||
|
, boost
|
||||||
|
, gmp
|
||||||
|
, fftwFloat
|
||||||
|
, python
|
||||||
|
, swig
|
||||||
|
, uhd
|
||||||
|
, icu
|
||||||
|
, airspy
|
||||||
|
, hackrf
|
||||||
|
, libbladeRF
|
||||||
|
, rtl-sdr
|
||||||
|
, soapysdr-with-plugins
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = {
|
||||||
|
"3.7" = "0.1.5";
|
||||||
|
"3.8" = "0.2.2";
|
||||||
|
"3.9" = null;
|
||||||
|
}.${gnuradio.versionAttr.major};
|
||||||
|
src = fetchgit {
|
||||||
|
url = "git://git.osmocom.org/gr-osmosdr";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = {
|
||||||
|
"3.7" = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
|
||||||
|
"3.8" = "HT6xlN6cJAnvF+s1g2I1uENhBJJizdADlLXeSD0rEqs=";
|
||||||
|
"3.9" = null;
|
||||||
|
}.${gnuradio.versionAttr.major};
|
||||||
|
};
|
||||||
|
in mkDerivation {
|
||||||
|
pname = "gr-osmosdr";
|
||||||
|
inherit version src;
|
||||||
|
disabledForGRafter = "3.9";
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
log4cpp
|
||||||
|
mpir
|
||||||
|
boost
|
||||||
|
fftwFloat
|
||||||
|
gmp
|
||||||
|
icu
|
||||||
|
airspy
|
||||||
|
hackrf
|
||||||
|
libbladeRF
|
||||||
|
rtl-sdr
|
||||||
|
soapysdr-with-plugins
|
||||||
|
] ++ lib.optional (gnuradio.hasFeature "gr-uhd" gnuradio.features) [
|
||||||
|
uhd
|
||||||
|
];
|
||||||
|
cmakeFlags = [
|
||||||
|
(if (gnuradio.hasFeature "python-support" gnuradio.features) then
|
||||||
|
"-DENABLE_PYTHON=ON"
|
||||||
|
else
|
||||||
|
"-DENABLE_PYTHON=OFF"
|
||||||
|
)
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
swig
|
||||||
|
] ++ lib.optionals (gnuradio.hasFeature "python-support" gnuradio.features) [
|
||||||
|
(if (gnuradio.versionAttr.major == "3.7") then
|
||||||
|
python.pkgs.cheetah
|
||||||
|
else
|
||||||
|
python.pkgs.Mako
|
||||||
|
)
|
||||||
|
python
|
||||||
|
]
|
||||||
|
;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Gnuradio block for OsmoSDR and rtl-sdr";
|
||||||
|
homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ bjornfor ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
59
pkgs/development/gnuradio-modules/rds/default.nix
Normal file
59
pkgs/development/gnuradio-modules/rds/default.nix
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
{ lib
|
||||||
|
, mkDerivation
|
||||||
|
, fetchFromGitHub
|
||||||
|
, gnuradio
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, swig
|
||||||
|
, python
|
||||||
|
, log4cpp
|
||||||
|
, mpir
|
||||||
|
, boost
|
||||||
|
, gmp
|
||||||
|
, icu
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = {
|
||||||
|
"3.7" = "1.1.0";
|
||||||
|
"3.8" = "3.8.0";
|
||||||
|
"3.9" = null;
|
||||||
|
}.${gnuradio.versionAttr.major};
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bastibl";
|
||||||
|
repo = "gr-rds";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = {
|
||||||
|
"3.7" = "0jkzchvw0ivcxsjhi1h0mf7k13araxf5m4wi5v9xdgqxvipjzqfy";
|
||||||
|
"3.8" = "+yKLJu2bo7I2jkAiOdjvdhZwxFz9NFgTmzcLthH9Y5o=";
|
||||||
|
"3.9" = null;
|
||||||
|
}.${gnuradio.versionAttr.major};
|
||||||
|
};
|
||||||
|
in mkDerivation {
|
||||||
|
pname = "gr-rds";
|
||||||
|
inherit version src;
|
||||||
|
disabledForGRafter = "3.9";
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
log4cpp
|
||||||
|
mpir
|
||||||
|
boost
|
||||||
|
gmp
|
||||||
|
icu
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
swig
|
||||||
|
python
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Gnuradio block for radio data system";
|
||||||
|
homepage = "https://github.com/bastibl/gr-rds";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ mog ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -18,6 +18,6 @@ in stdenv.mkDerivation {
|
||||||
homepage = "https://www.gnu.org/software/guile-opengl/";
|
homepage = "https://www.gnu.org/software/guile-opengl/";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ vyp ];
|
maintainers = with maintainers; [ vyp ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||||
CLucene is a port of the very popular Java Lucene text search engine API.
|
CLucene is a port of the very popular Java Lucene text search engine API.
|
||||||
'';
|
'';
|
||||||
homepage = "http://clucene.sourceforge.net";
|
homepage = "http://clucene.sourceforge.net";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
license = with licenses; [ asl20 lgpl2 ];
|
license = with licenses; [ asl20 lgpl2 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
license = lib.licenses.lgpl2;
|
license = lib.licenses.lgpl2;
|
||||||
|
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl }:
|
{ lib, stdenv, fetchurl, libiconv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "htmlcxx";
|
pname = "htmlcxx";
|
||||||
|
@ -9,12 +9,13 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1hgmyiad3qgbpf2dvv2jygzj6jpz4dl3n8ds4nql68a4l9g2nm07";
|
sha256 = "1hgmyiad3qgbpf2dvv2jygzj6jpz4dl3n8ds4nql68a4l9g2nm07";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildInputs = [ libiconv ];
|
||||||
patches = [ ./ptrdiff.patch ];
|
patches = [ ./ptrdiff.patch ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "http://htmlcxx.sourceforge.net/";
|
homepage = "http://htmlcxx.sourceforge.net/";
|
||||||
description = "A simple non-validating css1 and html parser for C++";
|
description = "A simple non-validating css1 and html parser for C++";
|
||||||
license = licenses.lgpl2;
|
license = licenses.lgpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,9 @@ stdenv.mkDerivation rec {
|
||||||
cp libiniparser.a $out/lib
|
cp libiniparser.a $out/lib
|
||||||
cp libiniparser.so.1 $out/lib
|
cp libiniparser.so.1 $out/lib
|
||||||
ln -s libiniparser.so.1 $out/lib/libiniparser.so
|
ln -s libiniparser.so.1 $out/lib/libiniparser.so
|
||||||
|
|
||||||
|
mkdir -p $out/lib/pkgconfig
|
||||||
|
substituteAll ${./iniparser.pc.in} $out/lib/pkgconfig/iniparser.pc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
12
pkgs/development/libraries/iniparser/iniparser.pc.in
Normal file
12
pkgs/development/libraries/iniparser/iniparser.pc.in
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
prefix=@out@
|
||||||
|
exec_prefix=@out@
|
||||||
|
libdir=${exec_prefix}/lib
|
||||||
|
includedir=${prefix}/include
|
||||||
|
datarootdir=${prefix}/share
|
||||||
|
datadir=${datarootdir}
|
||||||
|
|
||||||
|
Name: libiniparser
|
||||||
|
Description: Iniparser library
|
||||||
|
Version: @version@
|
||||||
|
Libs: -L${libdir} -liniparser
|
||||||
|
Cflags: -I${includedir}
|
|
@ -30,6 +30,11 @@ stdenv.mkDerivation rec {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace "gcc" "${stdenv.cc.targetPrefix}cc" \
|
||||||
|
--replace "ar" "${stdenv.cc.targetPrefix}ar"
|
||||||
|
'';
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"PREFIX=${placeholder "out"}"
|
"PREFIX=${placeholder "out"}"
|
||||||
"DATATYPE=double"
|
"DATATYPE=double"
|
||||||
|
@ -40,6 +45,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/mborgerding/kissfft";
|
homepage = "https://github.com/mborgerding/kissfft";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
sed -i 's/define HAVE_LAPACK/undef HAVE_LAPACK/' levmar.h
|
substituteInPlace levmar.h --replace "define HAVE_LAPACK" "undef HAVE_LAPACK"
|
||||||
sed -i 's/LAPACKLIBS=.*/LAPACKLIBS=/' Makefile
|
sed -i 's/LAPACKLIBS=.*/LAPACKLIBS=/' Makefile
|
||||||
|
substituteInPlace Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -23,6 +24,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "ANSI C implementations of Levenberg-Marquardt, usable also from C++";
|
description = "ANSI C implementations of Levenberg-Marquardt, usable also from C++";
|
||||||
homepage = "https://www.ics.forth.gr/~lourakis/levmar/";
|
homepage = "https://www.ics.forth.gr/~lourakis/levmar/";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
||||||
homepage = "https://github.com/Pulse-Eight/platform";
|
homepage = "https://github.com/Pulse-Eight/platform";
|
||||||
repositories.git = "https://github.com/Pulse-Eight/platform.git";
|
repositories.git = "https://github.com/Pulse-Eight/platform.git";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.titanous ];
|
maintainers = [ maintainers.titanous ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,12 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
makeFlags = [ "PREFIX=$(out)" ];
|
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "AR=${stdenv.cc.targetPrefix}ar" "PREFIX=$(out)" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Emulate a Cisco-style telnet command-line interface";
|
description = "Emulate a Cisco-style telnet command-line interface";
|
||||||
homepage = "http://sites.dparrish.com/libcli";
|
homepage = "http://sites.dparrish.com/libcli";
|
||||||
license = licenses.lgpl21Plus;
|
license = licenses.lgpl21Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
||||||
description = "C client library for Redis (key-value database)";
|
description = "C client library for Redis (key-value database)";
|
||||||
homepage = "https://code.google.com/archive/p/credis/";
|
homepage = "https://code.google.com/archive/p/credis/";
|
||||||
license = licenses.bsd3; # from homepage
|
license = licenses.bsd3; # from homepage
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.bjornfor ];
|
maintainers = [ maintainers.bjornfor ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Smart pointer constructs for the (GNU) C programming language";
|
description = "Smart pointer constructs for the (GNU) C programming language";
|
||||||
homepage = "https://github.com/Snaipe/libcsptr";
|
homepage = "https://github.com/Snaipe/libcsptr";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.fragamus ];
|
maintainers = [ maintainers.fragamus ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
, xercesc, xml-security-c, pkg-config, xsd, zlib, xalanc, xxd }:
|
, xercesc, xml-security-c, pkg-config, xsd, zlib, xalanc, xxd }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "3.14.4";
|
version = "3.14.5";
|
||||||
pname = "libdigidocpp";
|
pname = "libdigidocpp";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
|
url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
|
||||||
sha256 = "1x72icq5lp5cfv6kyxqc3863wa164s0g41nbi6gldr8syprzdk1l";
|
sha256 = "sha256-PSrYoz5ID88pYs/4rP2kz0NpI0pK6wcnx62HokE0g20=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config xxd ];
|
nativeBuildInputs = [ cmake pkg-config xxd ];
|
||||||
|
|
|
@ -22,14 +22,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libhandy";
|
pname = "libhandy";
|
||||||
version = "1.0.3";
|
version = "1.2.0";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "devdoc" "glade" ];
|
outputs = [ "out" "dev" "devdoc" "glade" ];
|
||||||
outputBin = "dev";
|
outputBin = "dev";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-VZuzrMLDYkiJF+ty7SW9wYH0riaslNF3Y0zF00yGf3o=";
|
sha256 = "sha256-OfWQriCRDnb+HAYHsuvliXUPRWENau7Fww4u5gKiCyU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libisoburn";
|
pname = "libisoburn";
|
||||||
version = "1.5.2";
|
version = "1.5.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
|
url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1v4hanapr02wf2i6rncc62z8cyc18078nb2y6q4hp3hxa74hnwnc";
|
sha256 = "sha256-LYmEbUOIDxf6WRxTs76kL/uANijk5jDGgPwskYT3kTI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ attr zlib libburn libisofs ];
|
buildInputs = [ attr zlib libburn libisofs ];
|
||||||
|
|
|
@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/EasyRPG/liblcf";
|
homepage = "https://github.com/EasyRPG/liblcf";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ yegortimoshenko ];
|
maintainers = with maintainers; [ yegortimoshenko ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,13 @@ let
|
||||||
soVersion = "4";
|
soVersion = "4";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "liblinear";
|
pname = "liblinear";
|
||||||
version = "2.42";
|
version = "2.43";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cjlin1";
|
owner = "cjlin1";
|
||||||
repo = "liblinear";
|
repo = "liblinear";
|
||||||
rev = "v${builtins.replaceStrings ["."] [""] version}";
|
rev = "v${builtins.replaceStrings ["."] [""] version}";
|
||||||
sha256 = "0p0hpjajfkskhd7jiv5zwhfa8hi49q3mgifjlkqvy99xspv98ijj";
|
sha256 = "sha256-qcSMuWHJgsapWs1xgxv3fKSXcx18q8cwyIn3E4RCGKA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1";
|
sha256 = "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace "gcc" "${stdenv.cc.targetPrefix}cc" \
|
||||||
|
--replace "ar" "${stdenv.cc.targetPrefix}ar"
|
||||||
|
'';
|
||||||
|
|
||||||
makeFlags = [ "INSTALLPREFIX=$(out)" ];
|
makeFlags = [ "INSTALLPREFIX=$(out)" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -17,6 +23,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "NAT-PMP client";
|
description = "NAT-PMP client";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
|
||||||
"2D irregular bin packaging and nesting library written in modern C++";
|
"2D irregular bin packaging and nesting library written in modern C++";
|
||||||
homepage = "https://github.com/Ultimaker/libnest2d";
|
homepage = "https://github.com/Ultimaker/libnest2d";
|
||||||
license = licenses.lgpl3;
|
license = licenses.lgpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
description = "C library implementing the OAuth secure authentication protocol";
|
description = "C library implementing the OAuth secure authentication protocol";
|
||||||
homepage = "http://liboauth.sourceforge.net/";
|
homepage = "http://liboauth.sourceforge.net/";
|
||||||
repositories.git = "https://github.com/x42/liboauth.git";
|
repositories.git = "https://github.com/x42/liboauth.git";
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libofx";
|
pname = "libofx";
|
||||||
version = "0.10.0";
|
version = "0.10.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LibOFX";
|
owner = "LibOFX";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-gdLh5ZUciN4FCJwTCaJSKJ5RjXgNDXnDOUWkyTZwf2c=";
|
sha256 = "sha256-QIasZKwSD9YCidHCxT/HOThxE5HEQWD0I2/loDP6mlU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = "./autogen.sh";
|
preConfigure = "./autogen.sh";
|
||||||
|
|
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||||
description = "Library for rasterizing 2-D vector graphics";
|
description = "Library for rasterizing 2-D vector graphics";
|
||||||
homepage = "https://www.gnu.org/software/libxmi/";
|
homepage = "https://www.gnu.org/software/libxmi/";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice
|
platforms = lib.platforms.unix;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||||
Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).
|
Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).
|
||||||
'';
|
'';
|
||||||
license = licenses.lgpl21Plus;
|
license = licenses.lgpl21Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
|
|
@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
license = licenses.lgpl3Plus;
|
license = licenses.lgpl3Plus;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A lightweight C library for the Jabber protocol";
|
description = "A lightweight C library for the Jabber protocol";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
downloadPage = "http://mcabber.com/files/loudmouth/";
|
downloadPage = "http://mcabber.com/files/loudmouth/";
|
||||||
downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
|
downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
|
||||||
updateWalker = true;
|
updateWalker = true;
|
||||||
|
|
|
@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://sourceforge.net/projects/lrdf/";
|
homepage = "https://sourceforge.net/projects/lrdf/";
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
maintainers = [ lib.maintainers.marcweber ];
|
maintainers = [ lib.maintainers.marcweber ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/brunocodutra/metal";
|
homepage = "https://github.com/brunocodutra/metal";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ pmiddend ];
|
maintainers = with maintainers; [ pmiddend ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "A small XML library";
|
description = "A small XML library";
|
||||||
homepage = "https://www.msweet.org/mxml/";
|
homepage = "https://www.msweet.org/mxml/";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "A simple and efficient MsgPack binary serialization library in a self-contained header file";
|
description = "A simple and efficient MsgPack binary serialization library in a self-contained header file";
|
||||||
homepage = "https://github.com/rtsisyk/msgpuck";
|
homepage = "https://github.com/rtsisyk/msgpuck";
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ izorkin ];
|
maintainers = with maintainers; [ izorkin ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
|
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "oneDNN";
|
pname = "oneDNN";
|
||||||
version = "2.1";
|
version = "2.1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "oneapi-src";
|
owner = "oneapi-src";
|
||||||
repo = "oneDNN";
|
repo = "oneDNN";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-PZ8r1eNfz4dVxlbtQJSrxiw/Hk6E6wSDapkMy7ux9fI=";
|
sha256 = "sha256-8nXzsY4+XnhKbuYyDWehiWqQEWoEcDBF4KagOg1WlN8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ];
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
|
{ lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "orcania";
|
pname = "orcania";
|
||||||
version = "2.1.1";
|
version = "2.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "babelouest";
|
owner = "babelouest";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0l035zbzyv623h5186rk6iq1097rxx64iwnk4s2c7l9gzv9wyapp";
|
sha256 = "sha256-tArXiXmoWHd42IGBZKtc4QJIBy3USPlSeW+Dv5xl1EU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://www.gnu.org/software/osip/";
|
homepage = "https://www.gnu.org/software/osip/";
|
||||||
description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
|
description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
|
||||||
maintainers = with lib.maintainers; [ raskin ];
|
maintainers = with lib.maintainers; [ raskin ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.all;
|
||||||
inherit version;
|
inherit version;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Library to read and write Paradox files";
|
description = "Library to read and write Paradox files";
|
||||||
homepage = "http://pxlib.sourceforge.net/";
|
homepage = "http://pxlib.sourceforge.net/";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.winpat ];
|
maintainers = [ maintainers.winpat ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "File open routines to safely open a file when in the presence of an attack";
|
description = "File open routines to safely open a file when in the presence of an attack";
|
||||||
license = lib.licenses.asl20 ;
|
license = lib.licenses.asl20 ;
|
||||||
maintainers = [lib.maintainers.raskin];
|
maintainers = [lib.maintainers.raskin];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.all;
|
||||||
homepage = "https://research.cs.wisc.edu/mist/safefile/";
|
homepage = "https://research.cs.wisc.edu/mist/safefile/";
|
||||||
updateWalker = true;
|
updateWalker = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,13 +8,16 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0ax02fzqpaxr7d30l5xbndy1s5vgg1ag643c7zwiw2wj1czrxil8";
|
sha256 = "0ax02fzqpaxr7d30l5xbndy1s5vgg1ag643c7zwiw2wj1czrxil8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
|
||||||
|
'';
|
||||||
|
|
||||||
installFlags = [ "INSTBASEDIR=$(out)" ];
|
installFlags = [ "INSTBASEDIR=$(out)" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A library for displaying messages";
|
description = "A library for displaying messages";
|
||||||
homepage = "https://shh.thathost.com/pub-unix/";
|
homepage = "https://shh.thathost.com/pub-unix/";
|
||||||
license = licenses.artistic1;
|
license = licenses.artistic1;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,16 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0yd6bl6qw675sxa81nxw6plhpjf9d2ywlm8a5z66zyjf28sl7sds";
|
sha256 = "0yd6bl6qw675sxa81nxw6plhpjf9d2ywlm8a5z66zyjf28sl7sds";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
|
||||||
|
'';
|
||||||
|
|
||||||
installFlags = [ "INSTBASEDIR=$(out)" ];
|
installFlags = [ "INSTBASEDIR=$(out)" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A library for parsing command line options";
|
description = "A library for parsing command line options";
|
||||||
homepage = "https://shh.thathost.com/pub-unix/";
|
homepage = "https://shh.thathost.com/pub-unix/";
|
||||||
license = licenses.artistic1;
|
license = licenses.artistic1;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://atztogo.github.io/spglib/";
|
homepage = "https://atztogo.github.io/spglib/";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = [ maintainers.markuskowa ];
|
maintainers = [ maintainers.markuskowa ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://www.spice-space.org/";
|
homepage = "https://www.spice-space.org/";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ bluescreen303 ];
|
maintainers = with maintainers; [ bluescreen303 ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A program that can validate your HTML, as well as modify it to be more clean and standard";
|
description = "A program that can validate your HTML, as well as modify it to be more clean and standard";
|
||||||
homepage = "http://tidyp.com/";
|
homepage = "http://tidyp.com/";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ pSub ];
|
maintainers = with maintainers; [ pSub ];
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
};
|
};
|
||||||
|
|
51
pkgs/development/libraries/volk/default.nix
Normal file
51
pkgs/development/libraries/volk/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, cmake
|
||||||
|
, cppunit
|
||||||
|
, python3
|
||||||
|
, enableModTool ? true
|
||||||
|
, removeReferencesTo
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "volk";
|
||||||
|
version = "2.4.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "gnuradio";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "fuHJ+p5VN4ThdbQFbzB08VCuy/Zo7m/I1Gs5EQGPeNY=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fixes a failing test: https://github.com/gnuradio/volk/pull/434
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/gnuradio/volk/pull/434/commits/bce8531b6f1a3c5abe946ed6674b283d54258281.patch";
|
||||||
|
sha256 = "OLW9uF6iL47z63kjvYqwsWtkINav8Xhs+Htqg6Kr4uI=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
cmakeFlags = lib.optionals (!enableModTool) [ "-DENABLE_MODTOOL=OFF" ];
|
||||||
|
postInstall = ''
|
||||||
|
${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
python3
|
||||||
|
python3.pkgs.Mako
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "http://libvolk.org/";
|
||||||
|
description = "The Vector Optimized Library of Kernels";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ doronbehar ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,11 @@
|
||||||
{ lib, stdenv, buildPythonPackage, fetchPypi, libspatialindex, numpy }:
|
{ lib,
|
||||||
|
stdenv,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchPypi,
|
||||||
|
libspatialindex,
|
||||||
|
numpy,
|
||||||
|
pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "Rtree";
|
pname = "Rtree";
|
||||||
|
@ -9,21 +16,23 @@ buildPythonPackage rec {
|
||||||
sha256 = "be8772ca34699a9ad3fb4cfe2cfb6629854e453c10b3328039301bbfc128ca3e";
|
sha256 = "be8772ca34699a9ad3fb4cfe2cfb6629854e453c10b3328039301bbfc128ca3e";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ libspatialindex ];
|
buildInputs = [ libspatialindex ];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
substituteInPlace rtree/core.py --replace \
|
substituteInPlace rtree/finder.py --replace \
|
||||||
"find_library('spatialindex_c')" "'${libspatialindex}/lib/libspatialindex_c${stdenv.hostPlatform.extensions.sharedLibrary}'"
|
"find_library('spatialindex_c')" "'${libspatialindex}/lib/libspatialindex_c${stdenv.hostPlatform.extensions.sharedLibrary}'"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Tests appear to be broken due to mysterious memory unsafe issues. See #36760
|
checkInputs = [
|
||||||
doCheck = false;
|
numpy
|
||||||
checkInputs = [ numpy ];
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
pythonImportsCheck = [ "rtree" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "R-Tree spatial index for Python GIS";
|
description = "R-Tree spatial index for Python GIS";
|
||||||
homepage = "https://toblerity.org/rtree/";
|
homepage = "https://toblerity.org/rtree/";
|
||||||
license = licenses.lgpl21;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ bgamari ];
|
maintainers = with maintainers; [ bgamari ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "convertdate";
|
pname = "convertdate";
|
||||||
version = "2.3.0";
|
version = "2.3.1";
|
||||||
|
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
|
@ -17,8 +17,8 @@ buildPythonPackage rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fitnr";
|
owner = "fitnr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = version;
|
||||||
sha256 = "17j188zlp46zmq8qyy4z4f9v25l3zibkwzj8wp4fxqgimjnfj2nr";
|
sha256 = "1g8sgd3xc9viy0kb1i4xp6bdn1hzwhrnk8kmismla88scivrhq32";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -42,6 +42,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals (!isPyPy) [
|
nativeBuildInputs = lib.optionals (!isPyPy) [
|
||||||
cffi
|
cffi
|
||||||
|
] ++ [
|
||||||
rustPlatform.cargoSetupHook
|
rustPlatform.cargoSetupHook
|
||||||
setuptools-rust
|
setuptools-rust
|
||||||
] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
|
] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
# TODO: bzr support is missing because nixpkgs switched to `breezy`
|
# TODO: bzr support is missing because nixpkgs switched to `breezy`
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "2.8.1";
|
version = "2.8.2";
|
||||||
pname = "powerline";
|
pname = "powerline";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0xscckcbw75pbcl4546ndrjs4682pn2sqqrd6qvqm0s6zswg7a0y";
|
sha256 = "sha256-6V8ozl5KJQvytfflBmKJlIZQ5m3hkpCzMBtWZ2SzcQ0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
homepage = "http://coan2.sourceforge.net/";
|
homepage = "http://coan2.sourceforge.net/";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "tfsec";
|
pname = "tfsec";
|
||||||
version = "0.39.5";
|
version = "0.39.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tfsec";
|
owner = "tfsec";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-RDvwZyltPD21CQwZISOrLPVgQeRmPQc6/yssptS4XMw=";
|
sha256 = "sha256-2P+/y3iP/eMGGc0W1lHWWxO+uMy5gvlvjKzZ/8maJ9o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "github.com/tfsec/tfsec";
|
goPackagePath = "github.com/tfsec/tfsec";
|
||||||
|
|
|
@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
|
||||||
description = "Exploit Development and Reverse Engineering with GDB Made Easy";
|
description = "Exploit Development and Reverse Engineering with GDB Made Easy";
|
||||||
homepage = "https://github.com/pwndbg/pwndbg";
|
homepage = "https://github.com/pwndbg/pwndbg";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ mic92 ];
|
maintainers = with maintainers; [ mic92 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "terraform-ls";
|
pname = "terraform-ls";
|
||||||
version = "0.14.0";
|
version = "0.15.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-p9q+cSnMN6Na+XZoYSHfE4SCNYOEavXE+eWIaxcD73k=";
|
sha256 = "sha256-/g62LSlaIK67oY6dI8S3Lni85eBBI6piqP2Fsq3HXWQ=";
|
||||||
};
|
};
|
||||||
vendorSha256 = "sha256-XOIs5Ng0FYz7OfwbrNiVN3GTIABqxlO8ITKGfnC+kWo=";
|
vendorSha256 = "sha256-U0jVdyY4SifPWkOkq3ohY/LvfGcYm4rI+tW1QEm39oo=";
|
||||||
|
|
||||||
# tests fail in sandbox mode because of trying to download stuff from releases.hashicorp.com
|
# tests fail in sandbox mode because of trying to download stuff from releases.hashicorp.com
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
|
@ -2,18 +2,20 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "renderizer";
|
pname = "renderizer";
|
||||||
version = "2.0.9";
|
version = "2.0.12";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gomatic";
|
owner = "gomatic";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = "v${version}";
|
||||||
sha256 = "1bip12pcn8bqgph7vd7bzzadwbyqh80fx7gqciv9fchycwsj04rf";
|
sha256 = "sha256-Ji+wTTXLp17EYRIjUiVgd33ZeBdT8K2O8R2Ejq2Ll5I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "13z357ww4j5bmmy8ag6d6gd5b2dib8kby73q8317pqnqzaxrrbcj";
|
buildFlagsArray = [
|
||||||
|
"-ldflags=-s -w -X main.version=${version} -X main.commitHash=${src.rev} -X main.date=19700101T000000"
|
||||||
|
];
|
||||||
|
|
||||||
doCheck = false;
|
vendorSha256 = null;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "CLI to render Go template text files";
|
description = "CLI to render Go template text files";
|
||||||
|
|
|
@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "http://www.vassalengine.org/";
|
homepage = "http://www.vassalengine.org/";
|
||||||
license = licenses.lgpl21Only;
|
license = licenses.lgpl21Only;
|
||||||
maintainers = with maintainers; [ tvestelind ];
|
maintainers = with maintainers; [ tvestelind ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fatrace";
|
pname = "fatrace";
|
||||||
version = "0.16.1";
|
version = "0.16.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "martinpitt";
|
owner = "martinpitt";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0lxfqin2bw9235yah8ylb4p8lc3755050sjg30z3gy7bab0lfyg9";
|
sha256 = "sha256-1daYCVGz8Zd42j2QMFL5EAULKkmBnbE828i5NV9Kcb8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python3 which ];
|
buildInputs = [ python3 which ];
|
||||||
|
|
|
@ -7,8 +7,8 @@ stdenv.mkDerivation {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lhmouse";
|
owner = "lhmouse";
|
||||||
repo = "mcfgthread";
|
repo = "mcfgthread";
|
||||||
rev = "9570e5ca7b98002d707c502c919d951bf256b9c6";
|
rev = "c446cf4fcdc262fc899a188a4bb7136284c34222";
|
||||||
sha256 = "10y2x3x601a7c1hkd6zlr3xpfsnlr05xl28v23clf619756a5755";
|
sha256 = "1ib90lrd4dz8irq4yvzwhxqa86i5vxl2q2z3z04sf1i8hw427p2f";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -18,10 +18,6 @@ stdenv.mkDerivation {
|
||||||
rm -r "$sourceRoot/debug" "$sourceRoot/release"
|
rm -r "$sourceRoot/debug" "$sourceRoot/release"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace Makefile.am --replace '-Werror' ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
];
|
];
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "minio";
|
pname = "minio";
|
||||||
version = "2021-03-10T05-11-33Z";
|
version = "2021-03-12T00-00-47Z";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "minio";
|
owner = "minio";
|
||||||
repo = "minio";
|
repo = "minio";
|
||||||
rev = "RELEASE.${version}";
|
rev = "RELEASE.${version}";
|
||||||
sha256 = "sha256-YwlVZE7TO9qr/8lwLXdZqjxy4NGxTkmLyKFDVlTZPqQ=";
|
sha256 = "sha256-7KHEmnrTw6SBhsImMjcv+b1wvFEg8AXgsuZTGp5iVis=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-E+j+ysBKKSyTITmJwHieBcpXdF3+rtt4YS7OVPMC6vI=";
|
vendorSha256 = "sha256-tMt6XRj1dd+AHqWA6WGm5GBFGx+IsP1ijYCj8cmUXy0=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
version = "2.1.0";
|
version = "2.2.0";
|
||||||
pname = "grafana-loki";
|
pname = "grafana-loki";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
repo = "loki";
|
repo = "loki";
|
||||||
sha256 = "O/3079a67j1i9pgf18SBx0iJcQPVmb0H+K/PzQVBCDQ=";
|
sha256 = "sha256-mEu9z3lhHSE0NMXXViX4OBbIiNba7/RPr+AFmIM77g4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
23
pkgs/servers/monitoring/prometheus/jitsi-exporter.nix
Normal file
23
pkgs/servers/monitoring/prometheus/jitsi-exporter.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, buildGoModule, fetchgit, nixosTests }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "jitsiexporter";
|
||||||
|
version = "0.2.18";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://git.xsfx.dev/prometheus/jitsiexporter";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1cf46wp96d9dwlwlffcgbcr0v3xxxfdv6il0zqkm2i7cfsfw0skf";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = null;
|
||||||
|
|
||||||
|
passthru.tests = { inherit (nixosTests.prometheus-exporters) jitsi; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Export Jitsi Videobridge metrics to Prometheus";
|
||||||
|
homepage = "https://git.xsfx.dev/prometheus/jitsiexporter";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ petabyteboy ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "rtsp-simple-server";
|
pname = "rtsp-simple-server";
|
||||||
version = "0.14.2";
|
version = "0.15.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aler9";
|
owner = "aler9";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-pnMUUxV4DM2YClwc24l+5Ehh5zc+qEOLTtiqh7c+8PI=";
|
sha256 = "sha256-U0wZ0NrvCQjMLDDjO6Jf6uu5FlHar7Td2zhoU2+MMkM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-oWWUEPEpMLqXucQwUvM6fyGCwttTIV6ZcCM2VZXnKuM=";
|
vendorSha256 = "sha256-dfAuq4iw3NQ4xaabPv7MQ88CYXgivRBeyvbmJ3SSjbI=";
|
||||||
|
|
||||||
# Tests need docker
|
# Tests need docker
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue