diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix index 01bca0ff1f8a..7b156aeaaa49 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix @@ -35,7 +35,23 @@ let super = imported; - overrides = { }; + overrides = { + p4-16-mode = super.p4-16-mode.overrideAttrs { + # workaround https://github.com/NixOS/nixpkgs/issues/301795 + prePatch = '' + mkdir tmp-untar-dir + pushd tmp-untar-dir + + tar --extract --verbose --file=$src + content_directory=$(echo p4-16-mode-*) + cp --verbose $content_directory/p4-16-mode-pkg.el $content_directory/p4-pkg.el + src=$PWD/$content_directory.tar + tar --create --verbose --file=$src $content_directory + + popd + ''; + }; + }; in super // overrides diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix index cd32a8bd3975..ce13179ca1ea 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix @@ -30,6 +30,21 @@ self: let super = imported; overrides = { + p4-16-mode = super.p4-16-mode.overrideAttrs { + # workaround https://github.com/NixOS/nixpkgs/issues/301795 + prePatch = '' + mkdir tmp-untar-dir + pushd tmp-untar-dir + + tar --extract --verbose --file=$src + content_directory=$(echo p4-16-mode-*) + cp --verbose $content_directory/p4-16-mode-pkg.el $content_directory/p4-pkg.el + src=$PWD/$content_directory.tar + tar --create --verbose --file=$src $content_directory + + popd + ''; + }; }; in super // overrides);