From 5b02bc0a9e28a6d9cf153c7a0ced42d30e8b18a8 Mon Sep 17 00:00:00 2001 From: Quinn Unger Date: Wed, 22 Jul 2026 16:41:45 +0100 Subject: [PATCH] NaturalDocs: 2.3.1 -> 2.4-beta1 (#2) --- flake.nix | 67 ++++++++++++++++++++--------------- pkgs/programs/naturaldocs.nix | 57 ++++++++++++++--------------- 2 files changed, 65 insertions(+), 59 deletions(-) diff --git a/flake.nix b/flake.nix index b901a3c..df8f430 100644 --- a/flake.nix +++ b/flake.nix @@ -3,39 +3,48 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; }; outputs = - inputs@{ self, nixpkgs, ... }: + { self, nixpkgs, ... }: let inherit (nixpkgs) lib; - forEachSystem = systems: f: builtins.foldl' (lib.recursiveUpdate) { } (map (f) systems); + forEachSystem = systems: f: builtins.foldl' (lib.recursiveUpdate) { } (map f systems); in - (forEachSystem [ "x86_64-linux" ] ( - system: - let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - in - { - packages.${system} = self.overlays.default pkgs pkgs; - checks.${system} = - let - moppkgs = self.packages.${system}; - inherit (moppkgs) quartusPackages; - in - { - inherit (moppkgs) - edalize - naturaldocs - slang-server - ttf2psf - ; - quartus-prime-lite = quartusPackages.lite.latest; - quartus-prime-standard = quartusPackages.standard.latest; - quartus-prime-pro = quartusPackages.pro.latest; + (forEachSystem + [ + "aarch64-darwin" + "aarch64-linux" + "i686-linux" + "x86_64-darwin" + "x86_64-linux" + ] + ( + system: + let + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; }; - } - )) + in + { + packages.${system} = self.overlays.default pkgs pkgs; + checks.${system} = + let + moppkgs = self.packages.${system}; + inherit (moppkgs) quartusPackages; + in + { + inherit (moppkgs) + edalize + naturaldocs + slang-server + ttf2psf + ; + quartus-prime-lite = quartusPackages.lite.latest; + quartus-prime-standard = quartusPackages.standard.latest; + quartus-prime-pro = quartusPackages.pro.latest; + }; + } + ) + ) // { overlays = import ./overlays.nix; }; diff --git a/pkgs/programs/naturaldocs.nix b/pkgs/programs/naturaldocs.nix index 4405115..a77a566 100644 --- a/pkgs/programs/naturaldocs.nix +++ b/pkgs/programs/naturaldocs.nix @@ -1,43 +1,40 @@ { - lib, + buildDotnetModule, + dotnetCorePackages, + fetchFromGitHub, + sqlite, stdenv, - fetchurl, - bash, - mono, - unzip, }: -stdenv.mkDerivation rec { +buildDotnetModule (finalAttrs: { pname = "naturaldocs"; - version = "2.3.1"; - dontConfigure = true; + version = "2.4-beta1"; - src = fetchurl { - url = "https://naturaldocs.org/download/natural_docs/${version}/Natural_Docs_${version}.zip"; - hash = "sha256-khROLesf8mBtKTQ8/qID6okFSa0vd8A98c6i2AFJcss="; + src = fetchFromGitHub { + name = "${finalAttrs.pname}-${finalAttrs.version}-source"; + owner = "NaturalDocs"; + repo = "NaturalDocs"; + rev = "Version_2.4_Beta_1"; + hash = "sha256-7KJeJCTfeCUeOWg9s3X/LoV0YDZz5g0Mg51KI47AHR0="; }; - - nativeBuildInputs = [ unzip ]; - - buildInputs = [ - mono - bash + projectFile = "CLI/CLI.csproj"; + dotnet-sdk = dotnetCorePackages.sdk_10_0; + dotnet-runtime = dotnetCorePackages.runtime_10_0; + runtimeDeps = [ sqlite ]; + dotnetFlags = [ + "-property:Platform=${ + { + "aarch64-darwin" = "macOS_ARM64"; + "aarch64-linux" = "Linux_ARM64"; + "x86_64-darwin" = "macOS_x64"; + "x86_64-linux" = "Linux_x64"; + } + .${stdenv.hostPlatform.system} + }" ]; - - installPhase = '' - mkdir -p $out/NaturalDocs - cp -r ./* $out/NaturalDocs/ - mkdir -p $out/bin - cat > $out/bin/NaturalDocs<< EOF - #! ${lib.getExe bash} - exec ${mono}/bin/mono $out/NaturalDocs/NaturalDocs.exe \$@ - EOF - chmod +x $out/bin/NaturalDocs - ''; - meta = { homepage = "https://www.naturaldocs.org"; description = "Natural Docs source code documentation system"; mainProgram = "NaturalDocs"; }; -} +}) -- 2.54.0