mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-01 11:22:58 +00:00
Merge pull request #205954 from hellwolf/fix-insync-v3
This commit is contained in:
commit
1e8edc1e60
@ -1,34 +1,26 @@
|
||||
{ lib, stdenv, fetchurl, makeWrapper, autoPatchelfHook }:
|
||||
{ lib
|
||||
, writeShellScript
|
||||
, buildFHSEnv
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, dpkg
|
||||
, nss
|
||||
, libvorbis
|
||||
, libdrm
|
||||
, libGL
|
||||
, wayland
|
||||
, libthai
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pname = "insync";
|
||||
version = "1.5.7.37371";
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
|
||||
sha256 = "1cm3q6y2crw6pcsvh21sbkmh1hin7xl4fyslc96nbyql8rxsky5n";
|
||||
}
|
||||
else
|
||||
throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
|
||||
|
||||
postPatch = ''
|
||||
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" client/insync-portable
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -a client $out/client
|
||||
makeWrapper $out/client/insync-portable $out/bin/insync --set LC_TIME C
|
||||
'';
|
||||
|
||||
meta = {
|
||||
version = "3.8.5.50499";
|
||||
meta = with lib; {
|
||||
platforms = ["x86_64-linux"];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [ ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ hellwolf ];
|
||||
homepage = "https://www.insynchq.com";
|
||||
description = "Google Drive sync and backup with multiple account support";
|
||||
longDescription = ''
|
||||
@ -38,8 +30,81 @@ stdenv.mkDerivation rec {
|
||||
and built in sharing.
|
||||
|
||||
There is a 15-day free trial, and it is a paid application after that.
|
||||
|
||||
Known bug(s):
|
||||
|
||||
1) Currently the system try icon does not render correctly.
|
||||
2) libqtvirtualkeyboardplugin does not have necessary Qt library shipped from vendor.
|
||||
'';
|
||||
# download URL removed
|
||||
broken = true;
|
||||
};
|
||||
insync-pkg = stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
# Find a binary from https://www.insynchq.com/downloads/linux#ubuntu.
|
||||
url = "https://cdn.insynchq.com/builds/linux/${pname}_${version}-lunar_amd64.deb";
|
||||
sha256 = "sha256-mpMJe8LAmO9OrqRIEWuxfVNeh5ANvjZIEHFz8cXYObY=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
nss
|
||||
libvorbis
|
||||
libdrm
|
||||
libGL
|
||||
wayland
|
||||
libthai
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg ];
|
||||
|
||||
unpackPhase = ''
|
||||
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/lib $out/share
|
||||
cp -R usr/* $out/
|
||||
|
||||
# use system glibc
|
||||
rm -f $out/lib/insync/{libgcc_s.so.1,libstdc++.so.6}
|
||||
|
||||
# remove badly packaged plugins
|
||||
rm $out/lib/insync/PySide2/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
# NB! This did the trick, otherwise it segfaults! However I don't understand why!
|
||||
dontStrip = true;
|
||||
|
||||
inherit meta;
|
||||
};
|
||||
in buildFHSEnv { # ref: pkgs/build-support/build-fhsenv-bubblewrap/default.nix
|
||||
name = "${pname}-${version}";
|
||||
inherit meta;
|
||||
|
||||
# for including insync's xdg data dirs
|
||||
extraOutputsToInstall = [ "share" ];
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
insync-pkg
|
||||
];
|
||||
|
||||
multiPkgs = pkgs: with pkgs; [
|
||||
# apparently only package needed for the FHS :)
|
||||
libudev0-shim
|
||||
];
|
||||
|
||||
runScript = writeShellScript "insync-wrapper.sh" ''
|
||||
# QT_STYLE_OVERRIDE was used to suppress a QT warning, it should have no actual effect for this binary.
|
||||
export QT_STYLE_OVERRIDE=Fusion
|
||||
exec "${insync-pkg.outPath}/lib/insync/insync" "$@"
|
||||
'';
|
||||
# "insync start" command starts a daemon.
|
||||
dieWithParent = false;
|
||||
}
|
||||
|
@ -1,82 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, dpkg
|
||||
, libxcb
|
||||
, libGL
|
||||
, nss
|
||||
, libthai
|
||||
, wayland
|
||||
, alsa-lib
|
||||
, qtvirtualkeyboard
|
||||
, qtwebchannel
|
||||
, qtwebsockets
|
||||
, qtlocation
|
||||
, qtwebengine
|
||||
, autoPatchelfHook
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "insync";
|
||||
version = "3.8.5.50499";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.insynchq.com/builds/linux/${pname}_${version}-focal_amd64.deb";
|
||||
hash = "sha256-CtDwU0Cey12kDjEX+Y9x7pfKNARfKDopWsDVRaA1Zts=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace usr/bin/insync --replace /usr/lib/insync $out/usr/lib/insync
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libGL
|
||||
libthai
|
||||
libxcb
|
||||
nss
|
||||
qtlocation
|
||||
qtvirtualkeyboard
|
||||
qtwebchannel
|
||||
qtwebengine
|
||||
qtwebsockets
|
||||
wayland
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapQtAppsHook ];
|
||||
|
||||
unpackPhase = ''
|
||||
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib $out/share
|
||||
cp -R usr/* $out/
|
||||
rm $out/lib/insync/libGLX.so.0
|
||||
rm $out/lib/insync/libQt5*
|
||||
sed -i 's|/usr/lib/insync|/lib/insync|' "$out/bin/insync"
|
||||
wrapQtApp "$out/lib/insync/insync"
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
meta = with lib; {
|
||||
platforms = ["x86_64-linux"];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ ];
|
||||
homepage = "https://www.insynchq.com";
|
||||
description = "Google Drive sync and backup with multiple account support";
|
||||
longDescription = ''
|
||||
Insync is a commercial application that syncs your Drive files to your
|
||||
computer. It has more advanced features than Google's official client
|
||||
such as multiple account support, Google Doc conversion, symlink support,
|
||||
and built in sharing.
|
||||
|
||||
There is a 15-day free trial, and it is a paid application after that.
|
||||
'';
|
||||
};
|
||||
}
|
@ -714,6 +714,7 @@ mapAliases ({
|
||||
imagemagick7_light = imagemagick_light; # Added 2021-02-22
|
||||
imlib = throw "imlib has been dropped due to the lack of maintenance from upstream since 2004"; # Added 2023-01-04
|
||||
impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # Added 2022-01-27
|
||||
insync-v3 = throw "insync-v3 has been merged into the insync package; use insync instead"; #Added 2023-05-13
|
||||
i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21
|
||||
inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped";
|
||||
index-fm = libsForQt5.mauiPackages.index; # added 2022-05-17
|
||||
|
@ -34007,8 +34007,6 @@ with pkgs;
|
||||
|
||||
insync = callPackage ../applications/networking/insync { };
|
||||
|
||||
insync-v3 = libsForQt5.callPackage ../applications/networking/insync/v3.nix { };
|
||||
|
||||
libstrangle = callPackage ../tools/X11/libstrangle {
|
||||
stdenv = stdenv_32bit;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user