nix fuckery
This commit is contained in:
		
					parent
					
						
							
								1b49477c4e
							
						
					
				
			
			
				commit
				
					
						017aadcf35
					
				
			
		
					 7 changed files with 159 additions and 79 deletions
				
			
		|  | @ -79,17 +79,17 @@ stdenv.mkDerivation (finalAttrs: { | |||
|       xorg.libXi | ||||
|       xorg.libXrandr | ||||
|     ] | ||||
|     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa ]); | ||||
|     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [Cocoa]); | ||||
| 
 | ||||
|   passthru = { | ||||
|     tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; | ||||
|     tests.pkg-config = testers.hasPkgConfigModules {package = finalAttrs.finalPackage;}; | ||||
|   }; | ||||
| 
 | ||||
|   meta = { | ||||
|     description = "Cross-platform development library (Pre-release version)"; | ||||
|     homepage = "https://libsdl.org"; | ||||
|     license = lib.licenses.zlib; | ||||
|     maintainers = with lib.maintainers; [ getchoo ]; | ||||
|     pkgConfigModules = [ "sdl3" ]; | ||||
|     maintainers = with lib.maintainers; [getchoo]; | ||||
|     pkgConfigModules = ["sdl3"]; | ||||
|   }; | ||||
| }) | ||||
							
								
								
									
										11
									
								
								nix/packages/cursed-libcxx-stdenv/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nix/packages/cursed-libcxx-stdenv/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| {llvmPackages_19, ...}: let | ||||
|   cursed-libcxx-stdenv = llvmPackages_19.libcxxStdenv.overrideAttrs (oa: { | ||||
|     postFixup = | ||||
|       (oa.postFixup or "") | ||||
|       + '' | ||||
|         ln -sf ${llvmPackages_19.libcxx}/lib/libc++.modules.json $out/resource-root/libc++.modules.json | ||||
|         ln -sf  ${llvmPackages_19.libcxx}/share $out | ||||
|       ''; | ||||
|   }); | ||||
| in | ||||
|   cursed-libcxx-stdenv | ||||
							
								
								
									
										64
									
								
								nix/packages/gooey/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								nix/packages/gooey/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,64 @@ | |||
| { | ||||
|   self, | ||||
|   sdl3, # from self.packages | ||||
|   lib, | ||||
|   fetchurl, | ||||
|   cmake, | ||||
|   ninja, | ||||
|   llvmPackages_19, | ||||
|   ... | ||||
| }: let | ||||
|   pname = "gooey"; | ||||
|   version = "0.0.1"; | ||||
| in | ||||
|   llvmPackages_19.libcxxStdenv.mkDerivation { | ||||
|     inherit pname version; | ||||
|     src = builtins.path { | ||||
|       # reproducible source path | ||||
|       path = self; | ||||
|       name = "${pname}-${version}"; | ||||
|     }; | ||||
| 
 | ||||
|     enableParallelBuilding = true; | ||||
|     strictDeps = true; | ||||
| 
 | ||||
|     nativeBuildInputs = [ | ||||
|       ninja | ||||
|       (cmake.overrideAttrs { | ||||
|         version = "3.30.4"; | ||||
|         src = let | ||||
|           cmake-version = "3.30.4"; | ||||
|         in | ||||
|           fetchurl { | ||||
|             url = "https://cmake.org/files/v${lib.versions.majorMinor cmake-version}/cmake-${cmake-version}.tar.gz"; | ||||
|             hash = "sha256-x1nJcnTx56qq/LHw0mH53pvzpdbst+LfYWMkpG/nBLI="; | ||||
|           }; | ||||
|       }) | ||||
|     ]; | ||||
| 
 | ||||
|     buildInputs = [ | ||||
|       sdl3 | ||||
|       llvmPackages_19.clang-tools | ||||
|     ]; | ||||
| 
 | ||||
|     configurePhase = '' | ||||
|       runHook preConfigure | ||||
|       cmake -GNinja . | ||||
|       runHook postConfiguree | ||||
|     ''; | ||||
| 
 | ||||
|     buildPhase = '' | ||||
|       runHook preBuild | ||||
|       ninja | ||||
|       runHook postBuild | ||||
|     ''; | ||||
| 
 | ||||
|     installPhase = '' | ||||
|       runHook preInstall | ||||
| 
 | ||||
|       mkdir -p $out/bin | ||||
|       mv gooey $out/bin | ||||
| 
 | ||||
|       runHook postInstall | ||||
|     ''; | ||||
|   } | ||||
							
								
								
									
										11
									
								
								nix/shells/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nix/shells/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| { | ||||
|   mkShell, | ||||
|   llvmPackages_19, | ||||
|   gooey, | ||||
|   ... | ||||
| }: | ||||
| mkShell.override {stdenv = llvmPackages_19.libcxxStdenv;} { | ||||
|   name = "gooey-dev-env"; | ||||
|   inputsFrom = [gooey]; | ||||
|   CMAKE_GENERATOR = "Ninja"; | ||||
| } | ||||
		Reference in a new issue