delivered
This commit is contained in:
commit
e78e4f2344
|
@ -0,0 +1,2 @@
|
||||||
|
/result*
|
||||||
|
binxos
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751913784,
|
||||||
|
"narHash": "sha256-ZR1+TM7ixZZbcZUbEcBIHNYhUhF1jelyc8SkOFr7ouA=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "38dcda3e40b62f2822ba6bb0c5201ef0c269ab8b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "release-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -0,0 +1,138 @@
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/release-25.05";
|
||||||
|
};
|
||||||
|
outputs = {nixpkgs, self}: {
|
||||||
|
packages.x86_64-linux = let
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
pkgset-raw = {
|
||||||
|
inherit (pkgs)
|
||||||
|
amtterm
|
||||||
|
#archdiff
|
||||||
|
babeltrace
|
||||||
|
#bbe # will not build at -O0?
|
||||||
|
#bin_replace_string
|
||||||
|
bsdiff
|
||||||
|
#btyacc
|
||||||
|
bustle
|
||||||
|
byacc
|
||||||
|
complexity
|
||||||
|
#conf2struct
|
||||||
|
cppi
|
||||||
|
cproto
|
||||||
|
#csup
|
||||||
|
desktop-file-utils
|
||||||
|
dialog
|
||||||
|
#diffball
|
||||||
|
#difffilter
|
||||||
|
diffstat
|
||||||
|
#dissembler
|
||||||
|
dropwatch
|
||||||
|
dwdiff
|
||||||
|
#edi
|
||||||
|
elfkickers
|
||||||
|
#ftnchek
|
||||||
|
#fuzz
|
||||||
|
global
|
||||||
|
gpp
|
||||||
|
#gtk-update-icon-cache
|
||||||
|
#hxd
|
||||||
|
hxtools
|
||||||
|
icmake
|
||||||
|
#intel-graphics-system-controller
|
||||||
|
libtree
|
||||||
|
#lsuio
|
||||||
|
#mingw64-toolchain
|
||||||
|
numdiff
|
||||||
|
ostree
|
||||||
|
pahole
|
||||||
|
patchutils
|
||||||
|
#ply
|
||||||
|
#pretrace
|
||||||
|
#pscan
|
||||||
|
radare2
|
||||||
|
rizin
|
||||||
|
rt-tests
|
||||||
|
#sel
|
||||||
|
shc
|
||||||
|
smem
|
||||||
|
statifier
|
||||||
|
#stubgen
|
||||||
|
#systemtap
|
||||||
|
#tinlink
|
||||||
|
valgrind
|
||||||
|
vmtouch
|
||||||
|
vtable-dumper
|
||||||
|
wiggle
|
||||||
|
#xfce4-dev-tools
|
||||||
|
xmlindent
|
||||||
|
#yacc
|
||||||
|
|
||||||
|
bison
|
||||||
|
diffutils
|
||||||
|
bintools-unwrapped
|
||||||
|
gtk3
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
file
|
||||||
|
strace
|
||||||
|
;
|
||||||
|
inherit (pkgs.xfce) xfce4-dev-tools;
|
||||||
|
coreutils = (pkgs.coreutils.override { singleBinary = false; });
|
||||||
|
};
|
||||||
|
lib = pkgs.lib;
|
||||||
|
self' = self.packages.x86_64-linux;
|
||||||
|
pkgsetsDefs = {
|
||||||
|
"O0" = "-O0 -g";
|
||||||
|
"O2" = "-O2 -g";
|
||||||
|
};
|
||||||
|
forceFlags = drv: flags: let
|
||||||
|
overridesFlags = {
|
||||||
|
env = (drv.env or {}) // { NIX_CFLAGS_COMPILE = "${(drv.env.NIX_CFLAGS_COMPILE or "")} ${flags}"; };
|
||||||
|
};
|
||||||
|
overridesHardening = {
|
||||||
|
# fortify requires at least -O1
|
||||||
|
# pic leads to some linker errors
|
||||||
|
hardeningDisable = (drv.hardeningDisable or []) ++ [ "fortify" "pic" ];
|
||||||
|
};
|
||||||
|
overridesStrip = {
|
||||||
|
dontStrip = true;
|
||||||
|
};
|
||||||
|
overrides = overridesStrip // overridesFlags // overridesHardening;
|
||||||
|
in drv.overrideAttrs overrides;
|
||||||
|
in {
|
||||||
|
default = pkgs.runCommand "binxos.tar.gz" { } ''
|
||||||
|
declare -A SETS
|
||||||
|
declare -A TOOBIG
|
||||||
|
${lib.concatMapAttrsStringSep "\n" (name: pkgset: ''
|
||||||
|
SETS[${name}]="${lib.concatMapAttrsStringSep " " (_: drv: lib.getBin drv) pkgset}"
|
||||||
|
'') self'.pkgsets}
|
||||||
|
|
||||||
|
for set in "''${!SETS[@]}"; do
|
||||||
|
mkdir -p $TMP/binxos/$set
|
||||||
|
for pkg in ''${SETS[$set]}; do
|
||||||
|
for f in $pkg/bin/*; do
|
||||||
|
if [[ $(head -c4 $f) != $'\x7fELF' ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if [[ $(stat --format %s $f) > $((800 * 1024 * 1024)) ]]; then
|
||||||
|
TOOBIG[$(basename $f)]=1
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
cp $f $TMP/binxos/$set
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
for bin in "''${!TOOBIG[@]}"; do
|
||||||
|
rm -f $TMP/binxos/*/$bin
|
||||||
|
done
|
||||||
|
|
||||||
|
cd $TMP
|
||||||
|
tar -czf $out binxos
|
||||||
|
'';
|
||||||
|
|
||||||
|
pkgsets = lib.mapAttrs (_: flags: lib.mapAttrs (_: pkg: forceFlags pkg flags) pkgset-raw) pkgsetsDefs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue