Merge staging-next into staging
This commit is contained in:
commit
b4a9badcb8
|
@ -822,6 +822,16 @@
|
|||
githubId = 1771266;
|
||||
name = "Vo Anh Duy";
|
||||
};
|
||||
Anillc = {
|
||||
name = "Anillc";
|
||||
email = "i@anillc.cn";
|
||||
github = "Anillc";
|
||||
githubId = 23411248;
|
||||
keys = [{
|
||||
longkeyid = "ed25519/0x0BE8A88F47B2145C";
|
||||
fingerprint = "6141 1E4F FE10 CE7B 2E14 CD76 0BE8 A88F 47B2 145C";
|
||||
}];
|
||||
};
|
||||
anirrudh = {
|
||||
email = "anik597@gmail.com";
|
||||
github = "anirrudh";
|
||||
|
|
|
@ -22,20 +22,20 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rnote";
|
||||
version = "0.5.0-hotfix-2";
|
||||
version = "0.5.1-hotfix-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flxzt";
|
||||
repo = "rnote";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-8sv7GQopUbKv8JS1/UXRFeK++UZKk3CJBOzUMx9vZDU=";
|
||||
hash = "sha256-Oq/RKeKICyImSPr4GSNjPXZWtuRQ7+9nRfl9MmC+UYI=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-N0qsph68FAkwOpyr9QUw0bDQKn7t22Hbz9BYYOs4pCM=";
|
||||
hash = "sha256-gdVy+7xSQVkI84Ta6KLOLR9UUsDoD2Cd0cuNU+OXf2M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
|
||||
, replace, fetchurl, zip, unzip, jq, xdg-utils, writeText
|
||||
, fetchurl, zip, unzip, jq, xdg-utils, writeText
|
||||
|
||||
## various stuff that can be plugged in
|
||||
, ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
|
||||
|
@ -176,7 +176,7 @@ let
|
|||
startupWMClass = wmClass;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper lndir replace jq ];
|
||||
nativeBuildInputs = [ makeWrapper lndir jq ];
|
||||
buildInputs = [ browser.gtk3 ];
|
||||
|
||||
|
||||
|
@ -206,48 +206,50 @@ let
|
|||
done
|
||||
|
||||
# fix links and absolute references
|
||||
cd "${browser}"
|
||||
|
||||
find . -type l -print0 | while read -d $'\0' l; do
|
||||
target="$(readlink "$l" | replace-literal -es -- "${browser}" "$out")"
|
||||
target="$(readlink "$l")"
|
||||
target=''${target/#"${browser}"/"$out"}
|
||||
ln -sfT "$target" "$out/$l"
|
||||
done
|
||||
|
||||
# This will not patch binaries, only "text" files.
|
||||
# Its there for the wrapper mostly.
|
||||
cd "$out"
|
||||
replace-literal -esfR -- "${browser}" "$out"
|
||||
|
||||
# create the wrapper
|
||||
|
||||
executablePrefix="$out/bin"
|
||||
executablePath="$executablePrefix/${applicationName}"
|
||||
oldWrapperArgs=()
|
||||
|
||||
if [ ! -x "$executablePath" ]
|
||||
then
|
||||
echo "cannot find executable file \`${browser}/bin/${applicationName}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -L "$executablePath" ]
|
||||
then
|
||||
# Careful here, the file at executablePath may already be
|
||||
# a wrapper. That is why we postfix it with -old instead
|
||||
# of -wrapped.
|
||||
oldExe="$executablePrefix"/".${applicationName}"-old
|
||||
mv "$executablePath" "$oldExe"
|
||||
else
|
||||
if [[ -L $executablePath ]]; then
|
||||
# Symbolic link: wrap the link's target.
|
||||
oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
|
||||
fi
|
||||
|
||||
if [ ! -x "${browser}/bin/${applicationName}" ]
|
||||
then
|
||||
echo "cannot find executable file \`${browser}/bin/${applicationName}'"
|
||||
exit 1
|
||||
rm "$executablePath"
|
||||
elif wrapperCmd=$(strings -dw "$executablePath" | sed -n '/^makeCWrapper/,/^$/ p'); [[ $wrapperCmd ]]; then
|
||||
# If the executable is a binary wrapper, we need to update its target to
|
||||
# point to $out, but we can't just edit the binary in-place because of length
|
||||
# issues. So we extract the command used to create the wrapper and add the
|
||||
# arguments to our wrapper.
|
||||
parseMakeCWrapperCall() {
|
||||
shift # makeCWrapper
|
||||
oldExe=$1; shift
|
||||
for arg do case $arg in
|
||||
--inherit-argv0) oldWrapperArgs+=(--argv0 '$0');; # makeWrapper doesn't understand --inherit-argv0
|
||||
*) oldWrapperArgs+=("$arg");;
|
||||
esac done
|
||||
}
|
||||
eval "parseMakeCWrapperCall ''${wrapperCmd//"${browser}"/"$out"}"
|
||||
rm "$executablePath"
|
||||
else
|
||||
if read -rn2 shebang < "$executablePath" && [[ $shebang == '#!' ]]; then
|
||||
# Shell wrapper: patch in place to point to $out.
|
||||
sed -i "s@${browser}@$out@g" "$executablePath"
|
||||
fi
|
||||
# Suffix the executable with -old, because -wrapped might already be used by the old wrapper.
|
||||
oldExe="$executablePrefix/.${applicationName}"-old
|
||||
mv "$executablePath" "$oldExe"
|
||||
fi
|
||||
|
||||
makeWrapper "$oldExe" \
|
||||
"$out/bin/${applicationName}${nameSuffix}" \
|
||||
"''${executablePath}${nameSuffix}" \
|
||||
--prefix LD_LIBRARY_PATH ':' "$libs" \
|
||||
--suffix-each GTK_PATH ':' "$gtk_modules" \
|
||||
--prefix PATH ':' "${xdg-utils}/bin" \
|
||||
|
@ -258,9 +260,8 @@ let
|
|||
--set MOZ_ALLOW_DOWNGRADE 1 \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
||||
--suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' \
|
||||
${lib.optionalString forceWayland ''
|
||||
--set MOZ_ENABLE_WAYLAND "1" \
|
||||
''}
|
||||
${lib.optionalString forceWayland "--set MOZ_ENABLE_WAYLAND 1"} \
|
||||
"''${oldWrapperArgs[@]}"
|
||||
#############################
|
||||
# #
|
||||
# END EXTRA PREF CHANGES #
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "40.0";
|
||||
version = "41.0";
|
||||
in fetchzip rec {
|
||||
name = "cldr-annotations-${version}";
|
||||
|
||||
url = "https://unicode.org/Public/cldr/40/cldr-common-${version}.zip";
|
||||
url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/unicode/cldr
|
||||
unzip -d $out/share/unicode/cldr $downloadedFile 'common/annotations/*' 'common/annotationsDerived/*'
|
||||
'';
|
||||
|
||||
sha256 = "sha256-L4NSMNFYKJWV3qKQhio9eMABtDlLieT9VeMZfzeAkbM=";
|
||||
sha256 = "sha256-3dHVZGx3FmR97fzhlTSx/xp6YTAV+sMExl6gpLzl1MY=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Names and keywords for Unicode characters from the Common Locale Data Repository";
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libyang";
|
||||
version = "2.0.164";
|
||||
version = "2.0.194";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CESNET";
|
||||
repo = "libyang";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0Ou0j9KaNkX/SFmid+wphvtu3wDTXkw+8xdck6lEE3w=";
|
||||
sha256 = "sha256-5dgSBXJIeGXT+jGqT2MFqtsEFcIn+ULjybnyXz+95Gk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "peaqevcore";
|
||||
version = "0.0.22";
|
||||
version = "0.0.23";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ye8evqkOy08wHYohVOpXB2pfPN/vsK9GnPnL/nbVZU0=";
|
||||
hash = "sha256-z59TJ+P7WNMcTyevi4etWUFUnBJXAVhDOnO4GXjjuR0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,24 +1,46 @@
|
|||
{ lib, buildPythonPackage, isPy3k, fetchPypi, stdenv, exiv2, boost, libcxx }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, boost
|
||||
, buildPythonPackage
|
||||
, exiv2
|
||||
, fetchPypi
|
||||
, libcxx
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "py3exiv2";
|
||||
version = "0.9.3";
|
||||
disabled = !(isPy3k);
|
||||
version = "0.11.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "838836e58ca22557d83d1f0ef918bcce899b4c2666340b924b940dcdebf1d18c";
|
||||
hash = "sha256-ZgDaa4lxmdTaZhkblgRfPMxfVwENp2s6xdKSuD/MqEQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ exiv2 boost ];
|
||||
buildInputs = [
|
||||
boost
|
||||
exiv2
|
||||
];
|
||||
|
||||
# work around python distutils compiling C++ with $CC (see issue #26709)
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
|
||||
# Work around Python distutils compiling C++ with $CC (see issue #26709)
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin [
|
||||
"-I${lib.getDev libcxx}/include/c++/v1"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyexiv2"
|
||||
];
|
||||
|
||||
# Tests are not shipped
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python binding to the library exiv2";
|
||||
homepage = "https://launchpad.net/py3exiv2";
|
||||
description = "A Python3 binding to the library exiv2";
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ vinymeuh ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
|
|
|
@ -21,7 +21,6 @@ buildPythonPackage rec {
|
|||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
six
|
||||
twisted
|
||||
zope_interface
|
||||
];
|
||||
|
|
|
@ -14,7 +14,7 @@ buildPythonPackage rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "An event publishing system";
|
||||
homepage = "https://pypi.python.org/pypi/zope.event";
|
||||
homepage = "https://pypi.org/project/zope.event/";
|
||||
license = licenses.zpl20;
|
||||
maintainers = with maintainers; [ goibhniu ];
|
||||
};
|
||||
|
|
|
@ -1,26 +1,25 @@
|
|||
{ lib, buildGoPackage, fetchFromGitHub }:
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "compile-daemon-unstable";
|
||||
version = "2017-03-08";
|
||||
rev = "d447e567232bcb84cedd3b2be012c7127f31f469";
|
||||
|
||||
goPackagePath = "github.com/githubnemo/CompileDaemon";
|
||||
buildGoModule rec {
|
||||
pname = "compile-daemon";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "githubnemo";
|
||||
repo = "CompileDaemon";
|
||||
inherit rev;
|
||||
sha256 = "0jfbipp3gd89n6d7gds1qvfkqvz80qdlqqhijxffh8z8ss0xinqc";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-gpyXy7FO7ZVXJrkzcKHFez4S/dGiijXfZ9eSJtNlm58=";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
vendorSha256 = "sha256-UDPOeg8jQbDB+Fr4x6ehK7UyQa8ySZy6yNxS1xotkgA=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Very simple compile daemon for Go";
|
||||
homepage = "https://github.com/githubnemo/CompileDaemon";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ ];
|
||||
mainProgram = "CompileDaemon";
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
||||
|
|
48
pkgs/development/tools/compile-daemon/deps.nix
generated
48
pkgs/development/tools/compile-daemon/deps.nix
generated
|
@ -1,48 +0,0 @@
|
|||
# This file was generated by https://github.com/kamilchm/go2nix v1.2.0-devel
|
||||
[
|
||||
{
|
||||
goPackagePath = "github.com/fatih/color";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/fatih/color";
|
||||
rev = "9131ab34cf20d2f6d83fdc67168a5430d1c7dc23";
|
||||
sha256 = "111x6rhpxfjhwkjrmrirqqh6nc68q5g7air9fl5kgr3bg85hybr5";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mattn/go-colorable";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-colorable";
|
||||
rev = "a392f450ea64cee2b268dfaacdc2502b50a22b18";
|
||||
sha256 = "1msiq5nb1sdhwfjv65hjnvr2s4pfsp8mv6f5z8aa8n9bjf0cksyc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mattn/go-isatty";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-isatty";
|
||||
rev = "57fdcb988a5c543893cc61bce354a6e24ab70022";
|
||||
sha256 = "1fkhmi3nhz6vasfvjzjjwxkbpwsb9hzc0g5h1rygqrnzjykl2r39";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/sys";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "99f16d856c9836c42d24e7ab64ea72916925fa97";
|
||||
sha256 = "0g2x5krfhnraq03v0b48y3xv3ffg92pbgvps0npj9l7wq8q9hkmx";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "gopkg.in/fsnotify.v1";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/fsnotify.v1";
|
||||
rev = "629574ca2a5df945712d3079857300b5e4da0236";
|
||||
sha256 = "06wfg1mmzjj04z7d0q1x2fai9k6hm957brngsaf02fa9a3qqanv3";
|
||||
};
|
||||
}
|
||||
]
|
|
@ -1,23 +1,24 @@
|
|||
{ lib, buildGoPackage, fetchFromGitHub }:
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "go-junit-report-unstable";
|
||||
version = "2018-06-14";
|
||||
rev = "385fac0ced9acaae6dc5b39144194008ded00697";
|
||||
|
||||
goPackagePath = "github.com/jstemmer/go-junit-report";
|
||||
buildGoModule rec {
|
||||
pname = "go-junit-report";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "jstemmer";
|
||||
repo = "go-junit-report";
|
||||
sha256 = "109zs8wpdmc2ijc2khyqija8imay88ka6v50xvrpnnwnd3ywckxi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/ER99EmYrERBjcJeYeV3GBq6lDjACM0loICg41hUuPQ=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Converts go test output to an xml report, suitable for applications that expect junit xml reports (e.g. Jenkins)";
|
||||
homepage = "https://${goPackagePath}";
|
||||
description = "Convert go test output to junit xml";
|
||||
homepage = "https://github.com/jstemmer/go-junit-report";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ cryptix ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -19,15 +19,15 @@
|
|||
}:
|
||||
|
||||
let
|
||||
buildNum = "2022-01-18-884";
|
||||
buildNum = "2022-04-20-920";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rgp";
|
||||
version = "1.12";
|
||||
version = "1.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
|
||||
sha256 = "88ot16N8XtRlDCP+zIaOqG5BuR0OyG/0u1NEXsun/nY=";
|
||||
hash = "sha256-/Z7mSZVAvaTAY9RU7suK/gA0RJIeeLdN6LWiseVq9Js=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
|
||||
|
|
25
pkgs/servers/telegram-bot-api/default.nix
Normal file
25
pkgs/servers/telegram-bot-api/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, gperf, openssl, zlib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "telegram-bot-api";
|
||||
version = "5.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "telegram-bot-api";
|
||||
owner = "tdlib";
|
||||
rev = "c57b04c4c8c4e8d8bb6fdd0bd3bfb5b93b9d8f05";
|
||||
sha256 = "sha256-WetzX8GBdwQAnnZjek+W4v+QN1aUFdlvs+Jv6n1B+eY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake gperf ];
|
||||
buildInputs = [ openssl zlib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Telegram Bot API server";
|
||||
homepage = "https://github.com/tdlib/telegram-bot-api";
|
||||
license = licenses.boost;
|
||||
maintainers = with maintainers; [ Anillc ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kak-lsp";
|
||||
version = "12.1.0";
|
||||
version = "12.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5sPw95lSbswIUbNIZ4mpA3WeZt7u+a5s4KxkTnN14Sw=";
|
||||
sha256 = "sha256-Il3eF9bVrAaJkTDPB1DzEjROnJxIAnnk27qdT9qsp1k";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-rPsiMeoc8cWUgmqAxdDGrAQdurIH3bzNq5tpocnnegA=";
|
||||
cargoSha256 = "sha256-wRjPjCKsvqnJkybNVAdVMgBA9RaviFyCJPv3D5hipSs";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
|
||||
|
||||
|
|
186
pkgs/tools/virtualization/ovftool/default.nix
Normal file
186
pkgs/tools/virtualization/ovftool/default.nix
Normal file
|
@ -0,0 +1,186 @@
|
|||
{ lib, stdenv, system ? builtins.currentSystem, ovftoolBundles ? {}
|
||||
, requireFile, buildFHSUserEnv, autoPatchelfHook, makeWrapper, unzip
|
||||
, glibc, c-ares, libressl, curl, expat, icu60, xercesc, zlib
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.4.1-16812187";
|
||||
|
||||
# FHS environment required to unpack ovftool on x86.
|
||||
ovftoolX86Unpacker = buildFHSUserEnv rec {
|
||||
name = "ovftool-unpacker";
|
||||
targetPkgs = pkgs: [ pkgs.bash ];
|
||||
multiPkgs = targetPkgs;
|
||||
runScript = "bash";
|
||||
};
|
||||
|
||||
# unpackPhase for i686 and x86_64 ovftool self-extracting bundles.
|
||||
ovftoolX86UnpackPhase = ''
|
||||
runHook preUnpack
|
||||
# This is a self-extracting shell script and needs a FHS environment to run.
|
||||
# In reality, it could be doing anything, which is bad for reproducibility.
|
||||
# Our postUnpack uses nix-hash to verify the hash to prevent problems.
|
||||
#
|
||||
# Note that the Arch PKGBUILD at
|
||||
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vmware-ovftool
|
||||
# appears to use xvfb-run - this hasn't been proven necessary so far.
|
||||
#
|
||||
cp ${ovftoolSource} ./ovftool.bundle
|
||||
chmod +x ./ovftool.bundle
|
||||
${ovftoolX86Unpacker}/bin/ovftool-unpacker ./ovftool.bundle -x ovftool
|
||||
rm ovftool.bundle
|
||||
extracted=ovftool/vmware-ovftool/
|
||||
if [ -d "$extracted" ]; then
|
||||
# Move the directory we care about to ovftool/
|
||||
mv "$extracted" .
|
||||
rm -r ovftool
|
||||
mv "$(basename -- "$extracted")" ovftool
|
||||
echo "ovftool extracted successfully" >&2
|
||||
else
|
||||
echo "Could not find $extracted - are you sure this is ovftool?" >&2
|
||||
rm -r ovftool
|
||||
exit 1
|
||||
fi
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
# unpackPhase for aarch64 .zip.
|
||||
ovftoolAarch64UnpackPhase = ''
|
||||
runHook preUnpack
|
||||
unzip ${ovftoolSource}
|
||||
extracted=ovftool/
|
||||
if [ -d "$extracted" ]; then
|
||||
echo "ovftool extracted successfully" >&2
|
||||
else
|
||||
echo "Could not find $extracted - are you sure this is ovftool?" >&2
|
||||
exit 1
|
||||
fi
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
# When the version is bumped, postUnpackHash will change
|
||||
# for all these supported systems. Update it from the printed error on build.
|
||||
#
|
||||
# This is just a sanity check, since ovftool is a self-extracting bundle
|
||||
# that could be doing absolutely anything on 2/3 of the supported platforms.
|
||||
ovftoolSystems = {
|
||||
"i686-linux" = {
|
||||
filename = "VMware-ovftool-${version}-lin.i386.bundle";
|
||||
sha256 = "0gx78g3s77mmpir7jbiskna10i6262ihal1ywivlb6xxxxbhqzwj";
|
||||
unpackPhase = ovftoolX86UnpackPhase;
|
||||
postUnpackHash = "1k8rp8ywhs0cl9aad37v1p0493bdvkxrsvwg5pgv2bhvjs4hqk7n";
|
||||
};
|
||||
"x86_64-linux" = {
|
||||
filename = "VMware-ovftool-${version}-lin.x86_64.bundle";
|
||||
sha256 = "1kp2bp4d9i8y7q25yqff2bn62mh292lws7b66lyn8ka9b35kvnzc";
|
||||
unpackPhase = ovftoolX86UnpackPhase;
|
||||
postUnpackHash = "0zvyakwi4iishqxxisihgh91bmdsfvj5vchm2c192hia03a143py";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
filename = "VMware-ovftool-${version}-lin.aarch64.zip";
|
||||
sha256 = "0all8bwv5p5adnzqvrly6nzmxmfpywvlbfr0finr4n100yv0v1xy";
|
||||
unpackPhase = ovftoolAarch64UnpackPhase;
|
||||
postUnpackHash = "16vyyzrmryi8b7mrd6nxnhywvvj2pw0ban4qfiqfahw763fn6971";
|
||||
};
|
||||
};
|
||||
|
||||
ovftoolSystem = if builtins.hasAttr system ovftoolSystems then
|
||||
ovftoolSystems.${system}
|
||||
else throw "System '${system}' is unsupported by ovftool";
|
||||
|
||||
ovftoolSource = if builtins.hasAttr system ovftoolBundles then
|
||||
ovftoolBundles.${system}
|
||||
else
|
||||
requireFile {
|
||||
name = ovftoolSystem.filename;
|
||||
url = "https://my.vmware.com/group/vmware/downloads/get-download?downloadGroup=OVFTOOL441";
|
||||
sha256 = ovftoolSystem.sha256;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ovftool";
|
||||
inherit version;
|
||||
|
||||
src = ovftoolSource;
|
||||
|
||||
buildInputs = [
|
||||
glibc
|
||||
libressl
|
||||
c-ares
|
||||
(curl.override { openssl = libressl; })
|
||||
expat
|
||||
icu60
|
||||
xercesc
|
||||
zlib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
unpackPhase = ovftoolSystem.unpackPhase;
|
||||
|
||||
postUnpackHash = ovftoolSystem.postUnpackHash;
|
||||
|
||||
# Expects a directory named 'ovftool' containing the ovftool install.
|
||||
# Based on https://aur.archlinux.org/packages/vmware-ovftool/
|
||||
# with the addition of a libexec directory and a Nix-style binary wrapper.
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
if [ -d ovftool ]; then
|
||||
# Ensure we're in the staging directory
|
||||
cd ovftool
|
||||
fi
|
||||
# libraries
|
||||
install -m 755 -d "$out/lib/${pname}"
|
||||
# These all appear to be VMWare proprietary except for libgoogleurl.
|
||||
# The rest of the libraries that the installer extracts are omitted here,
|
||||
# and provided in buildInputs.
|
||||
#
|
||||
# FIXME: can we replace libgoogleurl? Possibly from Chromium?
|
||||
#
|
||||
install -m 644 -t "$out/lib/${pname}" \
|
||||
libgoogleurl.so.59 \
|
||||
libssoclient.so \
|
||||
libvim-types.so libvmacore.so libvmomi.so
|
||||
# ovftool specifically wants 1.0.2 but our libcrypto is named 1.0.0
|
||||
ln -s "${lib.getLib libressl}/lib/libcrypto.so" \
|
||||
"$out/lib/${pname}/libcrypto.so.1.0.2"
|
||||
ln -s "${lib.getLib libressl}/lib/libssl.so" \
|
||||
"$out/lib/${pname}/libssl.so.1.0.2"
|
||||
# libexec
|
||||
install -m 755 -d "$out/libexec/${pname}"
|
||||
install -m 755 -t "$out/libexec/${pname}" ovftool.bin
|
||||
install -m 644 -t "$out/libexec/${pname}" icudt44l.dat
|
||||
# libexec resources
|
||||
for subdir in "certs" "env" "env/en" "schemas/DMTF" "schemas/vmware"; do
|
||||
install -m 755 -d "$out/libexec/${pname}/$subdir"
|
||||
install -m 644 -t "$out/libexec/${pname}/$subdir" "$subdir"/*.*
|
||||
done
|
||||
# EULA/OSS files
|
||||
install -m 755 -d "$out/share/licenses/${pname}"
|
||||
install -m 644 -t "$out/share/licenses/${pname}" \
|
||||
"vmware.eula" "vmware-eula.rtf" "open_source_licenses.txt"
|
||||
# documentation files
|
||||
install -m 755 -d "$out/share/doc/${pname}"
|
||||
install -m 644 -t "$out/share/doc/${pname}" "README.txt"
|
||||
# binary wrapper; note that LC_CTYPE is defaulted to en_US.UTF-8 by
|
||||
# VMWare's wrapper script. We use C.UTF-8 instead.
|
||||
install -m 755 -d "$out/bin"
|
||||
makeWrapper "$out/libexec/${pname}/ovftool.bin" "$out/bin/ovftool" \
|
||||
--set-default LC_CTYPE C.UTF-8 \
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
addAutoPatchelfSearchPath "$out/lib"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "VMWare tools for working with OVF, OVA, and VMX images";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ numinit wolfangaukang ];
|
||||
platforms = builtins.attrNames ovftoolSystems;
|
||||
};
|
||||
}
|
|
@ -9101,6 +9101,8 @@ with pkgs;
|
|||
|
||||
otpw = callPackage ../os-specific/linux/otpw { };
|
||||
|
||||
ovftool = callPackage ../tools/virtualization/ovftool { };
|
||||
|
||||
overcommit = callPackage ../development/tools/overcommit { };
|
||||
|
||||
overmind = callPackage ../applications/misc/overmind { };
|
||||
|
@ -29871,6 +29873,8 @@ with pkgs;
|
|||
abseil-cpp = abseil-cpp_202111;
|
||||
};
|
||||
|
||||
telegram-bot-api = callPackage ../servers/telegram-bot-api { };
|
||||
|
||||
tektoncd-cli = callPackage ../applications/networking/cluster/tektoncd-cli { };
|
||||
|
||||
telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
|
||||
|
|
Loading…
Reference in a new issue