Compare commits

...

3 commits

Author SHA1 Message Date
Jermeiah S
95063ba566
enabled generic allow unfree for sanity 2025-06-28 21:03:33 -04:00
Jermeiah S
a589331d4b
improved derrivation to be idomatic 2025-06-28 21:03:02 -04:00
Jermeiah S
a2dee988be
wip 2025-06-28 20:57:35 -04:00
4 changed files with 33 additions and 17 deletions

2
Cargo.lock generated
View file

@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
version = 3
[[package]]
name = "adler"

View file

@ -3,18 +3,22 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }@inputs:
outputs =
{
self,
nixpkgs,
}@inputs:
let
supportedSystems = [ "x86_64-linux" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
#v I improved how you call in packages
pkgs = forAllSystems (system:
# I improved how you call in packages
pkgs = forAllSystems (
system:
import nixpkgs {
inherit system;
#v this can be adjusted to read args passed without impure later
config = { allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
"unrar"
];
config = {
allowUnfree = true;
};
}
);
@ -27,8 +31,8 @@
default = pkgs.${system}.callPackage ./nix/devshell.nix { };
});
nixConfig = {
#v I would have like this to work but it requires the nix user to set an option.
# I would have like this to work but it requires the nix user to set an option.
allowUnfree = true;
};
};
}
}

View file

@ -1,11 +1,23 @@
{ pkgs ? import <nixpkgs> { }, lib }:
{
unrar,
xz,
pkg-config,
rustPlatform,
lib,
}:
pkgs.rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage {
pname = "sk_extract";
version = "0.1.0";
cargoLock.lockFile = ../Cargo.lock;
src = pkgs.lib.cleanSource ../.;
buildInputs = [ pkgs.xz pkgs.unrar ];
nativeBuildInputs = [ pkgs.xz pkgs.pkg-config ];
# doCheck = false;
}
src = lib.cleanSource ../.;
buildInputs = [
xz
unrar
];
nativeBuildInputs = [
xz
pkg-config
];
doCheck = false;
}

View file

@ -396,7 +396,7 @@ pub fn extract_deb(input_path: &Path,) -> Result<(),io::Error>{
let mut entry = entry_result.unwrap();
// Create a new file with the same name as the archive entry:
let mut file = File::create(
str::from_utf8(entry.header().identifier()).unwrap(),
std::str::from_utf8(entry.header().identifier()).unwrap(),
).unwrap();
// The Entry object also acts as an io::Read, so we can easily copy the
// contents of the archive entry into the file: