- fetchNuGet can fetch binaries from nuget servers - buildDotnetPackage can build .NET packages using mono/xbuild - Places nuget & paket as they would clash with nix - Patch project files because F# targets are expected to be found in the mono directory (and we know that's not going to happen on nix) - Find DLLs that were copied from buildInputs and replace by symlink for sharing - Export produced DLL via the pkg-config mechanism - Create wrappers for produced EXEs - Repackaged this new infrastructure: keepass, monodevelop - Newly packaged: ExtCore, UnionArgParser, FSharp.Data, Paket, and a bunch more.. This is a combination of 73 commits.
23 lines
573 B
Bash
23 lines
573 B
Bash
#!/usr/bin/env bash
|
|
|
|
IFS="
|
|
"
|
|
|
|
for dll in $(find -iname \*.dll)
|
|
do
|
|
baseName="$(basename "$dll" | sed "s/.dll$//i")"
|
|
if pkg-config "$baseName"
|
|
then
|
|
candidateDll="$(pkg-config "$baseName" --variable=Libraries)"
|
|
|
|
if diff "$dll" "$candidateDll" >/dev/null
|
|
then
|
|
echo "$dll is identical to $candidateDll. Substituting..."
|
|
rm -vf "$dll"
|
|
ln -sv "$candidateDll" "$dll"
|
|
else
|
|
echo "$dll and $candidateDll share the same name but have different contents, leaving alone."
|
|
fi
|
|
fi
|
|
done
|