diff --git a/pkgs/by-name/wc/wcc/Cargo.lock b/pkgs/by-name/wc/wcc/Cargo.lock new file mode 100644 index 000000000000..69fa831b7be4 --- /dev/null +++ b/pkgs/by-name/wc/wcc/Cargo.lock @@ -0,0 +1,16 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "rust_demangle_lib" +version = "0.1.0" +dependencies = [ + "rustc-demangle", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" diff --git a/pkgs/by-name/wc/wcc/package.nix b/pkgs/by-name/wc/wcc/package.nix index e753f7f3fd73..e4e49906cc0b 100644 --- a/pkgs/by-name/wc/wcc/package.nix +++ b/pkgs/by-name/wc/wcc/package.nix @@ -1,7 +1,9 @@ { lib, stdenv, + rustPlatform, fetchFromGitHub, + cargo, capstone, libbfd, libelf, @@ -9,19 +11,26 @@ readline, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "wcc"; - version = "0.0.7-unstable-2025-04-30"; + version = "0.0.11"; src = fetchFromGitHub { owner = "endrazine"; repo = "wcc"; - rev = "8cbb49345d9596dfd37bd1b681753aacaab96475"; - hash = "sha256-TYYtnMlrp/wbrTmwd3n90Uni7WE54gK6zKSBg4X9ZfA="; + tag = "v${finalAttrs.version}"; + hash = "sha256-hyelDAsE3IFvUxBqttYW7QmM6NPEa6pOREmawFjW2Q8="; deepClone = true; fetchSubmodules = true; }; + cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }; + + nativeBuildInputs = [ + cargo + rustPlatform.cargoSetupHook + ]; + buildInputs = [ capstone libbfd @@ -31,12 +40,13 @@ stdenv.mkDerivation { ]; postPatch = '' + cp ${./Cargo.lock} Cargo.lock sed -i src/wsh/include/libwitch/wsh.h src/wsh/scripts/INDEX \ -e "s#/usr/share/wcc#$out/share/wcc#" sed -i -e '/stropts.h>/d' src/wsh/include/libwitch/wsh.h - sed -i '/wsh-`uname -m`.*-static/d' src/wsh/Makefile + sed -i '/wsh-static/d' src/wsh/Makefile ''; env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; @@ -61,17 +71,17 @@ stdenv.mkDerivation { enableParallelBuilding = true; - meta = with lib; { + meta = { homepage = "https://github.com/endrazine/wcc"; description = "Witchcraft compiler collection: tools to convert and script ELF files"; - license = licenses.mit; + license = lib.licenses.mit; platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ orivej DieracDelta ]; }; -} +})