diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix new file mode 100644 index 000000000000..5e88384c58db --- /dev/null +++ b/pkgs/development/tools/react-native-debugger/default.nix @@ -0,0 +1,83 @@ +{ stdenv, fetchurl, unzip, cairo, xorg, gdk_pixbuf, fontconfig, pango, gnome2, atk, gtk2, glib +, freetype, dbus, nss, nspr, alsaLib, cups, expat, libudev, makeDesktopItem +}: + +let + rpath = stdenv.lib.makeLibraryPath [ + cairo + stdenv.cc.cc + gdk_pixbuf + fontconfig + pango + atk + gtk2 + glib + freetype + dbus + nss + nspr + alsaLib + cups + expat + libudev + + gnome2.GConf + + xorg.libX11 + xorg.libXcursor + xorg.libXtst + xorg.libxcb + xorg.libXext + xorg.libXi + xorg.libXdamage + xorg.libXrandr + xorg.libXcomposite + xorg.libXfixes + xorg.libXrender + xorg.libXScrnSaver + ]; +in stdenv.mkDerivation rec { + name = "react-native-debugger-${version}"; + version = "0.7.18"; + + src = fetchurl { + url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip"; + sha256 = "186n438sy9wzrx2zdw4qq4hsz89wiy01bpfa6fdjisvxgz6r8sgw"; + }; + + buildInputs = [ unzip ]; + buildCommand = '' + shopt -s extglob + mkdir -p $out + unzip $src -d $out + + mkdir $out/{lib,bin,share} + mv $out/lib{node,ffmpeg}.so $out/lib + mv $out/!(lib|share|bin) $out/share + + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath ${rpath}:$out/lib \ + $out/share/React\ Native\ Debugger + + ln -s $out/share/React\ Native\ Debugger $out/bin/React\ Native\ Debugger + + install -Dm644 "${desktopItem}/share/applications/"* \ + -t $out/share/applications/ + ''; + + desktopItem = makeDesktopItem { + name = "rndebugger"; + exec = "React\\ Native\\ Debugger"; + desktopName = "React Native Debugger"; + genericName = "React Native Debugger"; + categories = "Development;Tools;"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/jhen0409/react-native-debugger; + license = licenses.mit; + description = "The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools"; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2b5b02401f42..7c056b86b98e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4548,6 +4548,8 @@ with pkgs; rdma-core = callPackage ../os-specific/linux/rdma-core { }; + react-native-debugger = callPackage ../development/tools/react-native-debugger { }; + read-edid = callPackage ../os-specific/linux/read-edid { }; redir = callPackage ../tools/networking/redir { };