nixpkgs/pkgs/top-level/dotnet-packages.nix
Jonathan Ringer 9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
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.
2021-01-19 01:16:25 -08:00

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";
};
buildInputs = [ 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