push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
{
lib,
stdenv,
fetchurl,
gettext,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ms-sys";
version = "2.8.0";
src = fetchurl {
url = "mirror://sourceforge/ms-sys/ms-sys-${finalAttrs.version}.tar.gz";
hash = "sha256-qQLuPr0MtwOO0HfjqoqMgzWmxHL1BW1+CK8z1+eD8Vc=";
};
nativeBuildInputs = [ gettext ];
enableParallelBuilding = true;
makeFlags = [ "PREFIX=$(out)" ];
meta = {
description = "Program for writing Microsoft-compatible boot records";
homepage = "https://ms-sys.sourceforge.net/";
license = lib.licenses.gpl2Plus;
platforms = with lib.platforms; linux;
mainProgram = "ms-sys";
};
})

View File

@@ -0,0 +1,43 @@
{
stdenv,
lib,
fetchurl,
dpkg,
sdbus-cpp,
}:
stdenv.mkDerivation rec {
pname = "msalsdk-dbusclient";
version = "1.0.1";
src = fetchurl {
url = "https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/m/msalsdk-dbusclient/msalsdk-dbusclient_${version}_amd64.deb";
hash = "sha256-AVPrNxCjXGza2gGETP0YrlXeEgI6AjlrSVTtqKb2UBI=";
};
nativeBuildInputs = [ dpkg ];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
install -m 755 usr/lib/libmsal_dbus_client.so $out/lib/
patchelf --set-rpath ${
lib.makeLibraryPath [
stdenv.cc.cc
sdbus-cpp
]
} $out/lib/libmsal_dbus_client.so
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Microsoft Authentication Library cross platform Dbus client for talking to microsoft-identity-broker";
homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-cpp";
license = licenses.unfree;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ rhysmdnz ];
};
}

View File

@@ -0,0 +1,26 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl gzip dpkg common-updater-scripts
index_file=$(curl -sL https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/main/binary-amd64/Packages.gz | gzip -dc)
latest_version="0"
echo "$index_file" | while read -r line; do
if [[ "$line" =~ ^Package:[[:space:]]*(.*) ]]; then
Package="${BASH_REMATCH[1]}"
fi
if [[ "$line" =~ ^Version:[[:space:]]*(.*) ]]; then
Version="${BASH_REMATCH[1]}"
fi
if ! [[ "$line" ]] && [[ "${Package}" == "msalsdk-dbusclient" ]]; then
if ( dpkg --compare-versions ${Version} gt ${latest_version} ); then
latest_version="${Version}"
echo $latest_version
fi
Package=""
Version=""
fi
done | tail -n 1 | (read version; update-source-version msalsdk-dbusclient $version)

View File

@@ -0,0 +1,19 @@
{ ocamlPackages }:
with ocamlPackages;
buildDunePackage {
pname = "msat-bin";
inherit (msat) version src;
buildInputs = [
camlzip
containers
msat
];
meta = msat.meta // {
description = "SAT solver binary based on the msat library";
mainProgram = "msat";
};
}

View File

@@ -0,0 +1,327 @@
[
{
"pname": "AutomaticGraphLayout",
"version": "1.1.12",
"hash": "sha256-Fe4pGr+Ln1FfgHD3Odq2WOTrhi2nD/jjnh2cKLC2pwo="
},
{
"pname": "AutomaticGraphLayout.Drawing",
"version": "1.1.12",
"hash": "sha256-KPyc4JxcQkGTeb5tceB3zRN8FqTj7jzimb97NOhZPl0="
},
{
"pname": "Avalonia",
"version": "11.0.0",
"hash": "sha256-7QE0MtD1QDiG3gRx5xW33E33BXyEtASQSw+Wi3Lmy3E="
},
{
"pname": "Avalonia",
"version": "11.1.3",
"hash": "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
"version": "2.1.22045.20230930",
"hash": "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="
},
{
"pname": "Avalonia.AvaloniaEdit",
"version": "11.1.0",
"hash": "sha256-K9+hK+4aK93dyuGytYvVU25daz605+KN54hmwQYXFF8="
},
{
"pname": "Avalonia.BuildServices",
"version": "0.0.28",
"hash": "sha256-7NQWQl3xrBDOXhGihCkt5DIrws48KyDGon/7+gPzMDU="
},
{
"pname": "Avalonia.BuildServices",
"version": "0.0.29",
"hash": "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.1.3",
"hash": "sha256-W17Wvmi8/47cf5gCF3QRcaKLz0ZpXtZYCCkaERkbyXU="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "11.1.3",
"hash": "sha256-OOKTovi5kckn0x/8dMcq56cvq57UVMLzA9LRXDxm2Vc="
},
{
"pname": "Avalonia.Desktop",
"version": "11.1.3",
"hash": "sha256-mNFscbtyqLlodzGa3SJ3oVY467JjWwY45LxZiKDAn/w="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.1.3",
"hash": "sha256-PD9ZIeBZJrLaVDjmWBz4GocrdUSNUou11gAERU+xWDo="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.1.3",
"hash": "sha256-nUBhSRE0Bly3dVC14wXwU19vP3g0VbE4bCUohx7DCVI="
},
{
"pname": "Avalonia.Native",
"version": "11.1.3",
"hash": "sha256-byAVGW7XgkyzDj1TnqaCeDU/xTD9z8ACGrSJgwJ+XXs="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.0.0",
"hash": "sha256-gkVpdbk/0RDM7Hhq0jwZwltDpTsGRmbX+ZFTjWYYoKw="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.1.3",
"hash": "sha256-CKF+62zCbK1Rd/HiC6MGrags3ylXrVQ1lni3Um0Muqk="
},
{
"pname": "Avalonia.Skia",
"version": "11.1.3",
"hash": "sha256-EtB86g+nz6i8wL6xytMkYl2Ehgt3GFMMNPzQfhbfopM="
},
{
"pname": "Avalonia.Themes.Fluent",
"version": "11.1.3",
"hash": "sha256-qfmRK2gLGSgHx4dNIeVesWxLUjcook9ET2xru/Xyiw8="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.1.3",
"hash": "sha256-Q6jL5J/6aBtOY85I641RVp8RpuqJbPy6C6LxnRkFtMM="
},
{
"pname": "Avalonia.Win32",
"version": "11.1.3",
"hash": "sha256-zcxTpEnpLf50p8Yaiylk5/CS9MNDe7lK1uX1CPaJBUc="
},
{
"pname": "Avalonia.X11",
"version": "11.1.3",
"hash": "sha256-M2+y661/znDxZRdwNRIQi4mS2m6T4kQkBbYeE7KyQAw="
},
{
"pname": "DotUtils.StreamUtils.Sources",
"version": "0.0.8",
"hash": "sha256-KL5PkSsuZ9uPgtzK7rB0W6XGTcJQGqHoZqMLhpFR7tw="
},
{
"pname": "GuiLabs.Language.Xml",
"version": "1.2.93",
"hash": "sha256-4fvD+8QBxEpVqcQtZ+gE8GhY7Iaay4aFr5HWQ9LGeqk="
},
{
"pname": "HarfBuzzSharp",
"version": "7.3.0.2",
"hash": "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Linux",
"version": "7.3.0.2",
"hash": "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.macOS",
"version": "7.3.0.2",
"hash": "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="
},
{
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "7.3.0.2",
"hash": "sha256-aEZr9uKAlCTeeHoYNR1Rs6L3P54765CemyrgJF8x09c="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Win32",
"version": "7.3.0.2",
"hash": "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="
},
{
"pname": "MicroCom.Runtime",
"version": "0.11.0",
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
},
{
"pname": "Microsoft.Build.Framework",
"version": "17.5.0",
"hash": "sha256-FVomTQ8rZ5Ga09piFxSDFQ+b3gpC2ddZd+pQBSn5Csw="
},
{
"pname": "Microsoft.Build.Tasks.Git",
"version": "8.0.0",
"hash": "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA="
},
{
"pname": "Microsoft.Build.Utilities.Core",
"version": "17.5.0",
"hash": "sha256-W4bN0E9/DgEw0fxopXUhMK9tuGGwm0NYK3APytAzNRI="
},
{
"pname": "Microsoft.NET.StringTools",
"version": "17.5.0",
"hash": "sha256-9eoXaPQvt6YAeb+cK5/ekh3YFfjymZCzJAxsDsIPlMQ="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.SourceLink.Common",
"version": "8.0.0",
"hash": "sha256-AfUqleVEqWuHE7z2hNiwOLnquBJ3tuYtbkdGMppHOXc="
},
{
"pname": "Microsoft.SourceLink.GitHub",
"version": "8.0.0",
"hash": "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0="
},
{
"pname": "Microsoft.Win32.Registry",
"version": "5.0.0",
"hash": "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "6.0.0",
"hash": "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="
},
{
"pname": "Nerdbank.GitVersioning",
"version": "3.7.115",
"hash": "sha256-sqn+i7vvBgBUtm7j82mH+SpApgI2hsmL5DYfLm1Z7gw="
},
{
"pname": "NETStandard.Library",
"version": "2.0.3",
"hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="
},
{
"pname": "Nullable",
"version": "1.3.1",
"hash": "sha256-5x5+l+7YhKjlBR9GEFKrZ8uewyB7eNxMAREwITDJmUM="
},
{
"pname": "SkiaSharp",
"version": "2.88.8",
"hash": "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="
},
{
"pname": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.8",
"hash": "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "2.88.8",
"hash": "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="
},
{
"pname": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.8",
"hash": "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "2.88.8",
"hash": "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="
},
{
"pname": "System.Buffers",
"version": "4.5.1",
"hash": "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="
},
{
"pname": "System.Buffers",
"version": "4.6.0",
"hash": "sha256-c2QlgFB16IlfBms5YLsTCFQ/QeKoS6ph1a9mdRkq/Jc="
},
{
"pname": "System.Collections.Immutable",
"version": "8.0.0",
"hash": "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="
},
{
"pname": "System.ComponentModel.Annotations",
"version": "4.5.0",
"hash": "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="
},
{
"pname": "System.Configuration.ConfigurationManager",
"version": "6.0.0",
"hash": "sha256-fPV668Cfi+8pNWrvGAarF4fewdPVEDwlJWvJk0y+Cms="
},
{
"pname": "System.Drawing.Common",
"version": "6.0.0",
"hash": "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="
},
{
"pname": "System.IO.Pipelines",
"version": "6.0.0",
"hash": "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="
},
{
"pname": "System.Memory",
"version": "4.6.0",
"hash": "sha256-OhAEKzUM6eEaH99DcGaMz2pFLG/q/N4KVWqqiBYUOFo="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.5.0",
"hash": "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.6.0",
"hash": "sha256-fKS3uWQ2HmR69vNhDHqPLYNOt3qpjiWQOXZDHvRE1HU="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.1.0",
"hash": "sha256-NyqqpRcHumzSxpsgRDguD5SGwdUNHBbo0OOdzLTIzCU="
},
{
"pname": "System.Security.AccessControl",
"version": "5.0.0",
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
},
{
"pname": "System.Security.AccessControl",
"version": "6.0.0",
"hash": "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "6.0.0",
"hash": "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="
},
{
"pname": "System.Security.Permissions",
"version": "6.0.0",
"hash": "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="
},
{
"pname": "System.Security.Principal.Windows",
"version": "5.0.0",
"hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
},
{
"pname": "System.Text.Encoding.CodePages",
"version": "6.0.0",
"hash": "sha256-nGc2A6XYnwqGcq8rfgTRjGr+voISxNe/76k2K36coj4="
},
{
"pname": "System.Windows.Extensions",
"version": "6.0.0",
"hash": "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="
},
{
"pname": "Tmds.DBus.Protocol",
"version": "0.16.0",
"hash": "sha256-vKYEaa1EszR7alHj48R8G3uYArhI+zh2ZgiBv955E98="
}
]

