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,78 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
ffmpeg,
libaom,
nasm,
nix-update-script,
pkg-config,
rav1e,
rustPlatform,
vapoursynth,
}:
rustPlatform.buildRustPackage rec {
pname = "av1an-unwrapped";
version = "0.4.4";
src = fetchFromGitHub {
owner = "master-of-zen";
repo = "av1an";
tag = version;
hash = "sha256-YF+j349777pE+evvXWTo42DQn1CE0jlfKBEXUFTfcb8=";
};
cargoPatches = [
# TODO: Remove in next version
# Avoids https://github.com/shssoichiro/ffmpeg-the-third/issues/63
# https://github.com/master-of-zen/Av1an/pull/912
(fetchpatch {
url = "https://github.com/master-of-zen/Av1an/commit/e6b29a5a624434eb0dc95b7e8aa31ccf624ccb9d.patch";
hash = "sha256-nFE04hlTzApYafSzgl/XOUdchxEjKvxXy+SKr/d6+0Q=";
})
];
cargoHash = "sha256-PcxnWkruFH4d2FqS+y3PmyA70kSe9BKtmTdCnfKnfpU=";
nativeBuildInputs = [
nasm
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
ffmpeg
vapoursynth
];
nativeCheckInputs = [
libaom
rav1e
];
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"'^(\\d*\\.\\d*\\.\\d*)$'"
];
};
};
meta = {
description = "Cross-platform command-line encoding framework";
longDescription = ''
Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding.
It can increase your encoding speed and improve cpu utilization by running multiple encoder processes in parallel.
'';
homepage = "https://github.com/master-of-zen/Av1an";
changelog = "https://github.com/master-of-zen/Av1an/releases/tag/${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ getchoo ];
mainProgram = "av1an";
# symbol index out of range file '/private/tmp/nix-build-av1an-unwrapped-0.4.4.drv-0/rustcz0anL2/librav1e-ca440893f9248a14.rlib' for architecture x86_64
broken = stdenv.hostPlatform.system == "x86_64-darwin";
};
}

View File

@@ -0,0 +1,88 @@
{
lib,
av1an,
av1an-unwrapped,
ffmpeg,
libaom,
libvmaf,
libvpx,
makeBinaryWrapper,
mkvtoolnix-cli,
python3,
rav1e,
svt-av1,
symlinkJoin,
testers,
vapoursynth,
x264,
x265,
withAom ? true, # AV1 reference encoder
withSvtav1 ? false, # AV1 encoder/decoder (focused on speed and correctness)
withRav1e ? false, # AV1 encoder (focused on speed and safety)
withVpx ? true, # VP8 & VP9 de/encoding
withX264 ? true, # H.264/AVC encoder
withX265 ? true, # H.265/HEVC encoder
withVmaf ? false, # Perceptual video quality assessment algorithm
withMkvtoolnix ? true, # mkv editor, recommended concatenation method
}:
# av1an requires at least one encoder
assert lib.assertMsg (lib.elem true [
withAom
withRav1e
withSvtav1
withVpx
withX264
withX265
]) "At least one encoder is required!";
symlinkJoin {
pname = "av1an";
inherit (av1an-unwrapped) version;
paths = [ av1an-unwrapped ];
nativeBuildInputs = [ makeBinaryWrapper ];
postBuild =
let
runtimePrograms = [
vapoursynth
(ffmpeg.override { inherit withVmaf; })
]
++ lib.optional withAom libaom
++ lib.optional withMkvtoolnix mkvtoolnix-cli
++ lib.optional withRav1e rav1e
++ lib.optional withSvtav1 svt-av1
++ lib.optional withVmaf libvmaf
++ lib.optional withVpx libvpx
++ lib.optional withX264 x264
++ lib.optional withX265 x265;
in
''
wrapProgram $out/bin/av1an \
--prefix LD_LIBRARY_PATH : ${vapoursynth}/lib \
--prefix PATH : ${lib.makeBinPath runtimePrograms} \
--prefix PYTHONPATH : ${vapoursynth}/${python3.sitePackages}
'';
passthru = {
tests.version = testers.testVersion {
package = av1an;
inherit (av1an-unwrapped) version;
};
};
meta = {
inherit (av1an-unwrapped.meta)
description
longDescription
homepage
changelog
license
maintainers
mainProgram
broken
;
};
}

View File

@@ -0,0 +1,88 @@
{
lib,
blst,
libusb1,
stdenv,
buildPackages,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
installShellFiles,
makeWrapper,
writableTmpDirAsHomeHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "avalanche-cli";
version = "1.9.2";
src = fetchFromGitHub {
owner = "ava-labs";
repo = "avalanche-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-/HwZUsggBeuSZLYQDWUU4rfktnvwVolE5mKiZW4IXXs=";
};
proxyVendor = true;
vendorHash = "sha256-JQEWEqseg5q0b8rPlO/19V1BLbWBdXldoWgUiqI9Qh4=";
# Fix error: 'Caught SIGILL in blst_cgo_init'
# https://github.com/bnb-chain/bsc/issues/1521
CGO_CFLAGS = "-O -D__BLST_PORTABLE__";
CGO_CFLAGS_ALLOW = "-O -D__BLST_PORTABLE__";
ldflags = [
"-s"
"-X=github.com/ava-labs/avalanche-cli/cmd.Version=${finalAttrs.version}"
];
buildInputs = [
blst
libusb1
];
nativeBuildInputs = [
installShellFiles
makeWrapper
writableTmpDirAsHomeHook
];
patches = [ ./skip_min_version_check.patch ];
postInstall =
let
exe =
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
"$out/bin/avalanche"
else
lib.getExe buildPackages.avalanche-cli;
in
''
mv $out/bin/avalanche-cli $out/bin/avalanche
wrapProgram $out/bin/avalanche --add-flags "--skip-update-check"
mkdir $HOME/.avalanche-cli
echo "{ }" > $HOME/.avalanche-cli/config.json
installShellCompletion --cmd avalanche \
--bash <(${exe} completion bash) \
--fish <(${exe} completion fish) \
--zsh <(${exe} completion zsh)
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/avalanche";
versionCheckProgramArg = "--version";
doCheck = false;
meta = {
description = "Command line tool that gives developers access to everything Avalanche";
homepage = "https://github.com/ava-labs/avalanche-cli";
changelog = "https://github.com/ava-labs/avalanche-cli/releases/tag/v${finalAttrs.version}";
license = lib.licenses.unfreeRedistributable;
maintainers = with lib.maintainers; [ iamanaws ];
mainProgram = "avalanche";
};
})

View File

@@ -0,0 +1,14 @@
diff --git a/cmd/root.go b/cmd/root.go
index c47518dd..9ae886eb 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -147,6 +147,9 @@ func createApp(cmd *cobra.Command, _ []string) error {
return err
}
if err := version.CheckCLIVersionIsOverMin(app, app.GetVersion()); err != nil {
+ if strings.Contains(cmd.CommandPath(), "completion") {
+ return nil
+ }
return err
}
return nil

View File

@@ -0,0 +1,49 @@
{
buildGoModule,
fetchFromGitHub,
lib,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "avalanchego";
version = "1.13.2";
src = fetchFromGitHub {
owner = "ava-labs";
repo = "avalanchego";
tag = "v${finalAttrs.version}";
hash = "sha256-XGRGjoZyhvcQFhfZIYdljT77SUxrWhD46F6ckxD602Q=";
};
# https://github.com/golang/go/issues/57529
proxyVendor = true;
vendorHash = "sha256-mff3Hlkp6gfq8HS7ypz9QikbDo98SwHF3g3Bq3i9RMY=";
subPackages = [ "main" ];
ldflags = [
"-s"
"-w"
"-X github.com/ava-labs/avalanchego/version.GitCommit=${finalAttrs.version}"
];
postInstall = ''
mv $out/bin/{main,avalanchego}
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Go implementation of an Avalanche node";
homepage = "https://github.com/ava-labs/avalanchego";
changelog = "https://github.com/ava-labs/avalanchego/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
urandom
qjoly
];
mainProgram = "avalanchego";
};
})

View File

