nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 stdenv,
6 pkg-config,
7 expat,
8 fontconfig,
9 freetype,
10 libGL,
11 libxrandr,
12 libxi,
13 libxcursor,
14 libx11,
15}:
16
17rustPlatform.buildRustPackage rec {
18 pname = "epick";
19 version = "0.9.0";
20
21 src = fetchFromGitHub {
22 owner = "vv9k";
23 repo = "epick";
24 # Upstream has rewritten tags on multiple occasions.
25 rev = "14ee92e049780406fffdc1e4a83bf1433775663f";
26 sha256 = "sha256-gjqAQrGJ9KFdzn2a3fOgu0VJ9zrX5stsbzriOGJaD/4=";
27 };
28
29 cargoHash = "sha256-r/0aNzU8jm2AqiZWq4plxXY/H7qKVC8nEI9BwOUKCdA=";
30
31 nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [
32 pkg-config
33 ];
34
35 buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
36 expat
37 fontconfig
38 freetype
39 libx11
40 libxcursor
41 libxi
42 libxrandr
43 ];
44
45 postInstall = ''
46 install -Dm444 assets/epick.desktop -t $out/share/applications
47 install -Dm444 assets/icon.svg $out/share/icons/hicolor/scalable/apps/epick.svg
48 install -Dm444 assets/icon.png $out/share/icons/hicolor/48x48/apps/epick.png
49 '';
50
51 postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
52 patchelf $out/bin/epick --add-rpath ${lib.makeLibraryPath [ libGL ]}
53 '';
54
55 meta = {
56 description = "Simple color picker that lets the user create harmonic palettes with ease";
57 homepage = "https://github.com/vv9k/epick";
58 changelog = "https://github.com/vv9k/epick/blob/${version}/CHANGELOG.md";
59 license = lib.licenses.gpl3Only;
60 maintainers = [ ];
61 mainProgram = "epick";
62 };
63}