mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
Merge staging-next-25.11 into staging-25.11
This commit is contained in:
@@ -2,6 +2,17 @@
|
||||
const { promisify } = require('node:util')
|
||||
const execFile = promisify(require('node:child_process').execFile)
|
||||
|
||||
/**
|
||||
* @typedef {{
|
||||
* subject: string,
|
||||
* sha: string,
|
||||
* author: { name: string, email: string },
|
||||
* committer: { name: string, email: string}
|
||||
* changedPaths: string[],
|
||||
* changedPathSegments: Set<string>,
|
||||
* }} Commit
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {{
|
||||
* args: string[]
|
||||
@@ -34,12 +45,7 @@ async function runGit({ args, repoPath, core, quiet }) {
|
||||
* repoPath?: string,
|
||||
* }} GetCommitMessagesForPRProps
|
||||
*
|
||||
* @returns {Promise<{
|
||||
* subject: string,
|
||||
* sha: string,
|
||||
* changedPaths: string[],
|
||||
* changedPathSegments: Set<string>,
|
||||
* }[]>}
|
||||
* @returns {Promise<Commit[]>}
|
||||
*/
|
||||
async function getCommitDetailsForPR({ core, pr, repoPath }) {
|
||||
await runGit({
|
||||
@@ -70,17 +76,25 @@ async function getCommitDetailsForPR({ core, pr, repoPath }) {
|
||||
|
||||
return Promise.all(
|
||||
shas.map(async (sha) => {
|
||||
// Subject first, then a blank line, then filenames.
|
||||
// Subject, author name, author email, committer name, committer email (all tab-seperated)
|
||||
// then a blank line, then filenames.
|
||||
const result = (
|
||||
await runGit({
|
||||
args: ['log', '--format=%s', '--name-only', '-1', sha],
|
||||
args: [
|
||||
'log',
|
||||
'--format=%s\t%aN\t%aE\t%cN\t%cE',
|
||||
'--name-only',
|
||||
'-1',
|
||||
sha,
|
||||
],
|
||||
repoPath,
|
||||
core,
|
||||
quiet: true,
|
||||
})
|
||||
).stdout.split('\n')
|
||||
|
||||
const subject = result[0]
|
||||
const [subject, authorName, authorEmail, committerName, committerEmail] =
|
||||
result[0].split('\t')
|
||||
|
||||
const changedPaths = result.slice(2, -1)
|
||||
|
||||
@@ -91,6 +105,8 @@ async function getCommitDetailsForPR({ core, pr, repoPath }) {
|
||||
return {
|
||||
sha,
|
||||
subject,
|
||||
author: { name: authorName, email: authorEmail },
|
||||
committer: { name: committerName, email: committerEmail },
|
||||
changedPaths,
|
||||
changedPathSegments,
|
||||
}
|
||||
|
||||
@@ -2,15 +2,17 @@
|
||||
const { classify } = require('../supportedBranches.js')
|
||||
const { getCommitDetailsForPR } = require('./get-pr-commit-details.js')
|
||||
|
||||
/** @typedef {import('./get-pr-commit-details.js').Commit} Commit */
|
||||
|
||||
/**
|
||||
* @param {{
|
||||
* github: InstanceType<import('@actions/github/lib/utils').GitHub>,
|
||||
* context: import('@actions/github/lib/context').Context,
|
||||
* context: typeof import('@actions/github').context,
|
||||
* core: import('@actions/core'),
|
||||
* repoPath?: string,
|
||||
* }} CheckCommitMessagesProps
|
||||
* }} LintCommitsProps
|
||||
*/
|
||||
async function checkCommitMessages({ github, context, core, repoPath }) {
|
||||
async function lintCommits({ github, context, core, repoPath }) {
|
||||
// This check should only be run when we have the pull_request context.
|
||||
const pull_number = context.payload.pull_request?.number
|
||||
if (!pull_number) {
|
||||
@@ -48,6 +50,17 @@ async function checkCommitMessages({ github, context, core, repoPath }) {
|
||||
|
||||
const commits = await getCommitDetailsForPR({ core, pr, repoPath })
|
||||
|
||||
await checkCommitMessages({ commits, core })
|
||||
await checkCommitMetadata({ commits, core })
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {{
|
||||
* commits: Commit[],
|
||||
* core: import('@actions/core'),
|
||||
* }} CheckCommitMessagesProps
|
||||
*/
|
||||
async function checkCommitMessages({ commits, core }) {
|
||||
const failures = new Set()
|
||||
|
||||
const conventionalCommitTypes = [
|
||||
@@ -152,4 +165,59 @@ async function checkCommitMessages({ github, context, core, repoPath }) {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = checkCommitMessages
|
||||
/**
|
||||
* @param {{
|
||||
* commits: Commit[],
|
||||
* core: import('@actions/core'),
|
||||
* }} CheckGitFieldsProps
|
||||
*/
|
||||
async function checkCommitMetadata({ commits, core }) {
|
||||
const failures = new Set()
|
||||
|
||||
/** @type {(s: string) => boolean} */
|
||||
const isEmail = (s) => /^.+@.*$/.test(s)
|
||||
|
||||
for (const commit of commits) {
|
||||
if (!commit.author.name) {
|
||||
core.error(`Commit ${commit.sha} author's name field is missing`)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!commit.author.email || !isEmail(commit.author.email)) {
|
||||
core.error(
|
||||
`Commit ${commit.sha} author's email field is missing or invalid`,
|
||||
)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!commit.committer.name) {
|
||||
core.error(`Commit ${commit.sha} committer's name field is missing`)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!commit.committer.email || !isEmail(commit.committer.email)) {
|
||||
core.error(
|
||||
`Commit ${commit.sha} committer's email field is missing or invalid`,
|
||||
)
|
||||
failures.add(commit.sha)
|
||||
}
|
||||
|
||||
if (!failures.has(commit.sha)) {
|
||||
core.info(
|
||||
`Commit ${commit.sha}'s git fields passed our automated checks!`,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (failures.size !== 0) {
|
||||
core.error(
|
||||
'Please add the missing commit fields. ' +
|
||||
'You can use the noreply email address generated for you by GitHub ' +
|
||||
'(https://docs.github.com/en/account-and-profile/reference/email-addresses-reference#your-noreply-email-address) ' +
|
||||
"if you'd like.",
|
||||
)
|
||||
core.setFailed('Committers: merging is discouraged.')
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = lintCommits
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -434,14 +434,14 @@ in
|
||||
|
||||
docker_29 =
|
||||
let
|
||||
version = "29.4.1";
|
||||
version = "29.4.2";
|
||||
in
|
||||
callPackage dockerGen {
|
||||
inherit version;
|
||||
cliRev = "v${version}";
|
||||
cliHash = "sha256-jGD+Z3koM0a2Te7cq2HdKFizZj39djvTQUmn815Mn4o=";
|
||||
mobyRev = "docker-v${version}";
|
||||
mobyHash = "sha256-R+rCR8DG4IyEdn9ol7PjawixgymjrEVMrTjaZM1wReU=";
|
||||
mobyHash = "sha256-jPmFYGOxvMof32fQeI4iHLG12ElwysYLSTkIrlluEXM=";
|
||||
runcRev = "v1.3.5";
|
||||
runcHash = "sha256-Swphxbu/OLkUrfRjLMZIVGwYb7AN0xHdyxm0ysAVam0=";
|
||||
containerdRev = "v2.2.3";
|
||||
|
||||
@@ -46,17 +46,17 @@ in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = binName;
|
||||
|
||||
version = "0.25.5";
|
||||
version = "0.26.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "toeverything";
|
||||
repo = "AFFiNE";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oUTnI0jCIm1PtQepfYGYFSZhhIh0blcyWXWkRmAB0DI=";
|
||||
hash = "sha256-5tOAkKTpdkN1UDztmy4Dt9kpRrWYVLolnXRwHmfXpLo=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-tdg0Ti+QWsIx64+WV0fPoyE/t3GlsUxXzU9qFHYfpt0=";
|
||||
hash = "sha256-vZkKFUaNe9iIAkdUfXnnuD2lM6kuzwqj1Dyt5GAgXsM=";
|
||||
};
|
||||
|
||||
# keep yarnOfflineCache same output style with offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; hash = "" };
|
||||
@@ -106,7 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
dontInstall = true;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-iULgio5zpmJhKofkUxA98Ze7Qy+kRfbbi5oEHYw5vzY=";
|
||||
outputHash = "sha256-nNPttQJBYJ3eyjR/INoC0MW5e3WcUkDpLdQ0W10+qj0=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals hostPlatform.isDarwin [
|
||||
|
||||
@@ -132,6 +132,7 @@ python3Packages.buildPythonApplication rec {
|
||||
"lxml"
|
||||
"pypdf"
|
||||
"regex"
|
||||
"requests"
|
||||
"tornado"
|
||||
"unidecode"
|
||||
"wand"
|
||||
|
||||
@@ -52,17 +52,17 @@ let
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "forgejo-runner";
|
||||
version = "12.9.0";
|
||||
version = "12.10.1";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "code.forgejo.org";
|
||||
owner = "forgejo";
|
||||
repo = "runner";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-yhcD+FiRuo+WAvKFtgAI+36/uIci9O1s9RtXT0Q75Uo=";
|
||||
hash = "sha256-OBMduRaGSVPojSAr6DKPbAdUyuw1MSCpipRv+EA5OGw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CCUyL6ZxLRQy30TQUj1yOAuR7Ctp06/0jG8Q3De6/oo=";
|
||||
vendorHash = "sha256-V9dEHNp80oS7NfsGIlKgFyHD1PmMm2bCqydVADpphuA=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -38,26 +38,30 @@ buildGoModule (finalAttrs: {
|
||||
substituteInPlace commands/helpers/file_archiver_test.go \
|
||||
--replace-fail "func TestCacheArchiverAddingUntrackedFiles" "func OFF_TestCacheArchiverAddingUntrackedFiles" \
|
||||
--replace-fail "func TestCacheArchiverAddingUntrackedUnicodeFiles" "func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles"
|
||||
rm shells/abstract_test.go
|
||||
|
||||
# No writable developer environment
|
||||
# Needs `make development_setup` (git repo at tmp/gitlab-test/)
|
||||
rm common/build_settings_test.go
|
||||
rm common/build_test.go
|
||||
rm executors/custom/custom_test.go
|
||||
|
||||
# No Docker during build
|
||||
rm executors/docker/docker_test.go
|
||||
rm executors/docker/services_test.go
|
||||
rm executors/docker/terminal_test.go
|
||||
rm helpers/docker/auth/auth_test.go
|
||||
|
||||
# No Kubernetes during build
|
||||
rm executors/kubernetes/feature_test.go
|
||||
# Timing-dependent test causes spurious failures on Hydra.
|
||||
# Might be fixed upstream in this MR: https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/6623
|
||||
# Try dropping it on next major version bump
|
||||
rm executors/kubernetes/internal/watchers/pod_test.go
|
||||
''
|
||||
+ lib.optionalString (!stdenv.buildPlatform.isx86_64) ''
|
||||
# Kubernetes tests actually work fine inside the network sandbox (they don't
|
||||
# expect real Kubernetes), but they fail on aarch64-linux because their
|
||||
# mocks expect x86_64
|
||||
rm executors/kubernetes/kubernetes_test.go
|
||||
rm executors/kubernetes/overwrites_test.go
|
||||
''
|
||||
+ lib.optionalString stdenv.buildPlatform.isDarwin ''
|
||||
# Invalid bind arguments break Unix socket tests
|
||||
# Darwin's sandbox blocks sendfile(2) during local HTTP PUT uploads
|
||||
substituteInPlace commands/helpers/cache_archiver_test.go \
|
||||
--replace-fail "func TestUploadExistingArchiveIfNeeded" "func OFF_TestUploadExistingArchiveIfNeeded"
|
||||
|
||||
# Invalid bind arguments break Unix socket tests.
|
||||
substituteInPlace commands/wrapper_test.go \
|
||||
--replace-fail "func TestRunnerWrapperCommand_createListener" "func OFF_TestRunnerWrapperCommand_createListener"
|
||||
|
||||
@@ -68,6 +72,10 @@ buildGoModule (finalAttrs: {
|
||||
--replace-fail "func TestClientInvalidSSL" "func OFF_TestClientInvalidSSL"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build helpers/docker/auth/testdata/docker-credential-bin.sh
|
||||
'';
|
||||
|
||||
excludedPackages = [
|
||||
# Nested dependency Go module, used with go.mod replace directive
|
||||
#
|
||||
|
||||
@@ -178,11 +178,11 @@ let
|
||||
|
||||
linux = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname meta passthru;
|
||||
version = "147.0.7727.137";
|
||||
version = "148.0.7778.96";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-2QKA8nk+O10cGr0gGOMSlLkxpO+WHFG1yul9a3VGq64=";
|
||||
hash = "sha256-Rmowgy0t/GJkiu28ZkXdzi5dzFxpFpzhcbZgsdFKl0c=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
@@ -292,11 +292,11 @@ let
|
||||
|
||||
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname meta passthru;
|
||||
version = "147.0.7727.138";
|
||||
version = "148.0.7778.97";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.google.com/release2/chrome/ackheqvxll25dzx6s76qfgpa4oxa_147.0.7727.138/GoogleChrome-147.0.7727.138.dmg";
|
||||
hash = "sha256-1WOkBxAs79ByJ3quXgh+ZR64ysIE2/2wMeIhl3sYh5o=";
|
||||
url = "http://dl.google.com/release2/chrome/fqffxmazeqztj7lx2lxedj2iwy_148.0.7778.97/GoogleChrome-148.0.7778.97.dmg";
|
||||
hash = "sha256-lfmEmoovaTcgyvetQnXnlE9dOLI7FRvPu6f6Fcpc7JA=";
|
||||
};
|
||||
|
||||
dontPatch = true;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
copyDesktopItems,
|
||||
desktopToDarwinBundle,
|
||||
jdk,
|
||||
jdk17,
|
||||
jdk25,
|
||||
hmclJdk ? jdk.override {
|
||||
# Required by jar file
|
||||
enableJavaFX = true;
|
||||
@@ -21,7 +21,7 @@
|
||||
},
|
||||
minecraftJdks ? [
|
||||
hmclJdk
|
||||
jdk17
|
||||
jdk25
|
||||
],
|
||||
xorg,
|
||||
glib,
|
||||
@@ -37,6 +37,7 @@
|
||||
gobject-introspection,
|
||||
callPackage,
|
||||
gtk3,
|
||||
libxkbcommon,
|
||||
}:
|
||||
let
|
||||
glfw3' = if stdenv.hostPlatform.isLinux then glfw3-minecraft else glfw3;
|
||||
@@ -146,6 +147,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
xorg.libXxf86vm
|
||||
xorg.libXext
|
||||
xorg.libXcursor
|
||||
libxkbcommon
|
||||
xorg.libXrandr
|
||||
xorg.libXtst
|
||||
libpulseaudio
|
||||
@@ -186,7 +188,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
lib.makeBinPath (minecraftJdks ++ lib.optional stdenv.hostPlatform.isLinux xorg.xrandr)
|
||||
}" \
|
||||
--run 'cd $HOME' \
|
||||
${lib.optionalString stdenv.hostPlatform.isLinux ''--prefix JAVA_TOOL_OPTIONS " " "-Dorg.lwjgl.glfw.libname=${lib.getLib glfw3'}/lib/libglfw.so"''} \
|
||||
''${gappsWrapperArgs[@]}
|
||||
'';
|
||||
|
||||
@@ -206,6 +207,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
Hello Minecraft! Launcher (HMCL) is a free, open-source, and cross-platform Minecraft launcher.
|
||||
It provides comprehensive support for managing multiple game versions and mod loaders,
|
||||
including Forge, NeoForge, Fabric, Quilt, LiteLoader, and OptiFine.
|
||||
|
||||
Starting with Minecraft 26.1, Wayland support can be enabled
|
||||
by adding the JDK arguments -DMC_DEBUG_ENABLED and
|
||||
-DMC_DEBUG_PREFER_WAYLAND. If needed, configure them in
|
||||
HMCL -> Advanced Settings -> JVM Options -> JVM Arguments.
|
||||
|
||||
Users who are still on an older version and want to use Wayland should
|
||||
enable HMCL -> Advanced Settings -> Workaround -> Use System GLFW.
|
||||
Otherwise, keep it disabled.
|
||||
'';
|
||||
maintainers = with lib.maintainers; [
|
||||
daru-san
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
libpulseaudio,
|
||||
libwebp,
|
||||
libxcrypt,
|
||||
mimalloc,
|
||||
openssl,
|
||||
python3,
|
||||
qt6Packages,
|
||||
@@ -40,18 +41,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ladybird";
|
||||
version = "0-unstable-2026-04-04";
|
||||
version = "0-unstable-2026-05-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LadybirdBrowser";
|
||||
repo = "ladybird";
|
||||
rev = "b11f30b32eff7c5e7baf6e84d0a432975631486d";
|
||||
hash = "sha256-Fv74py0dQG2hQti40eh7vXCkN0rkheeqQ/JM3KIuLDA=";
|
||||
rev = "90b790f8702a5d5c5a66ef02f8669da2838ca6e3";
|
||||
hash = "sha256-BdJ24YtKMv8B6Vvequf9b5qr0S3FfFuphFo78mCIaN4=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-5CB5mRdmvsmTmy3PGKhCx3NZm7Et2cIwIg9vF2wA7xE=";
|
||||
hash = "sha256-sbNYOdY56+waCVQHbGuvV5jT9EawV2IiGmL1e/O6ZRc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -104,6 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libjxl
|
||||
libwebp
|
||||
libxcrypt
|
||||
mimalloc
|
||||
openssl
|
||||
qt6Packages.qtbase
|
||||
qt6Packages.qtmultimedia
|
||||
|
||||
@@ -31,7 +31,7 @@ assert gpgmeSupport -> sslSupport;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mutt";
|
||||
version = "2.2.16";
|
||||
version = "2.3.2";
|
||||
outputs = [
|
||||
"out"
|
||||
"doc"
|
||||
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-HTEJp0OtiyXu+XEJsr20Zdt4N9Co0hHNOIvhtvqsPzI=";
|
||||
hash = "sha256-m096RC5BwFd3S6fDb6Qaui7dLnoSqGAx5uuxE7qyx54=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "onedrive";
|
||||
version = "2.5.9";
|
||||
version = "2.5.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abraunegg";
|
||||
repo = "onedrive";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Vrr7KR4yMH+IZ56IUTp9eAhxEtiXx+ppleUd7jSLzxc=";
|
||||
hash = "sha256-18e9Bkahi7et+vFpNRZs+OPrFZjICJ3g611MuLZI6Ps=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
setupPy = writeText "setup.py" ''
|
||||
from setuptools import setup
|
||||
@@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec {
|
||||
owner = "bpozdena";
|
||||
repo = "OneDriveGUI";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Y2+5f8/v4SPO6uUnjVTaHrHcGGPEhzm2WExJvmF9M1A=";
|
||||
hash = "sha256-hqo3e9YjfPpR4hLRfqozxEFN0LnEcgigleROOZqY6WY=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -201,7 +201,6 @@ beamPackages.mixRelease rec {
|
||||
maintainers = with lib.maintainers; [
|
||||
picnoir
|
||||
kloenk
|
||||
yayayayaka
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "privatebin";
|
||||
version = "2.0.3";
|
||||
version = "2.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PrivateBin";
|
||||
repo = "PrivateBin";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-23NzowQCuvJHenWmFGgIXFMP6oZoTLf0AZA7+uDQs5E=";
|
||||
hash = "sha256-OyTEi1D+B33e0Dqr/l/uTBcPTlC7AAqc2atnClYhyGo=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
40
pkgs/by-name/ro/rollo-printer/package.nix
Normal file
40
pkgs/by-name/ro/rollo-printer/package.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
cups,
|
||||
fetchurl,
|
||||
lib,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "rollo-printer";
|
||||
version = "1.8.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://rollo-main.b-cdn.net/driver-dl/linux/rollo-cups-driver-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-v61/5HY25cvhVbHF+dXOOGrDfZZzvvicJEy7MKTAG10=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ cups ];
|
||||
|
||||
# configure unconditionally derives CUPS_DATADIR/CUPS_SERVERBIN from
|
||||
# pkg-config, which points into the cups store path; override at make time
|
||||
# so the filter and PPD are installed into $out instead.
|
||||
makeFlags = [
|
||||
"CUPS_DATADIR=${placeholder "out"}/share/cups"
|
||||
"CUPS_SERVERBIN=${placeholder "out"}/lib/cups"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
description = "CUPS driver for Rollo label printers";
|
||||
homepage = "https://www.rollo.com/driver-linux/";
|
||||
license = with lib.licenses; gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ shymega ];
|
||||
platforms = cups.meta.platforms;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
})
|
||||
@@ -69,6 +69,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
"django-appconf"
|
||||
"urllib3"
|
||||
"dateparser"
|
||||
"requests"
|
||||
];
|
||||
|
||||
dependencies =
|
||||
|
||||
@@ -65,7 +65,9 @@ mkCoqDerivation rec {
|
||||
mathcomp-boot
|
||||
mathcomp-fingroup
|
||||
]
|
||||
++ lib.optionals (lib.versions.isGe "4.2.0" defaultVersion) [ gnuplot_qt ];
|
||||
++ lib.optionals (defaultVersion != null && lib.versions.isGe "4.2.0" defaultVersion) [
|
||||
gnuplot_qt
|
||||
];
|
||||
useMelquiondRemake.logpath = "Interval";
|
||||
mlPlugin = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
############################################################################
|
||||
# This file mainly provides the `mathcomp` derivation, which is #
|
||||
# essentially a meta-package containing all core mathcomp libraries #
|
||||
# (ssreflect fingroup algebra solvable field character). They can be #
|
||||
# accessed individually through the passthrough attributes of mathcomp #
|
||||
# bearing the same names (mathcomp.ssreflect, etc). #
|
||||
# (ssreflect finite-group algebra solvable field group-representation). #
|
||||
# They can be accessed individually through the passthrough attributes of #
|
||||
# mathcomp bearing the same names (mathcomp.ssreflect, etc). #
|
||||
############################################################################
|
||||
# Compiling a custom version of mathcomp using `mathcomp.override`. #
|
||||
# This is the replacement for the former `mathcomp_ config` function. #
|
||||
@@ -85,26 +85,34 @@ let
|
||||
packages = {
|
||||
"boot" = [ ];
|
||||
"order" = [ "boot" ];
|
||||
"fingroup" = [ "boot" ];
|
||||
"finite-group" = [ "boot" ];
|
||||
"ssreflect" = [
|
||||
"boot"
|
||||
"order"
|
||||
];
|
||||
"algebra" = [
|
||||
"order"
|
||||
"fingroup"
|
||||
"finite-group"
|
||||
];
|
||||
"solvable" = [ "algebra" ];
|
||||
"field" = [ "solvable" ];
|
||||
"character" = [ "field" ];
|
||||
"all" = [ "character" ];
|
||||
"group-representation" = [ "field" ];
|
||||
"all" = [ "group-representation" ];
|
||||
};
|
||||
|
||||
mathcomp_ =
|
||||
package:
|
||||
let
|
||||
mathcomp-deps = lib.optionals (package != "single") (map mathcomp_ packages.${package});
|
||||
pkgpath = if package == "single" then "." else package;
|
||||
cdpkg =
|
||||
if package == "single" then
|
||||
"cd ."
|
||||
else if package == "group-representation" then
|
||||
"cd group_representation || cd character"
|
||||
else if package == "finite-group" then
|
||||
"cd finite_group || cd fingroup"
|
||||
else
|
||||
"cd ${package}";
|
||||
pname = if package == "single" then "mathcomp" else "mathcomp-${package}";
|
||||
pkgallMake = ''
|
||||
echo "all.v" > Make
|
||||
@@ -144,7 +152,7 @@ let
|
||||
+ ''
|
||||
# handle mathcomp < 2.4.0 which had an extra base mathcomp directory
|
||||
test -d mathcomp && cd mathcomp
|
||||
cd ${pkgpath} || cd ssreflect # before 2.5, boot didn't exist, make it behave as ssreflect
|
||||
${cdpkg} || cd ssreflect # before 2.5, boot didn't exist, make it behave as ssreflect
|
||||
''
|
||||
+ lib.optionalString (package == "all") pkgallMake;
|
||||
|
||||
@@ -242,6 +250,10 @@ let
|
||||
}
|
||||
);
|
||||
in
|
||||
patched-derivation5;
|
||||
patched-derivation5
|
||||
// {
|
||||
fingroup = patched-derivation5.finite-group;
|
||||
character = patched-derivation5.group-representation;
|
||||
};
|
||||
in
|
||||
mathcomp_ (if single then "single" else "all")
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
ppx_deriving_0_15,
|
||||
ppx_deriving_0_33,
|
||||
ppx_optcomp,
|
||||
coqPackages,
|
||||
rocqPackages,
|
||||
version ?
|
||||
if lib.versionAtLeast ocaml.version "4.13" then
|
||||
"3.4.2"
|
||||
@@ -33,7 +33,7 @@ let
|
||||
in
|
||||
|
||||
let
|
||||
fetched = coqPackages.metaFetch {
|
||||
fetched = rocqPackages.metaFetch {
|
||||
release."3.7.1".sha256 = "sha256-AQn0T9bAj17tAcVZdl3PTj4ri0fCXQJvAVN1dFn19GY=";
|
||||
release."3.6.2".sha256 = "sha256-BDE4L5qYZfaMt+6JivNBJIaJGeDSf5E+Kw1Wera/WFk=";
|
||||
release."3.6.1".sha256 = "sha256-zoVgRqNAXeCgk3zGntVkkZxIiQrCU5+ONeI97BiT674=";
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
lib,
|
||||
buildDunePackage,
|
||||
ocaml,
|
||||
coqPackages,
|
||||
rocqPackages,
|
||||
version ? if lib.versionAtLeast ocaml.version "4.08" then "20250903" else "20231231",
|
||||
}:
|
||||
|
||||
let
|
||||
fetched = coqPackages.metaFetch {
|
||||
fetched = rocqPackages.metaFetch {
|
||||
release."20231231".sha256 = "sha256-veB0ORHp6jdRwCyDDAfc7a7ov8sOeHUmiELdOFf/QYk=";
|
||||
release."20240715".sha256 = "sha256-9CSxAIm0aEXkwF+aj8u/bqLG30y5eDNz65EnohJPjzI=";
|
||||
release."20250903".sha256 = "sha256-ap1OvcvCAuqmFDwhPwMBosHs3cm5NxPW/w1J8AzWduk=";
|
||||
|
||||
@@ -42,14 +42,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "magic-wormhole";
|
||||
version = "0.23.0";
|
||||
version = "0.24.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "magic-wormhole";
|
||||
repo = "magic-wormhole";
|
||||
tag = version;
|
||||
hash = "sha256-knvQwdPfe9uHpSNqaEz4w2LY6LjCPVoUcFG0bhHQl+g=";
|
||||
hash = "sha256-aY8dI5K2qroY+Nbc00R5XK0AjHpdnXFYWABgPqf8gQ8=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
|
||||
@@ -135,11 +135,13 @@ let
|
||||
mathcomp-boot = self.mathcomp.boot;
|
||||
mathcomp-order = self.mathcomp.order;
|
||||
mathcomp-ssreflect = self.mathcomp.ssreflect;
|
||||
mathcomp-fingroup = self.mathcomp.fingroup;
|
||||
mathcomp-finite-group = self.mathcomp.finite-group;
|
||||
mathcomp-fingroup = self.mathcomp.finite-group;
|
||||
mathcomp-algebra = self.mathcomp.algebra;
|
||||
mathcomp-solvable = self.mathcomp.solvable;
|
||||
mathcomp-field = self.mathcomp.field;
|
||||
mathcomp-character = self.mathcomp.character;
|
||||
mathcomp-group-representation = self.mathcomp.group-representation;
|
||||
mathcomp-character = self.mathcomp.group-representation;
|
||||
mathcomp-abel = callPackage ../development/coq-modules/mathcomp-abel { };
|
||||
mathcomp-algebra-tactics = callPackage ../development/coq-modules/mathcomp-algebra-tactics { };
|
||||
mathcomp-analysis = callPackage ../development/coq-modules/mathcomp-analysis { };
|
||||
|
||||
Reference in New Issue
Block a user