Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2021-10-25 00:07:15 +00:00 committed by GitHub
commit 4c99a552da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
119 changed files with 1926 additions and 931 deletions

View File

@ -3728,6 +3728,13 @@
githubId = 541748;
name = "Felipe Espinoza";
};
fedx-sudo = {
email = "fedx-sudo@pm.me";
github = "Fedx-sudo";
githubId = 66258975;
name = "Fedx sudo";
matrix = "fedx:matrix.org";
};
fehnomenal = {
email = "fehnomenal@fehn.systems";
github = "fehnomenal";
@ -6348,6 +6355,12 @@
githubId = 1104419;
name = "Lucas Hoffmann";
};
lucasew = {
email = "lucas59356@gmail.com";
github = "lucasew";
githubId = 15693688;
name = "Lucas Eduardo Wendt";
};
lde = {
email = "lilian.deloche@puck.fr";
github = "lde";

View File

@ -1613,6 +1613,16 @@ Superuser created successfully.
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
The <literal>cawbird</literal> Twitter client now uses its own
API keys to count as different application than upstream
builds. This is done to evade application-level rate limiting.
While existing accounts continue to work, users may want to
remove and re-register their account in the client to enjoy a
better user experience and benefit from this change.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -462,3 +462,5 @@ In addition to numerous new and upgraded packages, this release has the followin
- `virtualisation.libvirtd.qemu*` options (e.g.: `virtualisation.libvirtd.qemuRunAsRoot`) were moved to [`virtualisation.libvirtd.qemu`](options.html#opt-virtualisation.libvirtd.qemu) submodule,
- software TPM1/TPM2 support (e.g.: Windows 11 guests) ([`virtualisation.libvirtd.qemu.swtpm`](options.html#opt-virtualisation.libvirtd.qemu.swtpm)),
- custom OVMF package (e.g.: `pkgs.OVMFFull` with HTTP, CSM and Secure Boot support) ([`virtualisation.libvirtd.qemu.ovmf.package`](options.html#opt-virtualisation.libvirtd.qemu.ovmf.package)).
- The `cawbird` Twitter client now uses its own API keys to count as different application than upstream builds. This is done to evade application-level rate limiting. While existing accounts continue to work, users may want to remove and re-register their account in the client to enjoy a better user experience and benefit from this change.

View File

@ -8,7 +8,6 @@ import queue
import io
import threading
import argparse
import atexit
import base64
import codecs
import os
@ -1128,11 +1127,13 @@ class Driver:
for cmd in cmd(start_scripts)
]
@atexit.register
def clean_up() -> None:
with rootlog.nested("clean up"):
for machine in self.machines:
machine.release()
def __enter__(self) -> "Driver":
return self
def __exit__(self, *_: Any) -> None:
with rootlog.nested("cleanup"):
for machine in self.machines:
machine.release()
def subtest(self, name: str) -> Iterator[None]:
"""Group logs under a given test name"""
@ -1307,14 +1308,13 @@ if __name__ == "__main__":
if not args.keep_vm_state:
rootlog.info("Machine state will be reset. To keep it, pass --keep-vm-state")
driver = Driver(
with Driver(
args.start_scripts, args.vlans, args.testscript.read_text(), args.keep_vm_state
)
if args.interactive:
ptpython.repl.embed(driver.test_symbols(), {})
else:
tic = time.time()
driver.run_tests()
toc = time.time()
rootlog.info(f"test script finished in {(toc-tic):.2f}s")
) as driver:
if args.interactive:
ptpython.repl.embed(driver.test_symbols(), {})
else:
tic = time.time()
driver.run_tests()
toc = time.time()
rootlog.info(f"test script finished in {(toc-tic):.2f}s")

View File

@ -0,0 +1,18 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.hardware.gkraken;
in
{
options.hardware.gkraken = {
enable = mkEnableOption "gkraken's udev rules for NZXT AIO liquid coolers";
};
config = mkIf cfg.enable {
services.udev.packages = with pkgs; [
gkraken
];
};
}

View File

@ -48,6 +48,7 @@
./hardware/corectrl.nix
./hardware/digitalbitbox.nix
./hardware/device-tree.nix
./hardware/gkraken.nix
./hardware/i2c.nix
./hardware/sensor/hddtemp.nix
./hardware/sensor/iio.nix

View File

@ -221,7 +221,7 @@ in {
assertions = [
{ assertion = db.createLocally -> db.user == user;
message = "services.bookstack.database.user must be set to ${user} if services.mediawiki.database.createLocally is set true.";
message = "services.bookstack.database.user must be set to ${user} if services.bookstack.database.createLocally is set true.";
}
{ assertion = db.createLocally -> db.passwordFile == null;
message = "services.bookstack.database.passwordFile cannot be specified if services.bookstack.database.createLocally is set to true.";

View File

@ -889,7 +889,7 @@ in
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
LockPersonality = true;
MemoryDenyWriteExecute = !(builtins.any (mod: (mod.allowMemoryWriteExecute or false)) cfg.package.modules);
MemoryDenyWriteExecute = !((builtins.any (mod: (mod.allowMemoryWriteExecute or false)) cfg.package.modules) || (cfg.package == pkgs.openresty));
RestrictRealtime = true;
RestrictSUIDSGID = true;
RemoveIPC = true;

View File

@ -323,6 +323,7 @@ in
ombi = handleTest ./ombi.nix {};
openarena = handleTest ./openarena.nix {};
openldap = handleTest ./openldap.nix {};
openresty-lua = handleTest ./openresty-lua.nix {};
opensmtpd = handleTest ./opensmtpd.nix {};
opensmtpd-rspamd = handleTest ./opensmtpd-rspamd.nix {};
openssh = handleTest ./openssh.nix {};

View File

@ -0,0 +1,55 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
let
lualibs = [
pkgs.lua.pkgs.markdown
];
getPath = lib: type: "${lib}/share/lua/${pkgs.lua.luaversion}/?.${type}";
getLuaPath = lib: getPath lib "lua";
luaPath = lib.concatStringsSep ";" (map getLuaPath lualibs);
in
{
name = "openresty-lua";
meta = with pkgs.lib.maintainers; {
maintainers = [ bbigras ];
};
nodes = {
webserver = { pkgs, lib, ... }: {
services.nginx = {
enable = true;
package = pkgs.openresty;
commonHttpConfig = ''
lua_package_path '${luaPath};;';
'';
virtualHosts."default" = {
default = true;
locations."/" = {
extraConfig = ''
default_type text/html;
access_by_lua '
local markdown = require "markdown"
markdown("source")
';
'';
};
};
};
};
};
testScript = { nodes, ... }:
''
url = "http://localhost"
webserver.wait_for_unit("nginx")
webserver.wait_for_open_port(80)
http_code = webserver.succeed(
f"curl -w '%{{http_code}}' --head --fail {url}"
)
assert http_code.split("\n")[-1] == "200"
'';
})

View File

@ -0,0 +1,23 @@
{ stdenv, lib, fetchzip, wxGTK30, zlib, zstd }:
stdenv.mkDerivation rec {
pname = "urbackup-client";
version = "2.4.11";
src = fetchzip {
url = "https://hndl.urbackup.org/Client/${version}/urbackup-client-${version}.tar.gz";
sha256 = "0cciy9v1pxj9qaklpbhp2d5rdbkmfm74vhpqx6b4phww0f10wvzh";
};
configureFlags = [ "--enable-embedded-cryptopp" ];
buildInputs = [ wxGTK30 zlib zstd ];
meta = with lib; {
description = "An easy to setup Open Source client/server backup system";
longDescription = "An easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time";
homepage = "https://www.urbackup.org/index.html";
license = licenses.agpl3;
platforms = platforms.linux;
maintainers = [ maintainers.mgttlinger ];
};
}

View File

@ -81,25 +81,25 @@ let
installPhase = ''
runHook preInstall
'' + (if stdenv.isDarwin then ''
mkdir -p "$out/Applications/${longName}.app" $out/bin
mkdir -p "$out/Applications/${longName}.app" "$out/bin"
cp -r ./* "$out/Applications/${longName}.app"
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" $out/bin/${executableName}
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" "$out/bin/${executableName}"
'' else ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
mkdir -p "$out/lib/vscode" "$out/bin"
cp -r ./* "$out/lib/vscode"
ln -s $out/lib/vscode/bin/${sourceExecutableName} $out/bin/${executableName}
ln -s "$out/lib/vscode/bin/${sourceExecutableName}" "$out/bin/${executableName}"
mkdir -p $out/share/applications
ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop
ln -s $urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop $out/share/applications/${executableName}-url-handler.desktop
mkdir -p "$out/share/applications"
ln -s "$desktopItem/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
ln -s "$urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
mkdir -p $out/share/pixmaps
cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
mkdir -p "$out/share/pixmaps"
cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/code.png"
# Override the previously determined VSCODE_PATH with the one we know to be correct
sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName}
grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded
sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}"
grep -q "VSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" # check if sed succeeded
'') + ''
runHook postInstall
'';
@ -162,9 +162,9 @@ let
# restore desktop item icons
extraInstallCommands = ''
mkdir -p $out/share/applications
mkdir -p "$out/share/applications"
for item in ${unwrapped}/share/applications/*.desktop; do
ln -s $item $out/share/applications/
ln -s "$item" "$out/share/applications/"
done
'';

View File

@ -1,7 +1,7 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "5.0.0-beta1";
version = "5.0.0-beta2";
kde-channel = "unstable";
sha256 = "1p5l2vpsgcp4wajgn5rgjcyb8l5ickm1nkmfx8zzr4rnwjnyxdbm";
sha256 = "0hwh6k40f4kmwg14dy0vvm0m8cx8n0q67lrrc620da9mign3hjs7";
})

View File

@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "none";
versionPolicy = "odd-unstable";
};
};

View File

@ -1,22 +1,27 @@
{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM, libXext, dialog, makeWrapper }:
{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM
, libXext, glibc, lua, luabind, glfw, libgccjit, dialog, makeWrapper
}:
let
lpath = lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU libGL libSM libXext ];
lpath = lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU libGL libSM libXext glibc lua glfw luabind libgccjit ];
in
stdenv.mkDerivation rec {
pname = "iceSL";
version = "2.1.10";
version = "2.4.1";
src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchzip {
url = "https://gforge.inria.fr/frs/download.php/file/37268/icesl${version}-amd64.zip";
sha256 = "0dv3mq6wy46xk9blzzmgbdxpsjdaxid3zadfrysxlhmgl7zb2cn2";
url = "https://icesl.loria.fr/assets/other/download.php?build=${version}&os=amd64";
extension = "zip";
sha256 = "0rrnkqkhlsjclif5cjbf17qz64vs95ja49xarxjvq54wb4jhbs4l";
} else if stdenv.hostPlatform.system == "i686-linux" then fetchzip {
url = "https://gforge.inria.fr/frs/download.php/file/37267/icesl${version}-i386.zip";
sha256 = "0sl54fsb2gz6dy0bwdscpdq1ab6ph5b7zald3bwzgkqsvna7p1jr";
url = "https://icesl.loria.fr/assets/other/download.php?build=${version}&os=i386";
extension = "zip";
sha256 = "0n2yyxzw0arkc70f0qli4n5chdlh9vc7aqizk4v7825mcglhwlyh";
} else throw "Unsupported architecture";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
cp -r ./ $out
rm $out/bin/*.so
mkdir $out/oldbin
mv $out/bin/IceSL-slicer $out/oldbin/IceSL-slicer
runHook postInstall
@ -31,7 +36,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "GPU-accelerated procedural modeler and slicer for 3D printing";
homepage = "http://shapeforge.loria.fr/icesl/index.html";
homepage = "https://icesl.loria.fr/";
license = licenses.inria-icesl;
platforms = [ "i686-linux" "x86_64-linux" ];
maintainers = with maintainers; [ mgttlinger ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "jquake";
version = "1.6.1";
version = "1.6.2";
src = fetchurl {
url = "https://fleneindre.github.io/downloads/JQuake_${version}_linux.zip";
sha256 = "0nw6xjc3i1b8rk15arc5d0ji2bycc40rz044qd03vzxvh0h8yvgl";
sha256 = "1k12yw9fwq1z3gg0d38dxs4mmyn912zfcm6zsbjkv27q6lvhvwng";
};
nativeBuildInputs = [ unzip copyDesktopItems ];

View File

@ -1,36 +1,26 @@
{ lib
, ansiwrap
, asteval
, buildPythonApplication
, colorama
, cryptography
, fetchFromGitHub
, keyring
, parsedatetime
, poetry
, pytestCheckHook
, python-dateutil
, pytz
, pyxdg
, pyyaml
, tzlocal
, fetchpatch
, python3
}:
buildPythonApplication rec {
python3.pkgs.buildPythonApplication rec {
pname = "jrnl";
version = "2.8";
version = "2.8.3";
format = "pyproject";
src = fetchFromGitHub {
owner = "jrnl-org";
repo = pname;
rev = "v${version}";
sha256 = "1zpsvrjhami9y7204yjbdzi04bkkz6i3apda9fh3hbq83y6wzprz";
sha256 = "sha256-+kPr7ndY6u1HMw6m0UZJ5jxVIPNjlTfQt7OYEdZkHBE=";
};
nativeBuildInputs = [ poetry ];
nativeBuildInputs = with python3.pkgs; [
poetry-core
];
propagatedBuildInputs = [
propagatedBuildInputs = with python3.pkgs; [
ansiwrap
asteval
colorama
@ -44,12 +34,32 @@ buildPythonApplication rec {
tzlocal
];
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "jrnl" ];
checkInputs = with python3.pkgs; [
pytest-bdd
pytestCheckHook
toml
];
patches = [
# Switch to poetry-core, https://github.com/jrnl-org/jrnl/pull/1359
(fetchpatch {
name = "switch-to-poetry-core.patch";
url = "https://github.com/jrnl-org/jrnl/commit/a55a240eff7a167af5974a03e9de6f7b818eafd9.patch";
sha256 = "1w3gb4vasvh51nggf89fsqsm4862m0g7hr36qz22n4vg9dds175m";
})
];
preCheck = ''
export HOME=$(mktemp -d);
'';
pythonImportsCheck = [
"jrnl"
];
meta = with lib; {
homepage = "http://maebert.github.io/jrnl/";
description = "A simple command line journal application that stores your journal in a plain text file";
description = "Simple command line journal application that stores your journal in a plain text file";
homepage = "https://jrnl.sh/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ zalakain ];
};

View File

@ -1,27 +1,31 @@
{ lib, buildGoModule, fetchFromGitHub, bash, go, python3, ruby }:
{ lib
, bash
, buildGoModule
, fetchFromGitHub
, go
}:
buildGoModule rec {
pname = "slides";
version = "0.5.0";
version = "0.6.2";
src = fetchFromGitHub {
owner = "maaslalani";
repo = "slides";
rev = "v${version}";
sha256 = "175g823n253d3xg8hxycw3gm1hhqb0vz8zs7xxcbdw5rlpd2hjii";
sha256 = "sha256-D2ex9/XN5JMKwn+g1cB77UMquYW9NdTzhCCvVtTOBfU=";
};
checkInputs = [
bash
go
python3
ruby
];
vendorSha256 = "13kx47amwvzyzc251iijsbwa52s8bpld4xllb4y85qkwllfnmq2g";
vendorSha256 = "sha256-pI5/1LJVP/ZH64Dy2rUoOXM21oqJ8KA0/L8ClGRb5UY=";
ldflags = [
"-s" "-w"
"-s"
"-w"
"-X=main.Version=${version}"
];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "taskwarrior";
version = "2.6.0";
version = "2.6.1";
src = fetchFromGitHub {
owner = "GothenburgBitFactory";
repo = "taskwarrior";
rev = "v${version}";
sha256 = "sha256-2wVjRecfIlNFAxXFaiKfxy9zArDIYDTfDdrnSM7H8fM=";
sha256 = "sha256-jMZzo2cegoapEHTvfD6ThU1IsXru3iOcpyDbZxkSXzQ=";
fetchSubmodules = true;
};

View File

@ -1,17 +1,19 @@
{ lib, stdenv, rustPlatform, fetchCrate, libiconv }:
{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }:
rustPlatform.buildRustPackage rec {
pname = "xplr";
version = "0.14.7";
version = "0.15.2";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-rGU9Jf+MHDs3pnuddqxLaWc8YqL+Ka7Rex+fTuU62sM=";
src = fetchFromGitHub {
owner = "sayanarijit";
repo = pname;
rev = "v${version}";
sha256 = "1znb6n9xbzbi9sif76xlwnqrzkh50g9yz6k36m0hm5iacd1fapab";
};
buildInputs = lib.optional stdenv.isDarwin libiconv;
cargoSha256 = "sha256-GwepsY7PcWjKZpJ7H4D9vtXwd2XGFgG1c+QvinMAG4Q=";
cargoSha256 = "0gbhkpha02ymr861av0fmyz6h007ajwkqcajq8hrnfzjk8rii47m";
meta = with lib; {
description = "A hackable, minimal, fast TUI file explorer";

View File

@ -1,9 +1,9 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
let
version = "0.18.3";
sha256 = "0nvvjc0ml1irn7vxyq4m43qimp128cx8hczk21y5m39i2rg4yzx4";
manifestsSha256 = "1qgw9ij0b85vvdx03wmbbwanhq1hf69wphy58lsqwf33rdq0bb1m";
version = "0.19.1";
sha256 = "184f5q3aa4p6gjdmr8x6a97rzaj64ws8bf3q8sz4xjyznznwcpp0";
manifestsSha256 = "1xxf572yvjmik7dvijz810lxzfj7irddznl4icidn7hrljzjrv95";
manifests = fetchzip {
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
@ -23,22 +23,26 @@ buildGoModule rec {
inherit sha256;
};
vendorSha256 = "0vgi5cnvmc98xa2ibpgvvqlc90hf3gj3v17yqncid596ig3dnqsc";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/flux" ];
ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
vendorSha256 = "sha256-1ZIeS42LoreZKkzDNZxmF17HeDWWVo49CaZDrIR2U9g=";
postUnpack = ''
cp -r ${manifests} source/cmd/flux/manifests
'';
patches = [
./patches/disable-tests-ssh_key.patch
];
ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
subPackages = [ "cmd/flux" ];
# Required to workaround test error:
# panic: mkdir /homeless-shelter: permission denied
HOME="$TMPDIR";
nativeBuildInputs = [ installShellFiles ];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/flux --version | grep ${version} > /dev/null

View File

@ -0,0 +1,21 @@
diff --git a/cmd/flux/create_secret_git_test.go b/cmd/flux/create_secret_git_test.go
index afa34ba..0d22cce 100644
--- a/cmd/flux/create_secret_git_test.go
+++ b/cmd/flux/create_secret_git_test.go
@@ -20,16 +20,6 @@ func TestCreateGitSecret(t *testing.T) {
args: "create secret git podinfo-auth --url=https://github.com/stefanprodan/podinfo --username=my-username --password=my-password --namespace=my-namespace --export",
assert: assertGoldenFile("./testdata/create_secret/git/secret-git-basic.yaml"),
},
- {
- name: "ssh key",
- args: "create secret git podinfo-auth --url=ssh://git@github.com/stefanprodan/podinfo --private-key-file=./testdata/create_secret/git/rsa.private --namespace=my-namespace --export",
- assert: assertGoldenFile("testdata/create_secret/git/git-ssh-secret.yaml"),
- },
- {
- name: "ssh key with password",
- args: "create secret git podinfo-auth --url=ssh://git@github.com/stefanprodan/podinfo --private-key-file=./testdata/create_secret/git/rsa-password.private --password=password --namespace=my-namespace --export",
- assert: assertGoldenFile("testdata/create_secret/git/git-ssh-secret-password.yaml"),
- },
}
for _, tt := range tests {

View File

@ -0,0 +1,60 @@
{ version
, src
, jami-meta
, stdenv
, lib
, pkg-config
, cmake
, wrapQtAppsHook
, wrapGAppsHook
, gtk3-x11
, networkmanager # for libnm
, libayatana-appindicator
, libnotify
, clutter-gtk
, libcanberra-gtk3
, webkitgtk
, qrencode
, jami-libclient
, qttools
}:
stdenv.mkDerivation {
pname = "jami-client-gnome";
inherit version src;
sourceRoot = "source/client-gnome";
preConfigure = ''
echo ${version} > version.txt
'';
nativeBuildInputs = [
pkg-config
cmake
wrapGAppsHook
wrapQtAppsHook
];
# To spare double wrapping
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
buildInputs = [
qttools
jami-libclient
gtk3-x11
networkmanager
libayatana-appindicator
libnotify
clutter-gtk
libcanberra-gtk3
webkitgtk
qrencode
];
meta = jami-meta // {
description = "The client based on GTK" + jami-meta.description;
};
}

View File

@ -0,0 +1,59 @@
{ version
, src
, jami-meta
, mkDerivation
, lib
, pkg-config
, cmake
, networkmanager # for libnm
, python3
, qttools # for translations
, wrapQtAppsHook
, libnotify
, qrencode
, qtwebengine
, qtdeclarative
, qtquickcontrols2
, qtmultimedia
, qtsvg
, qtwebchannel
, qtgraphicaleffects # no gui without this
, jami-libclient
}:
mkDerivation {
pname = "jami-client-qt";
inherit version src;
sourceRoot = "source/client-qt";
preConfigure = ''
python gen-resources.py
echo 'const char VERSION_STRING[] = "${version}";' > src/version.h
'';
nativeBuildInputs = [
pkg-config
cmake
python3
qttools
];
buildInputs = [
jami-libclient
networkmanager
libnotify
qrencode
qtwebengine
qtdeclarative
qtquickcontrols2
qtmultimedia
qtsvg
qtwebchannel
qtgraphicaleffects
];
meta = jami-meta // {
description = "The client based on QT" + jami-meta.description;
};
}

View File

@ -0,0 +1,142 @@
--disable-everything
--enable-zlib
--enable-gpl
--enable-swscale
--enable-bsfs
--disable-filters
--disable-programs
--disable-postproc
--disable-protocols
--enable-protocol=crypto
--enable-protocol=file
--enable-protocol=rtp
--enable-protocol=srtp
--enable-protocol=tcp
--enable-protocol=udp
--enable-protocol=unix
--enable-protocol=pipe
--disable-demuxers
--disable-muxers
--enable-muxer=rtp
--enable-muxer=g722
--enable-muxer=h263
--enable-muxer=h264
--enable-muxer=hevc
--enable-muxer=webm
--enable-muxer=ogg
--enable-muxer=pcm_s16be
--enable-muxer=pcm_s16le
--enable-demuxer=rtp
--enable-demuxer=mjpeg
--enable-demuxer=mjpeg_2000
--enable-demuxer=mpegvideo
--enable-demuxer=gif
--enable-demuxer=image_jpeg_pipe
--enable-demuxer=image_png_pipe
--enable-demuxer=image_webp_pipe
--enable-demuxer=matroska
--enable-demuxer=m4v
--enable-demuxer=mp3
--enable-demuxer=ogg
--enable-demuxer=flac
--enable-demuxer=wav
--enable-demuxer=ac3
--enable-demuxer=g722
--enable-demuxer=pcm_mulaw
--enable-demuxer=pcm_alaw
--enable-demuxer=pcm_s16be
--enable-demuxer=pcm_s16le
--enable-demuxer=h263
--enable-demuxer=h264
--enable-demuxer=hevc
--enable-parser=h263
--enable-parser=h264
--enable-parser=hevc
--enable-parser=mpeg4video
--enable-parser=vp8
--enable-parser=vp9
--enable-parser=opus
--enable-encoder=adpcm_g722
--enable-decoder=adpcm_g722
--enable-encoder=rawvideo
--enable-decoder=rawvideo
--enable-encoder=libx264
--enable-decoder=h264
--enable-encoder=pcm_alaw
--enable-decoder=pcm_alaw
--enable-encoder=pcm_mulaw
--enable-decoder=pcm_mulaw
--enable-encoder=mpeg4
--enable-decoder=mpeg4
--enable-encoder=libvpx_vp8
--enable-decoder=vp8
--enable-decoder=vp9
--enable-encoder=h263
--enable-encoder=h263p
--enable-decoder=h263
--enable-encoder=mjpeg
--enable-decoder=mjpeg
--enable-decoder=mjpegb
--enable-libspeex
--enable-libopus
--enable-libvpx
--enable-libx264
--enable-encoder=libspeex
--enable-decoder=libspeex
--enable-encoder=libopus
--enable-decoder=libopus
--enable-decoder=flac
--enable-decoder=vorbis
--enable-decoder=aac
--enable-decoder=ac3
--enable-decoder=eac3
--enable-decoder=mp3
--enable-decoder=pcm_u24be
--enable-decoder=pcm_u24le
--enable-decoder=pcm_u32be
--enable-decoder=pcm_u32le
--enable-decoder=pcm_u8
--enable-decoder=pcm_f16le
--enable-decoder=pcm_f24le
--enable-decoder=pcm_f32be
--enable-decoder=pcm_f32le
--enable-decoder=pcm_f64be
--enable-decoder=pcm_f64le
--enable-decoder=pcm_s16be
--enable-decoder=pcm_s16be_planar
--enable-decoder=pcm_s16le
--enable-decoder=pcm_s16le_planar
--enable-decoder=pcm_s24be
--enable-decoder=pcm_s24le
--enable-decoder=pcm_s24le_planar
--enable-decoder=pcm_s32be
--enable-decoder=pcm_s32le
--enable-decoder=pcm_s32le_planar
--enable-decoder=pcm_s64be
--enable-decoder=pcm_s64le
--enable-decoder=pcm_s8
--enable-decoder=pcm_s8_planar
--enable-decoder=pcm_u16be
--enable-decoder=pcm_u16le
--enable-encoder=gif
--enable-decoder=gif
--enable-encoder=jpegls
--enable-decoder=jpegls
--enable-encoder=ljpeg
--enable-decoder=jpeg2000
--enable-encoder=png
--enable-decoder=png
--enable-encoder=bmp
--enable-decoder=bmp
--enable-encoder=tiff
--enable-decoder=tiff
--enable-filter=scale
--enable-filter=overlay
--enable-filter=amix
--enable-filter=amerge
--enable-filter=aresample
--enable-filter=format
--enable-filter=aformat
--enable-filter=fps
--enable-filter=transpose
--enable-filter=pad

View File

@ -0,0 +1,18 @@
--enable-pic
--target-os=linux
--enable-indev=v4l2
--enable-indev=xcbgrab
--enable-vdpau
--enable-hwaccel=h264_vdpau
--enable-hwaccel=mpeg4_vdpau
--enable-vaapi
--enable-hwaccel=h264_vaapi
--enable-hwaccel=mpeg4_vaapi
--enable-hwaccel=h263_vaapi
--enable-hwaccel=vp8_vaapi
--enable-hwaccel=mjpeg_vaapi
--enable-hwaccel=hevc_vaapi
--enable-encoder=h264_vaapi
--enable-encoder=vp8_vaapi
--enable-encoder=mjpeg_vaapi
--enable-encoder=hevc_vaapi

View File

@ -0,0 +1,10 @@
--enable-cuvid
--enable-ffnvcodec
--enable-nvdec
--enable-nvenc
--enable-hwaccel=h264_nvdec
--enable-hwaccel=hevc_nvdec
--enable-hwaccel=vp8_nvdec
--enable-hwaccel=mjpeg_nvdec
--enable-encoder=h264_nvenc
--enable-encoder=hevc_nvenc

View File

@ -0,0 +1,5 @@
remove-mjpeg-log.patch
change-RTCP-ratio.patch
rtp_ext_abs_send_time.patch
libopusdec-enable-FEC.patch
libopusenc-enable-FEC.patch

View File

@ -0,0 +1,20 @@
0001-rfc6544.patch
0002-rfc2466.patch
0003-add-tcp-keep-alive.patch
0004-multiple_listeners.patch
0005-fix_ebusy_turn.patch
0006-ignore_ipv6_on_transport_check.patch
0007-upnp-srflx-nat-assisted-cand.patch
0008-fix_ioqueue_ipv6_sendto.patch
0009-add-config-site.patch
0010-fix-tcp-death-detection.patch
0011-fix-turn-shutdown-crash.patch
0012-ignore-down-interfaces.patch
0013-ignore-addresses-for-RFC7335.patch
0014-fix-socket-leak.patch
0015-fix-socktype-and-duplicate-checking.patch
0016-use-larger-Ta-interval.patch
0017-auto-register-thread.patch
0018-fix-ioqueue-lock-acquire.patch
0019-resort-check-list-after-adding-prflx.patch
0020-avoid-immediate-nominating-triggered-check.patch

View File

@ -0,0 +1,123 @@
{ src
, version
, jami-meta
, stdenv
, lib
, autoreconfHook
, pkg-config
, perl # for pod2man
, ffmpeg
, pjsip
, alsa-lib
, asio
, dbus
, dbus_cplusplus
, fmt
, gmp
, libarchive
, libgit2
, libnatpmp
, secp256k1
, openssl
, opendht
, speex
, webrtc-audio-processing
, jsoncpp
, gnutls
, zlib
, libyamlcpp
, libpulseaudio
, jack
, udev
, libupnp
, msgpack
, restinio
, http-parser
}:
let
readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file));
ffmpeg-jami = ffmpeg.overrideAttrs (old:
let
patch-src = src + "/daemon/contrib/src/ffmpeg/";
in
{
patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/ffmpeg_patches));
configureFlags = old.configureFlags
++ (readLinesToList ./config/ffmpeg_args_common)
++ lib.optionals stdenv.isLinux (readLinesToList ./config/ffmpeg_args_linux)
++ lib.optionals (stdenv.isx86_32 || stdenv.isx86_64) (readLinesToList ./config/ffmpeg_args_x86);
outputs = [ "out" "doc" ];
});
pjsip-jami = pjsip.overrideAttrs (old:
let
patch-src = src + "/daemon/contrib/src/pjproject/";
in
{
patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches));
});
opendht-jami = opendht.override {
enableProxyServerAndClient = true;
enablePushNotifications = true;
};
in stdenv.mkDerivation {
pname = "jami-daemon";
inherit src version;
sourceRoot = "source/daemon";
nativeBuildInputs = [
autoreconfHook
pkg-config
perl
];
buildInputs = [
alsa-lib
asio
dbus
dbus_cplusplus
fmt
ffmpeg-jami
gmp
gnutls
libarchive
libgit2
libnatpmp
opendht-jami
pjsip-jami
secp256k1
openssl
speex
webrtc-audio-processing
zlib
libyamlcpp
jsoncpp
libpulseaudio
jack
opendht
libupnp
udev
msgpack
restinio
http-parser
];
doCheck = false; # The tests fail to compile due to missing headers.
enableParallelBuilding = true;
passthru = {
updateScript = ./update.sh;
ffmpeg = ffmpeg-jami;
pjsip = pjsip-jami;
opendht = opendht-jami;
};
meta = jami-meta // {
description = "The daemon" + jami-meta.description;
};
}

View File

@ -0,0 +1,41 @@
{ stdenv
, lib
, callPackage
, fetchzip
, jack
, udev
, libsForQt5
}:
rec {
version = "20211005.2.251ac7d";
src = fetchzip {
url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz";
sha256 = "12ppbwhnk5zajb73szd04sz80bp17q577bkb9j8p45apvq201db3";
stripRoot = false;
extraPostFetch = ''
cd $out
mv ring-project/* ./
rm -r ring-project.rst ring-project client-android client-ios client-macosx client-uwp
rm daemon/contrib/tarballs/*
'';
};
jami-meta = with lib; {
homepage = "https://jami.net/";
description = " for Jami, the free and universal communication platform that respects the privacy and freedoms of its users";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.linsui ];
};
jami-daemon = callPackage ./daemon.nix { inherit version src udev jack jami-meta; };
jami-libclient = libsForQt5.callPackage ./libclient.nix { inherit version src jami-meta; };
jami-client-gnome = libsForQt5.callPackage ./client-gnome.nix { inherit version src jami-meta; };
jami-client-qt = libsForQt5.callPackage ./client-qt.nix { inherit version src jami-meta; };
}

View File

@ -0,0 +1,13 @@
diff --git i/CMakeLists.txt w/CMakeLists.txt
index 0ee77dba..767e19df 100644
--- i/CMakeLists.txt
+++ w/CMakeLists.txt
@@ -635,7 +635,7 @@ if(ENABLE_SHARED)
)
endif()
-SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include)
+SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_FULL_INCLUDEDIR})
INSTALL( FILES ${libringclient_LIB_HDRS} ${libringclient_extra_LIB_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/libringclient

View File

@ -0,0 +1,48 @@
{ version
, src
, jami-meta
, stdenv
, lib
, pkg-config
, cmake
, qtbase
, jami-daemon
}:
stdenv.mkDerivation {
pname = "jami-libclient";
inherit version src;
sourceRoot = "source/lrc";
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
jami-daemon
];
patches = [
# Fix path to include dir when using split outputs
./libclient-include-path.patch
];
propagatedBuildInputs = [
qtbase
];
outputs = [ "out" "dev" ];
cmakeFlags = [
"-DRING_BUILD_DIR=${jami-daemon}/include"
"-DRING_XML_INTERFACES_DIR=${jami-daemon}/share/dbus-1/interfaces"
];
dontWrapQtApps = true;
meta = jami-meta // {
description = "The client library" + jami-meta.description;
license = lib.licenses.lgpl21Plus;
};
}

View File

@ -0,0 +1,42 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p coreutils curl gnused common-updater-scripts
set -e
jami_dir="$( dirname "${BASH_SOURCE[0]}" )"
# Update src version and hash
version=$(curl -s 'https://dl.jami.net/release/tarballs/?C=M;O=D' | sed -n -E 's/^.*jami_([0-9.a-f]+)\.tar\.gz.*$/\1/p' | head -n 1)
update-source-version jami-libclient "$version" --file=pkgs/applications/networking/instant-messengers/jami/default.nix
src=$(nix-build --no-out-link -A jami-libclient.src)
config_dir="$jami_dir/config"
mkdir -p $config_dir
ffmpeg_rules="${src}/daemon/contrib/src/ffmpeg/rules.mak"
# Update FFmpeg patches
ffmpeg_patches=$(sed -n '/.sum-ffmpeg:/,/HAVE_IOS/p' ${ffmpeg_rules} | sed -n -E 's/.*ffmpeg\/(.*patch).*/\1/p')
echo -e "Patches for FFmpeg:\n${ffmpeg_patches}\n"
echo "${ffmpeg_patches}" > "$config_dir/ffmpeg_patches"
# Update FFmpeg args
ffmpeg_args_common=$(sed -n '/#disable everything/,/#platform specific options/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p')
echo -e "Common args for FFmpeg:\n${ffmpeg_args_common}\n"
echo "${ffmpeg_args_common}" > "$config_dir/ffmpeg_args_common"
ffmpeg_args_linux1=$(sed -n '/ifdef HAVE_LINUX/,/ifdef HAVE_ANDROID/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p')
ffmpeg_args_linux2=$(sed -n '/# Desktop Linux/,/i386 x86_64/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p')
echo -e "Linux args for FFmpeg:\n${ffmpeg_args_linux1}\n${ffmpeg_args_linux2}\n"
echo "${ffmpeg_args_linux1}" > "$config_dir/ffmpeg_args_linux"
echo "${ffmpeg_args_linux2}" >> "$config_dir/ffmpeg_args_linux"
ffmpeg_args_x86=$(sed -n '/i386 x86_64/,/# End Desktop Linux:/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p')
echo -e "x86 args for FFmpeg:\n${ffmpeg_args_x86}\n"
echo "${ffmpeg_args_x86}" > "$config_dir/ffmpeg_args_x86"
# Update pjsip patches
pjsip_patches=$(sed -n '/UNPACK/,/HAVE_ANDROID/p' ${src}/daemon/contrib/src/pjproject/rules.mak | sed -n -E 's/.*pjproject\/(00.*patch).*/\1/p')
echo -e "Patches for pjsip:\n${pjsip_patches}\n"
echo "${pjsip_patches}" > "$config_dir/pjsip_patches"

View File

@ -1,150 +0,0 @@
{ lib, stdenv
, fetchgit
, which
, autoreconfHook
, pkg-config
, automake
, libtool
, pjsip
, libyamlcpp
, alsa-lib
, libpulseaudio
, libsamplerate
, libsndfile
, dbus
, dbus_cplusplus
, ffmpeg_3
, udev
, pcre
, gsm
, speex
, boost
, opendht
, msgpack
, gnutls
, zlib
, jsoncpp
, xorg
, libargon2
, cryptopp
, openssl
, perl
, python3
, libupnp
, speexdsp
, fetchFromGitHub
, cmake
, asio
}:
let
myPython = python3.withPackages (ps: with ps; [
pygobject3
dbus-python
]);
src = fetchgit {
url = "https://gitlab.savoirfairelinux.com/ring/ring-daemon.git";
rev = "006b8dc7be08fe9beb68709af71004e7bc1ceb5c";
sha256 = "0ih9g0rismrhx6nqcy3jqfbcs166grg0shnfmrnmykl9h0xy8z47";
};
patchdir = "${src}/contrib/src";
restbed = import ./restbed.nix {
inherit stdenv lib fetchFromGitHub cmake asio openssl;
patches = [
"${patchdir}/restbed/CMakeLists.patch"
"${patchdir}/restbed/strand.patch"
"${patchdir}/restbed/uri_cpp.patch"
"${patchdir}/restbed/dns-resolution-error.patch"
"${patchdir}/restbed/string.patch"
];
};
pjsip' = lib.overrideDerivation pjsip (old: {
patches = [
"${patchdir}/pjproject/gnutls.patch"
./notestsapps.patch # this one had to be modified
"${patchdir}/pjproject/fix_base64.patch"
"${patchdir}/pjproject/ipv6.patch"
"${patchdir}/pjproject/ice_config.patch"
"${patchdir}/pjproject/multiple_listeners.patch"
"${patchdir}/pjproject/pj_ice_sess.patch"
"${patchdir}/pjproject/fix_turn_fallback.patch"
"${patchdir}/pjproject/fix_ioqueue_ipv6_sendto.patch"
"${patchdir}/pjproject/add_dtls_transport.patch"
];
CFLAGS = "-g -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000";
});
in
stdenv.mkDerivation {
pname = "ring-daemon";
version = "2017-07-11";
inherit src;
nativeBuildInputs = [
which
autoreconfHook
automake
libtool
pkg-config
];
buildInputs = [
pjsip'
libyamlcpp
alsa-lib
libpulseaudio
libsamplerate
libsndfile
dbus
dbus_cplusplus
ffmpeg_3
udev
pcre
gsm
speex
boost
opendht
msgpack
gnutls
zlib
jsoncpp
restbed
xorg.libX11
libargon2
cryptopp
openssl
perl
libupnp
speexdsp
];
postInstall = ''
mkdir $out/bin
ln -s $out/lib/ring/dring $out/bin/dring
cp -R ./tools/dringctrl/ $out/
substitute ./tools/dringctrl/dringctrl.py $out/dringctrl/dringctrl.py \
--replace '#!/usr/bin/env python3' "#!${myPython}/bin/python3"
chmod +x $out/dringctrl/dringctrl.py
ln -s $out/dringctrl/dringctrl.py $out/bin/dringctrl.py
'';
meta = with lib; {
description = "A Voice-over-IP software phone";
longDescription = ''
As the SIP/audio daemon and the user interface are separate processes, it
is easy to provide different user interfaces. GNU Ring comes with various
graphical user interfaces and even scripts to control the daemon from the
shell.
'';
homepage = "https://ring.cx";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ taeer olynch ];
platforms = platforms.linux;
# pjsip' fails to compile with the supplied patch set, see: https://hydra.nixos.org/build/68667921/nixlog/4
broken = true;
};
}

View File

@ -1,106 +0,0 @@
/* diff --git a/Makefile b/Makefile */
/* index 33a4e6b..a486eb7 100644 */
/* --- a/Makefile */
/* +++ b/Makefile */
/* @@ -4,7 +4,7 @@ include build/host-$(HOST_NAME).mak */
/* include version.mak */
/* LIB_DIRS = pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build */
/* -DIRS = $(LIB_DIRS) pjsip-apps/build $(EXTRA_DIRS) */
/* +DIRS = $(LIB_DIRS) $(EXTRA_DIRS) */
/* ifdef MINSIZE */
/* MAKE_FLAGS := MINSIZE=1 */
diff --git a/pjlib-util/build/Makefile b/pjlib-util/build/Makefile
index cb601cb..862a78a 100644
--- a/pjlib-util/build/Makefile
+++ b/pjlib-util/build/Makefile
@@ -54,7 +54,6 @@ export UTIL_TEST_OBJS += xml.o encryption.o stun.o resolver_test.o test.o \
export UTIL_TEST_CFLAGS += $(_CFLAGS)
export UTIL_TEST_CXXFLAGS += $(_CXXFLAGS)
export UTIL_TEST_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS)
-export UTIL_TEST_EXE:=pjlib-util-test-$(TARGET_NAME)$(HOST_EXE)
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
diff --git a/pjlib/build/Makefile b/pjlib/build/Makefile
index 1e64950..a75fa65 100644
--- a/pjlib/build/Makefile
+++ b/pjlib/build/Makefile
@@ -56,7 +56,6 @@ export TEST_OBJS += activesock.o atomic.o echo_clt.o errno.o exception.o \
export TEST_CFLAGS += $(_CFLAGS)
export TEST_CXXFLAGS += $(_CXXFLAGS)
export TEST_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS)
-export TEST_EXE := pjlib-test-$(TARGET_NAME)$(HOST_EXE)
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile
index 8012cb7..2ca283a 100644
--- a/pjmedia/build/Makefile
+++ b/pjmedia/build/Makefile
@@ -165,7 +165,6 @@ export PJMEDIA_TEST_LDFLAGS += $(PJMEDIA_CODEC_LDLIB) \
$(PJLIB_UTIL_LDLIB) \
$(PJNATH_LDLIB) \
$(_LDFLAGS)
-export PJMEDIA_TEST_EXE:=pjmedia-test-$(TARGET_NAME)$(HOST_EXE)
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
diff --git a/pjnath/build/Makefile b/pjnath/build/Makefile
index 1bc08b5..109f79b 100644
--- a/pjnath/build/Makefile
+++ b/pjnath/build/Makefile
@@ -54,7 +54,6 @@ export PJNATH_TEST_OBJS += ice_test.o stun.o sess_auth.o server.o concur_test.o
export PJNATH_TEST_CFLAGS += $(_CFLAGS)
export PJNATH_TEST_CXXFLAGS += $(_CXXFLAGS)
export PJNATH_TEST_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS)
-export PJNATH_TEST_EXE:=pjnath-test-$(TARGET_NAME)$(HOST_EXE)
###############################################################################
@@ -65,7 +64,6 @@ export PJTURN_CLIENT_OBJS += client_main.o
export PJTURN_CLIENT_CFLAGS += $(_CFLAGS)
export PJTURN_CLIENT_CXXFLAGS += $(_CXXFLAGS)
export PJTURN_CLIENT_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS)
-export PJTURN_CLIENT_EXE:=pjturn-client-$(TARGET_NAME)$(HOST_EXE)
###############################################################################
# Defines for building TURN server application
@@ -76,7 +74,6 @@ export PJTURN_SRV_OBJS += allocation.o auth.o listener_udp.o \
export PJTURN_SRV_CFLAGS += $(_CFLAGS)
export PJTURN_SRV_CXXFLAGS += $(_CXXFLAGS)
export PJTURN_SRV_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS)
-export PJTURN_SRV_EXE:=pjturn-srv-$(TARGET_NAME)$(HOST_EXE)
diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile
index d2a5c2a..7e2ec60 100644
--- a/pjsip/build/Makefile
+++ b/pjsip/build/Makefile
@@ -140,7 +140,7 @@ export PJSUA2_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
account.o endpoint.o json.o persistent.o types.o \
siptypes.o call.o presence.o media.o
export PJSUA2_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS)
-export PJSUA2_LIB_CXXFLAGS = $(PJSUA2_LIB_CFLAGS)
+export PJSUA2_LIB_CXXFLAGS = $(_CXXFLAGS) $(PJ_VIDEO_CFLAGS)
export PJSUA2_LIB_LDFLAGS += $(PJSUA_LIB_LDLIB) \
$(PJSIP_UA_LDLIB) \
$(PJSIP_SIMPLE_LDLIB) \
@@ -165,7 +165,6 @@ export PJSUA2_TEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS)
export PJSUA2_TEST_CXXFLAGS = $(PJSUA2_LIB_CFLAGS)
export PJSUA2_TEST_LDFLAGS += $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS)
-export PJSUA2_TEST_EXE := pjsua2-test-$(TARGET_NAME)$(HOST_EXE)
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
@@ -195,7 +194,6 @@ export TEST_LDFLAGS += $(PJSIP_LDLIB) \
$(PJLIB_UTIL_LDLIB) \
$(PJNATH_LDLIB) \
$(_LDFLAGS)
-export TEST_EXE := pjsip-test-$(TARGET_NAME)$(HOST_EXE)
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT

