diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix new file mode 100644 index 00000000000..e36b950f1f2 --- /dev/null +++ b/pkgs/development/web/cypress/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchzip, autoPatchelfHook, xorg, gtk2, gnome2, gtk3, nss, alsaLib, udev, unzip }: + +stdenv.mkDerivation rec{ + pname = "cypress"; + version = "3.4.0"; + + src = fetchzip { + url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip"; + sha256 = "1j59az9j37a61ryvh975bc7bj43qi3dq0871fyambh1j2mby00qn"; + }; + + # don't remove runtime deps + dontPatchELF = true; + + nativeBuildInputs = [ autoPatchelfHook ]; + + buildInputs = with xorg; [ + libXScrnSaver libXdamage libXtst + ] ++ [ + nss gtk2 alsaLib gnome2.GConf gtk3 unzip + ]; + + runtimeDependencies = [ udev.lib ]; + + installPhase = '' + mkdir -p $out/bin $out/opt/cypress + cp -vr * $out/opt/cypress/ + # Let's create the file binary_state ourselves to make the npm package happy on initial verification. + echo '{"verified": true}' > $out/opt/cypress/binary_state.json + ln -s $out/opt/cypress/Cypress $out/bin/Cypress + ''; + + meta = with stdenv.lib; { + description = "Fast, easy and reliable testing for anything that runs in a browser"; + homepage = "https://www.cypress.io"; + license = licenses.mit; + platforms = ["x86_64-linux"]; + maintainers = with maintainers; [ tweber mmahut ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa09eed2c0c..c5ca8079d1d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10237,6 +10237,8 @@ in cxxtest = callPackage ../development/libraries/cxxtest { }; + cypress = callPackage ../development/web/cypress { }; + cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { kerberos = if stdenv.isFreeBSD then libheimdal else kerberos; };