Files
nixpkgs/pkgs/by-name/ha/hashlink/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

85 lines
1.5 KiB
Nix

{
stdenv,
lib,
fetchFromGitHub,
cmake,
ninja,
libGL,
libGLU,
libpng,
libjpeg_turbo,
libuv,
libvorbis,
mbedtls_2,
openal,
pcre,
SDL2,
sqlite,
}:
stdenv.mkDerivation rec {
pname = "hashlink";
version = "1.15";
src = fetchFromGitHub {
owner = "HaxeFoundation";
repo = "hashlink";
rev = version;
sha256 = "sha256-nVr+fDdna8EEHvIiXsccWFRTYzXfb4GG1zrfL+O6zLA=";
};
# incompatible pointer type error: const char ** -> const void **
postPatch = ''
substituteInPlace libs/sqlite/sqlite.c \
--replace-warn \
"sqlite3_prepare16_v2(db->db, sql, -1, &r->r, &tl)" \
"sqlite3_prepare16_v2(db->db, sql, -1, &r->r, (const void**)&tl)"
'';
buildInputs = [
libGL
libGLU
libjpeg_turbo
libpng
libuv
libvorbis
mbedtls_2
openal
pcre
SDL2
sqlite
];
nativeBuildInputs = [
cmake
ninja
];
# append default installPhase with library install for haxe
postInstall =
let
haxelibPath = "$out/lib/haxe/hashlink/${lib.replaceStrings [ "." ] [ "," ] version}";
in
''
mkdir -p "${haxelibPath}"
echo -n "${version}" > "${haxelibPath}/../.current"
cp -r ../other/haxelib/* "${haxelibPath}"
'';
meta = with lib; {
description = "Virtual machine for Haxe";
mainProgram = "hl";
homepage = "https://hashlink.haxe.org/";
license = licenses.mit;
platforms = [
"x86_64-linux"
"x86_64-darwin"
];
maintainers = with maintainers; [
iblech
locallycompact
logo
];
};
}