View File

@@ -0,0 +1,89 @@
{
lib,
stdenv,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
autoPatchelfHook,
copyDesktopItems,
icu,
openssl,
libkrb5,
makeDesktopItem,
nix-update-script,
}:
buildDotnetModule (finalAttrs: {
pname = "msbuild-structured-log-viewer";
version = "2.3.60";
src = fetchFromGitHub {
owner = "KirillOsenkov";
repo = "MSBuildStructuredLog";
rev = "v${finalAttrs.version}";
hash = "sha256-IjiZfsrkaTgqNBPD4Zw9t6DzAlMjnXZgkpFk7pwgsWI=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
projectFile = [ "src/StructuredLogViewer.Avalonia/StructuredLogViewer.Avalonia.csproj" ];
nugetDeps = ./deps.json;
# HACK: Clear out RuntimeIdentifiers that's set in StructuredLogViewer.Avalonia.csproj, otherwise our --runtime has no effect
dotnetFlags = [ "-p:RuntimeIdentifiers=" ];
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [
autoPatchelfHook
copyDesktopItems
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
stdenv.cc.cc.lib
icu
openssl
libkrb5
];
dontDotnetFixup = true;
postFixup = ''
wrapDotnetProgram $out/lib/msbuild-structured-log-viewer/StructuredLogViewer.Avalonia $out/bin/${finalAttrs.meta.mainProgram}
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
install -Dm444 $src/src/StructuredLogViewer/icons/msbuild-structured-log-viewer.png $out/share/icons/hicolor/32x32/apps/msbuild-structured-log-viewer.png
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/StructuredLogViewer.Avalonia/Info.plist \
--replace-fail "0.0.1" "${finalAttrs.version}"
install -Dm444 src/StructuredLogViewer.Avalonia/Info.plist $out/Applications/StructuredLogViewer.app/Contents/Info.plist
install -Dm444 src/StructuredLogViewer.Avalonia/StructuredLogViewer.icns $out/Applications/StructuredLogViewer.app/Contents/Resources/StructuredLogViewer.icns
mkdir -p $out/Applications/StructuredLogViewer.app/Contents/MacOS
ln -s $out/bin/${finalAttrs.meta.mainProgram} $out/Applications/StructuredLogViewer.app/Contents/MacOS/StructuredLogViewer.Avalonia
'';
desktopItems = makeDesktopItem {
name = "msbuild-structured-log-viewer";
desktopName = "MSBuild Structured Log Viewer";
comment = finalAttrs.meta.description;
icon = "msbuild-structured-log-viewer";
exec = finalAttrs.meta.mainProgram;
categories = [ "Development" ];
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Rich interactive log viewer for MSBuild logs";
homepage = "https://github.com/KirillOsenkov/MSBuildStructuredLog";
changelog = "https://github.com/KirillOsenkov/MSBuildStructuredLog/releases/tag/v${finalAttrs.version}";
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
binaryNativeCode
];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ js6pak ];
mainProgram = "msbuild-structured-log-viewer";
};
})

