Let's try and update this package
This commit is contained in:
		
							parent
							
								
									e434b10818
								
							
						
					
					
						commit
						8c6ee6423b
					
				
					 2 changed files with 196 additions and 0 deletions
				
			
		
							
								
								
									
										195
									
								
								pkgs/azuredatastudio/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								pkgs/azuredatastudio/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,195 @@
 | 
			
		|||
{
 | 
			
		||||
  stdenv,
 | 
			
		||||
  lib,
 | 
			
		||||
  fetchurl,
 | 
			
		||||
  copyDesktopItems,
 | 
			
		||||
  makeDesktopItem,
 | 
			
		||||
  makeWrapper,
 | 
			
		||||
  alsa-lib,
 | 
			
		||||
  at-spi2-atk,
 | 
			
		||||
  at-spi2-core,
 | 
			
		||||
  cairo,
 | 
			
		||||
  cups,
 | 
			
		||||
  curl,
 | 
			
		||||
  dbus,
 | 
			
		||||
  expat,
 | 
			
		||||
  gdk-pixbuf,
 | 
			
		||||
  glib,
 | 
			
		||||
  gnutar,
 | 
			
		||||
  gtk3,
 | 
			
		||||
  icu,
 | 
			
		||||
  libdrm,
 | 
			
		||||
  libunwind,
 | 
			
		||||
  libuuid,
 | 
			
		||||
  libxkbcommon,
 | 
			
		||||
  mesa,
 | 
			
		||||
  nspr,
 | 
			
		||||
  nss,
 | 
			
		||||
  openssl,
 | 
			
		||||
  pango,
 | 
			
		||||
  systemd,
 | 
			
		||||
  xorg,
 | 
			
		||||
  zlib,
 | 
			
		||||
}:
 | 
			
		||||
# from justinwoo/azuredatastudio-nix
 | 
			
		||||
# https://github.com/justinwoo/azuredatastudio-nix/blob/537c48aa3981cd1a82d5d6e508ab7e7393b3d7c8/default.nix
 | 
			
		||||
