mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-05 20:19:16 +03:00
Merge pull request #315088 from mjoerg/skypeforlinux-8.119.0.201
skypeforlinux: 8.110.76.107 -> 8.119.0.201, add updateScript
This commit is contained in:
commit
449800f9b7
@ -1,129 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, dpkg
|
||||
, alsa-lib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome-keyring
|
||||
, gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook3, xorg
|
||||
, at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon, libxshmfence }:
|
||||
|
||||
let
|
||||
|
||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||
# source of the latter disappears much faster.
|
||||
version = "8.110.76.107";
|
||||
|
||||
rpath = lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
atk
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
cairo
|
||||
cups
|
||||
curl
|
||||
dbus
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
glib
|
||||
glibc
|
||||
libsecret
|
||||
libuuid
|
||||
|
||||
gdk-pixbuf
|
||||
gtk3
|
||||
libappindicator-gtk3
|
||||
|
||||
gnome-keyring
|
||||
|
||||
libnotify
|
||||
libpulseaudio
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
stdenv.cc.cc
|
||||
systemd
|
||||
|
||||
libv4l
|
||||
libdrm
|
||||
mesa
|
||||
libxkbcommon
|
||||
libxshmfence
|
||||
xorg.libxkbfile
|
||||
xorg.libX11
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
xorg.libXScrnSaver
|
||||
xorg.libxcb
|
||||
] + ":${stdenv.cc.cc.lib}/lib64";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
urls = [
|
||||
"https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
];
|
||||
sha256 = "sha256-ocXhISwEtwzPd1dOPjgIj5UQ/8sqq2gUtmZ8KZBAxKM=";
|
||||
}
|
||||
else
|
||||
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "skypeforlinux";
|
||||
inherit version;
|
||||
|
||||
system = "x86_64-linux";
|
||||
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
glib # For setup hook populating GSETTINGS_SCHEMA_PATH
|
||||
];
|
||||
|
||||
buildInputs = [ dpkg ];
|
||||
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
dpkg -x $src $out
|
||||
cp -av $out/usr/* $out
|
||||
rm -rf $out/opt $out/usr
|
||||
rm $out/bin/skypeforlinux
|
||||
|
||||
ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin/skypeforlinux"
|
||||
|
||||
# Otherwise it looks "suspicious"
|
||||
chmod -R g-w $out
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* -or -name \*.node\* \) ); do
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
|
||||
patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true
|
||||
done
|
||||
|
||||
# Fix the desktop link
|
||||
substituteInPlace $out/share/applications/skypeforlinux.desktop \
|
||||
--replace /usr/bin/ ""
|
||||
substituteInPlace $out/share/applications/skypeforlinux-share.desktop \
|
||||
--replace /usr/bin/ ""
|
||||
substituteInPlace $out/share/kservices5/ServiceMenus/skypeforlinux.desktop \
|
||||
--replace /usr/bin/ ""
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Linux client for skype";
|
||||
homepage = "https://www.skype.com";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ panaeon jraygauthier ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "skypeforlinux";
|
||||
};
|
||||
}
|
197
pkgs/by-name/sk/skypeforlinux/package.nix
Normal file
197
pkgs/by-name/sk/skypeforlinux/package.nix
Normal file
@ -0,0 +1,197 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
squashfsTools,
|
||||
writeScript,
|
||||
alsa-lib,
|
||||
atk,
|
||||
cairo,
|
||||
cups,
|
||||
curl,
|
||||
dbus,
|
||||
expat,
|
||||
fontconfig,
|
||||
freetype,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
glibc,
|
||||
gnome-keyring,
|
||||
gtk3,
|
||||
libappindicator-gtk3,
|
||||
libnotify,
|
||||
libpulseaudio,
|
||||
libsecret,
|
||||
libv4l,
|
||||
nspr,
|
||||
nss,
|
||||
pango,
|
||||
systemd,
|
||||
wrapGAppsHook3,
|
||||
xorg,
|
||||
at-spi2-atk,
|
||||
libuuid,
|
||||
at-spi2-core,
|
||||
libdrm,
|
||||
mesa,
|
||||
libxkbcommon,
|
||||
libxshmfence,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||
# source of the latter disappears much faster.
|
||||
version = "8.119.0.201";
|
||||
revision = "348";
|
||||
|
||||
rpath =
|
||||
lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
atk
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
cairo
|
||||
cups
|
||||
curl
|
||||
dbus
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
glib
|
||||
glibc
|
||||
libsecret
|
||||
libuuid
|
||||
|
||||
gdk-pixbuf
|
||||
gtk3
|
||||
libappindicator-gtk3
|
||||
|
||||
gnome-keyring
|
||||
|
||||
libnotify
|
||||
libpulseaudio
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
stdenv.cc.cc
|
||||
systemd
|
||||
|
||||
libv4l
|
||||
libdrm
|
||||
mesa
|
||||
libxkbcommon
|
||||
libxshmfence
|
||||
xorg.libxkbfile
|
||||
xorg.libX11
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
xorg.libXScrnSaver
|
||||
xorg.libxcb
|
||||
]
|
||||
+ ":${stdenv.cc.cc.lib}/lib64";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
name = "skypeforlinux-${version}-${revision}.snap";
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_${revision}.snap";
|
||||
hash = "sha512-sHbLmpF+5qaKTUArHceqv91NJxNpflQE2ojO9sepQBhXacn66hluC7cGb7toQnteYKUsx00TBYs2Ugk/BkT0uA==";
|
||||
}
|
||||
else
|
||||
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "skypeforlinux";
|
||||
inherit version revision;
|
||||
|
||||
system = "x86_64-linux";
|
||||
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
glib # For setup hook populating GSETTINGS_SCHEMA_PATH
|
||||
];
|
||||
|
||||
buildInputs = [ squashfsTools ];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
unsquashfs "$src" /meta/{'gui/*.desktop',snap.yaml} \
|
||||
/usr/share/{doc/skypeforlinux,'icons/hicolor/*/apps/skypeforlinux.png',kservices5,pixmaps,skypeforlinux}
|
||||
sourceRoot=squashfs-root
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
mv meta/gui usr/share/applications
|
||||
mv meta/snap.yaml usr/share "$out"
|
||||
ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* -or -name \*.node\* \) ); do
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
|
||||
patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true
|
||||
done
|
||||
|
||||
# Fix the desktop link
|
||||
substituteInPlace "$out/share/applications/"*.desktop \
|
||||
--replace-fail 'Exec=skype ' 'Exec=skypeforlinux ' \
|
||||
--replace-fail 'Icon=''${SNAP}/meta/gui/skypeforlinux.png' 'Icon=skypeforlinux'
|
||||
substituteInPlace "$out/share/kservices5/ServiceMenus/skypeforlinux.desktop" \
|
||||
--replace-fail 'Exec=/usr/bin/skypeforlinux ' 'Exec=skypeforlinux '
|
||||
'';
|
||||
|
||||
passthru.updateScript = writeScript "update-skypeforlinux" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts curl jq
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
data=$(curl -H 'X-Ubuntu-Series: 16' \
|
||||
'https://api.snapcraft.io/api/v1/snaps/details/skype?channel=stable&fields=download_sha512,revision,version')
|
||||
|
||||
version=$(jq -r .version <<<"$data")
|
||||
|
||||
if [[ "x$UPDATE_NIX_OLD_VERSION" != "x$version" ]]; then
|
||||
|
||||
revision=$(jq -r .revision <<<"$data")
|
||||
hash=$(nix hash to-sri "sha512:$(jq -r .download_sha512 <<<"$data")")
|
||||
|
||||
update-source-version "$UPDATE_NIX_ATTR_PATH" "$version" "$hash"
|
||||
update-source-version --ignore-same-hash --version-key=revision "$UPDATE_NIX_ATTR_PATH" "$revision" "$hash"
|
||||
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Linux client for Skype";
|
||||
homepage = "https://www.skype.com";
|
||||
changelog = "https://support.microsoft.com/en-us/skype/what-s-new-in-skype-for-windows-mac-linux-and-web-d32f674c-abb3-40a5-a0b7-ee269ca60831";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [
|
||||
panaeon
|
||||
jraygauthier
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "skypeforlinux";
|
||||
};
|
||||
}
|
@ -33950,8 +33950,6 @@ with pkgs;
|
||||
libjpeg_turbo = libjpeg8;
|
||||
};
|
||||
|
||||
skypeforlinux = callPackage ../applications/networking/instant-messengers/skypeforlinux { };
|
||||
|
||||
slingshot = callPackage ../tools/misc/slingshot { };
|
||||
|
||||
slop = callPackage ../tools/misc/slop { };
|
||||
|
Loading…
Reference in New Issue
Block a user