1382
pkgs/by-name/ms/msbuild/deps.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,163 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
glibcLocales,
mono,
unzip,
dotnetCorePackages,
roslyn,
}:
let
dotnet-sdk = dotnetCorePackages.sdk_8_0-source;
xplat = fetchurl {
url = "https://github.com/mono/msbuild/releases/download/v16.9.0/mono_msbuild_6.12.0.137.zip";
sha256 = "1wnzbdpk4s9bmawlh359ak2b8zi0sgx1qvcjnvfncr1wsck53v7q";
};
inherit (stdenv.hostPlatform.extensions) sharedLibrary;
mkPackage =
attrs:
stdenv.mkDerivation (
finalAttrs:
dotnetCorePackages.addNuGetDeps {
nugetDeps = ./deps.json;
overrideFetchAttrs = a: {
dontBuild = false;
};
} attrs finalAttrs
);
in
mkPackage rec {
pname = "msbuild";
version = "16.10.1+xamarinxplat.2021.05.26.14.00";
src = fetchurl {
url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz";
sha256 = "05ghqqkdj4s3d0xkp7mkdzjig5zj3k6ajx71j0g2wv6rdbvg6899";
};
nativeBuildInputs = [
dotnet-sdk
mono
unzip
makeWrapper
];
buildInputs = [
glibcLocales
];
# https://github.com/NixOS/nixpkgs/issues/38991
# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
LOCALE_ARCHIVE = lib.optionalString stdenv.hostPlatform.isLinux "${glibcLocales}/lib/locale/locale-archive";
postPatch = ''
# not patchShebangs, there is /bin/bash in the body of the script as well
substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
patchShebangs eng/*.sh mono/build/*.sh
sed -i -e "/<\/projectImportSearchPaths>/a <property name=\"MSBuildExtensionsPath\" value=\"$out/lib/mono/xbuild\"/>" \
src/MSBuild/app.config
# license check is case sensitive
mv LICENSE license.bak && mv license.bak license
'';
linkNugetPackages = true;
buildPhase = ''
mkdir -p artifacts
unzip ${xplat} -d artifacts
mv artifacts/msbuild artifacts/mono-msbuild
chmod +x artifacts/mono-msbuild/MSBuild.dll
# The provided libhostfxr.dylib is for x86_64-darwin, so we remove it
rm artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/libhostfxr.dylib
ln -s $(find ${dotnet-sdk.unwrapped}/share/dotnet/host -name libhostfxr${sharedLibrary}) artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
# overwrite the file
echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
echo "#!${stdenv.shell}" > mono/build/get_sdk_files.sh
# Prevent msbuild from downloading a new libhostfxr
echo "#!${stdenv.shell}" > mono/build/extract_and_copy_hostfxr.sh
mkdir -p mono/dotnet-overlay/msbuild-bin
cp ${dotnet-sdk.unwrapped}/share/dotnet/sdk/*/{Microsoft.NETCoreSdk.BundledVersions.props,RuntimeIdentifierGraph.json} mono/dotnet-overlay/msbuild-bin
# DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
# TODO there are some (many?) failing tests
NuGetPackageRoot="$NUGET_PACKAGES" ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true
patchShebangs stage1/mono-msbuild/msbuild
'';
installPhase = ''
stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix="$out" /p:Configuration=Release-MONO
ln -s ${roslyn}/lib/dotnet/microsoft.net.compilers.toolset/*/tasks/net472 $out/lib/mono/msbuild/Current/bin/Roslyn
makeWrapper ${mono}/bin/mono $out/bin/msbuild \
--set-default MONO_GC_PARAMS "nursery-size=64m" \
--add-flags "$out/lib/mono/msbuild/15.0/bin/MSBuild.dll"
ln -s $(find ${dotnet-sdk.unwrapped}/share/dotnet/host -name libhostfxr${sharedLibrary}) $out/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
'';
doInstallCheck = true;
# https://docs.microsoft.com/cs-cz/visualstudio/msbuild/walkthrough-creating-an-msbuild-project-file-from-scratch?view=vs-2019
installCheckPhase = ''
cat > Helloworld.cs <<EOF
using System;
class HelloWorld
{
static void Main()
{
#if DebugConfig
Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION");
#endif
Console.WriteLine("Hello, world!");
}
}
EOF
cat > Helloworld.csproj <<EOF
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Include="Helloworld.cs" />
</ItemGroup>
<Target Name="Build">
<Csc Sources="@(Compile)"/>
</Target>
</Project>
EOF
$out/bin/msbuild Helloworld.csproj -t:Build
${mono}/bin/mono Helloworld.exe | grep "Hello, world!"
'';
meta = with lib; {
description = "Mono version of Microsoft Build Engine, the build platform for .NET, and Visual Studio";
mainProgram = "msbuild";
homepage = "https://github.com/mono/msbuild";
sourceProvenance = with sourceTypes; [
fromSource
binaryNativeCode # dependencies
];
license = licenses.mit;
maintainers = with maintainers; [ jdanek ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,69 @@
{
lib,
stdenv,
bison,
fetchurl,
flex,
gd,
libjpeg,
libpng,
libwebp,
pkg-config,
runtimeShell,
zlib,
}:
stdenv.mkDerivation rec {
pname = "mscgen";
version = "0.20";
src = fetchurl {
url = "http://www.mcternan.me.uk/mscgen/software/mscgen-src-${version}.tar.gz";
sha256 = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23";
};
nativeBuildInputs = [
bison
flex
pkg-config
];
buildInputs = [
gd
libjpeg
libpng
libwebp
zlib
];
doCheck = true;
preCheck = ''
sed -i -e "s|#!/bin/bash|#!${runtimeShell}|" test/renderercheck.sh
'';
outputs = [
"out"
"man"
];
meta = {
homepage = "http://www.mcternan.me.uk/mscgen/";
description = "Convert Message Sequence Chart descriptions into PNG, SVG, or EPS images";
license = lib.licenses.gpl2Plus;
longDescription = ''
Mscgen is a small program that parses Message Sequence Chart
descriptions and produces PNG, SVG, EPS or server side image maps
(ismaps) as the output. Message Sequence Charts (MSCs) are a way
of representing entities and interactions over some time period
and are often used in combination with SDL. MSCs are popular in
Telecoms to specify how protocols operate although MSCs need not
be complicated to create or use. Mscgen aims to provide a simple
text language that is clear to create, edit and understand, which
can also be transformed into common image formats for display or
printing.
'';
platforms = lib.platforms.unix;
mainProgram = "mscgen";
};
}

View File

@@ -0,0 +1,33 @@
{
stdenv,
lib,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mscompress";
version = "0.4";
src = fetchFromGitHub {
owner = "stapelberg";
repo = "mscompress";
rev = finalAttrs.version;
hash = "sha256-Urq8CzVfO9tdEUrEya+bUzoNjZQ2TO7OB+h2MTAGwEI=";
};
nativeBuildInputs = [ autoreconfHook ];
enableParallelBuilding = true;
postInstall = ''
install -Dm444 -t $out/share/doc/mscompress ChangeLog README TODO
'';
meta = with lib; {
description = ''Microsoft "compress.exe/expand.exe" compatible (de)compressor'';
license = licenses.gpl2Only;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
zlib,
openssl,
krb5,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mscp";
version = "0.2.2";
src = fetchFromGitHub {
owner = "upa";
repo = "mscp";
tag = "v${finalAttrs.version}";
hash = "sha256-5lX0b3JfjmQh/HlESRMNxqCe2qFRAEZoazysoy252dY=";
fetchSubmodules = true;
};
postPatch = ''
echo ${lib.escapeShellArg finalAttrs.version} > VERSION
patch -d libssh -p1 < patch/libssh-0.10.6-2-g6f1b1e76.patch
'';
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [
krb5
openssl
zlib
];
meta = {
description = "Transfer files over multiple SSH (SFTP) connections";
homepage = "https://github.com/upa/mscp";
mainProgram = "mscp";
license = lib.licenses.gpl3Only;
teams = [ lib.teams.deshaw ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,68 @@
{
autoPatchelfHook,
buildFHSEnv,
fetchurl,
lib,
stdenv,
zlib,
}:
let
pname = "msecli";
version = "10.01.012024.00";
src = fetchurl {
url = "https://web.archive.org/web/20240916144249/https://www.micron.com/content/dam/micron/global/public/products/software/storage-executive-software/msecli/msecli-linux.run";
hash = "sha256-IszdD/9fAh+JA26bSR1roXSo8LDU/rf4CuRI3HjU1xc=";
};
buildEnv = buildFHSEnv {
pname = "msecli-buildEnv";
inherit version;
};
in
stdenv.mkDerivation {
inherit pname version src;
buildInputs = [ zlib ];
nativeBuildInputs = [ autoPatchelfHook ];
unpackPhase = ''
runHook preUnpack
cp "$src" ${src.name}
chmod +x ${src.name}
runHook postUnpack
'';
buildPhase = ''
runHook preBuild
# ignore the exit code as the installer
# fails at optional steps due to read only FHS
${buildEnv}/bin/${buildEnv.pname} -c "./${src.name} --mode unattended --prefix bin || true"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -v bin/msecli $out/bin
runHook postInstall
'';
meta = {
description = "Micron Storage Executive CLI";
homepage = "https://www.micron.com/sales-support/downloads/software-drivers/storage-executive-software";
license = lib.licenses.unfree;
mainProgram = "msecli";
maintainers = with lib.maintainers; [ diadatp ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}

View File

@@ -0,0 +1,84 @@
{
autoPatchelfHook,
fetchzip,
glib,
lib,
libxcb,
nspr,
nss,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "msedgedriver";
# finding a version that has all 4 builds is a pain
# https://msedgewebdriverstorage.z22.web.core.windows.net/?form=MA13LH
version = "130.0.2849.1";
src =
let
inherit (stdenvNoCC.hostPlatform) system;
selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
suffix = selectSystem {
x86_64-linux = "linux64";
aarch64-linux = "arm64";
x86_64-darwin = "mac64";
aarch64-darwin = "mac64_m1";
};
hash = selectSystem {
x86_64-linux = "sha256-U6YGD2PAhVUa7f+R5pmKLazGLOBbf3bRqzlwIJewA+w=";
aarch64-linux = "sha256-QJ1jRw8kkWbT8US5qI8DMZI/7Q8yJWpFXrfzGdxDWKE=";
x86_64-darwin = "sha256-Ejcv1DtuEiLJvTsv48AwoCQlFO3xM9PkM3HvZG65AC4=";
aarch64-darwin = "sha256-ykn4bYREE6xmJY02WiCRGsGnyWjnmnZM8FemK4XZqhc=";
};
in
fetchzip {
url = "https://msedgedriver.azureedge.net/${finalAttrs.version}/edgedriver_${suffix}.zip";
inherit hash;
stripRoot = false;
};
buildInputs = [
glib
libxcb
nspr
nss
];
nativeBuildInputs = lib.optionals (!stdenvNoCC.hostPlatform.isDarwin) [ autoPatchelfHook ];
installPhase =
if stdenvNoCC.hostPlatform.isDarwin then
''
runHook preInstall
mkdir -p $out/{Applications/msedgedriver,bin}
cp -R . $out/Applications/msedgedriver
runHook postInstall
''
else
''
runHook preInstall
install -m777 -D "msedgedriver" $out/bin/msedgedriver
runHook postInstall
'';
meta = {
homepage = "https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver";
description = "WebDriver implementation that controls an Edge browser running on the local machine";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ cholli ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
mainProgram = "msedgedriver";
};
})

View File

@@ -0,0 +1,72 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
icu,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "msedit";
version = "1.2.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "edit";
tag = "v${finalAttrs.version}";
hash = "sha256-G5U5ervW1NAQY/fnwOWv1FNuKcP+HYcAW5w87XHqgA8=";
};
cargoHash = "sha256-ceAaaR+N03Dq2MHYel4sHDbbYUOr/ZrtwqJwhaUbC2o=";
# Requires nightly features
env.RUSTC_BOOTSTRAP = 1;
# Without -headerpad, the following error occurs on x86_64-darwin
# error: install_name_tool: changing install names or rpaths can't be redone for: ... because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names)
NIX_LDFLAGS = lib.optionals (with stdenv.hostPlatform; isDarwin && isx86_64) [
"-headerpad_max_install_names"
];
buildInputs = [
icu
];
# https://github.com/microsoft/edit/blob/f8bea2be191d00baa2a4551817541ea3f8c5b03e/src/icu.rs#L834
# Required for Ctrl+F searching to work
postFixup =
let
rpathAppend = lib.makeLibraryPath [ icu ];
in
lib.optionalString stdenv.hostPlatform.isElf ''
patchelf $out/bin/edit \
--add-rpath ${rpathAppend}
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
${stdenv.cc.targetPrefix}install_name_tool -add_rpath ${rpathAppend} $out/bin/edit
'';
# Disabled for now, microsoft/edit#194
doInstallCheck = false;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/edit";
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
meta = {
description = "Simple editor for simple needs";
longDescription = ''
This editor pays homage to the classic MS-DOS Editor,
but with a modern interface and input controls similar to VS Code.
The goal is to provide an accessible editor that even users largely
unfamiliar with terminals can easily use.
'';
mainProgram = "edit";
homepage = "https://github.com/microsoft/edit";
changelog = "https://github.com/microsoft/edit/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ RossSmyth ];
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
metasploit,
curl,
inetutils,
openssl,
}:
stdenv.mkDerivation rec {
pname = "msfpc";
version = "1.4.5";
src = fetchFromGitHub {
owner = "g0tmi1k";
repo = "msfpc";
rev = "v${version}";
sha256 = "UIdE0oSaNu16pf+M96x8AnNju88hdzokv86wm8uBYDQ=";
};
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
runHook preInstall
install -Dm755 msfpc.sh $out/bin/msfpc
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/msfpc \
--prefix PATH : "${
lib.makeBinPath [
metasploit
curl
inetutils
openssl
]
}"
'';
meta = with lib; {
description = "MSFvenom Payload Creator";
mainProgram = "msfpc";
homepage = "https://github.com/g0tmi1k/msfpc";
license = licenses.mit;
maintainers = with maintainers; [ emilytrau ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
gtest,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "msgpack-c";
version = "6.1.0";
src = fetchFromGitHub {
owner = "msgpack";
repo = "msgpack-c";
tag = "c-${finalAttrs.version}";
hash = "sha256-yL1+6w9l1Ccgrh8WXqvHv2yrb9QH+TrHIAFLXGoVuT0=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
];
cmakeFlags = [
(lib.cmakeBool "MSGPACK_BUILD_EXAMPLES" false) # examples are not installed even if built
(lib.cmakeBool "MSGPACK_BUILD_TESTS" finalAttrs.finalPackage.doCheck)
];
checkInputs = [
gtest
zlib
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
meta = with lib; {
description = "MessagePack implementation for C";
homepage = "https://github.com/msgpack/msgpack-c";
changelog = "https://github.com/msgpack/msgpack-c/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = licenses.boost;
maintainers = with maintainers; [ nickcao ];
};
})

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
boost,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "msgpack-cxx";
version = "7.0.0";
src = fetchFromGitHub {
owner = "msgpack";
repo = "msgpack-c";
tag = "cpp-${finalAttrs.version}";
hash = "sha256-kg4mpNiigfZ59ZeL8LXEHwtkLU8Po+vgRcUcgTJd+h4=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
];
propagatedBuildInputs = [
boost
];
cmakeFlags = [
"-DMSGPACK_BUILD_DOCS=OFF" # docs are not installed even if built
"-DMSGPACK_CXX20=ON"
]
++ lib.optional finalAttrs.finalPackage.doCheck "-DMSGPACK_BUILD_TESTS=ON";
checkInputs = [
zlib
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
meta = with lib; {
description = "MessagePack implementation for C++";
homepage = "https://github.com/msgpack/msgpack-c";
changelog = "https://github.com/msgpack/msgpack-c/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = licenses.boost;
maintainers = with maintainers; [ nickcao ];
};
})

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation rec {
pname = "msgpack-tools";
version = "0.6";
src = fetchFromGitHub {
owner = "ludocode";
repo = "msgpack-tools";
rev = "v${version}";
sha256 = "1ygjk25zlpqjckxgqmahnz999704zy2bd9id6hp5jych1szkjgs5";
};
libb64 = fetchurl {
url = "mirror://sourceforge/libb64/libb64-1.2.1.zip";
sha256 = "1chlcc8qggzxnbpy5wrda533xyz38dk20w9wl4srrzawm45ny410";
};
rapidjson = fetchurl {
url = "https://github.com/miloyip/rapidjson/archive/99ba17bd66a85ec64a2f322b68c2b9c3b77a4391.tar.gz";
sha256 = "0jxgyy5n0lf9w36dycwwgz2wici4z9dnxlsn0z6m23zaa47g3wyw";
};
mpack = fetchurl {
url = "https://github.com/ludocode/mpack/archive/df17e83f0fa8571b9cd0d8ccf38144fa90e244d1.tar.gz";
sha256 = "1br8g3rf86h8z8wbqkd50aq40953862lgn0xk7cy68m07fhqc3pg";
};
postUnpack = ''
mkdir $sourceRoot/contrib
cp ${rapidjson} $sourceRoot/contrib/rapidjson-99ba17bd66a85ec64a2f322b68c2b9c3b77a4391.tar.gz
cp ${libb64} $sourceRoot/contrib/libb64-1.2.1.zip
cp ${mpack} $sourceRoot/contrib/mpack-df17e83f0fa8571b9cd0d8ccf38144fa90e244d1.tar.gz
'';
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "Command-line tools for converting between MessagePack and JSON";
homepage = "https://github.com/ludocode/msgpack-tools";
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "msgpuck";
version = "2.0";
src = fetchFromGitHub {
owner = "rtsisyk";
repo = "msgpuck";
rev = version;
sha256 = "0cjq86kncn3lv65vig9cqkqqv2p296ymcjjbviw0j1s85cfflps0";
};
outputs = [
"out"
"dev"
];
nativeBuildInputs = [
cmake
pkg-config
];
meta = with lib; {
description = "Simple and efficient MsgPack binary serialization library in a self-contained header file";
homepage = "https://github.com/rtsisyk/msgpuck";
license = licenses.bsd2;
platforms = platforms.all;
maintainers = with maintainers; [ izorkin ];
};
}

1077
pkgs/by-name/ms/msgraph-cli/deps.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
{
lib,
buildDotnetModule,
dotnetCorePackages,
fetchFromGitHub,
libsecret,
}:
buildDotnetModule rec {
pname = "msgraph-cli";
version = "1.9.0";
src = fetchFromGitHub {
owner = "microsoftgraph";
repo = "msgraph-cli";
tag = "v${version}";
hash = "sha256-bpdxzVlQWQLNYTZHN25S6qa3NKHhDc+xV6NvzSNMVnQ=";
};
projectFile = "src/msgraph-cli.csproj";
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
runtimeDeps = [ libsecret ];
passthru.updateScript = ./update.sh;
meta = with lib; {
mainProgram = "mgc";
description = "Microsoft Graph CLI";
homepage = "https://github.com/microsoftgraph/msgraph-cli";
license = licenses.mit;
maintainers = with maintainers; [ nazarewk ];
platforms = [
"aarch64-darwin"
"x86_64-darwin"
"x86_64-linux"
];
};
}

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused common-updater-scripts
set -eEuo pipefail
[ -z "${DEBUG:-}" ] || set -x
cd "${BASH_SOURCE[0]%/*}"
# run: nix-shell maintainers/scripts/update.nix --argstr package msgraph-cli
package_file="./package.nix"
pname="$(sed -nE 's/\s*pname = "(.*)".*/\1/p' "${package_file}")"
owner="$(sed -nE 's/\s*owner = "(.*)".*/\1/p' "${package_file}")"
repo="$(sed -nE 's/\s*repo = "(.*)".*/\1/p' "${package_file}")"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' "${package_file}")"
new_version="$(curl -s "https://api.github.com/repos/${owner}/${repo}/releases?per_page=1" | jq -r '.[0].name' | sed 's|^GCM ||')"
if [[ $new_version == "$old_version" ]]; then
echo "Up to date"
exit 0
fi
cd ../../../..
update-source-version "${repo}" "$new_version"
"$(nix-build -A "${pname}.fetch-deps" --no-out-link)"

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
unzip,
jre,
runtimeShell,
}:
stdenv.mkDerivation rec {
version = "1.9";
pname = "msgviewer";
uname = "MSGViewer";
src = fetchurl {
url = "mirror://sourceforge/msgviewer/${uname}-${version}/${uname}-${version}.zip";
sha256 = "0igmr8c0757xsc94xlv2470zv2mz57zaj52dwr9wj8agmj23jbjz";
};
buildCommand = ''
dir=$out/lib/msgviewer
mkdir -p $out/bin $dir
unzip $src -d $dir
mv $dir/${uname}-${version}/* $dir
rmdir $dir/${uname}-${version}
cat <<_EOF > $out/bin/msgviewer
#!${runtimeShell} -eu
exec ${lib.getBin jre}/bin/java -jar $dir/MSGViewer.jar "\$@"
_EOF
chmod 755 $out/bin/msgviewer
'';
nativeBuildInputs = [
makeWrapper
unzip
];
meta = with lib; {
description = "Viewer for .msg files (MS Outlook)";
mainProgram = "msgviewer";
homepage = "https://www.washington.edu/alpine/";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchsvn,
zlib,
gmp,
ecm,
}:
stdenv.mkDerivation rec {
pname = "msieve";
version = "1056";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/msieve/code/trunk";
rev = version;
hash = "sha256-6ErVn4pYPMG5VFjOQURLsHNpN0pGdp55+rjY8988onU=";
};
patches = [ ./savefile_t-pointer-type.patch ];
buildInputs = [
zlib
gmp
ecm
];
ECM = if ecm == null then "0" else "1";
# Doesn't hurt Linux but lets clang-based platforms like Darwin work fine too
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"all"
];
enableParallelBuilding = true;
installPhase = ''
mkdir -p $out/bin/
cp msieve $out/bin/
'';
meta = {
description = "C library implementing a suite of algorithms to factor large integers";
mainProgram = "msieve";
license = lib.licenses.publicDomain;
homepage = "http://msieve.sourceforge.net/";
maintainers = [ lib.maintainers.roconnor ];
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
};
}

View File

@@ -0,0 +1,31 @@
Index: include/msieve.h
===================================================================
--- a/include/msieve.h
+++ b/include/msieve.h
@@ -100,9 +100,9 @@
HANDLE file_handle;
uint32 read_size;
uint32 eof;
#else
- gzFile *fp;
+ gzFile fp;
char isCompressed;
char is_a_FILE;
#endif
char *name;
Index: common/savefile.c
===================================================================
--- a/common/savefile.c
+++ b/common/savefile.c
@@ -151,9 +151,9 @@
so we will fopen a FILE to append plainly */
fclose(fp);
}
if (s->is_a_FILE) {
- s->fp = (gzFile *)fopen(s->name, "a");
+ s->fp = (gzFile)fopen(s->name, "a");
} else {
s->fp = gzopen(s->name, "a");
s->isCompressed = 1;
}

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchurl,
ilbc,
linphonePackages,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "msilbc";
version = "2.1.2";
src = fetchurl {
url = "mirror://savannah/linphone/plugins/sources/${pname}-${version}.tar.gz";
sha256 = "07j02y994ybh274fp7ydjvi76h34y2c34ndwjpjfcwwr03b48cfp";
};
propagatedBuildInputs = [
ilbc
linphonePackages.mediastreamer2
];
nativeBuildInputs = [ pkg-config ];
configureFlags = [
"ILBC_LIBS=ilbc"
"ILBC_CFLAGS=-I${ilbc}/include"
"MEDIASTREAMER_LIBS=mediastreamer"
"MEDIASTREAMER_CFLAGS=-I${linphonePackages.mediastreamer2}/include"
];
meta = with lib; {
description = "Mediastreamer plugin for the iLBC audio codec";
platforms = platforms.linux;
license = licenses.gpl2;
};
}

