Unverified Commit a22570f9 authored by Ben Siraphob's avatar Ben Siraphob Committed by GitHub
Browse files

craftos-pc: support for darwin (#240092)

parents 584d39c2 de29ab54
Loading
Loading
Loading
Loading
+26 −14
Original line number Diff line number Diff line
@@ -44,8 +44,10 @@ stdenv.mkDerivation rec {
  };

  nativeBuildInputs = [
    patchelf
    unzip
  ]
  ++ lib.optionals stdenv.hostPlatform.isLinux [
    patchelf
  ];
  buildInputs = [
    poco
@@ -56,6 +58,8 @@ stdenv.mkDerivation rec {
    libpng
    pngpp
    libwebp
  ]
  ++ lib.optionals stdenv.hostPlatform.isLinux [
    libX11
  ];
  strictDeps = true;
@@ -63,7 +67,7 @@ stdenv.mkDerivation rec {
  preBuild = ''
    cp -R ${craftos2-lua}/* ./craftos2-lua/
    chmod -R u+w ./craftos2-lua
    make -C craftos2-lua linux
    make -C craftos2-lua ${if stdenv.hostPlatform.isDarwin then "macosx" else "linux"}
  '';

  buildPhase = ''
@@ -83,11 +87,18 @@ stdenv.mkDerivation rec {
  installPhase = ''
    mkdir -p $out/bin $out/lib $out/share/craftos $out/include
    DESTDIR=$out/bin make install
    cp ./craftos2-lua/src/liblua.so $out/lib
    patchelf --replace-needed craftos2-lua/src/liblua.so liblua.so $out/bin/craftos
    cp ./craftos2-lua/src/liblua${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib
    ${lib.optionalString stdenv.hostPlatform.isDarwin ''
      chmod +w $out/bin/craftos
      install_name_tool -change liblua${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/liblua${stdenv.hostPlatform.extensions.sharedLibrary} $out/bin/craftos
    ''}
    ${lib.optionalString stdenv.hostPlatform.isLinux ''
      patchelf --replace-needed craftos2-lua/src/liblua${stdenv.hostPlatform.extensions.sharedLibrary} liblua${stdenv.hostPlatform.extensions.sharedLibrary} $out/bin/craftos
    ''}
    cp -R api $out/include/CraftOS-PC
    cp -R ${craftos2-rom}/* $out/share/craftos

    ${lib.optionalString stdenv.hostPlatform.isLinux ''
      mkdir -p resources/linux-icons
      unzip resources/linux-icons.zip -d resources/linux-icons
      for dim in 16 24 32 48 64 96 128 256 1024; do
@@ -98,6 +109,7 @@ stdenv.mkDerivation rec {

      mkdir -p $out/share/applications
      cp resources/linux-icons/CraftOS-PC.desktop $out/share/applications/CraftOS-PC.desktop
    ''}
  '';

  passthru.tests = {
@@ -112,7 +124,7 @@ stdenv.mkDerivation rec {
      mit
      free
    ];
    platforms = platforms.linux;
    platforms = platforms.linux ++ platforms.darwin;
    maintainers = with maintainers; [
      siraben
      tomodachi94