From f75cf9bfa9200705569f703e6a83df098bf2a435 Mon Sep 17 00:00:00 2001 From: foosinn Date: Tue, 3 Aug 2021 11:30:29 +0200 Subject: [PATCH] update cloudstation --- packages/cloudstation.nix | 146 +++++++++++++++----------------------- roles/work.nix | 7 +- 2 files changed, 59 insertions(+), 94 deletions(-) diff --git a/packages/cloudstation.nix b/packages/cloudstation.nix index e8165a6..263bc09 100644 --- a/packages/cloudstation.nix +++ b/packages/cloudstation.nix @@ -1,58 +1,51 @@ { stdenv -, autoPatchelfHook -, dbus_libs -, dpkg +, buildFHSUserEnv , fetchurl -, fontconfig -, freetype -, glib -, libICE -, libSM -, xorg -, openssl_1_0_2 -, openssl -, libX11 -, makeWrapper -, sqlite -, wrapQtAppsHook -, xkeyboard_config -, zlib -, curl +, lib +, pkgs +, writeScript }: -stdenv.mkDerivation rec { - name = "cloudstation"; +let version = "4.3.3"; release = "4469"; + cloudstation = stdenv.mkDerivation rec { + name = "cloudstation-unpack"; + buildInputs = [ + pkgs.dpkg + pkgs.qt5.qtbase + ]; + #nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ]; + src = fetchurl { + url = "https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb"; + sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j"; + }; + unpackPhase = '' + dpkg-deb -x $src . + ''; + installPhase = '' + mkdir -p $out/bin + cp -R opt/Synology/CloudStation/* $out/ + ls -lah $out + chmod +x $out/lib/* + cp $out/lib/plugins/platforms/libqxcb.so $out/lib/plugins/ - src = fetchurl { - url = "https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb"; - sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j"; + # fix xcb plugin + echo -e "[Paths]\nPlugins = ${pkgs.qt5.qtbase.bin}/${pkgs.qt5.qtbase.qtPluginPrefix}" > $out/bin/qt.conf + ''; + dontWrapQtApps = true; + #preFixup = '' + # wrapQtApp "$out/bin/launcher" + #''; }; - nativeBuildInputs = [ - dpkg - autoPatchelfHook - makeWrapper - wrapQtAppsHook - ]; - buildInputs = [ - dbus_libs - fontconfig - freetype - glib - libICE - libSM - libX11 - sqlite - stdenv.cc.cc.lib - zlib - openssl_1_0_2 - xorg.libxcb - curl - ]; - ldpath = stdenv.lib.makeLibraryPath [ +in buildFHSUserEnv { + name = "cloudstation"; + + targetPkgs = pkgs: with pkgs; with xorg; [ + cloudstation + curl dbus_libs fontconfig freetype @@ -60,53 +53,26 @@ stdenv.mkDerivation rec { libICE libSM libX11 - sqlite - stdenv.cc.cc.lib - zlib - openssl_1_0_2 + libxcb openssl - xorg.libxcb - curl + qt5.qtbase + qt5.qttools + qt5.qtwayland + qt5.qtx11extras + sqlite + stdenv.cc.cc.lib + xkeyboard_config + zlib ]; - unpackPhase = '' - dpkg-deb -x $src . + runScript = writeScript "cloudstation" '' + #!/usr/bin/env bash + #export QT_PLUGIN_PATH="$QT_PLUGIN_PATH:${cloudstation}/lib/plugins/platforms" + export QT_PLUGIN_PATH="${pkgs.qt5.qtbase.bin}/${pkgs.qt5.qtbase.qtPluginPrefix}" + ${cloudstation}/bin/launcher + + export LD_LIBRARY_PATH="/home/stefan/.CloudStation/CloudStation.app/lib:$LD_LIBRARY_PATH" + ~/.CloudStation/CloudStation.app/bin/cloud-drive-ui + type bash ''; - - installPhase = '' - mkdir -p $out/bin - cp -R opt $out - chmod +x $out/opt/Synology/CloudStation/lib/* - - #ln -s $out/opt/Synology/CloudStation/bin/launcher $out/bin/cloudstation - makeWrapper \ - $out/opt/Synology/CloudStation/bin/launcher \ - $out/bin/cloudstation \ - --set QT_PLUGIN_PATH $out/opt/Synology/CloudStationBackup/lib/plugins/platforms \ - --set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb \ - --set LD_LIBRARY_PATH $out/opt/Synology/CloudStation/lib:${ldpath} - - cat >> $out/bin/usercloudstation < { config.allowUnfree = true; }; - cloudstation = pkgs.libsForQt5.callPackage (import ../packages/cloudstation.nix) {}; - + cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) {}; in { security.pki.certificateFiles = [ @@ -20,9 +19,9 @@ in { (import ../packages/oc311.nix) (import ../packages/oc46.nix) (import ../packages/openshift-install-4.5.nix) + cloudstation astroid (pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) {}) - cloudstation drone-cli govc go-jira @@ -32,6 +31,6 @@ in { unstable.discord unstable.obs-studio - unstable.obs-wlrobs + unstable.obs-studio-plugins.wlrobs ]; }