summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--home/dev-utils/default.nix2
-rw-r--r--pkgs/default.nix2
-rw-r--r--pkgs/trash/default.nix38
-rw-r--r--pkgs/trash/trash-dont-hardcode-arch.patch13
4 files changed, 54 insertions, 1 deletions
diff --git a/home/dev-utils/default.nix b/home/dev-utils/default.nix
index e972084..e54c914 100644
--- a/home/dev-utils/default.nix
+++ b/home/dev-utils/default.nix
@@ -9,7 +9,7 @@
nodePackages_latest.nodemon
rlwrap
tcl-8_6
- ];
+ ] ++ lib.optional pkgs.stdenv.isDarwin trash;
home.sessionVariables.MANPATH = lib.mkIf pkgs.stdenv.isDarwin "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man:$MANPATH";
}
diff --git a/pkgs/default.nix b/pkgs/default.nix
index b33502e..6b2d984 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -7,6 +7,8 @@ pkgs:
still-awake = pkgs.callPackage ./still-awake { };
+ trash = pkgs.callPackage ./trash { };
+
# Use patched version from Karl.
smu = pkgs.smu.overrideAttrs (old: {
version = "2022-08-01";
diff --git a/pkgs/trash/default.nix b/pkgs/trash/default.nix
new file mode 100644
index 0000000..e9e84c9
--- /dev/null
+++ b/pkgs/trash/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, perl534Packages
+, darwin
+}:
+
+stdenv.mkDerivation rec {
+ name = "trash";
+ version = "0.9.2";
+
+ src = fetchFromGitHub {
+ owner = "ali-rantakari";
+ repo = "trash";
+ rev = "v${version}";
+ sha256 = "sha256-vibUimY15KTulGVqmmTGtO/+XowoRHykcmL8twdgebQ=";
+ };
+ patches = [ ./trash-dont-hardcode-arch.patch ];
+ buildInputs = [
+ darwin.apple_sdk.frameworks.Cocoa
+ darwin.apple_sdk.frameworks.AppKit
+ darwin.apple_sdk.frameworks.ScriptingBridge
+ perl534Packages.podlators
+ ];
+
+ outputs = [ "out" "man" ];
+
+ buildPhase = ''
+ make trash trash.1
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin $man/share/man/man1
+ mv trash $out/bin
+ mv trash.1 $man/share/man/man1/trash.1
+ # I like to alias as del because trash is so hard spell
+ ln -s $out/bin/trash $out/bin/del
+ '';
+}
diff --git a/pkgs/trash/trash-dont-hardcode-arch.patch b/pkgs/trash/trash-dont-hardcode-arch.patch
new file mode 100644
index 0000000..3c581c1
--- /dev/null
+++ b/pkgs/trash/trash-dont-hardcode-arch.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index e867e91..40b7ecd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,7 @@ trash: $(SOURCE_FILES)
+ @echo
+ @echo ---- Compiling:
+ @echo ======================================
+- $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -force_cpusubtype_ALL -mmacosx-version-min=10.7 -arch i386 -arch x86_64 -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES)
++ $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -mmacosx-version-min=10.7 -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES)
+
+ analyze:
+ @echo