View File

@ -1,38 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, cmake
, asio
, openssl
, patches
}:
stdenv.mkDerivation {
pname = "restbed";
version = "2016-09-15";
src = fetchFromGitHub {
owner = "Corvusoft";
repo = "restbed";
rev = "34187502642144ab9f749ab40f5cdbd8cb17a54a";
sha256 = "1jb38331fcicyiisqdprhq6zwfc6g518fm3l4qw9aiv5k9nqim22";
};
inherit patches;
nativeBuildInputs = [ cmake ];
buildInputs = [ asio openssl ];
meta = with lib; {
description = "HTTP framework for building networked applications";
longDescription = ''
HTTP framework for building networked applications that require seamless
and secure communication, with the flexability to model a range of
business processes. Targeting mobile, tablet, desktop, and embedded
production environments.
'';
homepage = "https://corvusoft.co.uk/";
license = licenses.agpl3;
maintainers = with maintainers; [ taeer ];
platforms = platforms.linux;
};
}

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "notmuch";
version = "0.33.2";
version = "0.34";
src = fetchurl {
url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
hash = "sha256:1bic1f2va136aygfy53bsgziwiidcpb7qf1v05mlza2jmgv94j14";
sha256 = "1dk16xa9q7adp1jaswxvw4p92f4h5mg0zkrh3zv8gqxn88amisc3";
};
nativeBuildInputs = [

View File

@ -5,14 +5,14 @@
stdenv.mkDerivation rec {
pname = "waypipe-unstable";
version = "0.8.0";
version = "0.8.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mstoeckl";
repo = "waypipe";
rev = "v${version}";
sha256 = "1qa47ljfvb1vv3h647xwn1j5j8gfmcmdfaz4j8ygnkvj36y87vnz";
sha256 = "1v08dv3dfz420v51ahz7qgv3429073kmgrf8f66s4c3jlpch2pa1";
};
nativeBuildInputs = [ meson ninja pkg-config scdoc ];

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "lima";
version = "0.7.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "lima-vm";
repo = pname;
rev = "v${version}";
sha256 = "sha256-CBRBcRvMFE9Pdxac3O15z0brF/5D279/Hat0CSYGRyE=";
sha256 = "sha256-XJZg3uX++gU65bO1uqJblXXcVPzFXROCWFTn/gfkea0=";
};
vendorSha256 = "sha256-xlFIO33OOyLnIvbsbyHVNdyxh0vlwQOATbbZA7rsz9E=";
vendorSha256 = "sha256-+fx/Iy78gmhxRjXPkHYdixpaMkOwEANUsZA+KSdQkWU=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

View File

@ -27,11 +27,11 @@
stdenv.mkDerivation rec {
pname = "gnome-clocks";
version = "40.0";
version = "41.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "02d3jg46sn8d9gd4dsaly22gg5vkbz2gpq4pmwpvncb4rsqk7sn2";
sha256 = "34yLBKuS+mGPXe5RGFce+fyeilt5XqAKNcbcZ3ywLaw=";
};
nativeBuildInputs = [

View File

@ -23,11 +23,11 @@
stdenv.mkDerivation rec {
pname = "gnome-applets";
version = "3.40.0";
version = "3.42.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1k6mdkg16ia29fyg8ikf4dfs51gnrmg0f8xwpvd3192lhfsbsh19";
sha256 = "/RaXR7kv7/Rs05/mLyPd+WZ8EAaPRigDOF0TjvxIedQ=";
};
nativeBuildInputs = [

View File

@ -23,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "gnome-panel";
version = "3.40.0";
version = "3.42.0";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-nxNQde3GZs8rnKkd41xnA+KxdxwQp3B0FPtlbCilmzs=";
hash = "sha256-rqjA78LtuiDpetRpUXnNCiU45kwpBHAsyMWU6OCJhwM=";
};
patches = [

View File

@ -18,11 +18,11 @@
stdenv.mkDerivation rec {
pname = "metacity";
version = "3.40.0";
version = "3.42.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1d8mj2nshijshfiaica8dirfws1p6i9631frq7q23b3y91jiyk12";
sha256 = "2J1nnc/tm17vGPBuLcszp6tUPVOzWPqJzmVZPCMe7rw=";
};
patches = [

View File

@ -0,0 +1,64 @@
{ lib
, stdenv
, fetchurl
, jre
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "kotlin-native";
version = "1.5.31";
src = let
getArch = {
"aarch64-darwin" = "macos-aarch64";
"x86_64-darwin" = "macos-x86_64";
"x86_64-linux" = "linux-x86_64";
}.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");
getUrl = version: arch:
"https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz";
getHash = arch: {
"macos-aarch64" = "sha256-+9AF42AlPn1/8c14t8u+NN8FkoEmdt6tpmIKU9Rp2AM=";
"macos-x86_64" = "sha256-/eciSo4Eps2TTsv1XU1Rlm+KBmgQT0MWp2s/OAYtGt4=";
"linux-x86_64" = "sha256-Y2t+nlTu+j+h0oRneo7CJx0PmLAkqKYBJ+8go7rargM=";
}.${arch};
in
fetchurl {
url = getUrl version getArch;
hash = getHash getArch;
};
nativeBuildInputs = [
jre
makeWrapper
];
installPhase = ''
runHook preInstall
mkdir -p $out
mv * $out
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/run_konan --prefix PATH ":" ${lib.makeBinPath [ jre ]}
'';
meta = {
homepage = "https://kotlinlang.org/";
description = "A modern programming language that makes developers happier";
longDescription = ''
Kotlin/Native is a technology for compiling Kotlin code to native
binaries, which can run without a virtual machine. It is an LLVM based
backend for the Kotlin compiler and native implementation of the Kotlin
standard library.
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ];
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
};
}

View File

@ -6,18 +6,18 @@
stdenv.mkDerivation rec {
pname = "unison-code-manager";
milestone_id = "M2g";
milestone_id = "M2j";
version = "1.0.${milestone_id}-alpha";
src = if (stdenv.isDarwin) then
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/ucm-macos.tar.gz";
sha256 = "1ib9pdzrfpzbi35fpwm9ym621nlydplvzgbhnyd86dbwbv3i9sga";
sha256 = "0lrj37mfqzwg9n757ymjb440jx51kj1s8g6qv9vis9pxckmy0m08";
}
else
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/ucm-linux.tar.gz";
sha256 = "004jx7q657mkcrvilk4lfkp8xcpl2bjflpn9m2p7jzlrlk97v9nj";
sha256 = "0qvin1rlkjwijchsijq3vbnn4injawchh2w97kyq7i3idh8ccl59";
};
# The tarball is just the prebuilt binary, in the archive root.
@ -31,7 +31,10 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
mv ucm $out/bin
wrapProgram $out/bin/ucm --prefix PATH ":" "${lib.makeBinPath [ less ]}";
mv ui $out/ui
wrapProgram $out/bin/ucm \
--prefix PATH ":" "${lib.makeBinPath [ less ]}" \
--set UCM_WEB_UI "$out/ui"
'';
meta = with lib; {

View File

@ -72,6 +72,13 @@ stdenv.mkDerivation rec {
buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ncurses ];
patches = [
# Hardcode variant detection because we wrap the Racket binary making it
# fail to detect its variant at runtime.
# See: https://github.com/NixOS/nixpkgs/issues/114993#issuecomment-812951247
./force-cs-variant.patch
];
preConfigure = ''
unset AR
for f in src/lt/configure src/cs/c/configure src/bc/src/string.c src/ChezScheme/workarea; do
@ -97,10 +104,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = false;
postFixup = lib.optionalString stdenv.isDarwin ''
wrapProgram $out/bin/drracket --prefix DYLD_LIBRARY_PATH : ${xorg.libX11}/lib
'';
meta = with lib; {
description = "A programmable programming language";
longDescription = ''

View File

@ -0,0 +1,18 @@
Hardcode Racket variant to CS
Hardcode variant detection because nixpkgs wraps the Racket binary making it
fail to detect its variant at runtime.
https://github.com/NixOS/nixpkgs/issues/114993#issuecomment-812951247
--- old/collects/setup/variant.rkt
+++ new/collects/setup/variant.rkt
@@ -7,7 +7,8 @@
(provide variant-suffix
script-variant?)
-(define plain-variant
+(define plain-variant 'cs)
+#;(define plain-variant
(delay/sync
(cond
[(cross-installation?)

View File

@ -1,24 +1,40 @@
{ lib, stdenv, autoreconfHook, pkg-config, fetchFromGitHub, dbus, dleyna-core, glib }:
{ stdenv
, lib
, meson
, ninja
, pkg-config
, fetchFromGitHub
, dleyna-core
, glib
}:
stdenv.mkDerivation rec {
pname = "dleyna-connector-dbus";
version = "0.3.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "01org";
owner = "phako";
repo = pname;
rev = version;
sha256 = "0vziq5gwjm79yl2swch2mz6ias20nvfddf5cqgk9zbg25cb9m117";
rev = "v${version}";
sha256 = "WDmymia9MD3BRU6BOCzCIMrz9V0ACRzmEGqjbbuUmlA=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ dbus dleyna-core glib ];
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
dleyna-core
glib
];
meta = with lib; {
description = "A D-Bus API for the dLeyna services";
homepage = "https://01.org/dleyna";
maintainers = [ maintainers.jtojnar ];
homepage = "https://github.com/phako/dleyna-connector-dbus";
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
license = licenses.lgpl21;
license = licenses.lgpl21Only;
};
}

View File

@ -1,95 +0,0 @@
From bf549a028a5da122b7a4206529711b969c2ecd48 Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Fri, 1 Sep 2017 13:49:06 +0200
Subject: [PATCH] Search connectors in DLEYNA_CONNECTOR_PATH
Previously, the connectors would only be looked for in a single
directory, specified during compilation. This patch allows to
traverse a list of directories provided by an environment variable.
---
libdleyna/core/connector-mgr.c | 63 ++++++++++++++++++++++++++++--------------
1 file changed, 42 insertions(+), 21 deletions(-)
diff --git a/libdleyna/core/connector-mgr.c b/libdleyna/core/connector-mgr.c
index eafb16c..8041c67 100644
--- a/libdleyna/core/connector-mgr.c
+++ b/libdleyna/core/connector-mgr.c
@@ -34,33 +34,54 @@ const dleyna_connector_t *dleyna_connector_mgr_load(const gchar *name)
const dleyna_connector_t *connector;
dleyna_connector_get_interface_t get_interface;
gchar *path;
+ const gchar *connector_path;
+ gchar **connector_path_list;
+ gsize i;
DLEYNA_LOG_DEBUG("Enter");
- path = g_strdup_printf("%s/%s%s.so", CONNECTOR_DIR,
- DLEYNA_CONNECTOR_LIB_PATTERN, name);
- module = g_module_open(path, G_MODULE_BIND_LAZY);
- g_free(path);
+ connector_path = g_getenv ("DLEYNA_CONNECTOR_PATH");
+ if (!connector_path) {
+ DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH not set");
+ connector_path = CONNECTOR_DIR;
+ } else {
+ DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH set to %s", connector_path);
+ }
+
+ connector_path_list = g_strsplit (connector_path, G_SEARCHPATH_SEPARATOR_S, 0);
+
+ for (i = 0; connector_path_list[i]; i++) {
+ path = g_strdup_printf("%s/%s%s.so", connector_path_list[i],
+ DLEYNA_CONNECTOR_LIB_PATTERN, name);
+ module = g_module_open(path, G_MODULE_BIND_LAZY);
+ g_free(path);
+
+ if (module) {
+ if (!g_connectors)
+ g_connectors = g_hash_table_new(g_direct_hash,
+ g_direct_equal);
+
+ if (g_module_symbol(module, "dleyna_connector_get_interface",
+ (gpointer *)&get_interface)) {
+ connector = get_interface();
+ g_hash_table_insert(g_connectors, (gpointer)connector,
+ module);
+
+ break;
+ } else {
+ connector = NULL;
+ g_module_close(module);
+ DLEYNA_LOG_CRITICAL(
+ "Connector '%s' entry point not found",
+ name);
+ }
- if (module) {
- if (!g_connectors)
- g_connectors = g_hash_table_new(g_direct_hash,
- g_direct_equal);
-
- if (g_module_symbol(module, "dleyna_connector_get_interface",
- (gpointer *)&get_interface)) {
- connector = get_interface();
- g_hash_table_insert(g_connectors, (gpointer)connector,
- module);
- } else {
- connector = NULL;
- g_module_close(module);
- DLEYNA_LOG_CRITICAL(
- "Connector '%s' entry point not found",
- name);
}
+ }
- } else {
+ g_strfreev (connector_path_list);
+
+ if (!module) {
connector = NULL;
DLEYNA_LOG_CRITICAL("Connector '%s' not found", name);
}
--
2.14.1

View File

@ -1,39 +1,30 @@
{ lib, stdenv
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, autoreconfHook
, meson
, ninja
, pkg-config
, gupnp
}:
stdenv.mkDerivation rec {
pname = "dleyna-core";
version = "0.6.0";
version = "0.7.0";
outputs = [ "out" "dev" ];
setupHook = ./setup-hook.sh;
src = fetchFromGitHub {
owner = "01org";
owner = "phako";
repo = pname;
rev = "v${version}";
sha256 = "1x5vj5zfk95avyg6g3nf6gar250cfrgla2ixj2ifn8pcick2d9vq";
sha256 = "i4L9+iyAdBNtgImbD54jkjYL5hvzeZ2OaAyFrcFmuG0=";
};
patches = [
./0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch
# fix build with gupnp 1.2
# https://github.com/intel/dleyna-core/pull/52
(fetchpatch {
url = "https://github.com/intel/dleyna-core/commit/41b2e56f67b6fc9c8c256b86957d281644b9b846.patch";
sha256 = "1h758cp65v7qyfpvyqdri7q0gwx85mhdpkb2y8waq735q5q9ib39";
})
];
nativeBuildInputs = [
autoreconfHook
meson
ninja
pkg-config
];
@ -43,9 +34,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Library of utility functions that are used by the higher level dLeyna";
homepage = "https://01.org/dleyna";
maintainers = [ maintainers.jtojnar ];
homepage = "https://github.com/phako/dleyna-core";
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
license = licenses.lgpl21;
license = licenses.lgpl21Only;
};
}

View File

@ -1,6 +1,8 @@
{ lib, stdenv
{ stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, meson
, ninja
, pkg-config
, dleyna-connector-dbus
, dleyna-core
@ -10,34 +12,35 @@
, gupnp-dlna
, libsoup
, makeWrapper
, docbook-xsl-nons
, libxslt
}:
stdenv.mkDerivation rec {
pname = "dleyna-renderer";
version = "0.6.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "01org";
owner = "phako";
repo = pname;
rev = version;
sha256 = "0jy54aq8hgrvzchrvfzqaj4pcn0cfhafl9bv8a9p6j82yjk4pvpp";
rev = "v${version}";
sha256 = "EaTE5teMkVDHoJuTLdqcsIL7OyM+tOz85T5D9V3KDoo=";
};
patches = [
# fix build with gupnp 1.2
# comes from arch linux packaging https://git.archlinux.org/svntogit/packages.git/tree/trunk/gupnp-1.2.diff?h=packages/dleyna-renderer
./gupnp-1.2.diff
];
nativeBuildInputs = [
autoreconfHook
meson
ninja
pkg-config
makeWrapper
# manpage
docbook-xsl-nons
libxslt # for xsltproc
];
buildInputs = [
dleyna-core
dleyna-connector-dbus
dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH
gssdp
gupnp
gupnp-av
@ -52,9 +55,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Library to discover and manipulate Digital Media Renderers";
homepage = "https://01.org/dleyna";
maintainers = [ maintainers.jtojnar ];
homepage = "https://github.com/phako/dleyna-renderer";
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
license = licenses.lgpl21;
license = licenses.lgpl21Only;
};
}

View File

@ -1,130 +0,0 @@
configure.ac | 4 ++--
libdleyna/renderer/device.c | 51 +++++++++++++++++++++++++++++++++++++++++++--
libdleyna/renderer/upnp.c | 4 ++--
3 files changed, 53 insertions(+), 6 deletions(-)
diff --git c/configure.ac i/configure.ac
index 271ee92..364659d 100644
--- c/configure.ac
+++ i/configure.ac
@@ -38,8 +38,8 @@ LT_LANG([C])
PKG_PROG_PKG_CONFIG(0.16)
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28])
PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28])
-PKG_CHECK_MODULES([GSSDP], [gssdp-1.0 >= 0.13.2])
-PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5])
+PKG_CHECK_MODULES([GSSDP], [gssdp-1.2 >= 1.2.0])
+PKG_CHECK_MODULES([GUPNP], [gupnp-1.2 >= 1.2.0])
PKG_CHECK_MODULES([GUPNPAV], [gupnp-av-1.0 >= 0.11.5])
PKG_CHECK_MODULES([GUPNPDLNA], [gupnp-dlna-2.0 >= 0.9.4])
PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.28.2])
diff --git c/libdleyna/renderer/device.c i/libdleyna/renderer/device.c
index 7acef89..f6d571e 100644
--- c/libdleyna/renderer/device.c
+++ i/libdleyna/renderer/device.c
@@ -2121,33 +2121,80 @@ exit:
return;
}
+typedef struct
+{
+ GMainLoop *loop;
+ GUPnPServiceIntrospection *introspection;
+ GError **error;
+} GetIntrospectionAsyncData;
+
+static void
+get_introspection_async_cb (GUPnPServiceInfo *info,
+ GUPnPServiceIntrospection *introspection,
+ const GError *error,
+ gpointer user_data)
+{
+ GetIntrospectionAsyncData *data = user_data;
+ data->introspection = introspection;
+ if (data->error)
+ *data->error = g_error_copy (error);
+ g_main_loop_quit (data->loop);
+}
+
+static GUPnPServiceIntrospection *
+_gupnp_service_info_get_introspection (GUPnPServiceInfo *info,
+ GError **error)
+{
+ GetIntrospectionAsyncData data;
+ GMainContext *context;
+
+ context = g_main_context_new ();
+ data.loop = g_main_loop_new (context, FALSE);
+ data.error = error;
+
+ g_main_context_push_thread_default (context);
+
+ gupnp_service_info_get_introspection_async (info,
+ get_introspection_async_cb,
+ &data);
+
+ g_main_loop_run (data.loop);
+
+ g_main_context_pop_thread_default (context);
+
+ g_main_loop_unref (data.loop);
+ g_main_context_unref (context);
+
+ return data.introspection;
+}
+
static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy,
GVariant **mpris_tp_speeds,
GPtrArray **upnp_tp_speeds,
double *min_rate,
double *max_rate,
gboolean *can_get_byte_pos)
{
const GUPnPServiceStateVariableInfo *svi;
const GUPnPServiceActionInfo *sai;
GUPnPServiceIntrospection *introspection;
GError *error = NULL;
GVariant *speeds = NULL;
GList *allowed_values;
gpointer weak_ref = NULL;
gboolean device_alive = TRUE;
/* TODO: this weak_ref hack is needed as
gupnp_service_info_get_introspection iterates the main loop.
This can result in our device getting deleted before this
function returns. Ultimately, this code needs to be re-written
to use gupnp_service_info_get_introspection_async but this cannot
really be done until GUPnP provides a way to cancel this function. */
weak_ref = av_proxy;
g_object_add_weak_pointer(G_OBJECT(av_proxy), &weak_ref);
- introspection = gupnp_service_info_get_introspection(
+ introspection = _gupnp_service_info_get_introspection(
GUPNP_SERVICE_INFO(av_proxy),
&error);
@@ -2215,7 +2262,7 @@ static gboolean prv_get_rc_service_states_values(GUPnPServiceProxy *rc_proxy,
weak_ref = rc_proxy;
g_object_add_weak_pointer(G_OBJECT(rc_proxy), &weak_ref);
- introspection = gupnp_service_info_get_introspection(
+ introspection = _gupnp_service_info_get_introspection(
GUPNP_SERVICE_INFO(rc_proxy),
&error);
diff --git c/libdleyna/renderer/upnp.c i/libdleyna/renderer/upnp.c
index 17cbda7..068912b 100644
--- c/libdleyna/renderer/upnp.c
+++ i/libdleyna/renderer/upnp.c
@@ -243,8 +243,8 @@ static void prv_server_unavailable_cb(GUPnPControlPoint *cp,
udn = gupnp_device_info_get_udn((GUPnPDeviceInfo *)proxy);
- ip_address = gupnp_context_get_host_ip(
- gupnp_control_point_get_context(cp));
+ ip_address = gssdp_client_get_host_ip(
+ GSSDP_CLIENT(gupnp_control_point_get_context(cp)));
if (!udn || !ip_address)
goto on_error;

View File

@ -1,7 +1,8 @@
{ lib, stdenv
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, autoreconfHook
, meson
, ninja
, makeWrapper
, pkg-config
, dleyna-core
@ -15,33 +16,25 @@
stdenv.mkDerivation rec {
pname = "dleyna-server";
version = "0.6.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "01org";
owner = "phako";
repo = pname;
rev = version;
sha256 = "13a2i6ms27s46yxdvlh2zm7pim7jmr5cylnygzbliz53g3gxxl3j";
rev = "v${version}";
sha256 = "bScgwJGPrCaLrw67WnvSpINgq5Vv9LJ/I0MUP9BeO2E=";
};
patches = [
# fix build with gupnp 1.2
# https://github.com/intel/dleyna-server/pull/161
(fetchpatch {
url = "https://github.com/intel/dleyna-server/commit/96c01c88363d6e5e9b7519bc4e8b5d86cf783e1f.patch";
sha256 = "0p8fn331x2whvn6skxqvfzilx0m0yx2q5mm2wh2625l396m3fzmm";
})
];
nativeBuildInputs = [
autoreconfHook
meson
ninja
pkg-config
makeWrapper
];
buildInputs = [
dleyna-core
dleyna-connector-dbus
dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH
gssdp
gupnp
gupnp-av
@ -56,9 +49,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Library to discover, browse and manipulate Digital Media Servers";
homepage = "https://01.org/dleyna";
maintainers = [ maintainers.jtojnar ];
homepage = "https://github.com/phako/dleyna-server";
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
license = licenses.lgpl21;
license = licenses.lgpl21Only;
};
}

View File

@ -1,28 +1,28 @@
{ lib, stdenv
{ stdenv
, lib
, fetchurl
, meson
, ninja
, pkg-config
, gobject-introspection
, vala
, gtk-doc
, docbook_xsl
, docbook_xml_dtd_412
, gi-docgen
, python3
, libsoup
, gtk3
, glib
, gnome
, gssdp-tools
}:
stdenv.mkDerivation rec {
pname = "gssdp";
version = "1.2.3";
version = "1.4.0.1";
outputs = [ "out" "bin" "dev" "devdoc" ];
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2";
sha256 = "hnaEnVf7giuHKIVtut6/OGf4nuR6DsR6IARdAR9DFYI=";
};
nativeBuildInputs = [
@ -31,14 +31,12 @@ stdenv.mkDerivation rec {
pkg-config
gobject-introspection
vala
gtk-doc
docbook_xsl
docbook_xml_dtd_412
gi-docgen
python3
];
buildInputs = [
libsoup
gtk3
];
propagatedBuildInputs = [
@ -47,20 +45,35 @@ stdenv.mkDerivation rec {
mesonFlags = [
"-Dgtk_doc=true"
"-Dsniffer=false"
];
doCheck = true;
postFixup = ''
# Move developer documentation to devdoc output.
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \
| while IFS= read -r -d ''' file; do
moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc"
done
'';
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
};
tests = {
inherit gssdp-tools;
};
};
meta = with lib; {
description = "GObject-based API for handling resource discovery and announcement over SSDP";
homepage = "http://www.gupnp.org/";
license = licenses.lgpl2Plus;
maintainers = teams.gnome.members;
platforms = platforms.all;
};
}

View File

@ -0,0 +1,42 @@
diff --git a/libgssdp/gssdp-client-private.h b/libgssdp/gssdp-client-private.h
index ac31247..241c054 100644
--- a/libgssdp/gssdp-client-private.h
+++ b/libgssdp/gssdp-client-private.h
@@ -10,7 +10,11 @@
#ifndef GSSDP_CLIENT_PRIVATE_H
#define GSSDP_CLIENT_PRIVATE_H
+#ifdef GSSDP_TOOLS
+#include <libgssdp/gssdp-client.h>
+#else
#include "gssdp-client.h"
+#endif
G_BEGIN_DECLS
diff --git a/tools/meson.build b/tools/meson.build
index 40eb8e3..5db545b 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,3 +1,10 @@
+project('gssdp-tools', 'c', version: '@version@')
+gnome = import('gnome')
+
+gssdp = dependency('gssdp-1.2')
+gtk = dependency('gtk4', version : '>= 4')
+libsoup = dependency('libsoup-2.4', version : '>= 2.26.1')
+
resource = gnome.compile_resources(
'org.gupnp.GSSDP.DeviceSniffer',
'gssdp-device-sniffer.gresource.xml',
@@ -12,7 +19,9 @@ sniffer = executable(
'main-window.h',
resource
],
- dependencies : [gssdp, gtk],
+ dependencies : [gssdp, gtk, libsoup],
+ c_args: ['-DGSSDP_TOOLS'],
+ include_directories : [include_directories('..')],
install: true,
export_dynamic : true,
gui_app : true

View File

@ -0,0 +1,50 @@
{ stdenv
, lib
, substituteAll
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, gssdp
, gtk4
, libsoup
}:
stdenv.mkDerivation rec {
pname = "gssdp-tools";
inherit (gssdp) version src;
patches = [
# Allow building tools separately from the library.
# This is needed to break the depenency cycle.
(substituteAll {
src = ./standalone-tools.patch;
inherit version;
})
];
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [
gssdp
gtk4
libsoup
];
preConfigure = ''
cd tools
'';
meta = with lib; {
description = "Device Sniffer tool based on GSSDP framework";
homepage = "http://www.gupnp.org/";
license = licenses.lgpl2Plus;
maintainers = gssdp.meta.maintainers;
platforms = platforms.all;
};
}

View File

@ -1,10 +1,13 @@
{ lib, stdenv
{ stdenv
, lib
, fetchurl
, meson
, ninja
, pkg-config
, gobject-introspection
, vala
, gtk-doc
, docbook_xsl
, docbook-xsl-nons
, docbook_xml_dtd_412
, glib
, libxml2
@ -13,21 +16,23 @@
stdenv.mkDerivation rec {
pname = "gupnp-av";
version = "0.12.11";
version = "0.14.0";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8";
sha256 = "IK7VRvyILnij8YagyLzlyEHMOkS36lKCmPvcgllvsVY=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection
vala
gtk-doc
docbook_xsl
docbook-xsl-nons
docbook_xml_dtd_412
];
@ -36,8 +41,8 @@ stdenv.mkDerivation rec {
libxml2
];
configureFlags = [
"--enable-gtk-doc"
mesonFlags = [
"-Dgtk_doc=true"
];
doCheck = true;

View File

@ -1,10 +1,13 @@
{ lib, stdenv
{ stdenv
, lib
, fetchurl
, meson
, ninja
, pkg-config
, gobject-introspection
, vala
, gtk-doc
, docbook_xsl
, docbook-xsl-nons
, docbook_xml_dtd_412
, libxml2
, gst_all_1
@ -13,21 +16,23 @@
stdenv.mkDerivation rec {
pname = "gupnp-dlna";
version = "0.10.5";
version = "0.12.0";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj";
sha256 = "PVO5b4W8VijTPjZ+yb8q2zjvKzTXrQQ0proM9K2QSOY=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection
vala
gtk-doc
docbook_xsl
docbook-xsl-nons
docbook_xml_dtd_412
];
@ -36,8 +41,8 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base
];
configureFlags = [
"--enable-gtk-doc"
mesonFlags = [
"-Dgtk_doc=true"
];
doCheck = true;

View File

@ -0,0 +1,55 @@
From a3461f69222ef23b2edd411c5fc8daefea556a2c Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Wed, 20 Oct 2021 20:55:29 +0200
Subject: [PATCH] pkg-config: Declare header dependencies as public
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The headers include libsoup and libxml2 headers but those libraries are only
listed in Requires.private. This does not matter for upstream pkg-config
because it uses Cflags from libraries in Requires.private as well but as our
pkg-config is patched to only use Requires.private for static linking.
Lets add libsoup-2.4 and libxml-2.0 to Requires rather than Requires.private
to make the reverse dependencies correctly find their headers.
---
libgupnp/meson.build | 2 +-
meson.build | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/libgupnp/meson.build b/libgupnp/meson.build
index cb8a102..5fda9d8 100644
--- a/libgupnp/meson.build
+++ b/libgupnp/meson.build
@@ -129,7 +129,7 @@ pkg.generate(
libgupnp,
subdirs: 'gupnp-1.2',
name : 'gupnp-1.2',
- requires : ['glib-2.0', 'gio-2.0', 'gssdp-1.2'],
+ requires : ['glib-2.0', 'gio-2.0', 'gssdp-1.2', 'libsoup-2.4 >= ' + libsoup_version, 'libxml-2.0'],
description : 'GObject-based UPnP library',
version : meson.project_version(),
filebase : 'gupnp-1.2'
diff --git a/meson.build b/meson.build
index 3790bcf..c96a983 100644
--- a/meson.build
+++ b/meson.build
@@ -25,12 +25,13 @@ gssdp_dep = dependency('gssdp-1.2', version : '>= 1.3.0', default_options: ['sni
gio_unix = dependency('gio-unix-2.0', version: '>= 2.44', required: host_machine.system() != 'windows')
+libsoup_version = '2.48.0'
dependencies = [
dependency('glib-2.0', version : '>= ' + glib_version),
dependency('gio-2.0', version : '>= ' + glib_version),
dependency('gmodule-2.0', version : '>= ' + glib_version),
dependency('gobject-2.0', version : '>= ' + glib_version),
- dependency('libsoup-2.4', version : '>= 2.48.0'),
+ dependency('libsoup-2.4', version : '>= ' + libsoup_version),
gssdp_dep,
dependency('libxml-2.0'),
]
--
2.33.0

View File

@ -1,6 +1,6 @@
{ lib, stdenv
{ stdenv
, lib
, fetchurl
, fetchpatch
, meson
, ninja
, pkg-config
@ -20,21 +20,18 @@
stdenv.mkDerivation rec {
pname = "gupnp";
version = "1.2.4";
version = "1.4.0";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-96AwfqUfXkTRuDL0k92QRURKOk4hHvhd/Zql3W6up9E=";
sha256 = "sha256-WQ/7ArhNoqGuxo/VNLxArxs33T9iI/nRV3/EirSL428=";
};
patches = [
(fetchpatch {
name = "CVE-2021-33516.patch";
url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/ca6ec9dcb26fd7a2a630eb6a68118659b589afac.patch";
sha256 = "sha256-G7e/xNQB7Kp2fPzqVeD/cH3h1co9hZXh55QOUBnAnvU=";
})
# Bring .pc file in line with our patched pkg-config.
./0001-pkg-config-Declare-header-dependencies-as-public.patch
];
nativeBuildInputs = [

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "intel-gmmlib";
version = "21.3.1";
version = "21.3.2";
src = fetchFromGitHub {
owner = "intel";
repo = "gmmlib";
rev = "intel-gmmlib-${version}";
sha256 = "0dzqfgbd0fxl8rxgf5nmj1jd4izzaqfb0s53l96qwz1j57q5ybj5";
sha256 = "0whi7dmdv36d5l90yhjyv2raj2j165q82h7df9a6wf2abvsaqvdh";
};
nativeBuildInputs = [ cmake ];

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
strictDeps = true;
nativeBuildInputs = [
autoreconfHook bison cdrkit cpio flex getopt gperf makeWrapper pkg-config qemu
] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
] ++ (with perlPackages; [ perl libintl-perl GetoptLong SysVirt ])
++ (with ocamlPackages; [ ocaml findlib ]);
buildInputs = [
ncurses jansson

View File

@ -25,13 +25,13 @@
stdenv.mkDerivation rec {
pname = "vte";
version = "0.64.2";
version = "0.66.0";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-KzyCC2WmZ8HYhZuiBHi+Ym0VGcwxWdrCX3AzMMbQfhg=";
sha256 = "sha256-0IE6wA+x102IhR52X3VdSWyD4JcJc1jqG6rbOLN7ezM=";
};
patches = [

View File

@ -65,7 +65,7 @@ assert enableGeoLocation -> geoclue2 != null;
stdenv.mkDerivation rec {
pname = "webkitgtk";
version = "2.34.0";
version = "2.34.1";
outputs = [ "out" "dev" ];
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
sha256 = "sha256-iAyO5ib2cBn2dVfKCeWaI+zyReYPYXMhXxqII8sJrzQ=";
sha256 = "sha256-RDwTFnBd4CR0F0joX+MjJNKZ2e5o5v6zQLieSgQHPe4=";
};
patches = lib.optionals stdenv.isLinux [

View File

@ -2,9 +2,9 @@
buildDunePackage rec {
pname = "lambdasoup";
version = "0.7.2";
version = "0.7.3";
minimumOCamlVersion = "4.02";
minimalOCamlVersion = "4.02";
useDune2 = true;
@ -12,7 +12,7 @@ buildDunePackage rec {
owner = "aantron";
repo = pname;
rev = version;
sha256 = "0php51lyz3ll0psazjd59yw02xb9w84150gkyiwmn3fa0iq8nf7m";
sha256 = "sha256:1wclkn1pl0d150dw0xswb29jc7y1q9mhipff1pnsc1hli3pyvvb7";
};
propagatedBuildInputs = [ markup ];

View File

@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "aioymaps";
version = "1.2.0";
version = "1.2.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-YkSoxYf/Ti/gc1BFSYR24P3OzDrmcGWKhcOcrGpkRjU=";
sha256 = "sha256-8U8I2pqvvm87IW1hhR4CGyIWdM/jsRPRP6u2yYGXdBw=";
};
propagatedBuildInputs = [

View File

@ -13,13 +13,13 @@
buildPythonPackage rec {
pname = "bidict";
version = "0.21.3";
version = "0.21.4";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-1QvYH65140GY/8lJeaDrCTn/mts+8yvMk6kT2LPj7R0=";
sha256 = "sha256-QshP++b43omK9gc7S+nqfM7c1400dKqETFTknVoHn28=";
};
propagatedBuildInputs = [

View File

@ -31,6 +31,12 @@ buildPythonPackage rec {
typing-extensions
];
# make compatible with libusb1 2.x
postPatch = ''
substituteInPlace setup.py \
--replace 'libusb1>=1.7,<2.0' 'libusb1>=1.7'
'';
# tests require to clone quite a few firmwares
doCheck = false;

View File

@ -8,13 +8,13 @@
buildPythonPackage rec {
pname = "mypy-boto3-s3";
version = "1.19.1";
version = "1.19.2";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-Ov3JVCYa+3VU26VYtPYcqwSUMdDowSk8GWGt4PX/DKk=";
sha256 = "sha256-wRJ5pY3zrWDEAm30xvBfiMpCxQKHWgcEemNiQ+v0+9o=";
};
propagatedBuildInputs = [

View File

@ -1,26 +1,59 @@
{ lib, fetchFromGitHub, cmake, git, swig, boost, udev, pc-ble-driver, pythonOlder
, buildPythonPackage, enum34, wrapt, future, setuptools, scikit-build, pythonAtLeast }:
{ lib
, boost
, buildPythonPackage
, cmake
, cryptography
, fetchFromGitHub
, git
, pc-ble-driver
, pythonAtLeast
, pythonOlder
, scikit-build
, setuptools
, swig
, udev
, wrapt
}:
buildPythonPackage rec {
pname = "pc-ble-driver-py";
version = "0.15.0";
disabled = pythonOlder "3.6" || pythonAtLeast "3.9";
version = "0.16.1";
disabled = pythonOlder "3.7" || pythonAtLeast "3.10";
src = fetchFromGitHub {
owner = "NordicSemiconductor";
repo = "pc-ble-driver-py";
rev = version;
sha256 = "1ckbsq9dwca8hpx9frf9xd80b4z4kn9j7jx94hza9bwzrh26x5ji";
rev = "v${version}";
sha256 = "0q2zag77drcjkjm0cbvy2sf6fq2a4yl5li1zv1xfwmy53ami9b5l";
};
nativeBuildInputs = [
cmake
swig
git
setuptools
scikit-build
];
buildInputs = [
boost
pc-ble-driver
];
propagatedBuildInputs = [
cryptography
wrapt
];
dontUseCmakeConfigure = true;
# doCheck tries to write to the global python directory to install things
doCheck = false;
nativeBuildInputs = [ cmake swig git setuptools scikit-build ];
buildInputs = [ boost pc-ble-driver ];
propagatedBuildInputs = [ enum34 wrapt future ];
dontUseCmakeConfigure = true;
pythonImportsCheck = [
"pc_ble_driver_py"
];
meta = with lib; {
description = "Bluetooth Low Energy nRF5 SoftDevice serialization";

View File

@ -1,8 +1,14 @@
{ buildPythonPackage, isPy27, fetchFromGitHub, lib, ipaddress }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "piccata";
version = "2.0.0";
disabled = isPy27;
src = fetchFromGitHub {
@ -12,15 +18,23 @@ buildPythonPackage rec {
sha256 = "0pn842jcf2czjks5dphivgp1s7wiifqiv93s0a89h0wxafd6pbsr";
};
propagatedBuildInputs = [
ipaddress
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "piccata" ];
disabledTests = [
# No communication possible in the sandbox
"test_client_server_communication"
];
meta = {
pythonImportsCheck = [
"piccata"
];
meta = with lib; {
description = "Simple CoAP (RFC7252) toolkit";
homepage = "https://github.com/NordicSemiconductor/piccata";
maintainers = with lib.maintainers; [ gebner ];
license = licenses.mit;
maintainers = with maintainers; [ gebner ];
};
}

View File

@ -1,27 +1,33 @@
{ lib, buildPythonPackage, fetchFromGitHub, isPy27
, future, pyserial, ipaddress
{ lib
, buildPythonPackage
, fetchFromGitHub
, pyserial
, pythonOlder
}:
buildPythonPackage rec {
pname = "pyspinel";
version = "unstable-2020-06-19"; # no versioned release since 2018
disabled = isPy27;
version = "unstable-2021-08-19";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "openthread";
repo = pname;
rev = "e0bb3f8e6f49b593ab248a75de04a71626ae8101";
sha256 = "0nfmdkgbhmkl82dfxjpwiiarxngm6a3fvdrzpaqp60a4b17pipqg";
rev = "50d104e29eacd92d229f0b7179ec1067f5851c17";
sha256 = "0s2r00zb909cq3dd28i91qbl0nz8cga3g98z84gq5jqkjpiy8269";
};
propagatedBuildInputs = [
future
ipaddress
pyserial
];
# Tests are out-dated
doCheck = false;
pythonImportsCheck = [ "spinel" ];
pythonImportsCheck = [
"spinel"
];
meta = with lib; {
description = "Interface to the OpenThread Network Co-Processor (NCP)";

View File

@ -6,11 +6,11 @@
buildPythonPackage rec {
pname = "venstarcolortouch";
version = "0.14";
version = "0.15";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-wrsu1SffD4/RvDiE6yABfZN/oSDH8Ao/RJK7yL2QKy8=";
sha256 = "sha256-7JUqXHk/yL+/EvfQoGLaKmPPy4DkljT9olqK0a/Nmkk=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,72 @@
{ lib
, fetchFromGitHub
, stdenv
, makeWrapper
, qemu
, gnugrep
, lsb-release
, jq
, procps
, python3
, cdrtools
, usbutils
, util-linux
, spicy
, swtpm
, wget
, xdg-user-dirs
, xrandr
, zsync
}:
let
runtimePaths = [
qemu
gnugrep
jq
lsb-release
procps
python3
cdrtools
usbutils
util-linux
spicy
swtpm
wget
xdg-user-dirs
xrandr
zsync
];
in
stdenv.mkDerivation rec {
pname = "quickemu";
version = "2.2.6";
src = fetchFromGitHub {
owner = "wimpysworld";
repo = pname;
rev = version;
sha256 = "sha256-gextBOWxJafwdWzkp89thhRgcy1XBTDh2VyseHQM1G0=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -Dm755 -t "$out/bin" quickemu quickget macrecovery
for f in quickget macrecovery quickemu; do
wrapProgram $out/bin/$f --prefix PATH : "${lib.makeBinPath runtimePaths}"
done
runHook postInstall
'';
meta = with lib; {
description = "Quickly create and run optimised Windows, macOS and Linux desktop virtual machines";
homepage = "https://github.com/wimpysworld/quickemu";
license = licenses.mit;
maintainers = with maintainers; [ fedx-sudo ];
};
}

View File

@ -2,12 +2,12 @@
let
pname = "altair";
version = "4.0.2";
version = "4.1.0";
name = "${pname}-v${version}";
src = fetchurl {
url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
sha256 = "sha256-HCoK+ljcTmyBZSCDe6u2x2urqrQfi3DIlXfCqGWvl3E=";
sha256 = "sha256-YuG7H+7FXYGbNNhM5vxps72dqltcj3bA325e7ZbW8aI=";
};
appimageContents = appimageTools.extract { inherit name src; };

View File

@ -1,21 +1,23 @@
{ lib, stdenv
{ stdenv
, lib
, glib
, autoreconfHook
, pkg-config
, systemd
, fetchFromGitLab
, nix-update-script
}:
stdenv.mkDerivation rec {
pname = "gnome-desktop-testing";
version = "unstable-2019-12-11";
version = "2021.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gnome-desktop-testing";
rev = "57239dc8ef49ba74d442603a07a3e132b0cfdc6a";
sha256 = "01c4jhpk23kfcnw3l9kfwjw9v5kgqmfhhqypw4k2d2sdkf4mgfv4";
rev = "v${version}";
sha256 = "sha256-PWn4eEZskY0YgMpf6O2dgXNSu8b8T311vFHREv2HE/Q=";
};
nativeBuildInputs = [
@ -30,6 +32,12 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
passthru = {
updateScript = nix-update-script {
attrPath = "gnome-desktop-testing";
};
};
meta = with lib; {
description = "GNOME test runner for installed tests";
homepage = "https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests";

View File

@ -1,20 +1,62 @@
{ lib, python3Packages, fetchFromGitHub }:
{ lib
, stdenv
, fetchFromGitHub
, pkgs
, python3
, python3Packages
}:
let
py = python3.override {
packageOverrides = self: super: {
with python3Packages; buildPythonApplication rec {
libusb1 = super.libusb1.overridePythonAttrs (oldAttrs: rec {
version = "1.9.3";
src = oldAttrs.src.override {
inherit version;
sha256 = "0j8p7jb7sibiiib18vyv3w5rrk0f4d2dl99bs18nwkq6pqvwxrk0";
};
postPatch = ''
substituteInPlace usb1/libusb1.py --replace \
"ctypes.util.find_library(base_name)" \
"'${pkgs.libusb1}/lib/libusb-1.0${stdenv.hostPlatform.extensions.sharedLibrary}'"
'';
});
};
};
in
with py.pkgs;
buildPythonApplication rec {
pname = "nrfutil";
version = "6.1";
version = "6.1.3";
src = fetchFromGitHub {
owner = "NordicSemiconductor";
repo = "pc-nrfutil";
rev = "v${version}";
sha256 = "0g43lf5jmk0qxb7r4h68wr38fli6pjjk67w8l2cpdm9rd8jz4lpn";
sha256 = "1gpxjdcjn4rjvk649vpkh563c7lx3rrfvamazb1qjii1pxrvvqa7";
};
propagatedBuildInputs = [ pc-ble-driver-py six pyserial enum34 click ecdsa
protobuf tqdm piccata pyspinel intelhex pyyaml crcmod libusb1 ipaddress ];
propagatedBuildInputs = [
click
crcmod
ecdsa
libusb1
intelhex
pc-ble-driver-py
piccata
protobuf
pyserial
pyspinel
pyyaml
tqdm
];
checkInputs = [ nose behave ];
checkInputs = [
behave
nose
];
postPatch = ''
mkdir test-reports

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
pname = "postman";
version = "9.0.5";
version = "9.1.1";
src = fetchurl {
url = "https://dl.pstmn.io/download/version/${version}/linux64";
sha256 = "1z28v5vrjld99ydai66k8hw01x54647324ax459bvblw989lzp7v";
sha256 = "QqlA/8fEOwucs+nU6ahDh3GB64PdhY8JFWPiyEBxGsE=";
name = "${pname}.tar.gz";
};

View File

@ -0,0 +1,49 @@
{ lib, fetchFromGitHub, stdenv
, gtest, makeWrapper, meson, ninja, pkg-config
, alsa-lib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net
}:
stdenv.mkDerivation rec {
pname = "dosbox-staging";
version = "0.77.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x";
};
nativeBuildInputs = [ gtest makeWrapper meson ninja pkg-config ];
buildInputs = [ alsa-lib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ];
hardeningDisable = [ "format" ];
mesonFlags = [
"--buildtype=release"
"-Ddefault_library=static"
"-Db_asneeded=true"
"-Dtry_static_libs=png"
"-Dfluidsynth:enable-floats=true"
"-Dfluidsynth:try-static-deps=true"
];
postFixup = ''
# Rename binary, add a wrapper, and copy manual to avoid conflict with vanilla dosbox.
# Doing it this way allows us to work with frontends and launchers that expect the
# binary to be named dosbox, but get out of the way of vanilla dosbox if the user
# desires to install that as well.
mv $out/bin/dosbox $out/bin/${pname}
makeWrapper $out/bin/dosbox-staging $out/bin/dosbox
cp $out/share/man/man1/dosbox.1.gz $out/share/man/man1/${pname}.1.gz
'';
meta = with lib; {
description = "A modernized DOS emulator";
homepage = "https://dosbox-staging.github.io/";
license = licenses.gpl2;
maintainers = with maintainers; [ joshuafern ];
platforms = platforms.unix;
priority = 101;
};
}

View File

@ -15,16 +15,18 @@
, libpulseaudio
, sndio
, mesa
, vulkan-loader
, wayland
}:
mkDerivation rec {
pname = "duckstation";
version = "unstable-2021-10-01";
version = "unstable-2021-10-19";
src = fetchFromGitHub {
owner = "stenzek";
repo = pname;
rev = "a7096f033ecca48827fa55825fc0d0221265f1c2";
sha256 = "sha256-e/Y1TJBuY76q3/0MCAqu9AJzLxIoJ8FJUV5vc/AgcjA=";
rev = "96f4fdf8d88ff3a120f3bc409a6a6487cdcbd55f";
sha256 = "sha256-WWsi7kmFEYES2BoNKIFF1+lKHJGP3hbTZ9o3eWp+EcE=";
};
nativeBuildInputs = [ cmake ninja pkg-config extra-cmake-modules wrapQtAppsHook qttools ];
@ -38,11 +40,13 @@ mkDerivation rec {
mesa
curl
libpulseaudio
wayland
vulkan-loader
];
cmakeFlags = [
"-DUSE_DRMKMS=ON"
"-DUSE_EGL=ON"
#"-DUSE_DRMKMS=ON" # Broken in combination with Wayland, https://github.com/stenzek/duckstation/issues/2630
"-DUSE_WAYLAND=ON"
];
postPatch = ''
@ -76,9 +80,13 @@ mkDerivation rec {
runHook postCheck
'';
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
];
# TODO:
# - vulkan graphics backend (OpenGL works).
# - default sound backend (cubeb) does not work, but SDL does.
# - default sound backend (cubeb) does not work, but SDL does. Strangely, switching to cubeb while a game is running makes it work.
meta = with lib; {
description = "PlayStation 1 emulator focusing on playability, speed and long-term maintainability";
homepage = "https://github.com/stenzek/duckstation";

View File

@ -44,9 +44,9 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well.
version = "6.19";
version = "6.20";
url = "https://dl.winehq.org/wine/source/6.x/wine-${version}.tar.xz";
sha256 = "sha256-QYLi2WJ3BMw3b0b8MQlYDqkHd5b0T17oPgjj6Wvwq2Y=";
sha256 = "0wc4a8slb3k859sdw9wwy92zc4pq7xw1kbq4frnxbzbvkiz26a20";
inherit (stable) gecko32 gecko64;
## see http://wiki.winehq.org/Mono
@ -65,7 +65,7 @@ in rec {
staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version;
sha256 = "sha256-1Ng+kFFnqEndlCvI0eG1YmyqPdcolD3cVJ2KU5GU7Z4=";
sha256 = "12fvfn77rsqwdprkxiylq09jc81lq34bm8p1zhhn85q6yawpjlbn";
owner = "wine-staging";
repo = "wine-staging";
rev = "v${version}";

View File

@ -12,7 +12,7 @@ in assert lib.getVersion wineUnstable == patch.version;
name = "${self.name}-staging";
postPatch = self.postPatch or "" + ''
prePatch = self.prePatch or "" + ''
patchShebangs tools
cp -r ${patch}/patches .
chmod +w patches

View File

@ -4,25 +4,25 @@ let
in {
mainline = libsForQt5.callPackage ./base.nix rec {
pname = "yuzu-mainline";
version = "679";
version = "788";
branchName = branch;
src = fetchFromGitHub {
owner = "yuzu-emu";
repo = "yuzu-mainline";
rev = "mainline-0-${version}";
sha256 = "1wkxkgfff5nn30mn2pqcrlsr7fja6bgaallsx1ainlcbamfyspcz";
sha256 = "0vgj1jvbc1ylrzvbl7njdwpajhmp8l39i2k6hgh4az34ry4iaayy";
fetchSubmodules = true;
};
};
early-access = libsForQt5.callPackage ./base.nix rec {
pname = "yuzu-ea";
version = "1874";
version = "2156";
branchName = branch;
src = fetchFromGitHub {
owner = "pineappleEA";
repo = "pineapple-src";
rev = "EA-${version}";
sha256 = "0ryrz7dl1sg30vvd7wrf05pjj8swah86055fn7qm6mr2bfslww0h";
sha256 = "1x8x808x3i8jr9zghx01vakb6q6hkwnarawr9arxvqnd9x79j8ga";
};
};
}.${branch}

View File

@ -3,8 +3,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
mktplcRef = {
name = "terraform";
publisher = "hashicorp";
version = "2.15.0";
sha256 = "0bqf9ry0idqw61714dc6y1rh5js35mi14q19yqhiwayyfakwraq9";
version = "2.16.0";
sha256 = "0ya0xmmn4rmbvh8mxz466msbb3y2xqi4bg9dgymy2wq8cwzbn81b";
};
patches = [ ./fix-terraform-ls.patch ];

View File

@ -1,5 +1,5 @@
diff --git a/out/serverPath.js b/out/serverPath.js
index ffb1b80..990ca2b 100644
index d25f5d4..289f0dd 100644
--- a/out/serverPath.js
+++ b/out/serverPath.js
@@ -8,7 +8,13 @@ exports.CUSTOM_BIN_PATH_OPTION_NAME = 'languageServer.pathToBinary';
@ -16,4 +16,4 @@ index ffb1b80..990ca2b 100644
+ }
}
installPath() {
return this.context.asAbsolutePath(INSTALL_FOLDER_NAME);
return path.join(this.context.globalStorageUri.fsPath, INSTALL_FOLDER_NAME);

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "matrix-dendrite";
version = "0.4.1";
version = "0.5.0";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "dendrite";
rev = "v${version}";
sha256 = "sha256-F2e+peM7DBihmos/oPar36UDHkibmlzIknCjMauOph8=";
sha256 = "iCxfsIOZqPQjY0u2Zw3PCe0IJDczqDjcTUA3U5zXbgM=";
};
vendorSha256 = "sha256-M6mnFO+SInZNvtwMa02TvHIg14Ve7swlGcYfsQFioxQ=";
vendorSha256 = "sha256-XS1B6Nl5zGevxE1SohpoTwT/bXn5udYV5ANVFn7eTyA=";
passthru.tests = {
inherit (nixosTests) dendrite;

View File

@ -24,6 +24,19 @@ let
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
(mkOverride "python-slugify" "4.0.1" "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270")
# Pinned due to API changes in aioesphomeapi>=10.0.0
(self: super: {
aioesphomeapi = super.aioesphomeapi.overridePythonAttrs (oldAttrs: rec {
version = "9.1.5";
src = fetchFromGitHub {
owner = "esphome";
repo = "aioesphomeapi";
rev = "v${version}";
sha256 = "sha256-PPag65ZMz9KZEe9FmiB42/DgeM0vJw5L0haAG/jBjqg=";
};
});
})
# Pinned due to API changes in iaqualink>=2.0, remove after
# https://github.com/home-assistant/core/pull/48137 was merged
(self: super: {

View File

@ -21,6 +21,7 @@
, preConfigure ? ""
, postInstall ? null
, meta ? null
, passthru ? { tests = {}; }
}:
with lib;
@ -146,7 +147,7 @@ stdenv.mkDerivation {
inherit (nixosTests) nginx nginx-auth nginx-etag nginx-pubhtml nginx-sandbox nginx-sso;
variants = lib.recurseIntoAttrs nixosTests.nginx-variants;
acme-integration = nixosTests.acme;
};
} // passthru.tests;
};
meta = if meta != null then meta else {

View File

@ -3,6 +3,7 @@
, lib
, fetchurl
, postgresql
, nixosTests
, ...
}@args:
@ -42,6 +43,10 @@ callPackage ../nginx/generic.nix args rec {
ln -s $out/nginx/html $out/html
'';
passthru.tests = {
inherit (nixosTests) openresty-lua;
};
meta = {
description = "A fast web application server built on Nginx";
homepage = "https://openresty.org";

View File

@ -24,7 +24,7 @@ let
IO
IOStringy
LWP
libintl_perl
libintl-perl
MHonArc
MIMECharset

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, fmt
# Darwin inputs
, AudioToolbox, AudioUnit
# Inputs
@ -11,7 +11,7 @@
# Filters
, libsamplerate
# Outputs
, alsa-lib, libjack2, libpulseaudio, libshout
, alsa-lib, libjack2, libpulseaudio, libshout, pipewire
# Misc
, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat
# Services
@ -65,6 +65,7 @@ let
# Output plugins
alsa = [ alsa-lib ];
jack = [ libjack2 ];
pipewire = [ pipewire ];
pulse = [ libpulseaudio ];
shout = [ libshout ];
# Commercial services
@ -116,18 +117,19 @@ let
in stdenv.mkDerivation rec {
pname = "mpd";
version = "0.22.11";
version = "0.23.2";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "MPD";
rev = "v${version}";
sha256 = "sha256-X+FnZ5W1p9GuOSIxTSp1Yok+kKsLjNPOKZkJSCYk8kM=";
sha256 = "sha256-gn06t8S0hh5xe5V1vnXVHSb0FwxY40onUV+Bt7oL9ic=";
};
buildInputs = [
glib
boost
fmt
# According to the configurePhase of meson, gtest is considered a
# runtime dependency. Quoting:
#

View File

@ -15,7 +15,7 @@ perlPackages.buildPerlPackage {
buildInputs = [ perl openssl gettext python3Packages.sphinx ];
propagatedBuildInputs = with perlPackages;
[ # dependencies from Makefile.PL
libintl_perl ConfigVersioned LWP ClassAccessorChained IOSocketSSL ClassStd
libintl-perl ConfigVersioned LWP ClassAccessorChained IOSocketSSL ClassStd
CGISession ConfigStd ConfigMerge Connector CryptCBC CryptOpenSSLAES CryptPKCS10
DBDMock DataPassword DataSerializer DateTimeFormatDateParse IOPrompt
IPCShareLite JSON LogLog4perl LWPProtocolConnect LWPProtocolHttps MailRFC822Address

View File

@ -5,7 +5,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
(fetchbower "tweetnacl" "0.12.2" "0.12.2" "1lfzbfrdaly3zyzbcp1p53yhxlrx56k8x04q924kg7l52gblm65g")
(fetchbower "components-font-awesome" "4.7.0" "^4.6.3" "1w27im6ayjrbgjqa0i49ml5d3wy4ld40h9b29hz9myv77bpx4lg1")
(fetchbower "ckeditor" "4.14.0" "4.14.0" "0lw9q0k8c0jlxvf35vrccab9c3c8rgpc6x66czj9si8yy2lyliyp")
(fetchbower "codemirror" "5.61.1" "^5.19.0" "1abm1fcps86y2qm033wa96pd6ixf9w01vlhly5i51j0j94arnz4g")
(fetchbower "codemirror" "5.63.3" "^5.19.0" "09di53sfsgpd328fvz1qjlmybk5mmnb2p9r38xw329bi9b21rq0r")
(fetchbower "requirejs" "2.3.5" "2.3.5" "05lyvgz914h2w08r24rk0vkk3yxmqrvlg7j3i5av9ffkg9lpzsli")
(fetchbower "marked" "1.1.0" "1.1.0" "1sdgqw9iki9c1pfm4c5h6c956mchbip2jywjrcmrlb75k53flsjz")
(fetchbower "rangy" "rangy-release#1.3.0" "rangy-release#~1.3.0" "13x3wci003p8jyv2ncir0k23bxckx99b3555r0zvgmlwycg7w0zv")
@ -13,19 +13,18 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
(fetchbower "secure-fabric.js" "secure-v1.7.9" "secure-v1.7.9" "1l56mk7hbnsm9cdg5zdcmg95p7a9w96dq0bbl8fp11vs0awjil7a")
(fetchbower "hyperjson" "1.4.0" "~1.4.0" "1n68ls3x4lyhg1yy8i4q3xkgh5xqpyakf45sny4x91mkr68x4bd9")
(fetchbower "chainpad-crypto" "0.2.6" "^0.2.0" "0h6ibv6gcym7mm080swdw4l6l159xjmxgqnahyxw3aydha5cj1z0")
(fetchbower "chainpad-listmap" "0.10.2" "^0.10.0" "03j3qws0icam4c0yqrz7f6maf1dxhlc56hc6csr2d9dx0wshd57s")
(fetchbower "chainpad-listmap" "1.0.0" "^1.0.0" "0qzqblw67y1p69xc9n734srfhjviwwb2jbqxgxs0rf4vdyspwvcb")
(fetchbower "chainpad" "5.2.4" "^5.2.0" "1f4nap0r8w50qpmjdfhhjhpz5xcl0n4zaxxnav1qaxi5j6dyg8h6")
(fetchbower "file-saver" "1.3.1" "1.3.1" "065nzkvdiicxnw06z1sjz1sbp9nyis8z839hv6ng1fk25dc5kvkg")
(fetchbower "alertifyjs" "1.0.11" "1.0.11" "0v7323bzq90k35shm3h6azj4wd9la3kbi1va1pw4qyvndkwma69l")
(fetchbower "scrypt-async" "1.2.0" "1.2.0" "0d076ax708p9b8hcmk4f82j925nlnm0hmp0ni45ql37g7iirfpyv")
(fetchbower "require-css" "0.1.10" "0.1.10" "106gz9i76v71q9zx2pnqkkj342m630lvssnw54023a0ljc0gqcwq")
(fetchbower "less" "3.7.1" "3.7.1" "1n7ps4xlbrc9m63b3q62mg3p6i7d5hwchhpjshb0drzj5crvz556")
(fetchbower "bootstrap" "4.6.0" "^v4.0.0" "1pp2n88pkms25p7mbna7vxxl5mkpdn8nvnfzwcwpp6b0871njmr6")
(fetchbower "diff-dom" "2.1.1" "2.1.1" "0nrn6xqlhp0p5ixjxdk8qg3939crkggh1l8swd20d7bsz186l5f1")
(fetchbower "nthen" "0.1.7" "0.1.7" "03yap5ildigaw4rwxmxs37pcwhq415iham8w39zd56ka98gpfxa5")
(fetchbower "open-sans-fontface" "1.4.2" "^1.4.2" "0ksav1fcq640fmdz49ra4prwsrrfj35y2p4shx1jh1j7zxd044nf")
(fetchbower "bootstrap-tokenfield" "0.12.1" "0.12.1" "1dh791s6ih8bf9ihck9n39h68c273jb3lg4mqk94bvqraz45fvwx")
(fetchbower "localforage" "1.9.0" "^1.5.2" "18ds5427gaschld5afwi128hqy8kysa1b1ckbrzbmqz8xnlshmc2")
(fetchbower "localforage" "1.10.0" "^1.5.2" "019rh006v2w5x63mgk78qhw59kf8czbkwdvfngmac8fs6gz88lc8")
(fetchbower "html2canvas" "0.4.1" "^0.4.1" "0yg7y90nav068q0i5afc2c221zkddpf28hi0hwc46cawx4180c69")
(fetchbower "croppie" "2.6.5" "^2.5.0" "1j1v5620zi13ad42r358i4ay891abwn6nz357484kgq2bgjj6ccx")
(fetchbower "sortablejs" "1.14.0" "^1.6.0" "104d688lrbwxi3hnfr4q169850ffyfv1s8qnycqxhx0zfh3887m0")
@ -34,7 +33,6 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
(fetchbower "requirejs-plugins" "1.0.3" "^1.0.3" "00s3sdz1ykygx5shldwhhhybwgw7c99vkqd94i5i5x0gl97ifxf5")
(fetchbower "dragula.js" "3.7.2" "3.7.2" "0dbkmrl8bcxiplprmmp9fj96ri5nahb2ql8cc7zwawncv0drvlh0")
(fetchbower "MathJax" "3.0.5" "3.0.5" "087a9av15qj43m8pr3b9g59ncmydhmg40m6dfzsac62ykianh2a0")
(fetchbower "chainpad-netflux" "0.12.9" "^0.12.0" "1b2jkfl354gs9iy05i6db9g0hnngacxd2wdv59lc0icbmx62fpvi")
(fetchbower "netflux-websocket" "0.1.21" "^0.1.20" "13ia8cqipq1jnyzzxwf9yy91gzwnwb2g5kzb6l8id5gdr415q5yn")
(fetchbower "es6-promise" "3.3.1" "^3.2.2" "0ai6z5admfs84fdx6663ips49kqgz4x68ays78cic0xfb7pp6vcz")
(fetchbower "chainpad-netflux" "1.0.0" "^1.0.0" "08rpc73x1vyvd6zkb7w0m1smzjhq3b7cwb30nlmg93x873zjlsl6")
(fetchbower "netflux-websocket" "1.0.0" "^1.0.0" "10hgc5ra3ll7qc2r8aal6p03gx6dgz06l2b54lh995pvf901wzi6")
]; }

View File

@ -346,22 +346,22 @@ let
sha512 = "KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==";
};
};
"mime-db-1.49.0" = {
"mime-db-1.50.0" = {
name = "mime-db";
packageName = "mime-db";
version = "1.49.0";
version = "1.50.0";
src = fetchurl {
url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
url = "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz";
sha512 = "9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==";
};
};
"mime-types-2.1.32" = {
"mime-types-2.1.33" = {
name = "mime-types";
packageName = "mime-types";
version = "2.1.32";
version = "2.1.33";
src = fetchurl {
url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz";
sha512 = "plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==";
};
};
"ms-2.0.0" = {
@ -656,14 +656,14 @@ let
};
in
{
"cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#4.9.0" = nodeEnv.buildNodePackage {
"cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#4.11.0" = nodeEnv.buildNodePackage {
name = "cryptpad";
packageName = "cryptpad";
version = "4.9.0";
version = "4.11.0";
src = fetchgit {
url = "https://github.com/xwiki-labs/cryptpad.git";
rev = "b1281fb4abd14e9758d58df4801e0a00eda7bc44";
sha256 = "ed2d0e2520645fccdada7fa5f25bb878c0ee0e61d6c81a98c18906c12750578c";
rev = "390e38acf63a9d7ae581eaa926ea678a519fcc14";
sha256 = "d75f0568fd146da6512646d9516138f94b0bbbd9a4691eef11d370bf5810176a";
};
dependencies = [
sources."@mcrowe/minibloom-0.2.0"
@ -708,8 +708,8 @@ in
sources."merge-descriptors-1.0.1"
sources."methods-1.1.2"
sources."mime-1.4.1"
sources."mime-db-1.49.0"
sources."mime-types-2.1.32"
sources."mime-db-1.50.0"
sources."mime-types-2.1.33"
sources."ms-2.0.0"
sources."negotiator-0.6.2"
sources."netflux-websocket-0.1.21"

View File

@ -1,3 +1,3 @@
[
{ "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#4.9.0" }
{ "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#4.11.0" }
]

View File

@ -1,13 +1,15 @@
{lib, stdenv, fetchurl, pkg-config, libX11, libXinerama, imlib2}:
{ lib, stdenv, fetchFromGitHub, pkg-config, libX11, libXinerama, imlib2 }:
stdenv.mkDerivation rec {
pname = "bgs";
version = "0.8";
src = fetchurl {
url = "https://github.com/Gottox/bgs/archive/v${version}.tar.gz";
sha256 = "1rw9ingkkpvvr2dixx126ziim67a54r8k49918h1mbph0fjj08n5";
src = fetchFromGitHub {
owner = "Gottox";
repo = "bgs";
rev = "v${version}";
sha256 = "V8GP+xLSiCvaYZt8Bi3/3KlTBaGnMYQUeNCHwH6Ejzo=";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -1,12 +1,14 @@
{ lib, stdenv, fetchurl, libxcb, xcbutil, xcb-util-cursor }:
{ lib, stdenv, fetchFromGitHub, libxcb, xcbutil, xcb-util-cursor }:
stdenv.mkDerivation rec {
pname = "wmutils-core";
version = "1.5";
src = fetchurl {
url = "https://github.com/wmutils/core/archive/v${version}.tar.gz";
sha256 = "0wk39aq2lrnc0wjs8pv3cigw3lwy2qzaw0v61bwknd5wabm25bvj";
src = fetchFromGitHub {
owner = "wmutils";
repo = "core";
rev = "v${version}";
sha256 = "XPVH7vXlpmUsvNyGKMxLSZnWLnH/J5nGkXizcVqDwzM=";
};
buildInputs = [ libxcb xcbutil xcb-util-cursor ];

View File

@ -1,11 +1,14 @@
{ lib, stdenv, fetchurl, libXi, xorgproto, autoconf, automake, libtool, m4, xlibsWrapper, pkg-config }:
{ lib, stdenv, fetchFromGitHub, libXi, xorgproto, autoconf, automake, libtool, m4, xlibsWrapper, pkg-config }:
stdenv.mkDerivation rec {
pname = "xinput_calibrator";
version = "0.7.5";
src = fetchurl {
url = "https://github.com/tias/${pname}/archive/v${version}.tar.gz";
sha256 = "d8edbf84523d60f52311d086a1e3ad0f3536f448360063dd8029bf6290aa65e9";
src = fetchFromGitHub {
owner = "tias";
repo = "xinput_calibrator";
rev = "v${version}";
sha256 = "5ZkNw+CKNUcPt1PY5PLzB/OT2wcf5n3UcaQlmMcwRVE=";
};
preConfigure = "./autogen.sh --with-gui=X11";

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kopia";
version = "0.9.3";
version = "0.9.4";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-G7pda+0CsK02OkyVgDmZffMheEm7ZIM4ylyjAIfmhTI=";
sha256 = "sha256-+zfkFusLoYITIStk3ZobeuN3MFeY5T6pbiUEc4IT1UA=";
};
vendorSha256 = "sha256-v81YkImg8GdI5locfsU4dg2JyO7XB24mfHRIZ+k8QBA=";

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