Skip to content

Commit

Permalink
tuxclocker: init at 1.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Lurkki14 committed Dec 14, 2023
1 parent 90dfce2 commit 46e9f82
Show file tree
Hide file tree
Showing 6 changed files with 178 additions and 0 deletions.
66 changes: 66 additions & 0 deletions pkgs/applications/misc/tuxclocker/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{ lib
, stdenv
, boost
, fetchFromGitHub
, git
, makeWrapper
, meson
, ninja
, pkg-config
, python3
, qtbase
, qtcharts
, tuxclocker-plugins
, wrapQtAppsHook
}:

stdenv.mkDerivation (finalAttrs: {
pname = "tuxclocker";
version = "1.4.0";

src = fetchFromGitHub {
owner = "Lurkki14";
repo = "tuxclocker";
fetchSubmodules = true;
rev = "${finalAttrs.version}";
hash = "sha256-8dtuZXBWftXNQpqYgNQOayPGfvEIu9QfbqDShfkt1qA=";
};

# Meson doesn't find boost without these
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";

nativeBuildInputs = [
git
makeWrapper
meson
ninja
pkg-config
wrapQtAppsHook
];

buildInputs = [
boost
qtbase
qtcharts
];

postInstall = ''
wrapProgram "$out/bin/tuxclockerd" \
--prefix "TEXTDOMAINDIR" : "${tuxclocker-plugins}/share/locale" \
--prefix "TUXCLOCKER_PLUGIN_PATH" : "${tuxclocker-plugins}/lib/tuxclocker/plugins" \
--prefix "PYTHONPATH" : "${python3.pkgs.hwdata}/${python3.sitePackages}"
'';

mesonFlags = [
"-Dplugins=false"
];

meta = with lib; {
description = "Qt overclocking tool for GNU/Linux";
homepage = "https://github.com/Lurkki14/tuxclocker";
license = licenses.gpl3Only;
maintainers = with maintainers; [ lurkki ];
platforms = platforms.linux;
};
})
14 changes: 14 additions & 0 deletions pkgs/by-name/tu/tuxclocker-nvidia-plugin/no-cpu-plugin.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
index cdd3b5b..a5a2174 100644
--- a/src/plugins/meson.build
+++ b/src/plugins/meson.build
@@ -63,9 +63,3 @@ if all_nvidia_linux_libs
install : true,
link_with : libtuxclocker)
endif
-
-shared_library('cpu', 'CPU.cpp', 'Utils.cpp',
- include_directories : [incdir, fplus_inc],
- install_dir : get_option('libdir') / 'tuxclocker' / 'plugins',
- install : true,
- link_with : libtuxclocker)
34 changes: 34 additions & 0 deletions pkgs/by-name/tu/tuxclocker-nvidia-plugin/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{ lib
, stdenv
, boost
, libX11
, libXext
, linuxPackages
, openssl
, tuxclocker-plugins
}:

stdenv.mkDerivation {
pname = "tuxclocker-nvidia-plugin";

inherit (tuxclocker-plugins) src version meta BOOST_INCLUDEDIR BOOST_LIBRARYDIR nativeBuildInputs;

buildInputs = [
boost
libX11
libXext
linuxPackages.nvidia_x11
linuxPackages.nvidia_x11.settings.libXNVCtrl
openssl
];

# Build doesn't have a way to disable building the CPU plugin, which is already
# provided by 'tuxclocker-plugins'
patches = [ ./no-cpu-plugin.patch ];

mesonFlags = [
"-Ddaemon=false"
"-Dgui=false"
"-Drequire-nvidia=true"
];
}
16 changes: 16 additions & 0 deletions pkgs/by-name/tu/tuxclocker-plugins-with-unfree/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{ symlinkJoin
, tuxclocker-nvidia-plugin
, tuxclocker-plugins
}:

symlinkJoin rec {
inherit (tuxclocker-plugins) version meta;

pname = "tuxclocker-plugins-with-unfree";
name = "${pname}-${version}";

paths = [
tuxclocker-nvidia-plugin
tuxclocker-plugins
];
}
42 changes: 42 additions & 0 deletions pkgs/by-name/tu/tuxclocker-plugins/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{ lib
, stdenv
, boost
, cmake
, gettext
, git
, libdrm
, meson
, ninja
, openssl
, pkg-config
, python3
, tuxclocker
}:

stdenv.mkDerivation {
inherit (tuxclocker) src version meta BOOST_INCLUDEDIR BOOST_LIBRARYDIR;

pname = "tuxclocker-plugins";

nativeBuildInputs = [
gettext
git
meson
ninja
pkg-config
(python3.withPackages(p: [ p.hwdata ]))
];

buildInputs = [
boost
libdrm
openssl
];

mesonFlags = [
"-Ddaemon=false"
"-Dgui=false"
"-Drequire-amd=true"
"-Drequire-python-hwdata=true"
];
}
6 changes: 6 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -36016,6 +36016,12 @@ with pkgs;

tut = callPackage ../applications/misc/tut { };

tuxclocker = libsForQt5.callPackage ../applications/misc/tuxclocker {
tuxclocker-plugins = tuxclocker-plugins-with-unfree;
};

tuxclocker-without-unfree = libsForQt5.callPackage ../applications/misc/tuxclocker { };

tuxedo-rs = callPackage ../os-specific/linux/tuxedo-rs { };

tuxguitar = callPackage ../applications/editors/music/tuxguitar {
Expand Down

0 comments on commit 46e9f82

Please sign in to comment.