9bb3fccb5b
continuation of #109595 pkgconfig was aliased in 2018, however, it remained in all-packages.nix due to its wide usage. This cleans up the remaining references to pkgs.pkgsconfig and moves the entry to aliases.nix. python3Packages.pkgconfig remained unchanged because it's the canonical name of the upstream package on pypi.
978 lines
29 KiB
Nix
978 lines
29 KiB
Nix
{ stdenv
|
|
, lib
|
|
, pkgs
|
|
, buildDotnetPackage
|
|
, fetchurl
|
|
, fetchFromGitHub
|
|
, fetchNuGet
|
|
, glib
|
|
, pkg-config
|
|
, mono
|
|
, fsharp
|
|
, unzip
|
|
, overrides ? {}
|
|
}:
|
|
|
|
let self = dotnetPackages // overrides; dotnetPackages = with self; {
|
|
|
|
# BINARY PACKAGES
|
|
|
|
Autofac = fetchNuGet {
|
|
baseName = "Autofac";
|
|
version = "3.5.2";
|
|
sha256 = "194cs8ybn5xjqnzy643w5i62m0d5s34d3nshwxp2v4fcb94wa4ri";
|
|
outputFiles = [ "lib/portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1/*" ];
|
|
};
|
|
|
|
Fake = fetchNuGet {
|
|
baseName = "FAKE";
|
|
version = "3.33.0";
|
|
sha256 = "04gllx9d1w8zn9gq9p5k76b79ix07rilk3apdi72dmz6h3yylcdm";
|
|
outputFiles = [ "tools/*" ];
|
|
dllFiles = [ "Fake*.dll" ];
|
|
};
|
|
|
|
Fantomas = fetchNuGet {
|
|
baseName = "Fantomas";
|
|
version = "1.6.0";
|
|
sha256 = "1b9rd3i76b5xzv0j62dvfr1ksdwvb59vxw6jhzpi018axjn6757q";
|
|
outputFiles = [ "lib/*" ];
|
|
dllFiles = [ "Fantomas*.dll" ];
|
|
};
|
|
|
|
FSharpCompilerCodeDom = fetchNuGet {
|
|
baseName = "FSharp.Compiler.CodeDom";
|
|
version = "0.9.2";
|
|
sha256 = "0cy9gbvmfx2g74m7bgp6x9mr4avb6s560yjii7cyyxb7jlwabfcj";
|
|
outputFiles = [ "lib/net40/*" ];
|
|
};
|
|
|
|
FSharpCore302 = fetchNuGet {
|
|
baseName = "FSharp.Core";
|
|
version = "3.0.2";
|
|
sha256 = "1s4pqwbmhrsg5sw8i6dixdri3x0yjyilmkhsf4apfkp80si7d73q";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FSharpCore3125 = fetchNuGet {
|
|
baseName = "FSharp.Core";
|
|
version = "3.1.2.5";
|
|
sha256 = "0pfvjimrgrffb5rj612gsid044lfpk8g2cxyh9792dc1n8ck5hih";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FSharpCore4001 = fetchNuGet {
|
|
baseName = "FSharp.Core";
|
|
version = "4.0.0.1";
|
|
sha256 = "0v53iq12ji2d1bkdyg9dn8sz5l93sprrh835amh39dghh8v8vm8k";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FSharpCore4117 = fetchNuGet {
|
|
baseName = "FSharp.Core";
|
|
version = "4.1.17";
|
|
sha256 = "1yk23ir66fgqm5r6qyf66zf64l0s223l3yd7p9yvbyimyg0hgzb1";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FSharpData225 = fetchNuGet {
|
|
baseName = "FSharp.Data";
|
|
version = "2.2.5";
|
|
sha256 = "1c9l6bk0d2srccash2980y9phq3kmfm0m76k4wghnysnq94vm724";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FSharpDataSQLProvider = fetchNuGet {
|
|
baseName = "SQLProvider";
|
|
version = "0.0.9-alpha";
|
|
sha256 = "1wmgr5ca9hh6a7f0s8yc87n6arn7bq6nwc8n4crbbdil4r0bw46w";
|
|
outputFiles = [ "lib/net40/*" ];
|
|
};
|
|
|
|
FsCheck = fetchNuGet {
|
|
baseName = "FsCheck";
|
|
version = "1.0.4";
|
|
sha256 = "1q2wk4d4d1q94qzcccgmxb2lh0b8qkmpyz0p7lfphkw2gx6cy5ad";
|
|
outputFiles = [ "lib/net45/*" ];
|
|
};
|
|
|
|
FsCheck262 = fetchNuGet {
|
|
baseName = "FsCheck";
|
|
version = "2.6.2";
|
|
sha256 = "0fh9yvsc4i61z31qf00d6gjv6xxd54pv1ykf5bpv95a5crc3qfvl";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FsCheckNunit = fetchNuGet {
|
|
baseName = "FsCheck.Nunit";
|
|
version = "1.0.4";
|
|
sha256 = "1s62jrsa5hxqy1ginl8r29rjdc8vbkwmz7mb0hglhwccdqfyr5xy";
|
|
outputFiles = [ "lib/net45/*" ];
|
|
};
|
|
|
|
FSharpCompilerTools = fetchNuGet {
|
|
baseName = "FSharp.Compiler.Tools";
|
|
version = "4.1.27";
|
|
sha256 = "1m3hl8ja9gp5ajxmjf7bnq24bbkd6kx7yhxf4zb8si27h1n9l6dl";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FsLexYacc = fetchNuGet {
|
|
baseName = "FsLexYacc";
|
|
version = "6.1.0";
|
|
sha256 = "1v5myn62zqs431i046gscqw2v0c969fc7pdplx7z9cnpy0p2s4rv";
|
|
outputFiles = [ "build/*" ];
|
|
};
|
|
|
|
FsLexYacc706 = fetchNuGet {
|
|
baseName = "FsLexYacc";
|
|
version = "7.0.6";
|
|
sha256 = "0xwiq8q5q6ga6zj24w83ch5csbv405xcg6jg2hmnjic0npz0drk2";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
FsLexYaccRuntime = fetchNuGet {
|
|
baseName = "FsLexYacc.Runtime";
|
|
version = "6.1.0";
|
|
sha256 = "18vrx4lxsn4hkfishg4abv0d4q21dsph0bm4mdq5z8afaypp5cr7";
|
|
outputFiles = [ "lib/net40/*" ];
|
|
};
|
|
|
|
FsPickler = fetchNuGet {
|
|
baseName = "FsPickler";
|
|
version = "1.2.9";
|
|
sha256 = "12fgcj7pvffsj1s1kaz15j22i1n98dy5mf4z84555xdf7mw7dpm4";
|
|
outputFiles = [ "lib/net45/*" ];
|
|
};
|
|
|
|
FsUnit = fetchNuGet {
|
|
baseName = "FsUnit";
|
|
version = "1.3.0.1";
|
|
sha256 = "1k7w8pc81aplsfn7n46617khmzingd2v7hcgdhh7vgsssibwms64";
|
|
outputFiles = [ "Lib/Net40/*" ];
|
|
};
|
|
|
|
FSharpFormatting = fetchNuGet {
|
|
baseName = "FSharp.Formatting";
|
|
version = "2.9.8";
|
|
sha256 = "1bswcpa68i2lqds4kkl2qxgkfrppbpxa4jkyja48azljajh0df3m";
|
|
outputFiles = [ "lib/net40/*" ];
|
|
};
|
|
|
|
NUnit3 = fetchNuGet {
|
|
baseName = "NUnit";
|
|
version = "3.0.1";
|
|
sha256 = "1g3j3kvg9vrapb1vjgq65nvn1vg7bzm66w7yjnaip1iww1yn1b0p";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
NUnit350 = fetchNuGet {
|
|
baseName = "NUnit";
|
|
version = "3.5.0";
|
|
sha256 = "19fxq9cf754ygda5c8rn1zqs71pfxi7mb96jwqhlichnqih6i16z";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
NUnit2 = fetchNuGet {
|
|
baseName = "NUnit";
|
|
version = "2.6.4";
|
|
sha256 = "1acwsm7p93b1hzfb83ia33145x0w6fvdsfjm9xflsisljxpdx35y";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
NUnit = NUnit2;
|
|
|
|
NUnitConsole = fetchNuGet {
|
|
baseName = "NUnit.Console";
|
|
version = "3.0.1";
|
|
sha256 = "154bqwm2n95syv8nwd67qh8qsv0b0h5zap60sk64z3kd3a9ffi5p";
|
|
outputFiles = [ "tools/*" ];
|
|
};
|
|
|
|
MaxMindDb = fetchNuGet {
|
|
baseName = "MaxMind.Db";
|
|
version = "1.1.0.0";
|
|
sha256 = "0lixl76f7k3ldiqzg94zh13gn82w5mm5dx72y97fcqvp8g6nj3ds";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
MaxMindGeoIP2 = fetchNuGet {
|
|
baseName = "MaxMind.GeoIP2";
|
|
version = "2.3.1";
|
|
sha256 = "1s44dvjnmj1aimbrgkmpj6h5dn1w6acgqjch1axc76yz6hwknqgf";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
SharpZipLib = fetchNuGet {
|
|
baseName = "SharpZipLib";
|
|
version = "0.86.0";
|
|
sha256 = "01w2038gckfnq31pncrlgm7d0c939pwr1x4jj5450vcqpd4c41jr";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
StyleCopMSBuild = fetchNuGet {
|
|
baseName = "StyleCop.MSBuild";
|
|
version = "4.7.49.0";
|
|
sha256 = "0rpfyvcggm881ynvgr17kbx5hvj7ivlms0bmskmb2zyjlpddx036";
|
|
outputFiles = [ "tools/*" ];
|
|
};
|
|
|
|
StyleCopPlusMSBuild = fetchNuGet {
|
|
baseName = "StyleCopPlus.MSBuild";
|
|
version = "4.7.49.5";
|
|
sha256 = "1hv4lfxw72aql8siyqc4n954vzdz8p6jx9f2wrgzz0jy1k98x2mr";
|
|
outputFiles = [ "tools/*" ];
|
|
};
|
|
|
|
SystemValueTuple = fetchNuGet {
|
|
baseName = "System.ValueTuple";
|
|
version = "4.3.1";
|
|
sha256 = "0qzq878s66yfkf4n2b9af8lw2bx45s3cg6mi0w8w0bi358fa7q70";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
RestSharp = fetchNuGet {
|
|
baseName = "RestSharp";
|
|
version = "105.2.3";
|
|
sha256 = "1br48124ppz80x92m84sfyil1gn23hxg2ml9i9hsd0lp86vlaa1m";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
SharpFont = fetchNuGet {
|
|
baseName = "SharpFont";
|
|
version = "4.0.1";
|
|
sha256 = "1yd3cm4ww0hw2k3aymf792hp6skyg8qn491m2a3fhkzvsl8z7vs8";
|
|
outputFiles = [ "lib/*" "config/*" ];
|
|
};
|
|
|
|
SmartIrc4net = fetchNuGet {
|
|
baseName = "SmartIrc4net";
|
|
version = "0.4.5.1";
|
|
sha256 = "1d531sj39fvwmj2wgplqfify301y3cwp7kwr9ai5hgrq81jmjn2b";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
FuzzyLogicLibrary = fetchNuGet {
|
|
baseName = "FuzzyLogicLibrary";
|
|
version = "1.2.0";
|
|
sha256 = "0x518i8d3rw9n51xwawa4sywvqd722adj7kpcgcm63r66s950r5l";
|
|
outputFiles = [ "bin/*" ];
|
|
};
|
|
|
|
OpenNAT = fetchNuGet {
|
|
baseName = "Open.NAT";
|
|
version = "2.1.0";
|
|
sha256 = "1jyd30fwycdwx5ck96zhp2xf20yz0sp7g3pjbqhmay4kd322mfwk";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
MonoNat = fetchNuGet {
|
|
baseName = "Mono.Nat";
|
|
version = "1.2.24";
|
|
sha256 = "0vfkach11kkcd9rcqz3s38m70d5spyb21gl99iqnkljxj5555wjs";
|
|
outputFiles = [ "lib/*" ];
|
|
};
|
|
|
|
MicrosoftDiaSymReader = fetchNuGet {
|
|
baseName = "Microsoft.DiaSymReader";
|
|
version = "1.1.0";
|
|
sha256 = "04dgwy6nyxksd1nb24k5c5vz8naggg7hryadvwqnm2v3alkh6g88";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
MicrosoftDiaSymReaderPortablePdb = fetchNuGet {
|
|
baseName = "Microsoft.DiaSymReader.PortablePdb";
|
|
version = "1.2.0";
|
|
sha256 = "0qa8sqg0lzz9galkkfyi8rkbkali0nxm3qd5y4dlxp96ngrq5ldz";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
NUnitRunners = fetchNuGet {
|
|
baseName = "NUnit.Runners";
|
|
version = "2.6.4";
|
|
sha256 = "11nmi7vikn9idz8qcad9z7f73arsh5rw18fc1sri9ywz77mpm1s4";
|
|
outputFiles = [ "tools/*" ];
|
|
preInstall = "mv -v tools/lib/* tools && rmdir -v tools/lib";
|
|
};
|
|
|
|
SystemCollectionsImmutable = fetchNuGet {
|
|
baseName = "System.Collections.Immutable";
|
|
version = "1.1.36";
|
|
sha256 = "0760kzf5s771pnvnxsgas446kqdh1b71w6g3k75jpzldfmsd3vyq";
|
|
outputFiles = [ "lib/portable-net45+win8+wp8+wpa81/*" ];
|
|
};
|
|
|
|
SystemCollectionsImmutable131 = fetchNuGet {
|
|
baseName = "System.Collections.Immutable";
|
|
version = "1.3.1";
|
|
sha256 = "149fcp7k7r9iw24dv5hbaij0c38kcv28dyhzbkggilfh4x2hy8c2";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
SystemReflectionMetadata = fetchNuGet {
|
|
baseName = "System.Reflection.Metadata";
|
|
version = "1.4.2";
|
|
sha256 = "19fhdgd35yg52gyckhgwrphq07nv7v7r73hcg69ns94xfg1i6r7i";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
Suave = fetchNuGet {
|
|
baseName = "Suave";
|
|
version = "0.29.0";
|
|
propagatedBuildInputs = [ FsPickler ];
|
|
sha256 = "0rgqy0afwm50gq5ca94w16s565yx5wf961683ghfld6ir0k3dhln";
|
|
outputFiles = [ "lib/net40/*" ];
|
|
};
|
|
|
|
# SOURCE PACKAGES
|
|
|
|
Boogie = buildDotnetPackage rec {
|
|
baseName = "Boogie";
|
|
version = "2.4.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "boogie-org";
|
|
repo = "boogie";
|
|
rev = "v${version}";
|
|
sha256 = "13f6ifkh6gpy4bvx5zhgwmk3wd5rfxzl9wxwfhcj1c90fdrhwh1b";
|
|
};
|
|
|
|
# emulate `nuget restore Source/Boogie.sln`
|
|
# which installs in $srcdir/Source/packages
|
|
preBuild = ''
|
|
mkdir -p Source/packages/NUnit.2.6.3
|
|
ln -sn ${dotnetPackages.NUnit}/lib/dotnet/NUnit Source/packages/NUnit.2.6.3/lib
|
|
'';
|
|
|
|
buildInputs = [
|
|
dotnetPackages.NUnit
|
|
dotnetPackages.NUnitRunners
|
|
];
|
|
|
|
xBuildFiles = [ "Source/Boogie.sln" ];
|
|
|
|
outputFiles = [ "Binaries/*" ];
|
|
|
|
postInstall = ''
|
|
mkdir -pv "$out/lib/dotnet/${baseName}"
|
|
ln -sv "${pkgs.z3}/bin/z3" "$out/lib/dotnet/${baseName}/z3.exe"
|
|
|
|
# so that this derivation can be used as a vim plugin to install syntax highlighting
|
|
vimdir=$out/share/vim-plugins/boogie
|
|
install -Dt $vimdir/syntax/ Util/vim/syntax/boogie.vim
|
|
mkdir $vimdir/ftdetect
|
|
echo 'au BufRead,BufNewFile *.bpl set filetype=boogie' > $vimdir/ftdetect/bpl.vim
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "An intermediate verification language";
|
|
homepage = "https://github.com/boogie-org/boogie";
|
|
longDescription = ''
|
|
Boogie is an intermediate verification language (IVL), intended as a
|
|
layer on which to build program verifiers for other languages.
|
|
|
|
This derivation may be used as a vim plugin to provide syntax highlighting.
|
|
'';
|
|
license = licenses.mspl;
|
|
maintainers = [ maintainers.taktoa ];
|
|
platforms = with platforms; (linux ++ darwin);
|
|
};
|
|
};
|
|
|
|
Dafny = let
|
|
z3 = pkgs.z3.overrideAttrs (oldAttrs: rec {
|
|
version = "4.8.4";
|
|
name = "z3-${version}";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Z3Prover";
|
|
repo = "z3";
|
|
rev = "z3-${version}";
|
|
sha256 = "014igqm5vwswz0yhz0cdxsj3a6dh7i79hvhgc3jmmmz3z0xm1gyn";
|
|
};
|
|
});
|
|
self' = pkgs.dotnetPackages.override ({
|
|
pkgs = pkgs // { inherit z3; };
|
|
});
|
|
Boogie = assert self'.Boogie.version == "2.4.1"; self'.Boogie;
|
|
in buildDotnetPackage rec {
|
|
baseName = "Dafny";
|
|
version = "2.3.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/Microsoft/dafny/archive/v${version}.tar.gz";
|
|
sha256 = "0s6ihx32kda7400lvdrq60l46c11nki8b6kalir2g4ic508f6ypa";
|
|
};
|
|
|
|
postPatch = ''
|
|
sed -i \
|
|
-e 's/ Visible="False"//' \
|
|
-e "s/Exists(\$(CodeContractsInstallDir))/Exists('\$(CodeContractsInstallDir)')/" \
|
|
Source/*/*.csproj
|
|
'';
|
|
|
|
preBuild = ''
|
|
ln -s ${z3} Binaries/z3
|
|
'';
|
|
|
|
buildInputs = [ Boogie ];
|
|
|
|
xBuildFiles = [ "Source/Dafny.sln" ];
|
|
xBuildFlags = [ "/p:Configuration=Checked" "/p:Platform=Any CPU" "/t:Rebuild" ];
|
|
|
|
outputFiles = [ "Binaries/*" ];
|
|
|
|
# Do not wrap the z3 executable, only dafny-related ones.
|
|
exeFiles = [ "Dafny*.exe" ];
|
|
|
|
# Dafny needs mono in its path.
|
|
makeWrapperArgs = "--set PATH ${mono}/bin";
|
|
|
|
# Boogie as an input is not enough. Boogie libraries need to be at the same
|
|
# place as Dafny ones. Same for "*.dll.mdb". No idea why or how to fix.
|
|
postFixup = ''
|
|
for lib in ${Boogie}/lib/dotnet/${Boogie.baseName}/*.dll{,.mdb}; do
|
|
ln -s $lib $out/lib/dotnet/${baseName}/
|
|
done
|
|
# We generate our own executable scripts
|
|
rm -f $out/lib/dotnet/${baseName}/dafny{,-server}
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A programming language with built-in specification constructs";
|
|
homepage = "https://research.microsoft.com/dafny";
|
|
maintainers = with maintainers; [ layus ];
|
|
license = licenses.mit;
|
|
platforms = with platforms; (linux ++ darwin);
|
|
};
|
|
};
|
|
|
|
Deedle = fetchNuGet {
|
|
baseName = "Deedle";
|
|
version = "1.2.5";
|
|
sha256 = "0g19ll6bp97ixprcnpwwvshr1n9jxxf9xjhkxp0r63mg46z48jnw";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
ExcelDna = buildDotnetPackage {
|
|
baseName = "Excel-DNA";
|
|
version = "0.32.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Excel-DNA";
|
|
repo = "ExcelDna";
|
|
rev = "10a163843bcc2fb5517f6f3d499e18a8b64df511";
|
|
sha256 = "1w2ag9na20ly0m2sic3nkgdc4qqyb4x4c9iv588ynpkgd1pjndrk";
|
|
};
|
|
|
|
buildInputs = [ ];
|
|
|
|
preConfigure = ''
|
|
rm -vf Distribution/*.dll Distribution/*.exe # Make sure we don't use those
|
|
substituteInPlace Source/ExcelDna.Integration/ExcelDna.Integration.csproj --replace LogDisplay.designer.cs LogDisplay.Designer.cs
|
|
'';
|
|
|
|
xBuildFiles = [ "Source/ExcelDna.sln" ];
|
|
outputFiles = [ "Source/ExcelDnaPack/bin/Release/*" "Distribution/ExcelDna.xll" "Distribution/ExcelDna64.xll" ];
|
|
|
|
meta = {
|
|
description = "Excel-DNA is an independent project to integrate .NET into Excel";
|
|
homepage = "https://excel-dna.net/";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
ExcelDnaRegistration = buildDotnetPackage rec {
|
|
baseName = "Excel-DNA.Registration";
|
|
version = "git-" + (builtins.substring 0 10 rev);
|
|
rev = "69abb1b3528f40dbcf425e13690aaeab5f707bb6";
|
|
|
|
src = fetchFromGitHub {
|
|
inherit rev;
|
|
owner = "Excel-DNA";
|
|
repo = "Registration";
|
|
sha256 = "094932h6r2f4x9r5mnw8rm4jzz8vkfv90d95qi3h0i89ws2dnn07";
|
|
};
|
|
|
|
buildInputs = [
|
|
fsharp
|
|
dotnetPackages.ExcelDna
|
|
];
|
|
|
|
xBuildFiles = [ "Source/ExcelDna.Registration/ExcelDna.Registration.csproj" "Source/ExcelDna.Registration.FSharp/ExcelDna.Registration.FSharp.fsproj" ];
|
|
outputFiles = [ "Source/ExcelDna.Registration/bin/Release/*" "Source/ExcelDna.Registration.FSharp/bin/Release/*FSharp*" ];
|
|
|
|
meta = {
|
|
description = "This library implements helper functions to assist and modify the Excel-DNA function registration";
|
|
homepage = "https://github.com/Excel-DNA/Registration";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
ExtCore = buildDotnetPackage {
|
|
baseName = "ExtCore";
|
|
version = "0.8.46";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jack-pappas";
|
|
repo = "ExtCore";
|
|
rev = "0269b6d3c479f45abd7aa983aaeca08d07473943";
|
|
sha256 = "1kxkiszpvqisffhd6wciha8j3dhkq06w9c540bmq8zixa4xaj83p";
|
|
};
|
|
|
|
buildInputs = [
|
|
fsharp
|
|
dotnetPackages.NUnit
|
|
dotnetPackages.FsCheck
|
|
];
|
|
|
|
postConfigure = ''
|
|
# Fix case
|
|
sed -i -e s,nuget.targets,NuGet.targets, ExtCore.Tests/ExtCore.Tests.fsproj
|
|
'';
|
|
|
|
xBuildFlags = [ "/p:Configuration=Release (net45)" ];
|
|
outputFiles = [ "ExtCore/bin/net45/Release/*" ];
|
|
|
|
meta = {
|
|
description = "ExtCore is an extended core library for F#";
|
|
homepage = "https://github.com/jack-pappas/ExtCore";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
broken = true;
|
|
};
|
|
};
|
|
|
|
FSharpAutoComplete = buildDotnetPackage rec {
|
|
baseName = "FSharp.AutoComplete";
|
|
version = "0.18.2";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "fsharp";
|
|
repo = "FSharp.AutoComplete";
|
|
rev = version;
|
|
sha256 = "1ikl72003xzqq2dc8i6h404hnq3q5g1p1q4rmzz9bdm7282q2jgs";
|
|
};
|
|
|
|
buildInputs = [
|
|
fsharp
|
|
glib
|
|
dotnetPackages.FSharpCompilerService
|
|
dotnetPackages.NewtonsoftJson
|
|
dotnetPackages.NDeskOptions
|
|
];
|
|
|
|
outputFiles = [ "FSharp.AutoComplete/bin/Release/*" ];
|
|
|
|
meta = {
|
|
description = "An interface to the FSharp.Compiler.Service project";
|
|
longDescription = ''
|
|
This project provides a command-line interface to the
|
|
FSharp.Compiler.Service project. It is intended to be used as a backend
|
|
service for rich editing or 'intellisense' features for editors.
|
|
'';
|
|
homepage = "https://github.com/fsharp/FSharp.AutoComplete";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
FSharpCompilerService = buildDotnetPackage {
|
|
baseName = "FSharp.Compiler.Service";
|
|
version = "0.0.90";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "fsharp";
|
|
repo = "FSharp.Compiler.Service";
|
|
rev = "a87939ab3f3c571cad79bc3b5f298aa3e180e6b3";
|
|
sha256 = "0axr38q8m0h11hhbxg5myd1wwfgysadriln8c7bqsv5sf9djihvd";
|
|
};
|
|
|
|
buildInputs = [
|
|
fsharp
|
|
dotnetPackages.NUnit
|
|
];
|
|
|
|
outputFiles = [ "bin/v4.5/*" ];
|
|
|
|
meta = {
|
|
description = "The F# compiler services package is a component derived from the F# compiler source code that exposes additional functionality for implementing F# language bindings";
|
|
homepage = "https://fsharp.github.io/FSharp.Compiler.Service/";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
FSharpData = buildDotnetPackage rec {
|
|
baseName = "FSharp.Data";
|
|
version = "2.2.3";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "fsharp";
|
|
repo = baseName;
|
|
rev = version;
|
|
sha256 = "1h3v9rc8k0khp61cv5n01larqbxd3xcx3q52sw5zf9l0661vw7qr";
|
|
};
|
|
|
|
buildInputs = [ fsharp ];
|
|
|
|
fileProvidedTypes = fetchurl {
|
|
name = "ProvidedTypes.fs";
|
|
url = "https://raw.githubusercontent.com/fsprojects/FSharp.TypeProviders.StarterPack/877014bfa6244ac382642e113d7cd6c9bc27bc6d/src/ProvidedTypes.fs";
|
|
sha256 = "1lb056v1xld1rfx6a8p8i2jz8i6qa2r2823n5izsf1qg1qgf2980";
|
|
};
|
|
|
|
fileDebugProvidedTypes = fetchurl {
|
|
name = "DebugProvidedTypes.fs";
|
|
url = "https://raw.githubusercontent.com/fsprojects/FSharp.TypeProviders.StarterPack/877014bfa6244ac382642e113d7cd6c9bc27bc6d/src/DebugProvidedTypes.fs";
|
|
sha256 = "1whyrf2jv6fs7kgysn2086v15ggjsd54g1xfs398mp46m0nxp91f";
|
|
};
|
|
|
|
preConfigure = ''
|
|
# Copy single-files-in-git-repos
|
|
mkdir -p "paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src"
|
|
cp -v "${fileProvidedTypes}" "paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src/ProvidedTypes.fs"
|
|
cp -v "${fileDebugProvidedTypes}" "paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src/DebugProvidedTypes.fs"
|
|
'';
|
|
|
|
xBuildFiles = [ "src/FSharp.Data.fsproj" "src/FSharp.Data.DesignTime.fsproj" ];
|
|
outputFiles = [ "bin/*.dll" "bin/*.xml" ];
|
|
|
|
meta = {
|
|
description = "F# Data: Library for Data Access";
|
|
homepage = "https://fsharp.github.io/FSharp.Data/";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
# FSharpxExtras = buildDotnetPackage rec {
|
|
# baseName = "FSharpx.Extras";
|
|
# version = "1.8.41";
|
|
#
|
|
# src = fetchurl {
|
|
# name = "${baseName}-${version}.tar.gz";
|
|
# url = "https://github.com/fsprojects/FSharpx.Extras/archive/${version}.tar.gz";
|
|
# sha256 = "102z5bvk3ffi1crgyp51488vamv41fsf61n8x8pdiznq155zydhl";
|
|
# };
|
|
#
|
|
# buildInputs = [
|
|
# fsharp
|
|
# dotnetPackages.NUnit
|
|
# dotnetPackages.FsCheck
|
|
# dotnetPackages.FsCheckNunit
|
|
# dotnetPackages.FsUnit
|
|
# ];
|
|
#
|
|
# patches = [ ./disable_excel.patch ];
|
|
#
|
|
# xBuildFiles = [ "FSharpx.WithTypeProviders.sln" ];
|
|
# outputFiles = [ "build/*" ];
|
|
#
|
|
# meta = {
|
|
# description = "FSharpx.Extras is a collection of libraries and tools for use with F#";
|
|
# homepage = "https://fsprojects.github.io/FSharpx.Extras/";
|
|
# license = lib.licenses.asl20;
|
|
# maintainers = with lib.maintainers; [ obadz ];
|
|
# platforms = with lib.platforms; linux;
|
|
# };
|
|
# };
|
|
|
|
GitVersionTree = buildDotnetPackage {
|
|
baseName = "GitVersionTree";
|
|
version = "2013-10-01";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "crc8";
|
|
repo = "GitVersionTree";
|
|
rev = "58dc39c43cffea44f721ee4425835e56518f7da2";
|
|
sha256 = "0mna5pkpqkdr5jgn8paz004h1pa24ncsvmi2c8s4gp94nfw34x05";
|
|
};
|
|
|
|
buildInputs = with pkgs; [ ed ];
|
|
|
|
postPatch = ''
|
|
ed -v -p: -s GitVersionTree/Program.cs << EOF
|
|
/Main()
|
|
c
|
|
static void Main(string[] args)
|
|
.
|
|
/EnableVisualStyles
|
|
i
|
|
Reg.Write("GitPath", "${pkgs.gitMinimal}/bin/git");
|
|
Reg.Write("GraphvizPath", "${pkgs.graphviz}/bin/dot");
|
|
if (args.Length > 0) {
|
|
Reg.Write("GitRepositoryPath", args[0]);
|
|
}
|
|
.
|
|
w
|
|
EOF
|
|
|
|
substituteInPlace GitVersionTree/Forms/MainForm.cs \
|
|
--replace 'Directory.GetParent(Application.ExecutablePath)' 'Environment.CurrentDirectory' \
|
|
--replace '\\' '/' \
|
|
--replace '@"\"' '"/"'
|
|
'';
|
|
|
|
outputFiles = [ "GitVersionTree/bin/Release/*" ];
|
|
exeFiles = [ "GitVersionTree.exe" ];
|
|
|
|
meta = with lib; {
|
|
description = "A tool to help visualize git revisions and branches";
|
|
homepage = "https://github.com/crc8/GitVersionTree";
|
|
license = licenses.gpl2;
|
|
maintainers = with maintainers; [ obadz ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
|
|
MathNetNumerics = buildDotnetPackage rec {
|
|
baseName = "MathNet.Numerics";
|
|
version = "3.7.0";
|
|
|
|
src = fetchurl {
|
|
name = "${baseName}-${version}.tar.gz";
|
|
url = "https://github.com/mathnet/mathnet-numerics/archive/v${version}.tar.gz";
|
|
sha256 = "1yq6aqmc2gwh96z544qn83kby01lv1lsxm158hq0bimv2i9yywc7";
|
|
};
|
|
|
|
buildInputs = [ fsharp ];
|
|
|
|
xBuildFiles = [ "MathNet.Numerics.sln" ];
|
|
outputFiles = [ "out/lib/Net40/*" "src/FSharp/MathNet.Numerics.fsx" "src/FSharp/MathNet.Numerics.IfSharp.fsx" ];
|
|
|
|
meta = {
|
|
description = "Math.NET Numerics is an opensource numerical library for .Net, Silverlight and Mono";
|
|
homepage = "https://numerics.mathdotnet.com/";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
MonoAddins = buildDotnetPackage rec {
|
|
baseName = "Mono.Addins";
|
|
version = "1.2";
|
|
|
|
xBuildFiles = [
|
|
"Mono.Addins/Mono.Addins.csproj"
|
|
"Mono.Addins.Setup/Mono.Addins.Setup.csproj"
|
|
"Mono.Addins.Gui/Mono.Addins.Gui.csproj"
|
|
"Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.csproj"
|
|
];
|
|
outputFiles = [ "bin/*" ];
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "mono";
|
|
repo = "mono-addins";
|
|
rev = "mono-addins-${version}";
|
|
sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y";
|
|
};
|
|
|
|
buildInputs = [ pkgs.gtk-sharp-2_0 ];
|
|
|
|
meta = {
|
|
description = "A generic framework for creating extensible applications";
|
|
homepage = "https://www.mono-project.com/Mono.Addins";
|
|
longDescription = ''
|
|
A generic framework for creating extensible applications,
|
|
and for creating libraries which extend those applications.
|
|
'';
|
|
license = lib.licenses.mit;
|
|
};
|
|
};
|
|
|
|
# MonoDevelopFSharpBinding = buildDotnetPackage rec {
|
|
# baseName = "MonoDevelop.FSharpBinding";
|
|
# version = "git-a09c8185eb";
|
|
|
|
# broken = true;
|
|
|
|
# src = fetchFromGitHub {
|
|
# owner = "fsharp";
|
|
# repo = "fsharpbinding";
|
|
# rev = "a09c8185ebf23fe2f7d22b14b4af2e3268d4f011";
|
|
# sha256 = "1zp5gig42s1h681kch0rw5ykbbj0mcsmdvpyz1319wy9s7n2ng91";
|
|
# };
|
|
|
|
# buildInputs = [
|
|
# fsharp
|
|
# monodevelop
|
|
# pkgs.gtk-sharp
|
|
# pkgs.gnome-sharp
|
|
# dotnetPackages.ExtCore
|
|
# dotnetPackages.FSharpCompilerService
|
|
# dotnetPackages.FSharpCompilerCodeDom
|
|
# dotnetPackages.FSharpAutoComplete
|
|
# dotnetPackages.Fantomas
|
|
# ];
|
|
|
|
# patches = [
|
|
# ../development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch
|
|
# ../development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch
|
|
# ];
|
|
|
|
# preConfigure = ''
|
|
# substituteInPlace monodevelop/configure.fsx --replace /usr/lib/monodevelop ${monodevelop}/lib/monodevelop
|
|
# substituteInPlace monodevelop/configure.fsx --replace bin/MonoDevelop.exe ../../bin/monodevelop
|
|
# (cd monodevelop; fsharpi ./configure.fsx)
|
|
# '';
|
|
|
|
# # This will not work as monodevelop probably looks in absolute nix store path rather than path
|
|
# # relative to its executable. Need to ln -s /run/current-system/sw/lib/dotnet/MonoDevelop.FSharpBinding
|
|
# # ~/.local/share/MonoDevelop-5.0/LocalInstall/Addins/ to install until we have a better way
|
|
|
|
# # postInstall = ''
|
|
# # mkdir -p "$out/lib/monodevelop/AddIns"
|
|
# # ln -sv "$out/lib/dotnet/${baseName}" "$out/lib/monodevelop/AddIns"
|
|
# # '';
|
|
|
|
# xBuildFiles = [ "monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.mac-linux.fsproj" ];
|
|
# outputFiles = [ "monodevelop/bin/mac-linux/Release/*" ];
|
|
|
|
# meta = {
|
|
# description = "F# addin for MonoDevelop 5.9";
|
|
# homepage = "https://github.com/fsharp/fsharpbinding/tree/5.9";
|
|
# license = lib.licenses.asl20;
|
|
# maintainers = with lib.maintainers; [ obadz ];
|
|
# platforms = with lib.platforms; linux;
|
|
# };
|
|
# };
|
|
|
|
NDeskOptions = stdenv.mkDerivation rec {
|
|
baseName = "NDesk.Options";
|
|
version = "0.2.1";
|
|
name = "${baseName}-${version}";
|
|
|
|
src = fetchurl {
|
|
name = "${baseName}-${version}.tar.gz";
|
|
url = "http://www.ndesk.org/archive/ndesk-options/ndesk-options-0.2.1.tar.gz";
|
|
sha256 = "1y25bfapafwmifakjzyb9c70qqpvza8g5j2jpf08j8wwzkrb6r28";
|
|
};
|
|
|
|
buildInputs = [
|
|
mono
|
|
pkg-config
|
|
];
|
|
|
|
postInstall = ''
|
|
# Otherwise pkg-config won't find it and the DLL will get duplicated
|
|
ln -sv $out/lib/pkgconfig/ndesk-options.pc $out/lib/pkgconfig/NDesk.Options.pc
|
|
'';
|
|
|
|
dontStrip = true;
|
|
|
|
meta = {
|
|
description = "A callback-based program option parser for C#";
|
|
homepage = "http://www.ndesk.org/Options";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
NewtonsoftJson = fetchNuGet {
|
|
baseName = "Newtonsoft.Json";
|
|
version = "11.0.2";
|
|
sha256 = "07na27n4mlw77f3hg5jpayzxll7f4gyna6x7k9cybmxpbs6l77k7";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
Nuget = buildDotnetPackage {
|
|
baseName = "Nuget";
|
|
version = "4.9.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "mono";
|
|
repo = "nuget-binary";
|
|
rev = "7871fa26914593fdb2f2500df1196df7b8aecb1c";
|
|
sha256 = "07r63xam6icm17pf6amh1qkmna13nxa3ncdan7a3ql307i5isriz";
|
|
};
|
|
|
|
nativeBuildInputs = [ unzip ];
|
|
|
|
phases = [ "unpackPhase" "installPhase" ];
|
|
|
|
outputFiles = [ "*" ];
|
|
dllFiles = [ "NuGet*.dll" ];
|
|
exeFiles = [ "nuget.exe" ];
|
|
};
|
|
|
|
Paket = fetchNuGet {
|
|
baseName = "Paket";
|
|
version = "5.179.1";
|
|
sha256 = "11rzna03i145qj08hwrynya548fwk8xzxmg65swyaf19jd7gzg82";
|
|
outputFiles = [ "*" ];
|
|
};
|
|
|
|
Projekt = buildDotnetPackage rec {
|
|
baseName = "projekt";
|
|
version = "git-" + (builtins.substring 0 10 rev);
|
|
rev = "715a21e5cd3c86310387562618b04e979d0ec9c4";
|
|
|
|
src = fetchFromGitHub {
|
|
inherit rev;
|
|
owner = "kjnilsson";
|
|
repo = "projekt";
|
|
sha256 = "1ph3af07wmia6qkiq1qlywaj2xh6zn5drdx19dwb1g3237h5fnz0";
|
|
};
|
|
|
|
buildInputs = [
|
|
fsharp
|
|
dotnetPackages.UnionArgParser
|
|
dotnetPackages.FsUnit
|
|
];
|
|
|
|
preConfigure = ''
|
|
sed -i -e "s/FSharp.Core, Version=\$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a/FSharp.Core/" src/Projekt/Projekt.fsproj
|
|
'';
|
|
|
|
outputFiles = [ "src/Projekt/bin/Release/*" ];
|
|
|
|
meta = {
|
|
description = "A command-line tool for manipulating F# project files";
|
|
homepage = "https://github.com/kjnilsson/projekt";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
UnionArgParser = buildDotnetPackage {
|
|
baseName = "UnionArgParser";
|
|
version = "0.8.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "nessos";
|
|
repo = "UnionArgParser";
|
|
rev = "acaeb946e53cbb0bd9768977c656b3242146070a";
|
|
sha256 = "1yrs7ycf2hg7h8z6vm9lr7i3gr9s30k74fr2maigdydnnls93als";
|
|
};
|
|
|
|
buildInputs = [
|
|
fsharp
|
|
dotnetPackages.NUnit
|
|
dotnetPackages.FsUnit
|
|
];
|
|
|
|
outputFiles = [ "bin/net40/*" ];
|
|
|
|
meta = {
|
|
description = "A declarative CLI argument/XML configuration parser for F# applications";
|
|
homepage = "https://nessos.github.io/UnionArgParser/";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ obadz ];
|
|
platforms = with lib.platforms; linux;
|
|
};
|
|
};
|
|
|
|
}; in self
|