Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ callPackage, fetchpatch }:
2
3let
4 common = callPackage ./common.nix { };
5in
6{
7 mir = common {
8 version = "2.21.1";
9 hash = "sha256-FDZ40LiuvMuyWQQGjgOHTm+J3i7yczKMzL3dZ1jsz/E=";
10 patches = [
11 (fetchpatch {
12 name = "0001-Fix-gtest-nodiscard-error.patch";
13 url = "https://github.com/canonical/mir/commit/60dab2b197deb159087e44865e7314ad2865b79d.patch";
14 hash = "sha256-fB49E+Wjm2zJnie9Ws+tP0d6lxcG3V/C/UDfy/4iuFU=";
15 })
16 ];
17 };
18
19 mir_2_15 = common {
20 version = "2.15.0";
21 pinned = true;
22 hash = "sha256-c1+gxzLEtNCjR/mx76O5QElQ8+AO4WsfcG7Wy1+nC6E=";
23 patches = [
24 # Fix gbm-kms tests
25 # Remove when version > 2.15.0
26 (fetchpatch {
27 name = "0001-mir-Fix-the-signature-of-drmModeCrtcSetGamma.patch";
28 url = "https://github.com/canonical/mir/commit/98250e9c32c5b9b940da2fb0a32d8139bbc68157.patch";
29 hash = "sha256-tTtOHGNue5rsppOIQSfkOH5sVfFSn/KPGHmubNlRtLI=";
30 })
31 # Fix external_client tests
32 # Remove when version > 2.15.0
33 (fetchpatch {
34 name = "0002-mir-Fix-cannot_start_X_Server_and_outdated_tests.patch";
35 url = "https://github.com/canonical/mir/commit/0704026bd06372ea8286a46d8c939286dd8a8c68.patch";
36 hash = "sha256-k+51piPQandbHdm+ioqpBrb+C7Aqi2kugchAehZ1aiU=";
37 })
38
39 # Always depend on epoxy
40 # Remove when version > 2.15.0
41 (fetchpatch {
42 name = "0003-mir-cmake-always-require-epoxy.patch";
43 url = "https://github.com/canonical/mir/commit/171c42ac3929f946a70505ee42be0ce8220f245a.patch";
44 hash = "sha256-QuVZBcHSn/DK+xbjM36Y89+w22vk7NRV4MkbjgvS28A=";
45 })
46
47 # Fix ignored return value of std::lock_guard
48 # Remove when version > 2.15.0
49 # Was changed as part of the big platform API change, no individual upstream commit with this fix
50 ./1001-mir-2_15-Fix-ignored-return-value-of-std-lock_guard.patch
51
52 # Fix missing includes for methods from algorithm
53 # Remove when version > 2.16.4
54 # https://github.com/canonical/mir/pull/3191 backported to 2.15
55 ./1002-mir-2_15-Add-missing-includes-for-algorithm.patch
56
57 # Fix order of calloc arguments
58 # Remove when version > 2.16.4
59 # Partially done in https://github.com/canonical/mir/pull/3192, though one of the calloc was fixed earlier
60 # when some code was moved into that file
61 ./1003-mir-2_15-calloc-args-in-right-order.patch
62
63 # Drop gflags & glog dependencies
64 # Remove when version > 2.16.4
65 (fetchpatch {
66 name = "0101-Drop-unused-dependency-on-gflags.patch";
67 url = "https://github.com/canonical/mir/commit/15a40638e5e9c4b6a11b7fa446ad31e190f485e7.patch";
68 includes = [
69 "CMakeLists.txt"
70 "examples/mir_demo_server/CMakeLists.txt"
71 "examples/mir_demo_server/glog_logger.cpp"
72 ];
73 hash = "sha256-qIsWCOs6Ap0jJ2cpgdO+xJHmSqC6zP+J3ALAfmlA6Vc=";
74 })
75 (fetchpatch {
76 name = "0102-Drop-the-glog-example.patch";
77 url = "https://github.com/canonical/mir/commit/8407da28ddb9a535df2775f224bf5143e8770d52.patch";
78 includes = [
79 "CMakeLists.txt"
80 "examples/mir_demo_server/CMakeLists.txt"
81 "examples/mir_demo_server/glog_logger.cpp"
82 "examples/mir_demo_server/glog_logger.h"
83 "examples/mir_demo_server/server_example.cpp"
84 "examples/mir_demo_server/server_example_log_options.cpp"
85 "examples/mir_demo_server/server_example_log_options.h"
86 ];
87 hash = "sha256-jVhVR7wZZZGRS40z+HPNoGBLHulvE1nHRKgYhQ6/g9M=";
88 })
89
90 # Fix compat with newer GTest
91 # Remove when version > 2.21.1
92 (fetchpatch {
93 name = "0201-Fix-gtest-nodiscard-error.patch";
94 url = "https://github.com/canonical/mir/commit/60dab2b197deb159087e44865e7314ad2865b79d.patch";
95 includes = [
96 "tests/integration-tests/input/test_single_seat_setup.cpp"
97 "tests/unit-tests/input/test_default_input_device_hub.cpp"
98 ];
99 hash = "sha256-gzLVQW9Z6y+s2D7pKtp0ondQrjkzZ5iUYhGDPqFXD5M=";
100 })
101 ];
102 };
103}