forked from mirrors/nixpkgs
Merge pull request #208826 from Luflosi/teeworlds-macOS
teeworlds: build on macOS
This commit is contained in:
commit
9562fb479b
|
@ -1,6 +1,8 @@
|
|||
{ fetchFromGitHub, lib, stdenv, cmake, pkg-config, python3, alsa-lib
|
||||
, libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack, icoutils
|
||||
, nixosTests
|
||||
, Carbon
|
||||
, Cocoa
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -15,26 +17,57 @@ stdenv.mkDerivation rec {
|
|||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Can't use fetchpatch or fetchpatch2 because of https://github.com/NixOS/nixpkgs/issues/32084
|
||||
# Using fetchurl instead is also not a good idea, see https://github.com/NixOS/nixpkgs/issues/32084#issuecomment-727223713
|
||||
./rename-VERSION-to-VERSION.txt.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# set compiled-in DATA_DIR so resources can be found
|
||||
substituteInPlace src/engine/shared/storage.cpp \
|
||||
--replace '#define DATA_DIR "data"' \
|
||||
'#define DATA_DIR "${placeholder "out"}/share/teeworlds/data"'
|
||||
|
||||
# Quote nonsense is a workaround for https://github.com/NixOS/nix/issues/661
|
||||
substituteInPlace 'other/bundle/client/Info.plist.in' \
|
||||
--replace ${"'"}''${TARGET_CLIENT}' 'teeworlds' \
|
||||
--replace ${"'"}''${PROJECT_VERSION}' '${version}'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config icoutils ];
|
||||
|
||||
buildInputs = [
|
||||
python3 alsa-lib libX11 libGLU SDL2 lua5_3 zlib freetype wavpack
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
icoutils
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
buildInputs = [
|
||||
python3 libGLU SDL2 lua5_3 zlib freetype wavpack
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
libX11
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Carbon
|
||||
Cocoa
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
# Convert and install desktop icon
|
||||
mkdir -p $out/share/pixmaps
|
||||
icotool --extract --index 1 --output $out/share/pixmaps/teeworlds.png $src/other/icons/teeworlds.ico
|
||||
|
||||
# Install menu item
|
||||
install -D $src/other/teeworlds.desktop $out/share/applications/teeworlds.desktop
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p "$out/Applications/teeworlds.app/Contents/MacOS"
|
||||
mkdir -p "$out/Applications/teeworlds.app/Contents/Resources"
|
||||
|
||||
cp '../other/icons/teeworlds.icns' "$out/Applications/teeworlds.app/Contents/Resources/"
|
||||
cp '../other/bundle/client/Info.plist.in' "$out/Applications/teeworlds.app/Contents/Info.plist"
|
||||
cp '../other/bundle/client/PkgInfo' "$out/Applications/teeworlds.app/Contents/"
|
||||
ln -s "$out/bin/teeworlds" "$out/Applications/teeworlds.app/Contents/MacOS/"
|
||||
ln -s "$out/share/teeworlds/data" "$out/Applications/teeworlds.app/Contents/Resources/data"
|
||||
'';
|
||||
|
||||
passthru.tests.teeworlds = nixosTests.teeworlds;
|
||||
|
@ -51,7 +84,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
homepage = "https://teeworlds.com/";
|
||||
license = "BSD-style, see `license.txt'";
|
||||
maintainers = with lib.maintainers; [ astsmtl ];
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ astsmtl Luflosi ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
33
pkgs/games/teeworlds/rename-VERSION-to-VERSION.txt.patch
Normal file
33
pkgs/games/teeworlds/rename-VERSION-to-VERSION.txt.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 86d6687ef07f7f05457a7f67537b650656b13820 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Robert=20M=C3=BCller?= <robert.mueller@uni-siegen.de>
|
||||
Date: Fri, 15 Oct 2021 23:45:50 +0200
|
||||
Subject: [PATCH] rename VERSION to VERSION.txt:
|
||||
|
||||
Fixes compilation on systems with case insensitive file names where the standard library includes the version file source code.
|
||||
---
|
||||
src/engine/external/json-parser/{VERSION => VERSION.txt} | 0
|
||||
src/engine/external/pnglite/{VERSION => VERSION.txt} | 0
|
||||
src/engine/external/wavpack/{VERSION => VERSION.txt} | 0
|
||||
src/engine/external/zlib/{VERSION => VERSION.txt} | 0
|
||||
4 files changed, 0 insertions(+), 0 deletions(-)
|
||||
rename src/engine/external/json-parser/{VERSION => VERSION.txt} (100%)
|
||||
rename src/engine/external/pnglite/{VERSION => VERSION.txt} (100%)
|
||||
rename src/engine/external/wavpack/{VERSION => VERSION.txt} (100%)
|
||||
rename src/engine/external/zlib/{VERSION => VERSION.txt} (100%)
|
||||
|
||||
diff --git a/src/engine/external/json-parser/VERSION b/src/engine/external/json-parser/VERSION.txt
|
||||
similarity index 100%
|
||||
rename from src/engine/external/json-parser/VERSION
|
||||
rename to src/engine/external/json-parser/VERSION.txt
|
||||
diff --git a/src/engine/external/pnglite/VERSION b/src/engine/external/pnglite/VERSION.txt
|
||||
similarity index 100%
|
||||
rename from src/engine/external/pnglite/VERSION
|
||||
rename to src/engine/external/pnglite/VERSION.txt
|
||||
diff --git a/src/engine/external/wavpack/VERSION b/src/engine/external/wavpack/VERSION.txt
|
||||
similarity index 100%
|
||||
rename from src/engine/external/wavpack/VERSION
|
||||
rename to src/engine/external/wavpack/VERSION.txt
|
||||
diff --git a/src/engine/external/zlib/VERSION b/src/engine/external/zlib/VERSION.txt
|
||||
similarity index 100%
|
||||
rename from src/engine/external/zlib/VERSION
|
||||
rename to src/engine/external/zlib/VERSION.txt
|
|
@ -35514,7 +35514,9 @@ with pkgs;
|
|||
|
||||
teetertorture = callPackage ../games/teetertorture { };
|
||||
|
||||
teeworlds = callPackage ../games/teeworlds { };
|
||||
teeworlds = callPackage ../games/teeworlds {
|
||||
inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
|
||||
};
|
||||
|
||||
tengine = callPackage ../servers/http/tengine {
|
||||
openssl = openssl_1_1;
|
||||
|
|
Loading…
Reference in a new issue