Arkadiusz Ryś 2 vuotta sitten
vanhempi
commit
4e9a7e77f2
2 muutettua tiedostoa jossa 61 lisäystä ja 22 poistoa
  1. 17 1
      flake.lock
  2. 44 21
      flake.nix

+ 17 - 1
flake.lock

@@ -34,10 +34,26 @@
         "type": "github"
       }
     },
+    "nur": {
+      "locked": {
+        "lastModified": 1693555295,
+        "narHash": "sha256-wmMYa7Wki1V53nkH50bUD9mmg5OMjgXG18BVadS1sgQ=",
+        "owner": "nix-community",
+        "repo": "NUR",
+        "rev": "92cc0ab078f0d82002caefbb9a8f38d198d03763",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "repo": "NUR",
+        "type": "github"
+      }
+    },
     "root": {
       "inputs": {
         "flake-utils": "flake-utils",
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs",
+        "nur": "nur"
       }
     },
     "systems": {

+ 44 - 21
flake.nix

@@ -3,9 +3,10 @@
   inputs = {
     nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
     flake-utils.url = github:numtide/flake-utils;
+    nur.url = github:nix-community/NUR;
   };
 
-  outputs = { self, nixpkgs, flake-utils }:
+  outputs = { self, nixpkgs, flake-utils, nur }:
     flake-utils.lib.eachDefaultSystem (system:
       let
         pkgs = nixpkgs.legacyPackages.${system};
@@ -50,26 +51,48 @@
           };
         };
         dearpygui = pkgs.python3Packages.buildPythonPackage rec {
-          pname = "dearpygui";
-          version = "1.9.1";
-          src = pkgs.python3Packages.fetchPypi {
-            inherit pname version;
-            sha256 = "sha256-WgBv5EWQw2KgP+RRI3B07ZlWPQM08bxuxsfUmOykHkY=";
-            format = "wheel";
-            python = "cp310";
-            dist = "cp310";
-            abi = "cp310";
-            platform = "manylinux1_x86_64";
-          };
-          propagatedBuildInputs = with pkgs.python3Packages; [
-            setuptools
-          ];
-          doCheck = false;
-          meta = {
-            homepage = "https://github.com/hoffstadt/DearPyGui";
-            description = "dearpygui.";
-          };
-        };
+            pname = "dearpygui";
+            version = "1.9.1";
+            src = pkgs.fetchFromGitHub {
+                owner = "hoffstadt";
+                repo = "DearPyGui";
+                rev = "v${version}";
+                fetchSubmodules = true;
+                hash = "sha256-Af1jhQYT0CYNFMWihAtP6jRNYKm3XKEu3brFOPSGCnk=";
+            };
+            cmakeFlags = [ "-DMVDIST_ONLY=True" ];
+            postConfigure = ''
+                cd $cmakeDir
+                mv build cmake-build-local
+            '';
+            nativeBuildInputs = [ pkgs.pkg-config pkgs.cmake ];
+            buildInputs = [
+                pkgs.libxcrypt
+                pkgs.xorg.libX11.dev
+                pkgs.xorg.libXrandr.dev
+                pkgs.xorg.libXinerama.dev
+                pkgs.xorg.libXcursor.dev
+                pkgs.xorg.xinput
+                pkgs.xorg.libXi.dev
+                pkgs.xorg.libXext
+                # are in submodules but well cmake and setuptools are hell of a couple
+                pkgs.glfw
+                pkgs.glew
+            ];
+            dontUseSetuptoolsCheck = true;
+            pythonImportsCheck = [
+                "dearpygui"
+            ];
+            meta = {
+                #maintainers = [ lib.maintainers.SomeoneSerge ];
+                #license = lib.licenses.mit;
+                description = ''
+                Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
+                '';
+                homepage = "https://dearpygui.readthedocs.io/en/";
+                #broken = stdenv.isDarwin;
+                #platforms = lib.platforms.unix;
+            };};
       in {
         packages = rec {
           get = pkgs.python3Packages.buildPythonPackage {