about summary refs log tree commit diff
path: root/pkgs/by-name/te
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/te')
-rw-r--r--pkgs/by-name/te/technitium-dns-server/package.nix47
-rw-r--r--pkgs/by-name/te/tenki/package.nix6
-rw-r--r--pkgs/by-name/te/tenv/package.nix46
3 files changed, 96 insertions, 3 deletions
diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix
new file mode 100644
index 000000000000..774326ae9d1f
--- /dev/null
+++ b/pkgs/by-name/te/technitium-dns-server/package.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchurl,
+  makeWrapper,
+  dotnet-sdk_8,
+}:
+stdenvNoCC.mkDerivation rec {
+  pname = "technitium-dns-server";
+  version = "12.1";
+
+  src = fetchurl {
+    url = "https://download.technitium.com/dns/archive/${version}/DnsServerPortable.tar.gz";
+    hash = "sha256-G0M2xuYBZA3XXXaPs4pLrJmzAMbVJhiqISAvuCw3iZo=";
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,share/${pname}-${version}}
+    cp -r * $out/share/${pname}-${version}/.
+    rm $out/share/${pname}-${version}/start.{sh,bat}
+    rm $out/share/${pname}-${version}/DnsServerApp.exe
+    rm $out/share/${pname}-${version}/env-vars
+    # Remove systemd.service in favor of a separate module (including firewall configuration).
+    rm $out/share/${pname}-${version}/systemd.service
+
+    makeWrapper "${dotnet-sdk_8}/bin/dotnet" $out/bin/technitium-dns-server \
+      --add-flags "$out/share/${pname}-${version}/DnsServerApp.dll"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    changelog = "https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md";
+    description = "Authorative and Recursive DNS server for Privacy and Security";
+    homepage = "https://github.com/TechnitiumSoftware/DnsServer";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "technitium-dns-server";
+    maintainers = with lib.maintainers; [ fabianrig ];
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+  };
+}
diff --git a/pkgs/by-name/te/tenki/package.nix b/pkgs/by-name/te/tenki/package.nix
index e00d27eca21c..35ee53a41376 100644
--- a/pkgs/by-name/te/tenki/package.nix
+++ b/pkgs/by-name/te/tenki/package.nix
@@ -4,16 +4,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "tenki";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "ckaznable";
     repo = "tenki";
     rev = "v${version}";
-    hash = "sha256-64yNMO+Tm8APF2NnygQuub4z7kCxxf+T1urgA4Qs104=";
+    hash = "sha256-X/GnOgxwBhkrdhUmEhyxdgk5ElayMOAmtDxR2cqRJc8=";
   };
 
-  cargoHash = "sha256-R6Bfk3kW8721Q++dSY4u7AbUukBT0PODfFXsXuugWdk=";
+  cargoHash = "sha256-rmMUVZwNouUvFFPgZfbR4sgtig5zx1WC3bxnfPPT3yQ=";
 
   meta = with lib; {
     description = "tty-clock with weather effect";
diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix
new file mode 100644
index 000000000000..f33bc31e683f
--- /dev/null
+++ b/pkgs/by-name/te/tenv/package.nix
@@ -0,0 +1,46 @@
+{ buildGoModule, fetchFromGitHub, installShellFiles, lib, tenv, testers }:
+
+buildGoModule rec {
+  pname = "tenv";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "tofuutils";
+    repo = "tenv";
+    rev = "v${version}";
+    hash = "sha256-yLNdBwKF6Jts661P+YZhFGNr71TG7Scb6RGvFxTLqYQ=";
+  };
+
+  vendorHash = "sha256-GGWiP1rIDF6qxST2ZmnKNkgbS+15hxaCs1d1+UEiYgU=";
+
+  # Tests disabled for requiring network access to release.hashicorp.com
+  doCheck = false;
+
+  ldflags = [
+    "-s" "-w"
+    "-X main.version=v${version}"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd tenv \
+      --zsh <($out/bin/tenv completion zsh) \
+      --bash <($out/bin/tenv completion bash) \
+      --fish <($out/bin/tenv completion fish)
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    command = "HOME=$TMPDIR tenv --version";
+    package = tenv;
+    version = "v${version}";
+  };
+
+  meta = {
+    changelog = "https://github.com/tofuutils/tenv/releases/tag/v${version}";
+    description = "A version manager for OpenTofu, Terraform and Terragrunt written in Go";
+    homepage = "https://github.com/tofuutils/tenv";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ rmgpinto ];
+  };
+}