mirror of
https://github.com/0x5eal/luau-unzip.git
synced 2025-04-04 22:50:53 +01:00
46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{ pkgs ? import <nixpkgs> { } }:
|
|
|
|
let
|
|
buildDerivation = name: version: sha256: lib:
|
|
pkgs.stdenv.mkDerivation {
|
|
name = "${name}-${version}";
|
|
src = pkgs.fetchurl {
|
|
url = "http://ftp.debian.org/debian/pool/main/${builtins.substring 0 1 name}/${name}/${name}_${version}_amd64.deb";
|
|
sha256 = sha256;
|
|
};
|
|
|
|
buildInputs = [ pkgs.binutils pkgs.gnutar pkgs.pkg-config lib ];
|
|
dontStrip = true; # in order to prevent `set` calls tampering with generated strip script
|
|
|
|
unpackPhase = ''
|
|
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
mkdir -p tmp/
|
|
ar x $src
|
|
mv data.tar.xz tmp/
|
|
'';
|
|
|
|
installPhase = ''
|
|
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
mkdir -p $out/bin $out/lib
|
|
tar -xf ./tmp/data.tar.xz -C $out
|
|
mv $out/usr/bin/${name} $out/bin/
|
|
cp $(pkg-config --variable=libdir ${lib.pname})/* $out/lib/
|
|
rm -rf $out/usr tmp/
|
|
'';
|
|
};
|
|
|
|
in
|
|
pkgs.mkShell {
|
|
buildInputs = [
|
|
pkgs.curl
|
|
pkgs.git
|
|
pkgs.lune
|
|
(buildDerivation "unzip" "6.0-28" "s9lSnDQ4LMjS5syCmaGFNlBO28KEuRM/++UicEhlBo4=" pkgs.bzip2)
|
|
(buildDerivation "zip" "3.0-14" "0vsh9c5wfbwsx1r1b5mkfxj5vy1xqv0wbj2i93jysyb7x1c3pq8n" pkgs.zlib)
|
|
];
|
|
}
|
|
|