pkgs/mcuxpresso: attempt to fix make

This commit is contained in:
Anthony Rodriguez 2024-10-30 16:13:04 +01:00
parent 209dba67ae
commit 018704ce15
Signed by: nezia
GPG key ID: EE3BE97C040A86CE
3 changed files with 88 additions and 1 deletions

View file

@ -0,0 +1,49 @@
{
eclipses,
stdenv,
requireFile,
...
}: let
name = "mcuxpressotools";
version = "v16-1";
description = "MCUXpresso Config Tools";
filename = "mcuxpresso-config-tools-${version}_amd64.deb";
src = stdenv.mkDerivation {
inherit version description;
name = "${name}-src";
src = requireFile {
url = "https://www.nxp.com/design/software/development-software/mcuxpresso-config-tools-pins-clocks-and-peripherals:MCUXpresso-Config-Tools";
name = "${filename}.bin";
sha256 = "sha256-BbEwxm1urV2IrgUiTiMBEAPvonQGwdL4fpqFftGgRxI=";
};
buildCommand = ''
# Unpack tarball.
mkdir -p deb
sh $src --target deb || true
ar -xv deb/${filename}
tar xfvz data.tar.gz -C .
mkdir -p ./final/eclipse
mv ./opt/nxp/MCUX_CFG_v13/bin/.* final/eclipse
mv ./usr final/
mv final/eclipse/tools final/eclipse/eclipse
mv final/eclipse/tools.ini final/eclipse/eclipse.ini
# Create custom .eclipseproduct file
echo "name=${name}
id=com.nxp.${name}
version=${version}
" > final/eclipse/.eclipseproduct
# Additional files
mkdir -p final/usr/share/mime
mv ./opt/nxp/MCUX_CFG_v13/mcu_data final/mcu_data
cd ./final
tar -czf $out ./
'';
};
in
eclipses.buildEclipse {inherit description name src;}

View file

@ -19,6 +19,7 @@
ar -xv deb/${filename}
tar xfvz data.tar.gz -C .
mkdir -p ./final/eclipse
find . -type f -iname "*mcuxpresso*" -o -iname "*.png" -o -iname "*.svg"
mv ./usr/local/${name}-${version}/ide/* ./usr/local/${name}-${version}/ide/.* final/eclipse
mv final/eclipse/mcuxpressoide final/eclipse/eclipse
mv final/eclipse/mcuxpressoide.ini final/eclipse/eclipse.ini
@ -41,6 +42,40 @@
name = "${name}-eclipse";
inherit description src;
};
patchedMcuxpressoide = pkgs.stdenv.mkDerivation {
name = "${name}-patched";
src = mcuxpressoide;
nativeBuildInputs = [
pkgs.stdenv.cc.cc.lib
pkgs.gcc
pkgs.libgcc
pkgs.libstdcxx5
pkgs.xorg.libXext
pkgs.xorg.libX11
pkgs.xorg.libXrender
pkgs.xorg.libXtst
pkgs.xorg.libXi
pkgs.freetype
pkgs.alsa-lib
pkgs.ncurses
pkgs.ncurses5
pkgs.libusb1
pkgs.readline
pkgs.libffi
pkgs.zlib
pkgs.tcl
pkgs.libxcrypt
pkgs.libxcrypt-legacy
pkgs.libusb-compat-0_1
pkgs.autoPatchelfHook
];
installPhase = ''
mkdir -p $out
cp -r $src/* $out
'';
};
in
pkgs.stdenv.mkDerivation {
inherit name version description;
@ -59,7 +94,7 @@ in
installPhase = ''
runHook preInstall
mkdir -p $out/bin
ln -s ${mcuxpressoide}/bin/eclipse $out/bin/mcuxpresso
ln -s ${patchedMcuxpressoide}/bin/eclipse $out/bin/mcuxpresso
runHook postInstall
'';
}

View file

@ -5,4 +5,7 @@
}: {
imports = [./docker.nix ./gnupg.nix ./pipewire.nix ./kmscon.nix];
services.udev.packages = [pkgs.segger-jlink inputs.self.packages.${pkgs.system}.mcuxpresso.ide];
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTR{idVendor}=="1fc9", ATTR{idProduct}=="0132", MODE="0666"
'';
}