From 6d7f0bca40abb35d393f67eb47304a4f0e4e6c63 Mon Sep 17 00:00:00 2001 From: Bryan Gardiner Date: Thu, 27 Aug 2020 17:50:58 -0700 Subject: [PATCH 1/3] linuxPackages.system76: init at 1.0.9 --- pkgs/os-specific/linux/system76/default.nix | 42 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/os-specific/linux/system76/default.nix diff --git a/pkgs/os-specific/linux/system76/default.nix b/pkgs/os-specific/linux/system76/default.nix new file mode 100644 index 000000000000..be6c1f6c3ad6 --- /dev/null +++ b/pkgs/os-specific/linux/system76/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, kernel }: +let + version = "1.0.9"; + sha256 = "0i4825y2vd679kdjv30ifzj1i1066d3x37z4lgk39hx16993k162"; +in +stdenv.mkDerivation { + name = "system76-module-${version}-${kernel.version}"; + + passthru.moduleName = "system76"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "system76-dkms"; + rev = version; + inherit sha256; + }; + + hardeningDisable = [ "pic" ]; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + buildFlags = [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + installPhase = '' + install -D system76.ko $out/lib/modules/${kernel.modDirVersion}/misc/system76.ko + ''; + + meta = with stdenv.lib; { + maintainers = [ maintainers.khumba ]; + license = [ licenses.gpl2Plus ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + broken = versionOlder kernel.version "4.14"; + description = "System76 DKMS driver"; + homepage = "https://github.com/pop-os/system76-dkms"; + longDescription = '' + The System76 DKMS driver. On newer System76 laptops, this driver controls + some of the hotkeys and allows for custom fan control. + ''; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 043cd123261c..15b30eecc2b5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17804,6 +17804,8 @@ in systemtap = callPackage ../development/tools/profiling/systemtap { }; + system76 = callPackage ../os-specific/linux/system76 { }; + tmon = callPackage ../os-specific/linux/tmon { }; tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; From 649b00db5b7cd488fa8279f979b2baaf7967e8e5 Mon Sep 17 00:00:00 2001 From: Bryan Gardiner Date: Thu, 27 Aug 2020 17:51:13 -0700 Subject: [PATCH 2/3] linuxPackages.system76-acpi: init at 1.0.1 --- .../linux/system76-acpi/default.nix | 41 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/os-specific/linux/system76-acpi/default.nix diff --git a/pkgs/os-specific/linux/system76-acpi/default.nix b/pkgs/os-specific/linux/system76-acpi/default.nix new file mode 100644 index 000000000000..e97e17784cbf --- /dev/null +++ b/pkgs/os-specific/linux/system76-acpi/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub, kernel }: +let + version = "1.0.1"; + sha256 = "0jmm9h607f7k20yassm6af9mh5l00yih5248wwv4i05bd68yw3p5"; +in +stdenv.mkDerivation { + name = "system76-acpi-module-${version}-${kernel.version}"; + + passthru.moduleName = "system76_acpi"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "system76-acpi-dkms"; + rev = version; + inherit sha256; + }; + + hardeningDisable = [ "pic" ]; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + buildFlags = [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + installPhase = '' + install -D system76_acpi.ko $out/lib/modules/${kernel.modDirVersion}/misc/system76_acpi.ko + ''; + + meta = with stdenv.lib; { + maintainers = [ maintainers.khumba ]; + license = [ licenses.gpl2Only ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + broken = versionOlder kernel.version "4.14"; + description = "System76 ACPI Driver (DKMS)"; + homepage = "https://github.com/pop-os/system76-acpi-dkms"; + longDescription = '' + This provides the system76_acpi in-tree driver for systems missing it. + ''; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 15b30eecc2b5..d4c3acee6680 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17806,6 +17806,8 @@ in system76 = callPackage ../os-specific/linux/system76 { }; + system76-acpi = callPackage ../os-specific/linux/system76-acpi { }; + tmon = callPackage ../os-specific/linux/tmon { }; tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; From 8ea0979284f503b5ab9583052cedf1ab05210006 Mon Sep 17 00:00:00 2001 From: Bryan Gardiner Date: Thu, 27 Aug 2020 17:51:40 -0700 Subject: [PATCH 3/3] linuxPackages.system76-io: init at 1.0.1 --- .../os-specific/linux/system76-io/default.nix | 38 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/os-specific/linux/system76-io/default.nix diff --git a/pkgs/os-specific/linux/system76-io/default.nix b/pkgs/os-specific/linux/system76-io/default.nix new file mode 100644 index 000000000000..dac1e2db1e38 --- /dev/null +++ b/pkgs/os-specific/linux/system76-io/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, kernel }: +let + version = "1.0.1"; + sha256 = "0qkgkkjy1isv6ws6hrcal75dxjz98rpnvqbm7agdcc6yv0c17wwh"; +in +stdenv.mkDerivation { + name = "system76-io-module-${version}-${kernel.version}"; + + passthru.moduleName = "system76_io"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "system76-io-dkms"; + rev = version; + inherit sha256; + }; + + hardeningDisable = [ "pic" ]; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + buildFlags = [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + installPhase = '' + install -D system76-io.ko $out/lib/modules/${kernel.modDirVersion}/misc/system76-io.ko + ''; + + meta = with stdenv.lib; { + maintainers = [ maintainers.khumba ]; + license = [ licenses.gpl2Plus ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + broken = versionOlder kernel.version "4.14"; + description = "DKMS module for controlling System76 I/O board"; + homepage = "https://github.com/pop-os/system76-io-dkms"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4c3acee6680..16d3ef029163 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17808,6 +17808,8 @@ in system76-acpi = callPackage ../os-specific/linux/system76-acpi { }; + system76-io = callPackage ../os-specific/linux/system76-io { }; + tmon = callPackage ../os-specific/linux/tmon { }; tp_smapi = callPackage ../os-specific/linux/tp_smapi { };