@@ -0,0 +1,136 @@
From 8682dcc3fd46658a9d11b4370ca76881efc69c07 Mon Sep 17 00:00:00 2001
From: David McFarland <corngood@gmail.com>
Date: Sat, 10 Aug 2024 23:14:12 -0300
Subject: [PATCH 1/2] use files for unicode character database
---
.../BiDiClassTestDataGenerator.cs | 1 -
.../TextFormatting/BiDiTestDataGenerator.cs | 1 -
.../GraphemeBreakClassTrieGenerator.cs | 1 -
.../GraphemeBreakTestDataGenerator.cs | 1 -
.../LineBreakEnumeratorTests.cs | 1 -
.../TextFormatting/UnicodeDataGenerator.cs | 28 +++++++++++++++++--
.../TextFormatting/UnicodeEnumsGenerator.cs | 1 -
7 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
index d944a6cf5..9ddf500c1 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Net.Http;
using Avalonia.Base.UnitTests.Media.TextFormatting;
namespace Avalonia.Visuals.UnitTests.Media.TextFormatting
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
index bdaa8274e..e41f0b08e 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Net.Http;
using Avalonia.Base.UnitTests.Media.TextFormatting;
using Avalonia.Media.TextFormatting.Unicode;
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs
index 1a8d41caa..185b6ea62 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Net.Http;
using System.Text.RegularExpressions;
using Avalonia.Media.TextFormatting.Unicode;
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
index 891c70b7d..a04eb8b41 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Net.Http;
using System.Runtime.InteropServices;
using System.Text;
using Avalonia.Base.UnitTests.Media.TextFormatting;
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs
index 38df949d1..cb050d5f4 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumeratorTests.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Net.Http;
using Avalonia.Media.TextFormatting.Unicode;
using Xunit;
using Xunit.Abstractions;
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
index 3a0255f56..557ff6ea8 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
@@ -1,15 +1,39 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Net.Http;
using System.Text.RegularExpressions;
+using System.Threading.Tasks;
using Avalonia.Media.TextFormatting.Unicode;
namespace Avalonia.Base.UnitTests.Media.TextFormatting
{
+ class HttpContent : IDisposable {
+ readonly string url;
+ public HttpContent(string url) => this.url = url;
+
+ public void Dispose() {}
+ public Task<Stream> ReadAsStreamAsync() =>
+ Task.FromResult<Stream>(File.OpenRead(url));
+ }
+
+ class HttpResponseMessage : IDisposable {
+ HttpContent content;
+ public HttpResponseMessage(string url) => Content = new(url);
+
+ public void Dispose() {}
+ public bool IsSuccessStatusCode => true;
+ public HttpContent Content { get; init; }
+ }
+
+ class HttpClient : IDisposable {
+ public void Dispose() {}
+ public Task<HttpResponseMessage> GetAsync(string url) =>
+ Task.FromResult<HttpResponseMessage>(new (url));
+ }
+
internal static class UnicodeDataGenerator
{
- public const string Ucd = "https://www.unicode.org/Public/16.0.0/ucd/";
+ public static readonly string Ucd = Environment.GetEnvironmentVariable("UNICODE_CHARACTER_DATABASE");
public static UnicodeTrie GenerateBiDiTrie(out BiDiDataEntries biDiDataEntries, out Dictionary<int, BiDiDataItem> biDiData)
{
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
index 74fe70978..b82808ffc 100644
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Net.Http;
namespace Avalonia.Base.UnitTests.Media.TextFormatting
{
--
2.49.0

View File

@@ -0,0 +1,38 @@
From c26ab243c8ab9383d05e1be974090d462b12d3cb Mon Sep 17 00:00:00 2001
From: David McFarland <corngood@gmail.com>
Date: Sun, 11 Aug 2024 00:03:36 -0300
Subject: [PATCH 2/2] disable parallel compile
---
nukebuild/Build.cs | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs
index c6942e430..137f0710d 100644
--- a/nukebuild/Build.cs
+++ b/nukebuild/Build.cs
@@ -145,12 +145,20 @@ DotNetTestSettings ApplySetting(DotNetTestSettings c, Configure<DotNetTestSettin
ProcessTasks.StartProcess("xcodebuild", args).AssertZeroExitCode();
});
+ [Serializable]
+ public class SerialBuildSettings : DotNetBuildSettings
+ {
+ protected override Arguments ConfigureProcessArguments(Arguments arguments) =>
+ base.ConfigureProcessArguments(arguments)
+ .Add("-m:1");
+ }
+
Target Compile => _ => _
.DependsOn(Clean, CompileNative)
.DependsOn(CompileHtmlPreviewer)
.Executes(() =>
{
- DotNetBuild(c => ApplySetting(c)
+ DotNetBuild(ApplySetting(new SerialBuildSettings())
.SetProjectFile(Parameters.MSBuildSolution)
);
});
--
2.49.0

3258
pkgs/by-name/av/avalonia/deps.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
[
{
path = "src/Avalonia.DesignerSupport/Remote/HtmlTransport/webapp";
hash = "sha256-gncHW5SMtAUMtvHGZ2nUc0KEjxX24DZkAnmeHgo1Roc=";
}
{
path = "tests/Avalonia.DesignerSupport.Tests/Remote/HtmlTransport/webapp";
hash = "sha256-MiznlOJ+hIO1cUswy9oGNHP6MWfx+FDLKVT8qcmg8vo=";
}
{
path = "src/Browser/Avalonia.Browser/webapp";
hash = "sha256-aHF2enlIpeBi3a7rN0nBI24eztxC4nZC+g+4sRc12b4=";
}
]

View File

@@ -0,0 +1,996 @@
[
{
"id": "Avalonia",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": ".NETFramework,Version=v4.6.1",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Microsoft.Bcl.AsyncInterfaces",
"version": "6.0.0"
},
{
"id": "System.ComponentModel.Annotations",
"version": "4.5.0"
},
{
"id": "System.Memory",
"version": "4.5.3"
},
{
"id": "System.Runtime.CompilerServices.Unsafe",
"version": "4.6.0"
},
{
"id": "System.Threading.Tasks.Extensions",
"version": "4.5.4"
},
{
"id": "System.ValueTuple",
"version": "4.5.0"
},
{
"id": "MicroCom.Runtime",
"version": "0.11.0"
}
]
},
{
"framework": ".NETCoreApp,Version=v2.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Microsoft.Bcl.AsyncInterfaces",
"version": "6.0.0"
},
{
"id": "System.ComponentModel.Annotations",
"version": "4.5.0"
},
{
"id": "System.Memory",
"version": "4.5.3"
},
{
"id": "System.Runtime.CompilerServices.Unsafe",
"version": "4.6.0"
},
{
"id": "System.Threading.Tasks.Extensions",
"version": "4.5.4"
},
{
"id": "System.ValueTuple",
"version": "4.5.0"
},
{
"id": "MicroCom.Runtime",
"version": "0.11.0"
}
]
},
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "System.ComponentModel.Annotations",
"version": "4.5.0"
},
{
"id": "MicroCom.Runtime",
"version": "0.11.0"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Microsoft.Bcl.AsyncInterfaces",
"version": "6.0.0"
},
{
"id": "System.ComponentModel.Annotations",
"version": "4.5.0"
},
{
"id": "System.Memory",
"version": "4.5.3"
},
{
"id": "System.Runtime.CompilerServices.Unsafe",
"version": "4.6.0"
},
{
"id": "System.Threading.Tasks.Extensions",
"version": "4.5.4"
},
{
"id": "System.ValueTuple",
"version": "4.5.0"
},
{
"id": "MicroCom.Runtime",
"version": "0.11.0"
}
]
}
]
},
{
"id": "Avalonia.Browser",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net7.0",
"packages": [
{
"id": "HarfBuzzSharp",
"version": "7.3.0"
},
{
"id": "SkiaSharp",
"version": "2.88.7"
},
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Browser.Blazor",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net7.0",
"packages": [
{
"id": "Microsoft.AspNetCore.Components.Web",
"version": "7.0.2"
},
{
"id": "Avalonia.Browser",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Controls.ColorPicker",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Controls.DataGrid",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Controls.ItemsRepeater",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Desktop",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Native",
"version": "11.0.11"
},
{
"id": "Avalonia.X11",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
},
{
"id": "Avalonia.Win32",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Native",
"version": "11.0.11"
},
{
"id": "Avalonia.X11",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
},
{
"id": "Avalonia.Win32",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Diagnostics",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Microsoft.CodeAnalysis.CSharp.Scripting",
"version": "3.8.0"
},
{
"id": "Microsoft.CodeAnalysis.Common",
"version": "3.8.0"
},
{
"id": "Avalonia.Controls.ColorPicker",
"version": "11.0.11"
},
{
"id": "Avalonia.Controls.DataGrid",
"version": "11.0.11"
},
{
"id": "Avalonia.Themes.Simple",
"version": "11.0.11"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Microsoft.CodeAnalysis.CSharp.Scripting",
"version": "3.8.0"
},
{
"id": "Microsoft.CodeAnalysis.Common",
"version": "3.8.0"
},
{
"id": "Avalonia.Controls.ColorPicker",
"version": "11.0.11"
},
{
"id": "Avalonia.Controls.DataGrid",
"version": "11.0.11"
},
{
"id": "Avalonia.Themes.Simple",
"version": "11.0.11"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Direct2D1",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "HarfBuzzSharp",
"version": "7.3.0"
},
{
"id": "SharpDX",
"version": "4.0.1"
},
{
"id": "SharpDX.DXGI",
"version": "4.0.1"
},
{
"id": "SharpDX.Direct2D1",
"version": "4.0.1"
},
{
"id": "SharpDX.Direct3D11",
"version": "4.0.1"
},
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Win32",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "HarfBuzzSharp",
"version": "7.3.0"
},
{
"id": "SharpDX",
"version": "4.0.1"
},
{
"id": "SharpDX.DXGI",
"version": "4.0.1"
},
{
"id": "SharpDX.Direct2D1",
"version": "4.0.1"
},
{
"id": "SharpDX.Direct3D11",
"version": "4.0.1"
},
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Win32",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Fonts.Inter",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.FreeDesktop",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Tmds.DBus.Protocol",
"version": "0.15.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Tmds.DBus.Protocol",
"version": "0.15.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Headless",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Headless.NUnit",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "NUnit",
"version": "3.13.0"
},
{
"id": "Avalonia.Headless",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "NUnit",
"version": "3.13.0"
},
{
"id": "Avalonia.Headless",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Headless.Vnc",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Quamotion.RemoteViewing",
"version": "1.1.21"
},
{
"id": "Avalonia.Headless",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Quamotion.RemoteViewing",
"version": "1.1.21"
},
{
"id": "Avalonia.Headless",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Headless.XUnit",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "xunit.core",
"version": "2.4.0"
},
{
"id": "Avalonia.Headless",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "xunit.core",
"version": "2.4.0"
},
{
"id": "Avalonia.Headless",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.LinuxFramebuffer",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Markup.Xaml.Loader",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "System.Reflection.Emit",
"version": "4.3.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "System.Reflection.Emit",
"version": "4.3.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Native",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.ReactiveUI",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "ReactiveUI",
"version": "18.3.1"
},
{
"id": "System.Reactive",
"version": "5.0.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "ReactiveUI",
"version": "18.3.1"
},
{
"id": "System.Reactive",
"version": "5.0.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Remote.Protocol",
"version": "11.0.11",
"hash": null,
"dependencies": []
},
{
"id": "Avalonia.Skia",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "HarfBuzzSharp",
"version": "7.3.0"
},
{
"id": "HarfBuzzSharp.NativeAssets.Linux",
"version": "7.3.0"
},
{
"id": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "7.3.0"
},
{
"id": "SkiaSharp",
"version": "2.88.7"
},
{
"id": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.7"
},
{
"id": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.7"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "HarfBuzzSharp",
"version": "7.3.0"
},
{
"id": "HarfBuzzSharp.NativeAssets.Linux",
"version": "7.3.0"
},
{
"id": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "7.3.0"
},
{
"id": "SkiaSharp",
"version": "2.88.7"
},
{
"id": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.7"
},
{
"id": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.7"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Themes.Fluent",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Themes.Simple",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.Win32",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia.Angle.Windows.Natives",
"version": "2.1.0.2023020321"
},
{
"id": "System.Numerics.Vectors",
"version": "4.5.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia.Angle.Windows.Natives",
"version": "2.1.0.2023020321"
},
{
"id": "System.Numerics.Vectors",
"version": "4.5.0"
},
{
"id": "Avalonia",
"version": "11.0.11"
}
]
}
]
},
{
"id": "Avalonia.X11",
"version": "11.0.11",
"hash": null,
"dependencies": [
{
"framework": "net6.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.FreeDesktop",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
}
]
},
{
"framework": ".NETStandard,Version=v2.0",
"packages": [
{
"id": "Avalonia",
"version": "11.0.11"
},
{
"id": "Avalonia.FreeDesktop",
"version": "11.0.11"
},
{
"id": "Avalonia.Skia",
"version": "11.0.11"
}
]
}
]
}
]

