From 2a6888179e4d0de3fc8783ad2b8f0ee2373b1593 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 28 Nov 2025 10:18:47 +0000 Subject: chore: Support macOS --- build.ninja | 2 +- flake.nix | 58 ++++++++++++++++++++++++++++++++-------------------------- maple/maple.cc | 5 ++++- 3 files changed, 37 insertions(+), 28 deletions(-) diff --git a/build.ninja b/build.ninja index 8505e2c..861ce91 100644 --- a/build.ninja +++ b/build.ninja @@ -1,5 +1,5 @@ cc = clang++ -cxxflags = -std=c++23 -Weverything -Wno-padded -Wno-c++98-compat -MMD -Wno-c++98-compat-pedantic +cxxflags = -std=c++20 -Weverything -Wno-padded -Wno-c++98-compat -MMD -Wno-c++98-compat-pedantic ldflags = -lssl -lcrypto outdir = build name = maple diff --git a/flake.nix b/flake.nix index 3030c61..b301e2d 100644 --- a/flake.nix +++ b/flake.nix @@ -34,36 +34,42 @@ license = licenses.gpl3Only; maintainers = [ maintainers.Fuwn ]; mainPackage = "maple"; - platforms = platforms.linux; + platforms = platforms.unix; }; maple = with pkgs; - (stdenvAdapters.useMoldLinker clangStdenvNoLibs).mkDerivation { - inherit meta; - - name = "maple"; - version = "0.1.6"; - src = lib.cleanSource ./.; - - nativeBuildInputs = [ - ninja - clang - ]; - - buildInputs = [ - libressl.dev - ]; - - buildPhase = '' - mkdir -p $out/bin - ninja - ''; - - installPhase = '' - cp build/maple $out/bin/maple - ''; - }; + ( + if pkgs.stdenv.isDarwin then + pkgs.clangStdenvNoLibs + else + pkgs.stdenvAdapters.useMoldLinker pkgs.clangStdenvNoLibs + ).mkDerivation + { + inherit meta; + + name = "maple"; + version = "0.1.6"; + src = lib.cleanSource ./.; + + nativeBuildInputs = [ + ninja + clang + ]; + + buildInputs = [ + libressl.dev + ]; + + buildPhase = '' + mkdir -p $out/bin + ninja + ''; + + installPhase = '' + cp build/maple $out/bin/maple + ''; + }; in { packages = { diff --git a/maple/maple.cc b/maple/maple.cc index 85ec862..1a1ba5c 100644 --- a/maple/maple.cc +++ b/maple/maple.cc @@ -20,7 +20,6 @@ #include #include -#include #include #include #include @@ -37,6 +36,10 @@ #include #include +#if !defined(__APPLE__) +#include +#endif + #include "gemini.hh" #include "maple.hh" #include "titan.hh" -- cgit v1.2.3