let
 | 
			
		||||
  desktopItem = makeDesktopItem {
 | 
			
		||||
    name = "azuredatastudio";
 | 
			
		||||
    desktopName = "Azure Data Studio";
 | 
			
		||||
    comment = "Data Management Tool that enables you to work with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.";
 | 
			
		||||
    genericName = "Text Editor";
 | 
			
		||||
    exec = "azuredatastudio --no-sandbox --unity-launch %F";
 | 
			
		||||
    icon = "azuredatastudio";
 | 
			
		||||
    startupNotify = true;
 | 
			
		||||
    startupWMClass = "azuredatastudio";
 | 
			
		||||
    categories = ["Utility" "TextEditor" "Development" "IDE"];
 | 
			
		||||
    mimeTypes = ["text/plain" "inode/directory" "application/x-azuredatastudio-workspace"];
 | 
			
		||||
    keywords = ["azuredatastudio"];
 | 
			
		||||
    actions.new-empty-window = {
 | 
			
		||||
      name = "New Empty Window";
 | 
			
		||||
      exec = "azuredatastudio --no-sandbox --new-window %F";
 | 
			
		||||
      icon = "azuredatastudio";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  urlHandlerDesktopItem = makeDesktopItem {
 | 
			
		||||
    name = "azuredatastudio-url-handler";
 | 
			
		||||
    desktopName = "Azure Data Studio - URL Handler";
 | 
			
		||||
    comment = "Azure Data Studio";
 | 
			
		||||
    genericName = "Text Editor";
 | 
			
		||||
    exec = "azuredatastudio --no-sandbox --open-url %U";
 | 
			
		||||
    icon = "azuredatastudio";
 | 
			
		||||
    startupNotify = true;
 | 
			
		||||
    startupWMClass = "azuredatastudio";
 | 
			
		||||
    categories = ["Utility" "TextEditor" "Development" "IDE"];
 | 
			
		||||
    mimeTypes = ["x-scheme-handler/azuredatastudio"];
 | 
			
		||||
    keywords = ["azuredatastudio"];
 | 
			
		||||
    noDisplay = true;
 | 
			
		||||
  };
 | 
			
		||||
in
 | 
			
		||||
  stdenv.mkDerivation rec {
 | 
			
		||||
    pname = "azuredatastudio";
 | 
			
		||||
    version = "1.47.0";
 | 
			
		||||
 | 
			
		||||
    desktopItems = [desktopItem urlHandlerDesktopItem];
 | 
			
		||||
 | 
			
		||||
    src = fetchurl {
 | 
			
		||||
      name = "${pname}-${version}.tar.gz";
 | 
			
		||||
      url = "https://azuredatastudio-update.azurewebsites.net/${version}/linux-x64/stable";
 | 
			
		||||
      sha256 = "0e094179ffb883d0da8fdbe9721a32402303bf68f411445f2d=";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    nativeBuildInputs = [
 | 
			
		||||
      makeWrapper
 | 
			
		||||
      copyDesktopItems
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    buildInputs = [
 | 
			
		||||
      libuuid
 | 
			
		||||
      at-spi2-core
 | 
			
		||||
      at-spi2-atk
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    installPhase = ''
 | 
			
		||||
      runHook preInstall
 | 
			
		||||
 | 
			
		||||
      mkdir -p $out/share/pixmaps
 | 
			
		||||
      cp ${targetPath}/resources/app/resources/linux/code.png $out/share/pixmaps/azuredatastudio.png
 | 
			
		||||
 | 
			
		||||
      runHook postInstall
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
    # change this to azuredatastudio-insiders for insiders releases
 | 
			
		||||
    edition = "azuredatastudio";
 | 
			
		||||
    targetPath = "$out/${edition}";
 | 
			
		||||
 | 
			
		||||
    unpackPhase = ''
 | 
			
		||||
      mkdir -p ${targetPath}
 | 
			
		||||
      ${gnutar}/bin/tar xf $src --strip 1 -C ${targetPath}
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
    sqltoolsserviceRpath = lib.makeLibraryPath [
 | 
			
		||||
      stdenv.cc.cc
 | 
			
		||||
      libunwind
 | 
			
		||||
      libuuid
 | 
			
		||||
      icu
 | 
			
		||||
      openssl
 | 
			
		||||
      zlib
 | 
			
		||||
      curl
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    # this will most likely need to be updated when azuredatastudio's version changes
 | 
			
		||||
    sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.7.1.6";
 | 
			
		||||
 | 
			
		||||
    rpath = lib.concatStringsSep ":" [
 | 
			
		||||
      (lib.makeLibraryPath [
 | 
			
		||||
        alsa-lib
 | 
			
		||||
        at-spi2-atk
 | 
			
		||||
        cairo
 | 
			
		||||
        cups
 | 
			
		||||
        dbus
 | 
			
		||||
        expat
 | 
			
		||||
        gdk-pixbuf
 | 
			
		||||
        glib
 | 
			
		||||
        gtk3
 | 
			
		||||
        mesa
 | 
			
		||||
        nss
 | 
			
		||||
        nspr
 | 
			
		||||
        libdrm
 | 
			
		||||
        xorg.libX11
 | 
			
		||||
        xorg.libxcb
 | 
			
		||||
        xorg.libXcomposite
 | 
			
		||||
        xorg.libXdamage
 | 
			
		||||
        xorg.libXext
 | 
			
		||||
        xorg.libXfixes
 | 
			
		||||
        xorg.libXrandr
 | 
			
		||||
        xorg.libxshmfence
 | 
			
		||||
        libxkbcommon
 | 
			
		||||
        xorg.libxkbfile
 | 
			
		||||
        pango
 | 
			
		||||
        stdenv.cc.cc.lib
 | 
			
		||||
        systemd
 | 
			
		||||
      ])
 | 
			
		||||
      targetPath
 | 
			
		||||
      sqltoolsserviceRpath
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    fixupPhase = ''
 | 
			
		||||
      fix_sqltoolsservice()
 | 
			
		||||
      {
 | 
			
		||||
        mv ${sqltoolsservicePath}/$1 ${sqltoolsservicePath}/$1_old
 | 
			
		||||
        patchelf \
 | 
			
		||||
          --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
 | 
			
		||||
          ${sqltoolsservicePath}/$1_old
 | 
			
		||||
 | 
			
		||||
        makeWrapper \
 | 
			
		||||
          ${sqltoolsservicePath}/$1_old \
 | 
			
		||||
          ${sqltoolsservicePath}/$1 \
 | 
			
		||||
          --set LD_LIBRARY_PATH ${sqltoolsserviceRpath}
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      fix_sqltoolsservice MicrosoftSqlToolsServiceLayer
 | 
			
		||||
      fix_sqltoolsservice MicrosoftSqlToolsCredentials
 | 
			
		||||
      fix_sqltoolsservice SqlToolsResourceProviderService
 | 
			
		||||
 | 
			
		||||
      patchelf \
 | 
			
		||||
        --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
 | 
			
		||||
        ${targetPath}/${edition}
 | 
			
		||||
 | 
			
		||||
      mkdir -p $out/bin
 | 
			
		||||
      makeWrapper \
 | 
			
		||||
        ${targetPath}/bin/${edition} \
 | 
			
		||||
        $out/bin/azuredatastudio \
 | 
			
		||||
        --set LD_LIBRARY_PATH ${rpath}
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
    meta = {
 | 
			
		||||
      maintainers = with lib.maintainers; [xavierzwirtz];
 | 
			
		||||
      description = "A data management tool that enables working with SQL Server, Azure SQL DB and SQL DW";
 | 
			
		||||
      homepage = "https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio";
 | 
			
		||||
      sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
 | 
			
		||||
      license = lib.licenses.unfreeRedistributable;
 | 
			
		||||
      platforms = ["x86_64-linux"];
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -2,4 +2,5 @@
 | 
			
		|||
# You can build them using 'nix build .#example'
 | 
			
		||||
pkgs: {
 | 
			
		||||
  # example = pkgs.callPackage ./example { };
 | 
			
		||||
  azuredatastudio = pkgs.callPackage ./azuredatastudio {};
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue