From f5b761175fb78b47c88985503115e6ac08433d8d Mon Sep 17 00:00:00 2001 From: gnidorah Date: Fri, 21 Feb 2020 18:25:21 +0300 Subject: rambox: don't build from sources --- .../networking/instant-messengers/rambox/bare.nix | 56 ---------------- .../instant-messengers/rambox/default.nix | 74 +++++++++++----------- .../instant-messengers/rambox/fetchNodeModules.nix | 26 -------- .../instant-messengers/rambox/isDev.patch | 14 ---- .../instant-messengers/rambox/sencha/bare.nix | 43 ------------- .../instant-messengers/rambox/sencha/default.nix | 17 ----- .../rambox/sencha/response.varfile | 13 ---- 7 files changed, 36 insertions(+), 207 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/rambox/bare.nix delete mode 100644 pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix delete mode 100644 pkgs/applications/networking/instant-messengers/rambox/isDev.patch delete mode 100644 pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix delete mode 100644 pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix delete mode 100644 pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile (limited to 'pkgs/applications/networking/instant-messengers') diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix deleted file mode 100644 index 1a11e8c04439e..0000000000000 --- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-10_x, ruby, sencha -, auth0ClientID, auth0Domain }: - -stdenv.mkDerivation rec { - pname = "rambox-bare"; - version = "0.7.3"; - - src = fetchFromGitHub { - owner = "ramboxapp"; - repo = "community-edition"; - rev = version; - sha256 = "03pwzyij2i5m23qzhyqdcipixmqj46qbjmq626swwqy03a0p91qv"; - }; - - nativeBuildInputs = [ nodejs-10_x ruby sencha ]; - - node_modules = fetchNodeModules { - inherit src; - - nodejs = nodejs-10_x; - sha256 = "05vb0r0q3ckg2g87fsm22j0cbfvk81q5z43zwmrzh3pb3zh54xj1"; - }; - - patches = [ ./isDev.patch ]; - - configurePhase = '' - echo 'var auth0Cfg = { clientID: "${auth0ClientID}", domain: "${auth0Domain}" };' > env.js - ln -s ${node_modules} node_modules - ''; - - buildPhase = '' - mkdir ../rambox-build - npm run sencha:compile:build - ''; - - installPhase = '' - mv ../rambox-build/ $out - - # https://github.com/saenzramiro/rambox/issues/1281 - echo '{"name": "rambox", "version": "${version}", "main": "electron/main.js"}' > $out/package.json - - # https://github.com/saenzramiro/rambox/issues/1282 - cp --parents ext/packages/ext-locale/build/ext-locale-*.js $out - - # Symbolic link causes `Uncaught Error: Cannot find module 'immutable'` - cp -r ${node_modules} $out/node_modules - ''; - - meta = with stdenv.lib; { - description = "Messaging and emailing app that combines common web applications into one"; - homepage = http://rambox.pro; - license = licenses.gpl3; - maintainers = with maintainers; [ gnidorah ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix index f588c31c183d2..488da12c18c2c 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/default.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -1,52 +1,50 @@ -{ stdenv, newScope, makeWrapper -, electron, xdg_utils, makeDesktopItem -, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU" -, auth0Domain ? "nixpkgs.auth0.com" }: +{ stdenv, fetchurl, xdg_utils, dpkg, makeWrapper, autoPatchelfHook +, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify +}: let - callPackage = newScope self; - self = { - fetchNodeModules = callPackage ./fetchNodeModules.nix {}; - rambox-bare = callPackage ./bare.nix { - inherit auth0ClientID auth0Domain; + version = "0.7.3"; +in stdenv.mkDerivation rec { + pname = "rambox"; + inherit version; + src = { + x86_64-linux = fetchurl { + url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-amd64.deb"; + sha256 = "09v8zlayas906zhqy2aw4wkvyl87ykr09sjf0nmgmf69piwmjgg6"; }; - sencha = callPackage ./sencha {}; - }; - desktopItem = makeDesktopItem rec { - name = "Rambox"; - exec = "rambox"; - icon = "${self.rambox-bare}/resources/Icon.png"; - desktopName = name; - genericName = "Rambox messenger"; - categories = "Network;"; - }; -in - -with self; - -stdenv.mkDerivation { - name = "rambox-${rambox-bare.version}"; - - nativeBuildInputs = [ makeWrapper ]; + i686-linux = fetchurl { + url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.deb"; + sha256 = "0gv4pf3vhrw4xyccm24ivv92d9qy4zpwsh0m82ib1w764lyxmyrz"; + }; + }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); - dontUnpack = true; + nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ]; + buildInputs = [ libXtst libXScrnSaver gtk3 nss alsaLib ]; + runtimeDependencies = [ udev.lib libnotify ]; - dontWrapGApps = true; # we only want $gappsWrapperArgs here + unpackPhase = "dpkg-deb -x $src ."; installPhase = '' - runHook preInstall - mkdir -p $out/share/applications - ln -s ${desktopItem}/share/applications/* $out/share/applications - runHook postInstall + mkdir -p $out/bin + cp -r opt $out + ln -s $out/opt/Rambox/rambox $out/bin + + # provide resources + cp -r usr/share $out + substituteInPlace $out/share/applications/rambox.desktop \ + --replace Exec=/opt/Rambox/rambox Exec=rambox ''; postFixup = '' - makeWrapper ${electron}/bin/electron $out/bin/rambox \ - --add-flags "${rambox-bare} --without-update" \ - --prefix PATH : ${xdg_utils}/bin + wrapProgram $out/opt/Rambox/rambox --prefix PATH : ${xdg_utils}/bin ''; - meta = rambox-bare.meta // { - platforms = [ "i686-linux" "x86_64-linux" ]; + meta = with stdenv.lib; { + description = "Free and Open Source messaging and emailing app that combines common web applications into one"; + homepage = http://rambox.pro; + license = licenses.mit; + maintainers = [ maintainers.gnidorah ]; + platforms = ["i686-linux" "x86_64-linux"]; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix b/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix deleted file mode 100644 index 047890a932ca0..0000000000000 --- a/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, jq }: { src, nodejs, sha256 }: - -# Only npm >= 5.4.2 is deterministic, see: -# https://github.com/npm/npm/issues/17979#issuecomment-332701215 -assert stdenv.lib.versionAtLeast nodejs.version "8.9.0"; - -stdenv.mkDerivation { - name = "node_modules"; - - outputHashAlgo = "sha256"; - outputHash = sha256; - outputHashMode = "recursive"; - - nativeBuildInputs = [ jq nodejs ]; - - buildCommand = '' - cp -r ${src}/* . - HOME=. npm install --force --ignore-scripts --only=production - for f in $(find node_modules -name package.json); do - # https://github.com/npm/npm/issues/10393 - jq -S 'delpaths(keys | map(select(startswith("_")) | [.]))' $f > $f.tmp - mv $f.tmp $f - done - mv node_modules $out - ''; -} diff --git a/pkgs/applications/networking/instant-messengers/rambox/isDev.patch b/pkgs/applications/networking/instant-messengers/rambox/isDev.patch deleted file mode 100644 index b918144c76628..0000000000000 --- a/pkgs/applications/networking/instant-messengers/rambox/isDev.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://github.com/saenzramiro/rambox/issues/1280 - -diff -urNZ a/electron/main.js b/electron/main.js ---- a/electron/main.js 2017-11-02 14:58:06.085127616 +0000 -+++ b/electron/main.js 2017-11-02 14:58:18.316887679 +0000 -@@ -8,7 +8,7 @@ - // Configuration - const Config = require('electron-config'); - // Development --const isDev = require('electron-is-dev'); -+const isDev = false; - // Updater - const updater = require('./updater'); - // File System diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix deleted file mode 100644 index 30b12963b337d..0000000000000 --- a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, gzip, which, unzip, jdk }: - -let - version = "6.6.0.13"; - srcs = { - i686-linux = fetchurl { - url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-i386.sh.zip"; - sha256 = "15b197108b49mf0afpihkh3p68lxm7580zz2w0xsbahglnvhwyfz"; - }; - x86_64-linux = fetchurl { - url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-amd64.sh.zip"; - sha256 = "1cxhckmx1802p9qiw09cgb1v5f30wcvnrwkshmia8p8n0q47lpp4"; - }; - }; -in - -stdenv.mkDerivation { - inherit version; - - pname = "sencha-bare"; - src = srcs.${stdenv.hostPlatform.system}; - - nativeBuildInputs = [ gzip which unzip ]; - buildInputs = [ jdk ]; - - sourceRoot = "."; - - configurePhase = '' - substituteAll ${./response.varfile} response.varfile - ''; - - installPhase = '' - ./SenchaCmd*.sh -q -dir $out -varfile response.varfile - # disallow sencha writing into /nix/store/repo - echo "repo.local.dir=$TMP/repo" >> $out/sencha.cfg - rm $out/shell-wrapper.sh $out/Uninstaller - ''; - - meta = with stdenv.lib; { - license = licenses.unfree; - platforms = attrNames srcs; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix deleted file mode 100644 index 4be8edaf9b855..0000000000000 --- a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, callPackage, makeWrapper }: - -let - sencha-bare = callPackage ./bare.nix {}; -in - -stdenv.mkDerivation { - name = "sencha-${sencha-bare.version}"; - - nativeBuildInputs = [ makeWrapper ]; - - dontUnpack = true; - - installPhase = '' - makeWrapper ${sencha-bare}/sencha $out/bin/sencha - ''; -} diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile b/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile deleted file mode 100644 index 0ff6f0a30d503..0000000000000 --- a/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile +++ /dev/null @@ -1,13 +0,0 @@ -addToPath$Integer=1 -parentDir=. -sys.adminRights$Boolean=false -sys.component.148$Boolean=true -sys.component.157$Boolean=true -sys.component.26$Boolean=true -sys.component.30$Boolean=true -sys.component.90$Boolean=true -sys.component.91$Boolean=true -sys.component.92$Boolean=true -sys.component.94$Boolean=true -sys.installationDir=@out@ -sys.languageId=en \ No newline at end of file -- cgit 1.4.1