summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-11-22 12:01:27 +0000
committerGitHub <noreply@github.com>2021-11-22 12:01:27 +0000
commit9e1911e2226a6370dafa0ebcb0e54e7ae63447f2 (patch)
tree93b1f70b486c6c868a1dc441bbbc12796745d231 /pkgs/tools
parentcbcbfb490198385bc119c152e7a4cf58b6c49ec2 (diff)
parent108f913823dc1977b57e34bf86818c08fad8536d (diff)
downloadnixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.tar
nixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.tar.gz
nixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.tar.bz2
nixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.tar.lz
nixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.tar.xz
nixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.tar.zst
nixpkgs-9e1911e2226a6370dafa0ebcb0e54e7ae63447f2.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix113
-rw-r--r--pkgs/tools/X11/opentabletdriver/shell.nix13
-rwxr-xr-xpkgs/tools/X11/opentabletdriver/update.sh38
-rw-r--r--pkgs/tools/archivers/arc_unpacker/default.nix10
-rw-r--r--pkgs/tools/backup/burp/default.nix11
-rw-r--r--pkgs/tools/package-management/cargo-about/default.nix6
6 files changed, 50 insertions, 141 deletions
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index b205f959ee3..de3b983c91d 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -1,11 +1,8 @@
-{ stdenv
-, lib
+{ lib
+, buildDotnetModule
 , fetchFromGitHub
 , fetchurl
-, linkFarmFromDrvs
 , dotnetCorePackages
-, dotnetPackages
-, dpkg
 , gtk3
 , libX11
 , libXrandr
@@ -15,16 +12,12 @@
 , udev
 , copyDesktopItems
 , makeDesktopItem
-, makeWrapper
 , nixosTests
 , wrapGAppsHook
+, dpkg
 }:
 
-let
-  dotnet-sdk = dotnetCorePackages.sdk_5_0;
-  dotnet-runtime = dotnetCorePackages.runtime_5_0;
-in
-stdenv.mkDerivation rec {
+buildDotnetModule rec {
   pname = "OpenTabletDriver";
   version = "0.5.3.3";
 
@@ -40,23 +33,22 @@ stdenv.mkDerivation rec {
     sha256 = "0v03qiiz28k1yzgxf5qc1mdg2n7kjx6h8vpx9dxz342wwbgqg6ic";
   };
 
+  dotnet-sdk = dotnetCorePackages.sdk_5_0;
+  dotnet-runtime = dotnetCorePackages.runtime_5_0;
+
+  dotnetInstallFlags = [ "--framework=net5" ];
+
+  projectFile = [ "OpenTabletDriver.Console" "OpenTabletDriver.Daemon" "OpenTabletDriver.UX.Gtk" ];
+  nugetDeps = ./deps.nix;
+
+  executables = [ "OpenTabletDriver.Console" "OpenTabletDriver.Daemon" "OpenTabletDriver.UX.Gtk" ];
+
   nativeBuildInputs = [
-    dotnet-sdk
-    dotnetPackages.Nuget
-    dpkg
     copyDesktopItems
-    makeWrapper
     wrapGAppsHook
+    dpkg
   ];
 
-  nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
-    fetchNuGet = { name, version, sha256 }: fetchurl {
-      name = "nuget-${name}-${version}.nupkg";
-      url = "https://www.nuget.org/api/v2/package/${name}/${version}";
-      inherit sha256;
-    };
-  });
-
   runtimeDeps = [
     gtk3
     libX11
@@ -67,80 +59,18 @@ stdenv.mkDerivation rec {
     udev
   ];
 
-  configurePhase = ''
-    runHook preConfigure
-
-    export HOME=$(mktemp -d)
-    export DOTNET_CLI_TELEMETRY_OPTOUT=1
-    export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
-
-    nuget sources Add -Name nixos -Source "$PWD/nixos"
-    nuget init "$nugetDeps" "$PWD/nixos"
-
-    # FIXME: https://github.com/NuGet/Home/issues/4413
-    mkdir -p $HOME/.nuget/NuGet
-    cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
-
-    for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
-        dotnet restore --source "$PWD/nixos" $project
-    done
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
-        dotnet build $project \
-            --no-restore \
-            --configuration Release \
-            --framework net5
-    done
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
-      dotnet publish $project \
-          --no-build \
-          --no-self-contained \
-          --configuration Release \
-          --framework net5 \
-          --output $out/lib
-    done
-
+  postInstall = ''
     # Give a more "*nix" name to the binaries
-    makeWrapper $out/lib/OpenTabletDriver.Console $out/bin/otd \
-        "''${gappsWrapperArgs[@]}" \
-        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set DOTNET_ROOT "${dotnet-runtime}" \
-        --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
-
-    makeWrapper $out/lib/OpenTabletDriver.Daemon $out/bin/otd-daemon \
-        "''${gappsWrapperArgs[@]}" \
-        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set DOTNET_ROOT "${dotnet-runtime}" \
-        --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
-
-    makeWrapper $out/lib/OpenTabletDriver.UX.Gtk $out/bin/otd-gui \
-        "''${gappsWrapperArgs[@]}" \
-        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set DOTNET_ROOT "${dotnet-runtime}" \
-        --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
-
-    mkdir -p $out/lib/OpenTabletDriver
-    cp -rv ./OpenTabletDriver/Configurations $out/lib/OpenTabletDriver
+    mv $out/bin/OpenTabletDriver.Console $out/bin/otd
+    mv $out/bin/OpenTabletDriver.Daemon $out/bin/otd-daemon
+    mv $out/bin/OpenTabletDriver.UX.Gtk $out/bin/otd-gui
+
+    cp -r ./OpenTabletDriver/Configurations $out/lib/${pname}
     install -Dm644 $src/OpenTabletDriver.UX/Assets/otd.png -t $out/share/pixmaps
 
     # TODO: Ideally this should be build from OpenTabletDriver/OpenTabletDriver-udev instead
     dpkg-deb --fsys-tarfile ${debPkg} | tar xf - ./usr/lib/udev/rules.d/99-opentabletdriver.rules
     install -Dm644 ./usr/lib/udev/rules.d/99-opentabletdriver.rules -t $out/lib/udev/rules.d
-
-    runHook postInstall
   '';
 
   desktopItems = [
@@ -156,7 +86,6 @@ stdenv.mkDerivation rec {
   ];
 
   dontWrapGApps = true;
-  dontStrip = true;
 
   passthru = {
     updateScript = ./update.sh;
diff --git a/pkgs/tools/X11/opentabletdriver/shell.nix b/pkgs/tools/X11/opentabletdriver/shell.nix
deleted file mode 100644
index bb60dfd5039..00000000000
--- a/pkgs/tools/X11/opentabletdriver/shell.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ pkgs ? import ../../../../. { } }:
-
-with pkgs;
-
-mkShell {
-  packages = [
-    common-updater-scripts
-    nuget-to-nix
-    curl
-    dotnetCorePackages.sdk_5_0
-    jq
-  ];
-}
diff --git a/pkgs/tools/X11/opentabletdriver/update.sh b/pkgs/tools/X11/opentabletdriver/update.sh
index b73a5a4b7ca..b18bddd75aa 100755
--- a/pkgs/tools/X11/opentabletdriver/update.sh
+++ b/pkgs/tools/X11/opentabletdriver/update.sh
@@ -1,16 +1,15 @@
 #!/usr/bin/env nix-shell
-#!nix-shell shell.nix -i bash
-
+#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix dotnet-sdk_5
 set -eo pipefail
-
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
 deps_file="$(realpath "./deps.nix")"
 
-new_version="$(curl -s "https://api.github.com/repos/OpenTabletDriver/OpenTabletDriver/releases" | jq -r '.[0].tag_name' | sed 's|[^0-9.]||g')"
+new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/OpenTabletDriver/OpenTabletDriver/releases" | jq -r  'map(select(.prerelease == false)) | .[0].tag_name' | cut -c2-)"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+
 if [[ "$new_version" == "$old_version" ]]; then
-  echo "Up to date"
+  echo "Already up to date!"
   [[ "${1}" != "--force" ]] && exit 0
 fi
 
@@ -22,37 +21,22 @@ newDebSha256=$(nix-prefetch-url "$newDebPkgUrl")
 echo "oldDebSha256: $oldDebSha256 newDebSha256: $newDebSha256"
 sed -i ./default.nix -re "s|\"$oldDebSha256\"|\"$newDebSha256\"|"
 
-cd ../../../..
+pushd ../../../..
 update-source-version opentabletdriver "$new_version"
-store_src="$(nix-build . -A opentabletdriver.src --no-out-link)"
+store_src="$(nix-build -A opentabletdriver.src --no-out-link)"
 src="$(mktemp -d /tmp/opentabletdriver-src.XXX)"
-echo "Temp src dir: $src"
 cp -rT "$store_src" "$src"
 chmod -R +w "$src"
 
 pushd "$src"
+trap "rm -rf $src" EXIT
 
-# Setup empty nuget package folder to force reinstall.
-mkdir ./nuget_tmp.packages
-cat >./nuget_tmp.config <<EOF
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <packageSources>
-    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
-  </packageSources>
-  <config>
-    <add key="globalPackagesFolder" value="$(realpath ./nuget_tmp.packages)" />
-  </config>
-</configuration>
-EOF
-
+export DOTNET_NOLOGO=1
 export DOTNET_CLI_TELEMETRY_OPTOUT=1
 
+mkdir ./nuget_pkgs
 for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
-    dotnet restore $project --configfile ./nuget_tmp.config
+  dotnet restore $project --packages ./nuget_pkgs
 done
 
-nuget-to-nix ./nuget_tmp.packages > "$deps_file"
-
-popd
-rm -r "$src"
+nuget-to-nix ./nuget_pkgs > "$deps_file"
diff --git a/pkgs/tools/archivers/arc_unpacker/default.nix b/pkgs/tools/archivers/arc_unpacker/default.nix
index edf67f2f963..7fbd9302397 100644
--- a/pkgs/tools/archivers/arc_unpacker/default.nix
+++ b/pkgs/tools/archivers/arc_unpacker/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, boost, libpng, libiconv
-, libjpeg, zlib, openssl, libwebp, catch }:
+, libjpeg, zlib, openssl, libwebp, catch2 }:
 
 stdenv.mkDerivation rec {
   pname = "arc_unpacker";
@@ -15,12 +15,12 @@ stdenv.mkDerivation rec {
     sha256 = "1xxrc9nww0rla3yh10z6glv05ax4rynwwbd0cdvkp7gyqzrv97xp";
   };
 
-  nativeBuildInputs = [ cmake makeWrapper catch ];
+  nativeBuildInputs = [ cmake makeWrapper catch2 ];
   buildInputs = [ boost libpng libjpeg zlib openssl libwebp ]
     ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   postPatch = ''
-    cp ${catch}/include/catch/catch.hpp tests/test_support/catch.h
+    cp ${catch2}/include/catch2/catch.hpp tests/test_support/catch.h
   '';
 
   checkPhase = ''
@@ -45,8 +45,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  # A few tests fail on aarch64
-  doCheck = !stdenv.isAarch64;
+  # A few tests fail on aarch64-linux
+  doCheck = !(stdenv.isLinux && stdenv.isAarch64);
 
   meta = with lib; {
     description = "A tool to extract files from visual novel archives";
diff --git a/pkgs/tools/backup/burp/default.nix b/pkgs/tools/backup/burp/default.nix
index 00b2c71037a..187fe71896d 100644
--- a/pkgs/tools/backup/burp/default.nix
+++ b/pkgs/tools/backup/burp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config
 , acl, librsync, ncurses, openssl, zlib, uthash }:
 
 stdenv.mkDerivation rec {
@@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
     sha256 = "1zhq240kz881vs2s620qp0kifmgr582caalm85ls789w9rmdkhjl";
   };
 
+  patches = [
+    # Pull upstream fix for ncurses-6.3 support
+    (fetchpatch {
+      name = "ncurses-6.3.patch";
+      url = "https://github.com/grke/burp/commit/1d6c931af7c11f164cf7ad3479781e8f03413496.patch";
+      sha256 = "14sfbfahlankz3xg6v10i8fnmpnmqpp73q9xm0l0hnjh25igv6bl";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ librsync ncurses openssl zlib uthash ]
     ++ lib.optional (!stdenv.isDarwin) acl;
diff --git a/pkgs/tools/package-management/cargo-about/default.nix b/pkgs/tools/package-management/cargo-about/default.nix
index cf72bd85c08..ac9249b3a9b 100644
--- a/pkgs/tools/package-management/cargo-about/default.nix
+++ b/pkgs/tools/package-management/cargo-about/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-about";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-about";
     rev = version;
-    sha256 = "sha256-Am0VwF37fYsZvUogxnSlP/kwy20J7maFu3Is8f/1b1E=";
+    sha256 = "sha256-QLPqvlMwCdMfUGCVibCGQdI7UkHV1WBfpBi2Kwi3b1Q=";
   };
 
-  cargoSha256 = "sha256-gf5OtRGjXmGbnXA4ZYOys6JU+JkF+rYnRSnjy3JE7c0=";
+  cargoSha256 = "sha256-x9hx9wJlcrGo1zuugPYY4G4Os5x8tIOICKnKq8TuevI=";
 
   meta = with lib; {
     description = "Cargo plugin to generate list of all licenses for a crate";