Merge pull request #307226 from OmnipotentEntity/hyperspeedcube-init

hyperspeedcube: init at 1.0.6
This commit is contained in:
Peder Bergebakken Sundt 2024-06-05 04:15:20 +02:00 committed by GitHub
commit 4bffb34316
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3942 additions and 0 deletions

3811
pkgs/by-name/hy/hyperspeedcube/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,131 @@
{ cmake
, alsa-lib
, atk
, cairo
, directx-shader-compiler
, expat
, fetchFromGitHub
, fontconfig
, freetype
, gdk-pixbuf
, glib
, gtk3
, harfbuzz
, lib
, libGL
, libX11
, libxcb
, libXcursor
, libXi
, libxkbcommon
, libXrandr
, makeWrapper
, mold
, pango
, pkg-config
, python3
, rustPlatform
, shaderc
, stdenv
, vulkan-extension-layer
, vulkan-headers
, vulkan-loader
, vulkan-tools
, vulkan-tools-lunarg
, vulkan-validation-layers
, wayland
, wrapGAppsHook3
, yq
, zlib
}:
rustPlatform.buildRustPackage rec {
pname = "hyperspeedcube";
version = "1.0.6";
src = fetchFromGitHub {
owner = "HactarCE";
repo = "Hyperspeedcube";
rev = "v${version}";
hash = "sha256-FcQuXxVxiyI4hOKS70m62BtZMfN5FzGTLagS+2B3WdY=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"key-names-1.5.1" = "sha256-ZO3mlCoUHCaMnxD2vQno6GNx0+JmwZ8OiqpyveiVfvc=";
};
};
nativeBuildInputs = [
cmake
pkg-config
(lib.getDev libxcb)
python3
makeWrapper
wrapGAppsHook3
];
buildInputs = [
alsa-lib
atk
cairo
directx-shader-compiler
expat
fontconfig
freetype
gdk-pixbuf
glib
gtk3
harfbuzz
mold
pango
shaderc
zlib
# for execution errors (see https://github.com/emilk/egui/discussions/1587)
libxkbcommon
libGL
# WINIT_UNIX_BACKEND=wayland
wayland
# WINIT_UNIX_BACKEND=x11
libXcursor
libXrandr
libXi
libX11
vulkan-headers
vulkan-loader
vulkan-tools
vulkan-tools-lunarg
vulkan-extension-layer
vulkan-validation-layers
yq
];
postInstall = ''
patchelf \
--add-needed ${vulkan-loader}/lib/libvulkan.so.1 \
--add-needed ${libGL}/lib/libEGL.so.1 \
$out/bin/hyperspeedcube
wrapProgram $out/bin/hyperspeedcube --set WAYLAND_DISPLAY "" --set XDG_SESSION_TYPE ""
touch $out/bin/nonportable
'';
meta = {
description = "Hyperspeedcube is a 3D and 4D Rubik's cube simulator";
longDescription = ''
Hyperspeedcube is a modern, beginner-friendly 3D and 4D Rubik's cube
simulator with customizable mouse and keyboard controls and advanced
features for speedsolving. It's been used to break numerous speedsolving
records and runs on all major operating systems plus the web.
'';
homepage = "https://ajfarkas.dev/hyperspeedcube/";
license = lib.licenses.cc-by-nc-sa-40;
maintainers = [ lib.maintainers.omnipotententity ];
platforms = [ "x86_64-linux" ];
};
}