1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 qt6,
8 libarchive,
9 libpng,
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "CEmu";
14 version = "2.0";
15 src = fetchFromGitHub {
16 owner = "CE-Programming";
17 repo = "CEmu";
18 rev = "v${finalAttrs.version}";
19 hash = "sha256-fohsIJrvPDMmYHoPbmYQlKLMnj/B3XEBaerZYuqxvd8=";
20 fetchSubmodules = true;
21 };
22
23 sourceRoot = "${finalAttrs.src.name}/gui/qt/";
24
25 patches = [
26 # This is resolved upstream, but I can't apply the patch because the
27 # sourceRoot isn't set to the base of the Git repo.
28 ./resolve-ambiguous-constexpr.patch
29 ];
30
31 nativeBuildInputs = [
32 cmake
33 qt6.wrapQtAppsHook
34 pkg-config
35 ];
36
37 buildInputs = [
38 qt6.qtbase
39 libarchive
40 libpng
41 ];
42
43 meta = with lib; {
44 description = "Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features";
45 mainProgram = "CEmu";
46 homepage = "https://ce-programming.github.io/CEmu";
47 license = licenses.gpl3Plus;
48 maintainers = with maintainers; [ ];
49 platforms = [
50 "x86_64-linux"
51 "x86_64-darwin"
52 "aarch64-linux"
53 ];
54 broken = stdenv.hostPlatform.isDarwin || (stdenv.system == "x86_64-linux");
55 };
56})