View File

@@ -0,0 +1,73 @@
{
lib,
stdenv,
fetchurl,
meson,
ninja,
vala,
gobject-introspection,
perl,
bison,
gettext,
glib,
pkg-config,
libgsf,
gcab,
bzip2,
gnome,
}:
stdenv.mkDerivation rec {
pname = "msitools";
version = "0.106";
src = fetchurl {
url = "mirror://gnome/sources/msitools/${lib.versions.majorMinor version}/msitools-${version}.tar.xz";
hash = "sha256-HtNCec+AgPFPG48Q5klHQSVJKgiZEufKcOWd+i5aZZs=";
};
nativeBuildInputs = [
meson
ninja
vala
gobject-introspection
perl
bison
gettext
pkg-config
];
buildInputs = [
glib
libgsf
gcab
bzip2
];
# WiX tests fail on darwin
doCheck = !stdenv.hostPlatform.isDarwin;
postPatch = ''
patchShebangs subprojects/bats-core/{bin,libexec}
'';
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "none";
};
};
meta = with lib; {
description = "Set of programs to inspect and build Windows Installer (.MSI) files";
homepage = "https://gitlab.gnome.org/GNOME/msitools";
license = with licenses; [
# Library
lgpl21Plus
# Tools
gpl2Plus
];
maintainers = with maintainers; [ PlushBeaver ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication {
pname = "msldapdump";
version = "0-unstable-2023-06-12";
format = "other";
src = fetchFromGitHub {
owner = "dievus";
repo = "msLDAPDump";
rev = "bdffe66be20ff844f55f69fd6d842d7f75f66f2d";
hash = "sha256-qH4AaebrTKYxxjXawllxgiG9fVm03zmTRv/HAyNpewg=";
};
propagatedBuildInputs = with python3.pkgs; [
colorama
ldap3
];
dontBuild = true;
installPhase = ''
runHook preInstall
install -vD msLDAPDump.py $out/bin/msLDAPDump.py
makeWrapper ${python3.interpreter} $out/bin/msldapdump \
--set PYTHONPATH "$PYTHONPATH:$out/bin/msLDAPDump.py" \
--add-flags "-O $out/bin/msLDAPDump.py"
runHook postInstall
'';
# Project has no tests
doCheck = false;
meta = with lib; {
description = "LDAP enumeration tool";
homepage = "https://github.com/dievus/msLDAPDump";
license = licenses.agpl3Only;
maintainers = with maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,55 @@
{
fetchFromGitHub,
lib,
libglvnd,
libxkbcommon,
nix-update-script,
rustPlatform,
vulkan-loader,
wayland,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mslicer";
version = "0.2.2";
src = fetchFromGitHub {
owner = "connorslade";
repo = "mslicer";
rev = finalAttrs.version;
hash = "sha256-37EOdMM/stMKwTTpQ0LWYZVUw2Y3CkoEGHWNthyQnSA=";
};
cargoHash = "sha256-nkNoyoMqcFLCuQ8TqRn4e5L2zbgjw615HIAuLVqg0vQ=";
buildInputs = [
libglvnd
libxkbcommon
vulkan-loader
wayland
];
# Force linking to libEGL, which is always dlopen()ed, and to
# libwayland-client & libxkbcommon, which is dlopen()ed based on the
# winit backend.
NIX_LDFLAGS = [
"--no-as-needed"
"-lEGL"
"-lvulkan"
"-lwayland-client"
"-lxkbcommon"
];
strictDeps = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Experimental open source slicer for masked stereolithography (resin) printers";
homepage = "https://connorcode.com/projects/mslicer";
changelog = "https://github.com/connorslade/mslicer/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ colinsane ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,35 @@
{
gccStdenv,
lib,
fetchurl,
}:
gccStdenv.mkDerivation rec {
pname = "mslink";
version = "1.3";
src = fetchurl {
url = "http://www.mamachine.org/mslink/mslink_v${version}.tar.gz";
sha256 = "1qiwqa6w2in6gk4sxiy37c2wwpakin6l2ad2cf5s7ij96z2ijgqg";
};
preBuild = ''
rm mslink # clean up shipped executable
'';
installPhase = ''
if [[ "$(uname)" == "Darwin" ]]; then
mv mslink.exe mslink
fi
install -D mslink $out/bin/mslink
'';
meta = with lib; {
description = "Create Windows Shortcut Files (.LNK) without using Windows";
homepage = "http://www.mamachine.org/mslink/index.en.html";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ mkg20001 ];
platforms = platforms.unix;
mainProgram = "mslink";
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index bcb384e..9622e47 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -60,8 +60,6 @@ err() { dsp '' "$@" '' ; exit 1 ; }
## export the location of the msmtp executable before running this script (no quotes !!)
## e.g. ( export MSMTP=/path/to/msmtp )
MSMTP="${MSMTP:-msmtp}"
-"$MSMTP" --version >/dev/null 2>&1 || \
- log_later -e 1 "msmtpq : can't run the msmtp executable [ $MSMTP ]" # if not found - complain ; quit
##
## set the queue var to the location of the msmtp queue directory
## if the queue dir doesn't yet exist, create it (0700)

View File

@@ -0,0 +1,41 @@
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index 28d0754..3eaac58 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -182,6 +182,8 @@ if [ -n "$MSMTPQ_LOG" ] ; then
unset msmptq_log_dir
fi
+JOURNAL=@journal@
+
umask 077 # set secure permissions on created directories and files
declare -i CNT # a count of mail(s) currently in the queue
@@ -214,6 +216,7 @@ on_exit() { # unlock the queue on exit if the lock was
## display msg to user, as well
##
log() {
+ local NAME=msmtpq
local ARG RC PFX
PFX="$('date' +'%Y %d %b %H:%M:%S')"
# time stamp prefix - "2008 13 Mar 03:59:45 "
@@ -233,10 +236,19 @@ log() {
done
fi
+ if [ "$JOURNAL" = "Y" ]; then
+ for ARG; do
+ [ -n "$ARG" ] &&
+ echo "$ARG" | systemd-cat -t "$NAME" -p info
+ done
+ fi
+
if [ -n "$RC" ] ; then # an error ; leave w/error return
[ -n "$LKD" ] && lock_queue -u # unlock here (if locked)
[ -n "$MSMTPQ_LOG" ] && \
echo " exit code = $RC" >> "$MSMTPQ_LOG" # logging ok ; send exit code to log
+ [ "$JOURNAL" = "Y" ] && \
+ echo "exit code= $RC" | systemd-cat -t "$NAME" -p emerg
exit "$RC" # exit w/return code
fi
}

View File

@@ -0,0 +1,179 @@
{
resholve,
stdenv,
symlinkJoin,
lib,
fetchFromGitHub,
autoreconfHook,
pkg-config,
bash,
coreutils,
gnugrep,
gnused,
gnutls,
gsasl,
libidn2,
netcat-gnu,
texinfo,
which,
withKeyring ? true,
libsecret,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
withScripts ? true,
withLibnotify ? true,
libnotify,
gitUpdater,
binlore,
msmtp,
}:
let
inherit (lib) getBin getExe optionals;
version = "1.8.31";
src = fetchFromGitHub {
owner = "marlam";
repo = "msmtp";
rev = "msmtp-${version}";
hash = "sha256-5PWwHyNEpF+eDMmvqJIHGdje70fCH5pLXGi5Jkjg2OA=";
};
meta = with lib; {
description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
homepage = "https://marlam.de/msmtp/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.unix;
mainProgram = "msmtp";
};
binaries = stdenv.mkDerivation {
pname = "msmtp-binaries";
inherit version src meta;
configureFlags = [
"--sysconfdir=/etc"
"--with-libgsasl"
]
++ optionals stdenv.hostPlatform.isDarwin [ "--with-macosx-keyring" ];
buildInputs = [
gnutls
gsasl
libidn2
]
++ optionals withKeyring [ libsecret ];
nativeBuildInputs = [
autoreconfHook
pkg-config
texinfo
];
enableParallelBuilding = true;
postInstall = ''
install -Dm444 -t $out/share/doc/msmtp doc/*.example
ln -s msmtp $out/bin/sendmail
'';
};
scripts = resholve.mkDerivation {
pname = "msmtp-scripts";
inherit version src meta;
patches = [
./msmtpq-remove-binary-check.patch
./msmtpq-systemd-logging.patch
];
postPatch = ''
substituteInPlace scripts/msmtpq/msmtpq \
--replace @journal@ ${if withSystemd then "Y" else "N"}
'';
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm555 -t $out/bin scripts/msmtpq/msmtp*
install -Dm444 -t $out/share/doc/msmtp/scripts scripts/msmtpq/README*
install -Dm444 -t $out/share/doc/msmtp/scripts scripts/{find_alias,msmtpqueue,set_sendmail}/*
if grep --quiet -E '@.+@' $out/bin/*; then
echo "Unsubstituted variables found. Aborting!"
grep -E '@.+@' $out/bin/*
exit 1
fi
runHook postInstall
'';
solutions = {
msmtpq = {
scripts = [ "bin/msmtpq" ];
interpreter = getExe bash;
inputs = [
binaries
coreutils
gnugrep
gnused
netcat-gnu
which
]
++ optionals withSystemd [ systemd ]
++ optionals withLibnotify [ libnotify ];
execer = [
"cannot:${getBin binaries}/bin/msmtp"
"cannot:${getBin netcat-gnu}/bin/nc"
]
++ optionals withSystemd [
"cannot:${getBin systemd}/bin/systemd-cat"
]
++ optionals withLibnotify [
"cannot:${getBin libnotify}/bin/notify-send"
];
fix."$MSMTP" = [ "msmtp" ];
fake.external = [
"ping"
]
++ optionals (!withSystemd) [ "systemd-cat" ]
++ optionals (!withLibnotify) [ "notify-send" ];
keep.source = [ "~/.msmtpqrc" ];
};
msmtp-queue = {
scripts = [ "bin/msmtp-queue" ];
interpreter = getExe bash;
inputs = [ "${placeholder "out"}/bin" ];
execer = [ "cannot:${placeholder "out"}/bin/msmtpq" ];
};
};
};
in
if withScripts then
symlinkJoin {
name = "msmtp-${version}";
inherit version meta;
paths = [
binaries
scripts
];
passthru = {
inherit binaries scripts src;
# msmtpq forwards most of its arguments to msmtp [1].
#
# [1]: <https://github.com/marlam/msmtp/blob/msmtp-1.8.26/scripts/msmtpq/msmtpq#L301>
binlore.out = binlore.synthesize msmtp ''
wrapper bin/msmtpq bin/msmtp
'';
updateScript = gitUpdater { rev-prefix = "msmtp-"; };
};
}
else
binaries

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "msnake";
# last release tag was 13 years ago
version = "0.1.1-unstable-2020-02-01";
src = fetchFromGitHub {
owner = "mogria";
repo = "msnake";
rev = "830967fc8195216120fedcac1574113b367a0f9a";
hash = "sha256-5q3yT7amPF+SSvO6/eUU7IiK0k6f3nme9YYBUobSuuo=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
ncurses
];
meta = {
description = "Multiplatform command line snake game";
homepage = "https://github.com/mogria/msnake";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
mainProgram = "msnake";
maintainers = with lib.maintainers; [ ethancedwards8 ];
};
})

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
flint,
gmp,
mpfr,
llvmPackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "msolve";
version = "0.9.1";
src = fetchFromGitHub {
owner = "algebraic-solving";
repo = "msolve";
tag = "v${finalAttrs.version}";
hash = "sha256-Th5Kd8AWg+xF5nnoHTJkz1wDjywQztUzXvE0NmYxC/E=";
};
postPatch = ''
patchShebangs .
'';
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
flint
gmp
mpfr
]
++ lib.optionals stdenv.cc.isClang [
llvmPackages.openmp
];
doCheck = true;
meta = {
description = "Library for polynomial system solving through algebraic methods";
mainProgram = "msolve";
homepage = "https://msolve.lip6.fr";
changelog = "https://github.com/algebraic-solving/msolve/releases/tag/${finalAttrs.src.rev}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ wegank ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,27 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation {
pname = "msr-tools";
version = "1.3-unstable-2022-08-05";
src = fetchFromGitHub {
owner = "intel";
repo = "msr-tools";
rev = "7d78c80d66463ac598bcc8bf1dc260418788dfda";
hash = "sha256-p+bfS1Fsz9MqPLmiVD8d+93oeUxxU2raKdRY7pThlzk=";
};
nativeBuildInputs = [ autoreconfHook ];
meta = with lib; {
description = "Tools to read/write from/to MSR CPU registers on Linux";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ peterhoeg ];
};
}

View File

@@ -0,0 +1,11 @@
diff -Naur msr-old/msr.c msr-20060208/msr.c
--- msr-old/msr.c 1969-12-31 21:00:01.000000000 -0300
+++ msr-20060208/msr.c 2021-11-02 21:19:34.576722617 -0300
@@ -19,6 +19,7 @@
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchzip,
installShellFiles,
}:
stdenv.mkDerivation rec {
pname = "msr";
version = "20060208";
src = fetchzip {
name = "${pname}-${version}";
url = "http://www.etallen.com/msr/${pname}-${version}.src.tar.gz";
hash = "sha256-e01qYWbOALkXp5NpexuVodMxA3EBySejJ6ZBpZjyT+E=";
};
nativeBuildInputs = [
installShellFiles
];
patches = [
./000-include-sysmacros.patch
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin/
cp msr $out/bin/
installManPage msr.man
runHook postInstall
'';
meta = with lib; {
homepage = "http://www.etallen.com/msr.html";
description = "Linux tool to display or modify x86 model-specific registers (MSRs)";
mainProgram = "msr";
license = licenses.bsd0;
maintainers = [ ];
platforms = [
"i686-linux"
"x86_64-linux"
];
};
}

View File

@@ -0,0 +1,142 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
rdma-core,
openssl,
zlib,
xz,
expat,
boost,
curl,
pkg-config,
libxml2,
pciutils,
busybox,
python3,
automake,
autoconf,
libtool,
git,
# use this to shrink the package's footprint if necessary (e.g. for hardened appliances)
onlyFirmwareUpdater ? false,
# contains binary-only libraries
enableDPA ? true,
}:
stdenv.mkDerivation rec {
pname = "mstflint";
# if you update the version of this package, also update the input hash in mstflint_access!
version = "4.31.0-1";
src = fetchurl {
url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/mstflint-${version}.tar.gz";
hash = "sha256-wBUkFOdYChiSXHcH6+LLZZ06Hte4ABWjW+pNcjtk+Oc=";
};
patches = [
# fixes build errors due to missing declarations in headers
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/Mellanox/mstflint/pull/1131.patch";
sha256 = "sha256-tn8EO9HkDrMroV6byUPgjclBIK8tq4xGyi4Kx/rIj+w=";
})
];
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
libxml2
git
];
buildInputs = [
rdma-core
zlib
libxml2
openssl
]
++ lib.optionals (!onlyFirmwareUpdater) [
boost
curl
expat
xz
python3
];
preConfigure = ''
export CPPFLAGS="-I$(pwd)/tools_layouts -isystem ${libxml2.dev}/include/libxml2"
export INSTALL_BASEDIR=$out
./autogen.sh
'';
# Cannot use wrapProgram since the python script's logic depends on the
# filename and will get messed up if the executable is named ".xyz-wrapped".
# That is why the python executable and runtime dependencies are injected
# this way.
#
# Remove host_cpu replacement again (see https://github.com/Mellanox/mstflint/pull/865),
# needs to hit master or a release. master_devel may be rebased.
#
# Remove patch for regex check, after https://github.com/Mellanox/mstflint/pull/871
# got merged.
prePatch = [
''
patchShebangs eval_git_sha.sh
substituteInPlace configure.ac \
--replace "build_cpu" "host_cpu"
substituteInPlace common/compatibility.h \
--replace "#define ROOT_PATH \"/\"" "#define ROOT_PATH \"$out/\""
substituteInPlace configure.ac \
--replace 'Whether to use GNU C regex])' 'Whether to use GNU C regex])],[AC_MSG_RESULT([yes])'
''
(lib.optionals (!onlyFirmwareUpdater) ''
substituteInPlace common/python_wrapper.sh \
--replace \
'exec $PYTHON_EXEC $SCRIPT_PATH "$@"' \
'export PATH=$PATH:${
lib.makeBinPath [
(placeholder "out")
pciutils
busybox
]
}; exec ${python3}/bin/python3 $SCRIPT_PATH "$@"'
'')
];
configureFlags = [
"--enable-xml2"
"--datarootdir=${placeholder "out"}/share"
]
++ lib.optionals (!onlyFirmwareUpdater) [
"--enable-adb-generic-tools"
"--enable-cs"
"--enable-dc"
"--enable-fw-mgr"
"--enable-inband"
"--enable-rdmem"
]
++ lib.optionals enableDPA [
"--enable-dpa"
];
enableParallelBuilding = true;
hardeningDisable = [ "format" ];
dontDisableStatic = true; # the build fails without this. should probably be reported upstream
meta = with lib; {
description = "Open source version of Mellanox Firmware Tools (MFT)";
homepage = "https://github.com/Mellanox/mstflint";
license = with licenses; [
gpl2Only
bsd2
];
maintainers = with maintainers; [ thillux ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,67 @@
{
stdenv,
lib,
fetchFromGitHub,
gfortran,
buildType ? "meson",
meson,
ninja,
cmake,
pkg-config,
python3,
mctc-lib,
}:
assert (
builtins.elem buildType [
"meson"
"cmake"
]
);
stdenv.mkDerivation rec {
pname = "mstore";
version = "0.3.0";
src = fetchFromGitHub {
owner = "grimme-lab";
repo = "mstore";
rev = "v${version}";
hash = "sha256-zfrxdrZ1Um52qTRNGJoqZNQuHhK3xM/mKfk0aBLrcjw=";
};
patches = [
# Fix wrong generation of package config include paths
./pkgconfig.patch
];
nativeBuildInputs = [
gfortran
pkg-config
python3
]
++ lib.optionals (buildType == "meson") [
meson
ninja
]
++ lib.optional (buildType == "cmake") cmake;
buildInputs = [ mctc-lib ];
outputs = [
"out"
"dev"
];
postPatch = ''
patchShebangs --build config/install-mod.py
'';
meta = with lib; {
description = "Molecular structure store for testing";
license = licenses.asl20;
homepage = "https://github.com/grimme-lab/mstore";
platforms = platforms.linux;
maintainers = [ maintainers.sheepforce ];
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/config/template.pc b/config/template.pc
index 800947d..d388699 100644
--- a/config/template.pc
+++ b/config/template.pc
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
Name: @PROJECT_NAME@
Description: @PROJECT_DESCRIPTION@

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
}:
stdenv.mkDerivation rec {
pname = "mstpd";
version = "0.0.8";
src = fetchFromGitHub {
owner = "mstpd";
repo = "mstpd";
rev = version;
sha256 = "1xkfydxljdnj49p5r3mirk4k146428b6imfc9bkfps9yjn64mkgb";
};
patches = [
(fetchpatch {
name = "fix-strncpy-gcc9.patch";
url = "https://github.com/mstpd/mstpd/commit/d27d7e93485d881d8ff3a7f85309b545edbe1fc6.patch";
sha256 = "19456daih8l3y6m9kphjr7pj7slrqzbj6yacnlgznpxyd8y4d86y";
})
];
nativeBuildInputs = [ autoreconfHook ];
configureFlags = [
"--prefix=$(out)"
"--sysconfdir=$(out)/etc"
"--sbindir=$(out)/sbin"
"--libexecdir=$(out)/lib"
];
meta = with lib; {
description = "Multiple Spanning Tree Protocol daemon";
homepage = "https://github.com/mstpd/mstpd";
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchsvn,
pkg-config,
autoreconfHook,
bison,
flex,
glib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mswatch";
# Stable release won't compile successfully
version = "unstable-2018-11-21";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/mswatch/code/trunk";
rev = "369";
sha256 = "sha256-czwwhchTizfgVmeknQGLijYgaFSP/45pD2yhDKj5BKw=";
};
nativeBuildInputs = [
pkg-config
autoreconfHook
bison # For yacc
flex
];
buildInputs = [
glib
];
meta = with lib; {
description = "Command-line Linux utility that efficiently directs mail synchronization between a pair of mailboxes";
homepage = "https://mswatch.sourceforge.net/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ doronbehar ];
};
})