diff --git a/pkgs/by-name/ta/tacent/package.nix b/pkgs/by-name/ta/tacent/package.nix new file mode 100644 index 000000000000..a55a4e950426 --- /dev/null +++ b/pkgs/by-name/ta/tacent/package.nix @@ -0,0 +1,41 @@ +{ + cmake, + fetchFromGitHub, + lib, + ninja, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "tacent"; + version = "0.8.18"; + + src = fetchFromGitHub { + owner = "bluescan"; + repo = "tacent"; + tag = finalAttrs.version; + hash = "sha256-z8VuJS8OaVw5CeO/udvBEmcURKIy1oWVYUv6Ai8lTI8="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + meta = { + description = "C++ library providing linear algebra and various utility functions"; + longDescription = '' + A C++ library implementing linear algebra, text and file IO, UTF-N conversions, + containers, image loading/saving, image quantization/filtering, command-line parsing, etc. + ''; + homepage = "https://github.com/bluescan/tacent"; + changelog = "https://github.com/bluescan/tacent/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ PopeRigby ]; + platforms = lib.platforms.linux; + badPlatforms = [ + # /build/source/UnitTests/Src/UnitTests.cpp:149:15: error: 'Rule' is not a member of 'tUnitTest' + "aarch64-linux" + ]; + }; +}) diff --git a/pkgs/by-name/ta/tacentview/package.nix b/pkgs/by-name/ta/tacentview/package.nix new file mode 100644 index 000000000000..358b140573b3 --- /dev/null +++ b/pkgs/by-name/ta/tacentview/package.nix @@ -0,0 +1,70 @@ +{ + autoPatchelfHook, + cmake, + fetchFromGitHub, + installShellFiles, + lib, + libGL, + ninja, + stdenv, + tacent, + xorg, + zenity, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "tacentview"; + version = "1.0.46"; + + src = fetchFromGitHub { + owner = "bluescan"; + repo = "tacentview"; + tag = "v${finalAttrs.version}"; + hash = "sha256-d4A26p1hmkYEZ+h6kRbHHr4QmAc3PMe3qYdkeKIRGkU="; + }; + + nativeBuildInputs = [ + cmake + ninja + installShellFiles + autoPatchelfHook + ]; + + buildInputs = [ + stdenv.cc.cc.lib + tacent + xorg.libX11 + xorg.libxcb + zenity + ]; + + runtimeDependencies = [ libGL ]; + + cmakeFlags = [ + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_TACENT" "${tacent.src}") + (lib.cmakeBool "PACKAGE_NIX" true) + ]; + + installPhase = '' + runHook preInstall + + installBin tacentview + + mkdir -p $out/share/tacentview + cp -r ../Assets $out/share/tacentview/ + cp -r ../Linux/deb_template/usr/share/icons $out/share + cp -r ../Linux/deb_template/usr/share/applications $out/share + + runHook postInstall + ''; + + meta = { + description = "Image and texture viewer"; + homepage = "https://github.com/bluescan/tacentview"; + changelog = "https://github.com/bluescan/tacentview/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ PopeRigby ]; + mainProgram = "tacentview"; + platforms = with lib.platforms; linux ++ windows; + }; +})