nixpkgs/pkgs/by-name/g1/g15daemon/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

91 lines
2.5 KiB
Nix

{ stdenv
, lib
, fetchurl
, libusb-compat-0_1
}:
let
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ peterhoeg ];
g15src = { pname, version, sha256 }: fetchurl {
url = "mirror://sourceforge/g15tools/${pname}/${version}/${pname}-${version}.tar.bz2";
inherit sha256;
};
libg15 = stdenv.mkDerivation rec {
pname = "libg15";
version = "1.2.7";
src = g15src {
inherit pname version;
sha256 = "1mkrf622n0cmz57lj8w9q82a9dcr1lmyyxbnrghrxzb6gvifnbqk";
};
buildInputs = [ libusb-compat-0_1 ];
enableParallelBuilding = true;
meta = {
description = "Provides low-level access to Logitech G11/G15 keyboards and Z10 speakers";
inherit license maintainers;
};
};
libg15render = stdenv.mkDerivation rec {
pname = "libg15render";
version = "1.2";
src = g15src {
inherit pname version;
sha256 = "03yjb78j1fnr2fwklxy54sdljwi0imvp29m8kmwl9v0pdapka8yj";
};
buildInputs = [ libg15 ];
enableParallelBuilding = true;
meta = {
description = "Small graphics library optimised for drawing on an LCD";
inherit license maintainers;
};
};
in
stdenv.mkDerivation rec {
pname = "g15daemon";
version = "1.9.5.3";
src = fetchurl {
url = "mirror://sourceforge/${pname}/G15Daemon%201.9x/${version}/${pname}-${version}.tar.bz2";
sha256 = "1613gsp5dgilwbshqxxhiyw73ksngnam7n1iw6yxdjkp9fyd2a3d";
};
patches = let
patch = fname: sha256: fetchurl rec {
url = "https://raw.githubusercontent.com/archlinux/svntogit-community/c0b0b6d4d6d7b79eca68123b20e0c9fb82e1c6e1/g15daemon/trunk/${pname}-${version}-${fname}.patch";
name = "${fname}.patch";
inherit sha256;
};
in
[
(patch "uinput" "1misfff7a1vg0qgfk3n25y7drnm86a4gq96iflpcwr5x3lw7q0h7")
(patch "config-write" "0jkrbqvzqrvxr14h5qi17cb4d32caq7vw9kzlz3qwpxdgxjrjvy2")
(patch "recv-oob-answer" "1f67iqpj5hcgpakagi7gbw1xviwhy5vizs546l9bfjimx8r2d29g")
./pid_location.patch
];
buildInputs = [ libg15 libg15render ];
# Workaround build failure on -fno-common toolchains like upstream gcc-10:
# ld: g15_plugins.o:/build/g15daemon-1.9.5.3/g15daemon/./g15daemon.h:218:
# multiple definition of `lcdlist_mutex'; utility_funcs.o:g15daemon.h:218: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
enableParallelBuilding = true;
meta = {
description = "Daemon that makes it possible to use the Logitech keyboard G-Buttons and draw on various Logitech LCDs";
mainProgram = "g15daemon";
inherit license maintainers;
};
}