View File

@@ -0,0 +1,211 @@
{
dotnetCorePackages,
fetchFromGitHub,
fetchNpmDeps,
fetchzip,
fontconfig,
lib,
libICE,
libSM,
libX11,
libXcursor,
libXext,
libXi,
libXrandr,
liberation_ttf,
makeFontsConf,
nodejs,
npmHooks,
runCommand,
stdenvNoCC,
}:
let
inherit (dotnetCorePackages) systemToDotnetRid;
dotnet-sdk =
with dotnetCorePackages;
combinePackages [
sdk_8_0_4xx
];
npmDepsFile = ./npm-deps.nix;
in
stdenvNoCC.mkDerivation (
finalAttrs:
dotnetCorePackages.addNuGetDeps
{
nugetDeps = ./deps.json;
overrideFetchAttrs = old: rec {
runtimeIds = map (system: dotnetCorePackages.systemToDotnetRid system) old.meta.platforms;
buildInputs =
old.buildInputs
++ lib.concatLists (lib.attrValues (lib.getAttrs runtimeIds dotnet-sdk.targetPackages));
};
}
rec {
pname = "Avalonia";
version = "11.3.6";
src = fetchFromGitHub {
owner = "AvaloniaUI";
repo = "Avalonia";
tag = version;
fetchSubmodules = true;
hash = "sha256-ulGaYlhWxSWKLMh6Hy6gzFuDl4rmF3NDlcAL12YYtAg=";
};
patches = [
# Fix failing tests that use unicode.org
./0001-use-files-for-unicode-character-database.patch
# [ERR] Compile: [...]/Microsoft.NET.Sdk.targets(148,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [/build/source/src/tools/DevAnalyzers/DevAnalyzers.csproj]
# [ERR] Compile: [...]/Microsoft.NET.Sdk.targets(148,5): error MSB4018: System.IO.IOException: The process cannot access the file '/build/source/src/tools/DevAnalyzers/bin/Release/netstandard2.0/DevAnalyzers.deps.json' because it is being used by another process. [/build/source/src/tools/DevAnalyzers/DevAnalyzers.csproj]
./0002-disable-parallel-compile.patch
];
# this needs to be match the version being patched above
UNICODE_CHARACTER_DATABASE = fetchzip {
url = "https://www.unicode.org/Public/15.0.0/ucd/UCD.zip";
hash = "sha256-jj6bX46VcnH7vpc9GwM9gArG+hSPbOGL6E4SaVd0s60=";
stripRoot = false;
};
postPatch = ''
patchShebangs build.sh
substituteInPlace src/Avalonia.X11/ICELib.cs \
--replace-fail '"libICE.so.6"' '"${lib.getLib libICE}/lib/libICE.so.6"'
substituteInPlace src/Avalonia.X11/SMLib.cs \
--replace-fail '"libSM.so.6"' '"${lib.getLib libSM}/lib/libSM.so.6"'
substituteInPlace src/Avalonia.X11/XLib.cs \
--replace-fail '"libX11.so.6"' '"${lib.getLib libX11}/lib/libX11.so.6"' \
--replace-fail '"libXrandr.so.2"' '"${lib.getLib libXrandr}/lib/libXrandr.so.2"' \
--replace-fail '"libXext.so.6"' '"${lib.getLib libXext}/lib/libXext.so.6"' \
--replace-fail '"libXi.so.6"' '"${lib.getLib libXi}/lib/libXi.so.6"' \
--replace-fail '"libXcursor.so.1"' '"${lib.getLib libXcursor}/lib/libXcursor.so.1"'
# from RestoreAdditionalProjectSources, which isn't supported by nuget-to-json
dotnet nuget add source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json
# Tricky way to run npmConfigHook multiple times (borrowed from pagefind)
(
local postPatchHooks=() # written to by npmConfigHook
source ${npmHooks.npmConfigHook}/nix-support/setup-hook
''
+
# TODO: implement updateScript
lib.concatMapStrings (
{ path, hash }:
let
deps = fetchNpmDeps {
src = "${src}/${path}";
inherit hash;
};
in
''
npmRoot=${path} npmDeps="${deps}" npmConfigHook
rm -rf "$TMPDIR/cache"
''
) (import npmDepsFile)
+ ''
)
# Avalonia.Native is normally only packed on darwin.
substituteInPlace src/Avalonia.Native/Avalonia.Native.csproj \
--replace-fail \
'<IsPackable>$(PackAvaloniaNative)</IsPackable>' \
'<IsPackable>true</IsPackable>'
# stop 'Clean' target from removing node_modules
substituteInPlace nukebuild/Build.cs \
--replace-fail \
'Parameters.BuildDirs.ForEach(DeleteDirectory);' \
""
'';
makeCacheWritable = true;
# CSC : error CS1566: Error reading resource 'pdbstr.exe' -- 'Could not find a part of the path '/build/.nuget-temp/packages/sourcelink/1.1.0/tools/pdbstr.exe'.' [/build/source/nukebuild/_build.csproj]
linkNugetPackages = true;
# [WRN] Could not inject value for Build.ApiCompatTool
# System.Exception: Missing package reference/download.
# Run one of the following commands:
# ---> System.ArgumentException: Could not find package 'Microsoft.DotNet.ApiCompat.Tool' using:
# - Project assets file '/build/source/nukebuild/obj/project.assets.json'
# - NuGet packages config '/build/source/nukebuild/_build.csproj'
linkNuGetPackagesAndSources = true;
FONTCONFIG_FILE =
let
fc = makeFontsConf { fontDirectories = [ liberation_ttf ]; };
in
runCommand "fonts.conf" { } ''
substitute ${fc} $out \
--replace-fail "/etc/" "${fontconfig.out}/etc/"
'';
preConfigure = ''
# closed source (telemetry?) https://github.com/AvaloniaUI/Avalonia/discussions/16878
dotnet remove packages/Avalonia/Avalonia.csproj package Avalonia.BuildServices
# upgrade to fix dependency downgrade
# https://github.com/AvaloniaUI/Avalonia/issues/9603
dotnet add tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj \
package Microsoft.NETCore.App --version 1.1.13 --no-restore
'';
runtimeIds = [ (systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
configurePhase = ''
runHook preConfigure
for project in nukebuild/_build.csproj dirs.proj; do
for rid in $runtimeIds; do
dotnet restore --runtime "$rid" "$project"
done
done
runHook postConfigure
'';
nativeBuildInputs = [
nodejs
dotnet-sdk
];
buildInputs = dotnet-sdk.packages;
buildTarget = "Package";
buildPhase = ''
runHook preBuild
# ValidateApiDiff requires a network connection
./build.sh --target $buildTarget --verbosity Verbose --skip ValidateApiDiff
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p "$out/share/nuget/source"
cp artifacts/nuget/* "$out/share/nuget/source"
runHook postInstall
'';
passthru = {
updateScript = ./update.bash;
inherit npmDepsFile;
};
meta = {
homepage = "https://avaloniaui.net/";
license = [ lib.licenses.mit ];
maintainers = with lib.maintainers; [ corngood ];
description = "Cross-platform UI framework for dotnet";
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryNativeCode # npm dependencies contain binaries
];
platforms = dotnet-sdk.meta.platforms;
broken = stdenvNoCC.hostPlatform.isDarwin;
};
}
finalAttrs
)

View File

@@ -0,0 +1,28 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p nix-update -p prefetch-npm-deps
#shellcheck shell=bash
set -euo pipefail
export NIXPKGS_ALLOW_INSECURE=1 # uses EOL dotnet-sdk-7
package="$UPDATE_NIX_ATTR_PATH"
nix-update "$package" --src-only
src=$(nix-build -A "$package".src --no-out-link)
npmDepsFile=$(nix-instantiate --eval -A "$package".npmDepsFile)
(
echo '['
for path in \
src/Avalonia.DesignerSupport/Remote/HtmlTransport/webapp \
tests/Avalonia.DesignerSupport.Tests/Remote/HtmlTransport/webapp \
src/Browser/Avalonia.Browser/webapp
do
echo ' {'
echo " path = \"$path\";"
echo prefetch-npm-deps "$src/$path/package-lock.json" >&2
hash=$(prefetch-npm-deps "$src/$path/package-lock.json")
echo " hash = \"$hash\";"
echo ' }'
done
echo ']'
) > "$npmDepsFile"
"$(nix-build -A "$package".fetch-deps --no-out-link)"

View File

@@ -0,0 +1,39 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
protobuf,
bzip2,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "avbroot";
version = "3.23.0";
src = fetchFromGitHub {
owner = "chenxiaolong";
repo = "avbroot";
tag = "v${version}";
hash = "sha256-P7t1Tuux04D1tEaMjFPWhaYz4NP3hk5hoJ6kKiHM1S8=";
};
cargoHash = "sha256-ahBzMU8R520EMUgdETr0+gz2fuxKcOV+6fuH4SiRz8U=";
nativeBuildInputs = [
pkg-config
protobuf
];
buildInputs = [ bzip2 ];
meta = {
description = "Sign (and root) Android A/B OTAs with custom keys while preserving Android Verified Boot";
homepage = "https://github.com/chenxiaolong/avbroot";
changelog = "https://github.com/chenxiaolong/avbroot/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ oluceps ];
mainProgram = "avbroot";
};
}

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchzip,
dotnet-runtime,
zlib,
runtimeShell,
}:
stdenv.mkDerivation {
pname = "avdump3";
version = "8293_stable";
src = fetchzip {
url = "https://cdn.anidb.net/client/avdump3/avdump3_8293_stable.zip";
hash = "sha256-H9Sn3I4S9CmymKIMHVagDy+7svHs285S3EJgYQo+ks0=";
stripRoot = false;
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/avdump3 $out/bin
mv * $out/share/avdump3
cat > $out/bin/avdump3 <<EOF
#!${runtimeShell}
export LD_LIBRARY_PATH="${lib.makeLibraryPath [ zlib ]}:\$LD_LIBRARY_PATH"
exec ${dotnet-runtime}/bin/dotnet $out/share/avdump3/AVDump3CL.dll "\$@"
EOF
chmod +x $out/bin/avdump3
runHook postInstall
'';
dontPatchELF = true;
meta = {
mainProgram = "avdump3";
description = "Tool for extracting audio/video metadata from media files and uploading it to AniDB";
longDescription = ''
AVDump is a tool to extract meta information from media files while at the
same time calculating multiple hashes. Based on that information reports
can be generated in multiple forms. Of particular interest is the ability
to send those reports back to AniDB and thereby quickly filling in missing
metadata for new files.
'';
homepage = "https://wiki.anidb.net/Avdump3";
sourceProvenance = with lib.sourceTypes; [
binaryNativeCode
binaryBytecode
];
# partial source code available under MIT license at https://github.com/DvdKhl/AVDump3
license = with lib.licenses; [
mit
unfree
];
maintainers = with lib.maintainers; [ kini ];
# NOTE: aarch64-linux may also work but hasn't been tested; co-maintainers welcome.
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
fetchFromGitHub,
python3Packages,
}:
python3Packages.buildPythonApplication {
pname = "avell-unofficial-control-center";
version = "1.0.4";
format = "setuptools";
src = fetchFromGitHub {
owner = "rodgomesc";
repo = "avell-unofficial-control-center";
# https://github.com/rodgomesc/avell-unofficial-control-center/issues/58
rev = "e32e243e31223682a95a719bc58141990eef35e6";
sha256 = "1qz1kv7p09nxffndzz9jlkzpfx26ppz66f8603zyamjq9dqdmdin";
};
# No tests included
doCheck = false;
propagatedBuildInputs = with python3Packages; [
pyusb
elevate
];
meta = with lib; {
homepage = "https://github.com/rodgomesc/avell-unofficial-control-center";
description = "Software for controlling RGB keyboard lights on some gaming laptops that use ITE Device(8291) Rev 0.03";
mainProgram = "aucc";
license = licenses.mit;
maintainers = with maintainers; [ rkitover ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
fuse,
xz,
}:
stdenv.mkDerivation rec {
pname = "avfs";
version = "1.2.0";
src = fetchurl {
url = "mirror://sourceforge/avf/${version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-olqOxDwe4XJiThpMec5mobkwhBzbVFtyXx7GS8q+iJw=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
fuse
xz
];
configureFlags = [
"--enable-library"
"--enable-fuse"
];
meta = {
homepage = "https://avf.sourceforge.net/";
description = "Virtual filesystem that allows browsing of compressed files";
platforms = lib.platforms.unix;
license = lib.licenses.gpl2Only;
};
}

View File

@@ -0,0 +1,24 @@
diff --git a/go.mod b/go.mod
index 9bc55db..4bddb07 100644
--- a/go.mod
+++ b/go.mod
@@ -19,5 +19,6 @@ require (
github.com/smallfish/simpleyaml v0.0.0-20170527020626-116d8e577389 // indirect
github.com/starkandwayne/goutils v0.0.0-20190115202530-896b8a6904be
github.com/urfave/cli v1.19.1
+ golang.org/x/sys v0.0.0-20220731174439-a90be440212d // indirect
gopkg.in/yaml.v2 v2.3.0
)
diff --git a/go.sum b/go.sum
index 7641199..d983a95 100644
--- a/go.sum
+++ b/go.sum
@@ -138,6 +138,8 @@ golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20220731174439-a90be440212d h1:Sv5ogFZatcgIMMtBSTTAgMYsicp25MXBubjXNDKwm80=
+golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=

View File

@@ -0,0 +1,32 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "aviator";
version = "1.8.1";
src = fetchFromGitHub {
owner = "herrjulz";
repo = "aviator";
rev = "v${version}";
sha256 = "sha256-Oa4z8n+q7LKWMnwk+xj9UunzOa3ChaPBCTo828yYJGQ=";
};
patches = [
./bump-golang-x-sys.patch
];
deleteVendor = true;
vendorHash = "sha256-AJyxCE4DdAXRS+2sY4Zzu8NTEFKJoV1bopfOqOFKZfI=";
meta = with lib; {
description = "Merge YAML/JSON files in a in a convenient fashion";
mainProgram = "aviator";
homepage = "https://github.com/herrjulz/aviator";
license = licenses.mit;
maintainers = with maintainers; [ risson ];
};
}

View File

@@ -0,0 +1,26 @@
diff --git a/bootStrap.bash b/bootStrap.bash
index 646a5e048..6429199ba 100644
--- a/bootStrap.bash
+++ b/bootStrap.bash
@@ -4,6 +4,7 @@
#
# By default we use qt5 now
#
+set -e # hard fail if something fails
packages_ext=""
rebuild=0
do_core=1
@@ -66,10 +67,10 @@ Process()
fi
cd $BUILDDIR
cmake $COMPILER $PKG $FAKEROOT $QT_FLAVOR -DCMAKE_EDIT_COMMAND=vim $INSTALL_PREFIX $EXTRA $BUILD_QUIRKS $ASAN $DEBUG -G "$BUILDER" $SOURCEDIR || fail cmakeZ
- make $PARAL >& /tmp/log$BUILDDIR || fail "make, result in /tmp/log$BUILDDIR"
- if [ "x$PKG" != "x" ] ; then
+ make $PARAL
+ if [ "x$PKG" != "x" ] ; then
$FAKEROOT_COMMAND make package DESTDIR=$FAKEROOT_DIR/tmp || fail package
- fi
+ fi
# we need the make install so that other packcges can be built against this one
make install DESTDIR=$FAKEROOT_DIR
}

View File

@@ -0,0 +1,12 @@
diff -ru3 avidemux_2.6.15-old/avidemux_core/ADM_core/src/ADM_folder_linux.cpp avidemux_2.6.15/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
--- avidemux_2.6.15-old/avidemux_core/ADM_core/src/ADM_folder_linux.cpp 2016-11-23 02:13:41.406566362 +0300
+++ avidemux_2.6.15/avidemux_core/ADM_core/src/ADM_folder_linux.cpp 2016-11-23 02:14:33.433566147 +0300
@@ -92,7 +92,7 @@
char *ADM_getInstallRelativePath(const char *base1, const char *base2, const char *base3)
{
- return ADM_getRelativePath(ADM_INSTALL_DIR, base1, base2, base3);
+ return ADM_getRelativePath(getenv("ADM_ROOT_DIR"), base1, base2, base3);
}
const std::string ADM_getI8NDir(const std::string &flavor)
{

View File

@@ -0,0 +1,176 @@
{
stdenv,
lib,
fetchurl,
fetchpatch,
cmake,
pkg-config,
zlib,
gettext,
libvdpau,
libva,
libXv,
sqlite,
yasm,
freetype,
fontconfig,
fribidi,
makeWrapper,
libXext,
libGLU,
alsa-lib,
withX265 ? true,
x265,
withX264 ? true,
x264,
withXvid ? true,
xvidcore,
withLAME ? true,
lame,
withFAAC ? false,
faac,
withVorbis ? true,
libvorbis,
withPulse ? true,
libpulseaudio,
withFAAD ? true,
faad2,
withOpus ? true,
libopus,
withVPX ? true,
libvpx,
withQT ? true,
libsForQt5,
withCLI ? true,
default ? "qt5",
withPlugins ? true,
}:
assert default != "qt5" -> default == "cli";
assert !withQT -> default != "qt5";
stdenv.mkDerivation rec {
pname = "avidemux";
version = "2.8.1";
src = fetchurl {
url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz";
sha256 = "sha256-d9m9yoaDzlfBkradIHz6t8+Sp3Wc4PY/o3tcjkKtPaI=";
};
patches = [
./dynamic_install_dir.patch
./bootstrap_logging.patch
# x265 API change in 4.1 breaks build
# See discussion in https://avidemux.org/smif/index.php/topic,19995.msg97494.html#msg97494
(fetchpatch {
name = "fix_build_with_x265_4_1.patch";
url = "https://github.com/mean00/avidemux2/commit/c16d32a67cdb012db093472ad3776713939a30d1.patch";
hash = "sha256-5QqocvYaY/phyvSX2lhTzeAi+z9Wgqs+ITR0cXReps4=";
})
];
postPatch = ''
cp ${
fetchpatch {
# Backport fix for binutils-2.41.
name = "binutils-2.41.patch";
url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb";
hash = "sha256-s9PcYbt0mFb2wvgMcFL1J+2OS6Sxyd2wYkGzLr2qd9M=";
stripLen = 1;
}
} avidemux_core/ffmpeg_package/patches/
'';
nativeBuildInputs = [
yasm
cmake
pkg-config
makeWrapper
]
++ lib.optional withQT libsForQt5.wrapQtAppsHook;
buildInputs = [
zlib
gettext
libvdpau
libva
libXv
sqlite
fribidi
fontconfig
freetype
alsa-lib
libXext
libGLU
]
++ lib.optional withX264 x264
++ lib.optional withX265 x265
++ lib.optional withXvid xvidcore
++ lib.optional withLAME lame
++ lib.optional withFAAC faac
++ lib.optional withVorbis libvorbis
++ lib.optional withPulse libpulseaudio
++ lib.optional withFAAD faad2
++ lib.optional withOpus libopus
++ lib.optionals withQT (
with libsForQt5;
[
qttools
qtbase
]
)
++ lib.optional withVPX libvpx;
dontWrapQtApps = true;
buildCommand =
let
wrapWith =
makeWrapper: filename:
"${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib";
wrapQtApp = wrapWith "wrapQtApp";
wrapProgram = wrapWith "wrapProgram";
in
''
unpackPhase
cd "$sourceRoot"
patchPhase
${stdenv.shell} bootStrap.bash \
--with-core \
${if withQT then "--with-qt" else "--without-qt"} \
${if withCLI then "--with-cli" else "--without-cli"} \
${if withPlugins then "--with-plugins" else "--without-plugins"}
mkdir $out
cp -R install/usr/* $out
${wrapProgram "$out/bin/avidemux3_cli"}
${lib.optionalString withQT ''
${wrapQtApp "$out/bin/avidemux3_qt5"}
${wrapQtApp "$out/bin/avidemux3_jobs_qt5"}
''}
ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux"
# make the install path match the rpath
if [[ -d ''${!outputLib}/lib64 ]]; then
mv ''${!outputLib}/lib64 ''${!outputLib}/lib
ln -s lib ''${!outputLib}/lib64
fi
fixupPhase
'';
meta = with lib; {
homepage = "http://fixounet.free.fr/avidemux/";
description = "Free video editor designed for simple video editing tasks";
maintainers = [ ];
# "CPU not supported" errors on AArch64
platforms = [
"i686-linux"
"x86_64-linux"
];
license = licenses.gpl2;
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
testers,
cmake,
pkg-config,
gitUpdater,
soundtouch,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "avisynthplus";
version = "3.7.5";
src = fetchFromGitHub {
owner = "AviSynth";
repo = "AviSynthPlus";
tag = "v${finalAttrs.version}";
hash = "sha256-RkEZWsAKZABtl+SbRLCjMqyQoi9ainbaI9hWlpO6Fwo=";
};
patchPhase = ''
substituteInPlace ./avs_core/avisynth_conf.h.in \
--replace-fail '@CORE_PLUGIN_INSTALL_PATH@' '/run/current-system/sw/lib'
'';
buildInputs = [
soundtouch
];
nativeBuildInputs = [
cmake
pkg-config
];
outputs = [
"out"
"dev"
];
passthru = {
updateScript = gitUpdater { rev-prefix = "v"; };
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = with lib; {
description = "Improved version of the AviSynth frameserver";
homepage = "https://avs-plus.net/";
changelog = "https://github.com/AviSynth/AviSynthPlus/releases/tag/${finalAttrs.src.rev}";
license = licenses.gpl2Only;
pkgConfigModules = [ "avisynth" ];
platforms = platforms.unix;
maintainers = with maintainers; [ jopejoe1 ];
};
})

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
vala,
gtk3,
glib,
gtk-layer-shell,
dbus,
dbus-glib,
librsvg,
gobject-introspection,
gdk-pixbuf,
wrapGAppsHook3,
pamixer,
brightnessctl,
}:
stdenv.mkDerivation {
pname = "avizo";
version = "1.3-unstable-2024-11-03";
src = fetchFromGitHub {
owner = "misterdanb";
repo = "avizo";
rev = "5efaa22968b2cc1a3c15a304cac3f22ec2727b17";
sha256 = "sha256-KYQPHVxjvqKt4d7BabplnrXP30FuBQ6jQ1NxzR5U7qI=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
gobject-introspection
wrapGAppsHook3
];
buildInputs = [
dbus
dbus-glib
gdk-pixbuf
glib
gtk-layer-shell
gtk3
librsvg
];
postInstall = ''
wrapProgram $out/bin/volumectl --suffix PATH : $out/bin:${lib.makeBinPath [ pamixer ]}
wrapProgram $out/bin/lightctl --suffix PATH : $out/bin:${lib.makeBinPath [ brightnessctl ]}
'';
meta = with lib; {
description = "Neat notification daemon for Wayland";
homepage = "https://github.com/misterdanb/avizo";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [
maintainers.berbiche
maintainers.flexiondotorg
];
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
openssl,
testers,
avml,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "avml";
version = "0.15.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "avml";
tag = "v${version}";
hash = "sha256-QN9GLrs0wjlEdkNnN7Q4Uqu1yJlxD7Dx0SnHJnfV/so=";
};
cargoHash = "sha256-u9oYchTvSvlth/Kn6SYuuP2VDVWQDNqueUsKumPooFU=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
env = {
OPENSSL_NO_VENDOR = true;
};
passthru.tests.version = testers.testVersion { package = avml; };
passthru.updateScript = nix-update-script { };
meta = {
description = "Portable volatile memory acquisition tool for Linux";
homepage = "https://github.com/microsoft/avml";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.lesuisse ];
platforms = lib.platforms.linux;
mainProgram = "avml";
};
}

View File

@@ -0,0 +1,146 @@
{
lib,
stdenv,
makeDesktopItem,
fetchurl,
unzip,
gdk-pixbuf,
glib,
gtk3,
atk,
at-spi2-atk,
pango,
cairo,
freetype,
fontconfig,
dbus,
nss,
nspr,
alsa-lib,
cups,
expat,
udev,
adwaita-icon-theme,
xorg,
mozjpeg,
makeWrapper,
wrapGAppsHook3,
libuuid,
at-spi2-core,
libdrm,
libgbm,
libxkbcommon,
}:
stdenv.mkDerivation rec {
pname = "avocode";
version = "4.15.6";
src = fetchurl {
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
sha256 = "sha256-vNQT4jyMIIAk1pV3Hrp40nawFutWCv7xtwg2gU6ejy0=";
};
libPath = lib.makeLibraryPath (
with xorg;
[
stdenv.cc.cc
at-spi2-core.out
gdk-pixbuf
glib
gtk3
atk
at-spi2-atk
pango
cairo
freetype
fontconfig
dbus
nss
nspr
alsa-lib
cups
expat
udev
libX11
libxcb
libxshmfence
libxkbcommon
libXi
libXcursor
libXdamage
libXrandr
libXcomposite
libXext
libXfixes
libXrender
libXtst
libXScrnSaver
libuuid
libdrm
libgbm
]
);
desktopItem = makeDesktopItem {
name = "Avocode";
exec = "avocode";
icon = "avocode";
desktopName = "Avocode";
genericName = "Design Inspector";
categories = [ "Development" ];
comment = "The bridge between designers and developers";
};
nativeBuildInputs = [
makeWrapper
wrapGAppsHook3
unzip
];
buildInputs = [
gtk3
adwaita-icon-theme
];
# src is producing multiple folder on unzip so we must
# override unpackCmd to extract it into newly created folder
unpackCmd = ''
mkdir out
unzip $curSrc -d out
'';
installPhase = ''
substituteInPlace avocode.desktop.in \
--replace /path/to/avocode-dir/Avocode $out/bin/avocode \
--replace /path/to/avocode-dir/avocode.png avocode
mkdir -p share/applications share/pixmaps
mv avocode.desktop.in share/applications/avocode.desktop
mv avocode.png share/pixmaps/
rm resources/cjpeg
cp -av . $out
mkdir $out/bin
ln -s $out/avocode $out/bin/avocode
ln -s ${mozjpeg}/bin/cjpeg $out/resources/cjpeg
'';
postFixup = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
patchelf --set-rpath ${libPath}:$out/ $file || true
done
'';
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://avocode.com/";
description = "Bridge between designers and developers";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with maintainers; [ megheaiulian ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchurl,
unzip,
runtimeShell,
}:
stdenv.mkDerivation rec {
pname = "avr8-burn-omat";
version = "2.1.2";
src = fetchurl {
url = "http://avr8-burn-o-mat.aaabbb.de/AVR8_Burn-O-Mat_${
lib.replaceStrings [ "." ] [ "_" ] version
}.zip";
sha256 = "02k0fd0cd3y1yqip36wr3bkxbywp8913w4y7jdg6qwqxjnii58ln";
};
nativeBuildInputs = [ unzip ];
# move to nix-support to not create that many symlinks..
# TODO burnomat tries to read /usr/local/etc/avrdude.conf (but you can edit it within the settings dialog)
installPhase = ''
mkdir -p $out/{nix-support,bin}
mv *.jar license_gpl-3.0.txt lib *.xml *.png $out/nix-support
cat >> $out/bin/avr8-burn-omat << EOF
#!${runtimeShell}
cd $out/nix-support; exec java -jar AVR8_Burn_O_Mat.jar
EOF
chmod +x $out/bin/avr8-burn-omat
'';
meta = with lib; {
description = "GUI tool for avrdude";
mainProgram = "avr8-burn-omat";
homepage = "http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = lib.licenses.gpl3;
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "avra";
version = "1.4.2";
src = fetchFromGitHub {
owner = "Ro5bert";
repo = "avra";
tag = version;
hash = "sha256-joOj89WZ9Si5fcu1w1VHj5fOcnB9N2313Yb29A+nCCY=";
};
makeFlags = [ "PREFIX=${placeholder "out"}" ];
doCheck = true;
meta = with lib; {
description = "Assembler for the Atmel AVR microcontroller family";
mainProgram = "avra";
homepage = "https://github.com/Ro5bert/avra";
license = licenses.gpl2Plus;
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "libelf";
version = "0.8.13-unstable-2023-01-14";
src = fetchFromGitHub {
owner = "avrdudes";
repo = "libelf";
rev = "0c55bfe1d3020a20bddf6ce57c0d9d98ccb12586";
hash = "sha256-jz7Ef0Eg673IJVZvVNklY40s13LCuMVAc7FGrRI7scQ=";
};
nativeBuildInputs = [ cmake ];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cp liblibelf.a $out/lib/libelf.a
cp -r $src/include $out/include
runHook postInstall
'';
meta = {
description = "ELF object file access library (vendored by avrdudes)";
homepage = "https://github.com/avrdudes/libelf";
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.bjornfor ];
};
}

View File

@@ -0,0 +1,99 @@
{
lib,
callPackage,
stdenv,
fetchFromGitHub,
cmake,
bison,
flex,
pkg-config,
libusb1,
elfutils,
libftdi1,
readline,
hidapi,
libserialport,
libusb-compat-0_1,
# Documentation building doesn't work on Darwin. It fails with:
# Undefined subroutine &Locale::Messages::dgettext called in ... texi2html
#
# https://github.com/NixOS/nixpkgs/issues/224761
docSupport ? (!stdenv.hostPlatform.isDarwin),
texliveMedium,
texinfo,
texi2html,
unixtools,
}:
let
useElfutils = lib.meta.availableOn stdenv.hostPlatform elfutils;
in
stdenv.mkDerivation (finalAttrs: {
pname = "avrdude";
version = "8.1";
src = fetchFromGitHub {
owner = "avrdudes";
repo = "avrdude";
rev = "v${finalAttrs.version}";
sha256 = "sha256-i1q0NQKVd/wiOm1Amop3hW+FWuefFOQCCivuEtEH38k=";
};
nativeBuildInputs = [
cmake
bison
flex
pkg-config
]
++ lib.optionals docSupport [
unixtools.more
texliveMedium
texinfo
texi2html
];
buildInputs = [
(if useElfutils then elfutils else finalAttrs.finalPackage.passthru.libelf)
hidapi
libusb1
libftdi1
libserialport
readline
libusb-compat-0_1
];
postPatch = lib.optionalString (!useElfutils) ''
# vendored libelf is a static library
sed -i "s/PREFERRED_LIBELF elf/PREFERRED_LIBELF libelf.a elf/" CMakeLists.txt
'';
# Not used:
# -DHAVE_LINUXGPIO=ON because it's incompatible with libgpiod 2.x
cmakeFlags =
lib.optionals docSupport [ "-DBUILD_DOC=ON" ]
++ lib.optionals stdenv.hostPlatform.isLinux [
"-DHAVE_LINUXSPI=ON"
"-DHAVE_PARPORT=ON"
];
passthru = {
# Vendored and mutated copy of libelf for avrdudes use.
# Produces a static library only.
libelf = callPackage ./libelf.nix { };
};
meta = with lib; {
description = "Command-line tool for programming Atmel AVR microcontrollers";
mainProgram = "avrdude";
longDescription = ''
AVRDUDE (AVR Downloader/UploaDEr) is an utility to
download/upload/manipulate the ROM and EEPROM contents of AVR
microcontrollers using the in-system programming technique (ISP).
'';
homepage = "https://www.nongnu.org/avrdude/";
license = licenses.gpl2Plus;
platforms = with platforms; linux ++ darwin;
maintainers = [ maintainers.bjornfor ];
};
})

View File

@@ -0,0 +1,70 @@
{
lib,
stdenv,
runtimeShell,
fetchurl,
unzip,
mono,
avrdude,
gtk2,
xdg-utils,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "avrdudess";
version = "2.20";
src = fetchurl {
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v${finalAttrs.version}/AVRDUDESS-${finalAttrs.version}-portable.zip";
hash = "sha256-t89iSLjbb7eIQIwB0oEXhNHnzpTEHJhS0P53kOVJ3qY=";
};
nativeBuildInputs = [ unzip ];
dontUnpack = true;
dontInstall = true;
buildPhase = ''
runHook preBuild
mkdir -p "$out/avrdudess"
mkdir -p "$out/bin"
unzip "$src" -d "$out/avrdudess"
cat >> "$out/bin/avrdudess" << __EOF__
#!${runtimeShell}
export LD_LIBRARY_PATH="${
lib.makeLibraryPath [
gtk2
mono
]
}"
# We need PATH from user env for xdg-open to find its tools, which
# typically depend on the currently running desktop environment.
export PATH="\$PATH:${
lib.makeBinPath [
avrdude
xdg-utils
]
}"
# avrdudess must have its resource files in its current working directory
cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@"
__EOF__
chmod a+x "$out/bin/"*
runHook postBuild
'';
meta = {
description = "GUI for AVRDUDE (AVR microcontroller programmer)";
homepage = "https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/";
changelog = "https://github.com/ZakKemble/AVRDUDESS/blob/v${finalAttrs.version}/Changelog.txt";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.bjornfor ];
mainProgram = "avrdudess";
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
stdenvNoLibc,
fetchurl,
automake,
autoconf,
}:
stdenvNoLibc.mkDerivation (finalAttrs: {
pname = "avr-libc";
version = "2.2.1";
tag_version = builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version;
src = fetchurl {
url = "https://github.com/avrdudes/avr-libc/releases/download/avr-libc-${finalAttrs.tag_version}-release/avr-libc-${finalAttrs.version}.tar.bz2";
hash = "sha256-AGpjBsu8k4w721g6xU+T/n18jPl/nN6R+RxvsCc6tGU=";
};
nativeBuildInputs = [
automake
autoconf
];
# Make sure we don't strip the libraries in lib/gcc/avr.
stripDebugList = [ "bin" ];
dontPatchELF = true;
enableParallelBuilding = true;
passthru = {
incdir = "/avr/include";
};
meta = with lib; {
description = "C runtime library for AVR microcontrollers";
homepage = "https://github.com/avrdudes/avr-libc";
changelog = "https://github.com/avrdudes/avr-libc/blob/avr-libc-${finalAttrs.tag_version}-release/NEWS";
license = licenses.bsd3;
platforms = [ "avr-none" ];
maintainers = with maintainers; [
mguentner
emilytrau
];
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
cmake,
fetchurl,
pkg-config,
jansson,
snappy,
xz,
zlib,
}:
stdenv.mkDerivation rec {
pname = "avro-c";
version = "1.12.0";
src = fetchurl {
url = "mirror://apache/avro/avro-${version}/c/avro-c-${version}.tar.gz";
sha256 = "sha256-dDM9QxB5w113DO9plstN4EBY0Z6BvQuaNjvP04V1A38=";
};
postPatch = ''
patchShebangs .
'';
nativeBuildInputs = [
pkg-config
cmake
];
buildInputs = [
jansson
snappy
xz
zlib
];
meta = with lib; {
description = "C library which implements parts of the Avro Specification";
homepage = "https://avro.apache.org/";
license = licenses.asl20;
maintainers = with maintainers; [ lblasc ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 19059a41b..6e3ae0ad7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,15 +82,7 @@ endif ()
find_package (Boost 1.38 REQUIRED
COMPONENTS filesystem iostreams program_options regex system)
-include(FetchContent)
-FetchContent_Declare(
- fmt
- GIT_REPOSITORY https://github.com/fmtlib/fmt.git
- GIT_TAG 10.2.1
- GIT_PROGRESS TRUE
- USES_TERMINAL_DOWNLOAD TRUE
-)
-FetchContent_MakeAvailable(fmt)
+find_package(fmt REQUIRED)
find_package(Snappy)
if (SNAPPY_FOUND)

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchurl,
cmake,
boost,
python3,
fmt,
versionCheckHook,
}:
stdenv.mkDerivation rec {
pname = "avro-c++";
version = "1.12.0";
src = fetchurl {
url = "mirror://apache/avro/avro-${version}/cpp/avro-cpp-${version}.tar.gz";
hash = "sha256-8u33cSanWw7BrRZncr4Fg1HOo9dESL5+LO8gBQwPmKs=";
};
patches = [
./0001-get-rid-of-fmt-fetchcontent.patch
];
nativeBuildInputs = [
cmake
python3
];
propagatedBuildInputs = [
boost
fmt
];
doCheck = true;
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/avrogencpp";
versionCheckProgramArg = "--version";
meta = {
description = "C++ library which implements parts of the Avro Specification";
mainProgram = "avrogencpp";
homepage = "https://avro.apache.org/";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ rasendubi ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,43 @@
{
stdenv,
fetchurl,
makeWrapper,
jre,
lib,
}:
let
pname = "avro-tools";
version = "1.12.0";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "mirror://maven/org/apache/avro/avro-tools/${version}/${pname}-${version}.jar";
sha256 = "sha256-+OTQ2UWFLcL5HDv4j33LjKvADg/ClbuS6JPlSUXggIU=";
};
dontUnpack = true;
buildInputs = [ jre ];
nativeBuildInputs = [ makeWrapper ];
sourceRoot = ".";
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/libexec/avro-tools
cp $src $out/libexec/avro-tools/${pname}.jar
makeWrapper ${jre}/bin/java $out/bin/avro-tools \
--add-flags "-jar $out/libexec/avro-tools/${pname}.jar"
'';
meta = {
homepage = "https://avro.apache.org/";
description = "Avro command-line tools and utilities";
mainProgram = "avro-tools";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ momeemt ];
};
}

View File

@@ -0,0 +1,57 @@
diff --git a/core/Main.cc b/core/Main.cc
index fd8fca1..37d2ed5 100644
--- a/core/Main.cc
+++ b/core/Main.cc
@@ -95,9 +95,13 @@ int main(int argc, char** argv)
setUsageHelp("c USAGE: %s [options] <input-file> <result-output-file>\n\n where input may be either in plain or gzipped DIMACS.\n");
// printf("This is MiniSat 2.0 beta\n");
-#if defined(__linux__)
- fpu_control_t oldcw, newcw;
- _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
+#if defined(__linux__) && defined(__x86_64__)
+ fenv_t fenv;
+
+ fegetenv(&fenv);
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
+ fesetenv(&fenv);
printf("c WARNING: for repeatability, setting FPU to use double precision\n");
#endif
// Extra options:
diff --git a/simp/Main.cc b/simp/Main.cc
index 4f4772d..c605f6e 100644
--- a/simp/Main.cc
+++ b/simp/Main.cc
@@ -96,9 +96,13 @@ int main(int argc, char** argv)
setUsageHelp("c USAGE: %s [options] <input-file> <result-output-file>\n\n where input may be either in plain or gzipped DIMACS.\n");
-#if defined(__linux__)
- fpu_control_t oldcw, newcw;
- _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
+#if defined(__linux__) && defined(__x86_64__)
+ fenv_t fenv;
+
+ fegetenv(&fenv);
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
+ fesetenv(&fenv);
printf("WARNING: for repeatability, setting FPU to use double precision\n");
#endif
// Extra options:
diff --git a/utils/System.h b/utils/System.h
index 004d498..2f6d922 100644
--- a/utils/System.h
+++ b/utils/System.h
@@ -21,8 +21,8 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
#ifndef Glucose_System_h
#define Glucose_System_h
-#if defined(__linux__)
-#include <fpu_control.h>
+#if defined(__linux__) && defined(__x86_64__)
+#include <fenv.h>
#endif
#include "glucose/mtl/IntTypes.h"

View File

@@ -0,0 +1,57 @@
diff --git a/core/Main.cc b/core/Main.cc
index 2b0d97b..9ba985d 100644
--- a/core/Main.cc
+++ b/core/Main.cc
@@ -77,9 +77,13 @@ int main(int argc, char** argv)
setUsageHelp("USAGE: %s [options] <input-file> <result-output-file>\n\n where input may be either in plain or gzipped DIMACS.\n");
// printf("This is MiniSat 2.0 beta\n");
-#if defined(__linux__)
- fpu_control_t oldcw, newcw;
- _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
+#if defined(__linux__) && defined(__x86_64__)
+ fenv_t fenv;
+
+ fegetenv(&fenv);
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
+ fesetenv(&fenv);
printf("WARNING: for repeatability, setting FPU to use double precision\n");
#endif
// Extra options:
diff --git a/simp/Main.cc b/simp/Main.cc
index 2804d7f..7fbdb33 100644
--- a/simp/Main.cc
+++ b/simp/Main.cc
@@ -78,9 +78,13 @@ int main(int argc, char** argv)
setUsageHelp("USAGE: %s [options] <input-file> <result-output-file>\n\n where input may be either in plain or gzipped DIMACS.\n");
// printf("This is MiniSat 2.0 beta\n");
-#if defined(__linux__)
- fpu_control_t oldcw, newcw;
- _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
+#if defined(__linux__) && defined(__x86_64__)
+ fenv_t fenv;
+
+ fegetenv(&fenv);
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
+ fesetenv(&fenv);
printf("WARNING: for repeatability, setting FPU to use double precision\n");
#endif
// Extra options:
diff --git a/utils/System.h b/utils/System.h
index 1758192..840bee5 100644
--- a/utils/System.h
+++ b/utils/System.h
@@ -21,8 +21,8 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
#ifndef Minisat_System_h
#define Minisat_System_h
-#if defined(__linux__)
-#include <fpu_control.h>
+#if defined(__linux__) && defined(__x86_64__)
+#include <fenv.h>
#endif
#include "mtl/IntTypes.h"

View File

@@ -0,0 +1,60 @@
{
lib,
stdenv,
fetchgit,
cmake,
zlib,
boost,
}:
stdenv.mkDerivation {
pname = "avy";
version = "2019.05.01"; # date of cav19 tag
src = fetchgit {
url = "https://bitbucket.org/arieg/extavy";
rev = "cav19";
sha256 = "0qdzy9srxp5f38x4dbb3prnr9il6cy0kz80avrvd7fxqzy7wdlwy";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
buildInputs = [
zlib
boost.out
boost.dev
];
env.NIX_CFLAGS_COMPILE = toString (
[ "-Wno-narrowing" ]
# Squelch endless stream of warnings on same few things
++ lib.optionals stdenv.cc.isClang [
"-Wno-empty-body"
"-Wno-tautological-compare"
"-Wc++11-compat-deprecated-writable-strings"
"-Wno-deprecated"
]
);
prePatch = ''
sed -i -e '1i#include <stdint.h>' abc/src/bdd/dsd/dsd.h
substituteInPlace abc/src/bdd/dsd/dsd.h --replace \
'((Child = Dsd_NodeReadDec(Node,Index))>=0);' \
'((intptr_t)(Child = Dsd_NodeReadDec(Node,Index))>=0);'
patch -p1 -d minisat -i ${./minisat-fenv.patch}
patch -p1 -d glucose -i ${./glucose-fenv.patch}
'';
installPhase = ''
mkdir -p $out/bin
cp avy/src/{avy,avybmc} $out/bin/
'';
meta = {
description = "AIGER model checking for Property Directed Reachability";
homepage = "https://arieg.bitbucket.io/avy/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ thoughtpolice ];
platforms = lib.platforms.linux;
};
}