From e56f76f81b8a4db1dff7890c49a5776043a03cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 10 Jan 2019 16:31:01 +0100 Subject: [PATCH] gns3-server: improve expression --- pkgs/applications/networking/gns3/server.nix | 64 +++++++++----------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index 24e641abc826..4d3a8ca87e56 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -1,63 +1,54 @@ { stable, branch, version, sha256Hash }: -{ stdenv, python36Packages, fetchFromGitHub, fetchurl }: +{ stdenv, python36, fetchFromGitHub }: let - pythonPackages = python36Packages; - async-timeout = pythonPackages.async-timeout.overrideAttrs - (oldAttrs: - rec { - pname = "async-timeout"; + python = python36.override { + packageOverrides = self: super: { + async-timeout = super.async-timeout.overridePythonAttrs (oldAttrs: rec { version = "2.0.1"; - src = pythonPackages.fetchPypi { - inherit pname version; + src = oldAttrs.src.override { + inherit version; sha256 = "1l3kg062m02mph6rf9rdv8r5c5n356clxa6b6mrn0i77vk9g9kq0"; }; }); - aiohttp = pythonPackages.aiohttp.overrideAttrs - (oldAttrs: - rec { - pname = "aiohttp"; + aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec { version = "2.3.10"; - src = pythonPackages.fetchPypi { - inherit pname version; + src = oldAttrs.src.override { + inherit version; sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964"; }; - propagatedBuildInputs = [ async-timeout ] - ++ (with pythonPackages; [ attrs chardet multidict yarl idna-ssl ]); + propagatedBuildInputs = with self; [ async-timeout attrs chardet multidict yarl idna-ssl ]; + doCheck = false; }); - aiohttp-cors = pythonPackages.aiohttp-cors.overrideAttrs - (oldAttrs: - rec { - pname = "aiohttp-cors"; + aiohttp-cors = super.aiohttp-cors.overridePythonAttrs (oldAttrs: rec { version = "0.5.3"; - name = "${pname}-${version}"; - src = pythonPackages.fetchPypi { - inherit pname version; + src = oldAttrs.src.override { + inherit version; sha256 = "11b51mhr7wjfiikvj3nc5s8c7miin2zdhl3yrzcga4mbpkj892in"; }; - propagatedBuildInputs = [ aiohttp ] - ++ stdenv.lib.optional - (pythonPackages.pythonOlder "3.5") - pythonPackages.typing; + propagatedBuildInputs = with self; [ aiohttp ] + ++ stdenv.lib.optional (pythonOlder "3.5") typing; }); -in pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; + }; + }; + +in python.pkgs.buildPythonPackage { pname = "gns3-server"; + inherit version; src = fetchFromGitHub { owner = "GNS3"; - repo = pname; + repo = "gns3-server"; rev = "v${version}"; sha256 = sha256Hash; }; - propagatedBuildInputs = [ aiohttp-cors ] - ++ (with pythonPackages; [ - yarl aiohttp multidict - jinja2 psutil zipstream raven jsonschema typing - (pythonPackages.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {}) - ]); + propagatedBuildInputs = with python.pkgs; [ + aiohttp-cors yarl aiohttp multidict + jinja2 psutil zipstream raven jsonschema typing + (python.pkgs.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {}) + ]; # Requires network access doCheck = false; @@ -65,6 +56,7 @@ in pythonPackages.buildPythonPackage rec { postInstall = '' rm $out/bin/gns3loopback # For Windows only ''; + meta = with stdenv.lib; { description = "Graphical Network Simulator 3 server (${branch} release)"; longDescription = ''