Merge master into haskell-updates
This commit is contained in:
commit
4c99a552da
@ -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";
|
||||
|
@ -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>
|
||||
|
@ -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.
|
||||
|
@ -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")
|
||||
|
18
nixos/modules/hardware/gkraken.nix
Normal file
18
nixos/modules/hardware/gkraken.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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.";
|
||||
|
@ -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;
|
||||
|
@ -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 {};
|
||||
|
55
nixos/tests/openresty-lua.nix
Normal file
55
nixos/tests/openresty-lua.nix
Normal 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"
|
||||
'';
|
||||
})
|
23
pkgs/applications/backup/urbackup-client/default.nix
Normal file
23
pkgs/applications/backup/urbackup-client/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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
|
||||
'';
|
||||
|
||||
|
@ -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";
|
||||
})
|
||||
|
@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "none";
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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}"
|
||||
];
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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 {
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
123
pkgs/applications/networking/instant-messengers/jami/daemon.nix
Normal file
123
pkgs/applications/networking/instant-messengers/jami/daemon.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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; };
|
||||
}
|
@ -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
|
@ -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;
|
||||
};
|
||||
}
|
42
pkgs/applications/networking/instant-messengers/jami/update.sh
Executable file
42
pkgs/applications/networking/instant-messengers/jami/update.sh
Executable 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"
|
@ -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;
|
||||
};
|
||||
}
|
@ -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
|
@ -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;
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
64
pkgs/development/compilers/kotlin/native.nix
Normal file
64
pkgs/development/compilers/kotlin/native.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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; {
|
||||
|
@ -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 = ''
|
||||
|
18
pkgs/development/interpreters/racket/force-cs-variant.patch
Normal file
18
pkgs/development/interpreters/racket/force-cs-variant.patch
Normal 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?)
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
42
pkgs/development/libraries/gssdp/standalone-tools.patch
Normal file
42
pkgs/development/libraries/gssdp/standalone-tools.patch
Normal 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
|
50
pkgs/development/libraries/gssdp/tools.nix
Normal file
50
pkgs/development/libraries/gssdp/tools.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
||||
Let’s 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
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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 = [
|
||||
|
@ -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 [
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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)";
|
||||
|
@ -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 = [
|
||||
|
72
pkgs/development/quickemu/default.nix
Normal file
72
pkgs/development/quickemu/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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; };
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
49
pkgs/misc/emulators/dosbox-staging/default.nix
Normal file
49
pkgs/misc/emulators/dosbox-staging/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
@ -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}";
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
@ -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 ];
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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: {
|
||||
|
@ -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 {
|
||||
|
@ -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";
|
||||
|
@ -24,7 +24,7 @@ let
|
||||
IO
|
||||
IOStringy
|
||||
LWP
|
||||
libintl_perl
|
||||
libintl-perl
|
||||
|
||||
MHonArc
|
||||
MIMECharset
|
||||
|
@ -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:
|
||||
#
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
]; }
|
||||
|
@ -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"
|
||||
|
@ -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" }
|
||||
]
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user