Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
commit
ed445b68d1
|
@ -82,6 +82,11 @@ in
|
|||
--set-rpath "${rpath}" \
|
||||
$out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node
|
||||
|
||||
patchelf \
|
||||
--set-rpath "${rpath}" \
|
||||
"$out/lib/vscode/resources/app/node_modules.asar.unpacked/native-keymap/build/Release/\
|
||||
keymapping.node"
|
||||
|
||||
ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0
|
||||
'';
|
||||
|
||||
|
|
|
@ -1,72 +1,32 @@
|
|||
{ stdenv, go, fetchzip, git, fetchFromGitHub, fetchgit }:
|
||||
{ buildGo110Package, fetchzip, lib }:
|
||||
|
||||
# When perkeep is updated all deps in the let block should be removed
|
||||
let
|
||||
gopherjs = fetchFromGitHub {
|
||||
owner = "gopherjs";
|
||||
repo = "gopherjs";
|
||||
# Rev matching https://github.com/perkeep/perkeep/commit/2e46fca5cc1179dbd90bec49fec3870e6eca6c45
|
||||
rev = "b40cd48c38f9a18eb3db20d163bad78de12cf0b7";
|
||||
sha256 = "0kniz8dg5bymb03qriizza1h3gpymf97vsgq9vd222282pdj0vyc";
|
||||
};
|
||||
|
||||
gotool = fetchFromGitHub {
|
||||
owner = "kisielk";
|
||||
repo = "gotool";
|
||||
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
|
||||
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
|
||||
};
|
||||
|
||||
gcimporter15 = fetchgit {
|
||||
url = "https://go.googlesource.com/tools";
|
||||
rev = "f8f2f88271bf2c23f28a09d288d26507a9503c97";
|
||||
sha256 = "1pchwizx1sdli59g8r0p4djfjkchcvh8msfpp3ibvz3xl250jh0n";
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
buildGo110Package rec {
|
||||
name = "perkeep-${version}";
|
||||
version = "20170505";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://perkeep.org/dl/monthly/camlistore-${version}-src.zip";
|
||||
sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
|
||||
url = "https://perkeep.org/dl/perkeep-${version}-src.zip";
|
||||
sha256 = "0rqibc6w4m1r50i2pjcgz1k9dxh18v7jwj4s29y470bc526wv422";
|
||||
};
|
||||
|
||||
# When perkeep is updated postPatch should be removed
|
||||
postPatch = ''
|
||||
rm -r ./vendor/github.com/gopherjs/gopherjs/
|
||||
cp -a ${gopherjs} ./vendor/github.com/gopherjs/gopherjs
|
||||
mkdir -p ./vendor/github.com/kisielk/
|
||||
cp -a ${gotool} ./vendor/github.com/kisielk/gotool
|
||||
mkdir -p ./vendor/golang.org/x/tools/go
|
||||
cp -a ${gcimporter15}/go/gcimporter15 ./vendor/golang.org/x/tools/go/gcimporter15
|
||||
goPackagePath = "perkeep.org";
|
||||
|
||||
substituteInPlace vendor/github.com/gopherjs/gopherjs/build/build.go \
|
||||
--replace '"github.com/fsnotify/fsnotify"' 'fsnotify "camlistore.org/pkg/misc/fakefsnotify"'
|
||||
|
||||
substituteInPlace ./make.go \
|
||||
--replace "goVersionMinor = '8'" "goVersionMinor = '9'" \
|
||||
--replace "gopherJSGoMinor = '8'" "gopherJSGoMinor = '9'"
|
||||
'';
|
||||
|
||||
buildInputs = [ git go ];
|
||||
|
||||
goPackagePath = "";
|
||||
buildPhase = ''
|
||||
cd "$NIX_BUILD_TOP/go/src/$goPackagePath"
|
||||
go run make.go
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp bin/* $out/bin
|
||||
# devcam is only useful when developing perkeep, we should not install it as
|
||||
# part of this derivation.
|
||||
postInstall = ''
|
||||
rm -f $out/bin/devcam
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
|
||||
homepage = https://perkeep.org;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
maintainers = with maintainers; [ cstrahan kalbasit ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
, iwSupport ? true, wirelesstools ? null
|
||||
, githubSupport ? false, curl ? null
|
||||
, mpdSupport ? false, mpd_clientlib ? null
|
||||
, pulseSupport ? false, libpulseaudio ? null
|
||||
, i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null
|
||||
}:
|
||||
|
||||
|
@ -15,17 +16,18 @@ assert alsaSupport -> alsaLib != null;
|
|||
assert githubSupport -> curl != null;
|
||||
assert iwSupport -> wirelesstools != null;
|
||||
assert mpdSupport -> mpd_clientlib != null;
|
||||
assert pulseSupport -> libpulseaudio != null;
|
||||
|
||||
assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null;
|
||||
assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "polybar-${version}";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/jaagr/polybar";
|
||||
rev = "bf16a4d415ea7d8845f578544de0c71e56ad314e";
|
||||
sha256 = "1jcvqxl0477j0snvh1rzqsm1dkfsybix2lgrlsgiczdxfknwz8iy";
|
||||
rev = version;
|
||||
sha256 = "0p94brndysvmmbidhl4ds4w3qvddb752s4vryp0qckb0hz3knqk8";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
|
|||
(if githubSupport then curl else null)
|
||||
(if iwSupport then wirelesstools else null)
|
||||
(if mpdSupport then mpd_clientlib else null)
|
||||
(if pulseSupport then libpulseaudio else null)
|
||||
|
||||
(if i3Support || i3GapsSupport then jsoncpp else null)
|
||||
(if i3Support then i3 else null)
|
||||
|
|
|
@ -506,11 +506,20 @@ self: super: {
|
|||
# https://github.com/nushio3/doctest-prop/issues/1
|
||||
doctest-prop = dontCheck super.doctest-prop;
|
||||
|
||||
# Missing file in source distribution:
|
||||
# - https://github.com/karun012/doctest-discover/issues/22
|
||||
# - https://github.com/karun012/doctest-discover/issues/23
|
||||
#
|
||||
# When these are fixed the following needs to be enabled again:
|
||||
#
|
||||
# # Depends on itself for testing
|
||||
# doctest-discover = addBuildTool super.doctest-discover
|
||||
# (if pkgs.buildPlatform != pkgs.hostPlatform
|
||||
# then self.buildHaskellPackages.doctest-discover
|
||||
# else dontCheck super.doctest-discover);
|
||||
doctest-discover = dontCheck super.doctest-discover;
|
||||
|
||||
# Depends on itself for testing
|
||||
doctest-discover = addBuildTool super.doctest-discover
|
||||
(if pkgs.buildPlatform != pkgs.hostPlatform
|
||||
then self.buildHaskellPackages.doctest-discover
|
||||
else dontCheck super.doctest-discover);
|
||||
tasty-discover = addBuildTool super.tasty-discover
|
||||
(if pkgs.buildPlatform != pkgs.hostPlatform
|
||||
then self.buildHaskellPackages.tasty-discover
|
||||
|
@ -1119,4 +1128,8 @@ self: super: {
|
|||
url = "https://github.com/guillaume-nargeot/hpc-coveralls/pull/73/commits/344217f513b7adfb9037f73026f5d928be98d07f.patch";
|
||||
sha256 = "056rk58v9h114mjx62f41x971xn9p3nhsazcf9zrcyxh1ymrdm8j";
|
||||
});
|
||||
|
||||
# Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
|
||||
blank-canvas = dontCheck super.blank-canvas;
|
||||
blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2;
|
||||
}
|
||||
|
|
|
@ -502,9 +502,4 @@ self: super: builtins.intersectAttrs super {
|
|||
LDAP = dontCheck (overrideCabal super.LDAP (drv: {
|
||||
librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
|
||||
}));
|
||||
|
||||
# Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
|
||||
blank-canvas = dontCheck super.blank-canvas;
|
||||
blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
# pcre functionality is tested in nixos/tests/php-pcre.nix
|
||||
|
||||
{ lib, stdenv, fetchurl, composableDerivation, flex, bison
|
||||
, mysql, libxml2, readline, zlib, curl, postgresql, gettext
|
||||
, mysql, libxml2, readline, zlib, curl, postgresql, gettext, html-tidy
|
||||
, openssl, pcre, pkgconfig, sqlite, config, libjpeg, libpng, freetype
|
||||
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
|
||||
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, libtidy }:
|
||||
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium }:
|
||||
|
||||
let
|
||||
|
||||
|
@ -232,8 +232,8 @@ let
|
|||
};
|
||||
|
||||
tidy = {
|
||||
configureFlags = [ "--with-tidy=${libtidy}" ];
|
||||
buildInputs = [ libtidy ];
|
||||
configureFlags = [ "--with-tidy=${html-tidy}" ];
|
||||
buildInputs = [ html-tidy ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@
|
|||
|
||||
# Extra Arguments
|
||||
, type ? ""
|
||||
# This is called "staticOnly" because krb5 does not support
|
||||
# builting both static and shared, see below.
|
||||
, staticOnly ? false
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -22,6 +25,9 @@ stdenv.mkDerivation rec {
|
|||
outputs = [ "out" "dev" ];
|
||||
|
||||
configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
|
||||
# krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time.
|
||||
# See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737
|
||||
++ optional staticOnly [ "--enable-static" "--disable-shared" ]
|
||||
++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""''
|
||||
++ optionals (stdenv.buildPlatform != stdenv.hostPlatform)
|
||||
[ "krb5_cv_attr_constructor_destructor=yes,yes"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, buildPlatform, hostPlatform
|
||||
, withCryptodev ? false, cryptodevHeaders
|
||||
, enableSSL2 ? false
|
||||
, static ? false
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
@ -63,7 +64,7 @@ let
|
|||
'';
|
||||
|
||||
configureFlags = [
|
||||
"shared"
|
||||
"shared" # "shared" builds both shared and static libraries
|
||||
"--libdir=lib"
|
||||
"--openssldir=etc/ssl"
|
||||
] ++ stdenv.lib.optionals withCryptodev [
|
||||
|
@ -76,13 +77,16 @@ let
|
|||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
postInstall =
|
||||
stdenv.lib.optionalString (!static) ''
|
||||
# If we're building dynamic libraries, then don't install static
|
||||
# libraries.
|
||||
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
|
||||
rm "$out/lib/"*.a
|
||||
fi
|
||||
|
||||
'' +
|
||||
''
|
||||
mkdir -p $bin
|
||||
mv $out/bin $bin/
|
||||
|
||||
|
|
|
@ -1,17 +1,28 @@
|
|||
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, attrs, click }:
|
||||
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
|
||||
, attrs, click, toml, appdirs
|
||||
, glibcLocales, pytest }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "black";
|
||||
version = "18.4a0";
|
||||
version = "18.6b4";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "04dffr4wmzs4vf2xj0cxp03hv04x0kk06qyzx6jjrp1mq0z3n2rr";
|
||||
sha256 = "0i4sfqgz6w15vd50kbhi7g7rifgqlf8yfr8y78rypd56q64qn592";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ attrs click ];
|
||||
checkInputs = [ pytest glibcLocales ];
|
||||
|
||||
checkPhase = ''
|
||||
# no idea, why those fail.
|
||||
LC_ALL="en_US.UTF-8" HOME="$NIX_BUILD_TOP" \
|
||||
pytest \
|
||||
-k "not test_cache_multiple_files and not test_failed_formatting_does_not_get_cached"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ attrs appdirs click toml ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The uncompromising Python code formatter";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoPackage rec {
|
||||
name = "cloudfoundry-cli-${version}";
|
||||
version = "6.36.1";
|
||||
version = "6.37.0";
|
||||
|
||||
goPackagePath = "code.cloudfoundry.org/cli";
|
||||
|
||||
|
@ -12,17 +12,18 @@ buildGoPackage rec {
|
|||
owner = "cloudfoundry";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "19inl7qs2acs59p3gnl5zdsxym0wp2rn05q0zfg7rwf5sjh68amp";
|
||||
sha256 = "1v4f1fyydpzkfir46g4ppbf3zmk3ym6kxswpkdjls8h3dbb2fbnv";
|
||||
};
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
buildFlagsArray = ''
|
||||
-ldflags= -X ${goPackagePath}/version.binaryVersion=${version}
|
||||
buildPhase = ''
|
||||
cd go/src/${goPackagePath}
|
||||
CF_BUILD_DATE="1970-01-01" make build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm555 go/bin/cli "$out/bin/cf"
|
||||
install -Dm555 out/cf "$out/bin/cf"
|
||||
remove-references-to -t ${go} "$out/bin/cf"
|
||||
install -Dm444 -t "$out/share/bash-completion/completions/" "$src/ci/installers/completion/cf"
|
||||
'';
|
||||
|
|
|
@ -2,21 +2,23 @@ GEM
|
|||
remote: https://rubygems.org/
|
||||
specs:
|
||||
ast (2.4.0)
|
||||
jaro_winkler (1.5.1)
|
||||
parallel (1.12.1)
|
||||
parser (2.5.1.0)
|
||||
parser (2.5.1.2)
|
||||
ast (~> 2.4.0)
|
||||
powerpack (0.1.1)
|
||||
powerpack (0.1.2)
|
||||
rainbow (3.0.0)
|
||||
rake (12.3.1)
|
||||
rubocop (0.55.0)
|
||||
rubocop (0.58.1)
|
||||
jaro_winkler (~> 1.5.1)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.5)
|
||||
parser (>= 2.5, != 2.5.1.1)
|
||||
powerpack (~> 0.1)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||
ruby-progressbar (1.9.0)
|
||||
unicode-display_width (1.3.2)
|
||||
unicode-display_width (1.4.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
@ -26,4 +28,4 @@ DEPENDENCIES
|
|||
rubocop
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.6
|
||||
1.16.1
|
||||
|
|
|
@ -7,6 +7,14 @@
|
|||
};
|
||||
version = "2.4.0";
|
||||
};
|
||||
jaro_winkler = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.1";
|
||||
};
|
||||
parallel = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
|
@ -19,18 +27,18 @@
|
|||
dependencies = ["ast"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9";
|
||||
sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.5.1.0";
|
||||
version = "2.5.1.2";
|
||||
};
|
||||
powerpack = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
|
||||
sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
};
|
||||
rainbow = {
|
||||
source = {
|
||||
|
@ -49,13 +57,13 @@
|
|||
version = "12.3.1";
|
||||
};
|
||||
rubocop = {
|
||||
dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
|
||||
dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17qnk66q4diny1bvzbwsl1d5a26nj0mjzc2425h6nyp3xqjipz11";
|
||||
sha256 = "0s2qlrdx2f7653kmzwm58c8izyvgyjrzjrz76l2b005f2816kji6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.55.0";
|
||||
version = "0.58.1";
|
||||
};
|
||||
ruby-progressbar = {
|
||||
source = {
|
||||
|
@ -68,9 +76,9 @@
|
|||
unicode-display_width = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0x31fgv1acywbb50prp7y4fr677c2d9gsl6wxmfcrlxbwz7nxn5n";
|
||||
sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.2";
|
||||
version = "1.4.0";
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoPackage rec {
|
||||
name = "traefik-${version}";
|
||||
version = "1.6.2";
|
||||
version = "1.6.5";
|
||||
|
||||
goPackagePath = "github.com/containous/traefik";
|
||||
|
||||
|
@ -10,7 +10,7 @@ buildGoPackage rec {
|
|||
owner = "containous";
|
||||
repo = "traefik";
|
||||
rev = "v${version}";
|
||||
sha256 = "1gklji9zwdprvv7fvy7rhgazfslwsyjq97w193v9dpsriz1rk5qa";
|
||||
sha256 = "0swiyyw7j7264avfk0a5jqs7h1hv4bq1k1kr92v4830azc9fxrvn";
|
||||
};
|
||||
|
||||
buildInputs = [ go-bindata bash ];
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret
|
||||
, withGnome ? true, gnome3, procps, kmod }:
|
||||
, withGnome ? true, gnome3, procps, kmod, file }:
|
||||
let
|
||||
pname = "NetworkManager-vpnc";
|
||||
version = "1.2.4";
|
||||
version = "1.2.6";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "39c7516418e90208cb534c19628ce40fd50eba0a08b2ebaef8da85720b10fb05";
|
||||
sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy";
|
||||
};
|
||||
|
||||
buildInputs = [ vpnc networkmanager libsecret ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
|
||||
gnome3.networkmanagerapplet ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig ];
|
||||
nativeBuildInputs = [ intltool pkgconfig file ];
|
||||
|
||||
configureFlags = [
|
||||
"${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
|
||||
|
|
|
@ -15386,10 +15386,7 @@ with pkgs;
|
|||
openjpeg = openjpeg_1;
|
||||
};
|
||||
|
||||
perkeep = callPackage ../applications/misc/perkeep {
|
||||
# Perkeep is very particular about which go version to build with.
|
||||
go = go_1_9;
|
||||
};
|
||||
perkeep = callPackage ../applications/misc/perkeep { };
|
||||
|
||||
canto-curses = callPackage ../applications/networking/feedreaders/canto-curses { };
|
||||
|
||||
|
|
Loading…
Reference in New Issue