Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900
2025-06-17 18:08:55 +03:00
38 changed files with 566 additions and 214 deletions
+56 -12
View File
@@ -39,7 +39,12 @@ jobs:
if: github.event_name != 'schedule' || github.repository_owner == 'NixOS'
steps:
- name: Install dependencies
run: npm install @actions/artifact
run: npm install @actions/artifact bottleneck
- name: Log current API rate limits
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
- name: Labels from API data and Eval results
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
@@ -47,12 +52,41 @@ jobs:
UPDATED_WITHIN: ${{ inputs.updatedWithin }}
with:
script: |
const Bottleneck = require('bottleneck')
const path = require('node:path')
const { DefaultArtifactClient } = require('@actions/artifact')
const { readFile } = require('node:fs/promises')
const artifactClient = new DefaultArtifactClient()
const stats = {
prs: 0,
requests: 0,
artifacts: 0
}
// Rate-Limiting and Throttling, see for details:
// https://github.com/octokit/octokit.js/issues/1069#throttling
// https://docs.github.com/en/rest/using-the-rest-api/best-practices-for-using-the-rest-api
const allLimits = new Bottleneck({
// Avoid concurrent requests
maxConcurrent: 1,
// Hourly limit is at 5000, but other jobs need some, too!
// https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api
reservoir: 1000,
reservoirRefreshAmount: 1000,
reservoirRefreshInterval: 60 * 60 * 1000
})
// Pause between mutative requests
const writeLimits = new Bottleneck({ minTime: 1000 }).chain(allLimits)
github.hook.wrap('request', async (request, options) => {
stats.requests++
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(options.method))
return writeLimits.schedule(request.bind(null, options))
else
return allLimits.schedule(request.bind(null, options))
})
if (process.env.UPDATED_WITHIN && !/^\d+$/.test(process.env.UPDATED_WITHIN))
throw new Error('Please enter "updated within" as integer in hours.')
@@ -90,7 +124,7 @@ jobs:
base: context.payload.pull_request.base.ref
}
await github.paginate(
const prs = await github.paginate(
github.rest.pulls.list,
{
...context.repo,
@@ -99,12 +133,16 @@ jobs:
direction: 'desc',
...prEventCondition
},
async (response, done) => (await Promise.allSettled(response.data.map(async (pull_request) => {
(response, done) => response.data.map(async (pull_request) => {
try {
const log = (k,v) => core.info(`PR #${pull_request.number} - ${k}: ${v}`)
const log = (k,v,skip) => {
core.info(`PR #${pull_request.number} - ${k}: ${v}` + (skip ? ' (skipped)' : ''))
return skip
}
log('Last updated at', pull_request.updated_at)
if (new Date(pull_request.updated_at) < cutoff) return done()
if (log('Last updated at', pull_request.updated_at, new Date(pull_request.updated_at) < cutoff))
return done()
stats.prs++
log('URL', pull_request.html_url)
const run_id = (await github.rest.actions.listWorkflowRuns({
@@ -119,8 +157,8 @@ jobs:
// Newer PRs might not have run Eval to completion, yet. We can skip them, because this
// job will be run as part of that Eval run anyway.
log('Last eval run', run_id ?? '<pending>')
if (!run_id) return;
if (log('Last eval run', run_id ?? '<pending>', !run_id))
return;
const artifact = (await github.rest.actions.listWorkflowRunArtifacts({
...context.repo,
@@ -132,8 +170,10 @@ jobs:
// actually download the artifact in the next step and avoid that race condition.
// Older PRs, where the workflow run was already eval.yml, but the artifact was not
// called "comparison", yet, will be skipped as well.
log('Artifact expires at', artifact?.expires_at ?? '<not found>')
if (new Date(artifact?.expires_at ?? 0) < new Date(new Date().getTime() + 60 * 1000)) return;
const expired = new Date(artifact?.expires_at ?? 0) < new Date(new Date().getTime() + 60 * 1000)
if (log('Artifact expires at', artifact?.expires_at ?? '<not found>', expired))
return;
stats.artifacts++
await artifactClient.downloadArtifact(artifact.id, {
findBy: {
@@ -195,10 +235,14 @@ jobs:
} catch (cause) {
throw new Error(`Labeling PR #${pull_request.number} failed.`, { cause })
}
})))
})
);
(await Promise.allSettled(prs.flat()))
.filter(({ status }) => status == 'rejected')
.map(({ reason }) => core.setFailed(`${reason.message}\n${reason.cause.stack}`))
)
core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`)
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
name: Labels from touched files
@@ -62,9 +62,11 @@ in
packages = (
with pkgs;
[
ayatana-indicator-datetime # Clock
ayatana-indicator-session # Controls for shutting down etc
]
++ (with lomiri; [
lomiri-indicator-datetime # Clock
])
);
};
})
+1
View File
@@ -42,6 +42,7 @@ in
ayatana-indicator-sound
]
++ (with pkgs.lomiri; [
lomiri-indicator-datetime
lomiri-indicator-network
lomiri-telephony-service
]);
+14 -9
View File
@@ -8,19 +8,20 @@
qtbase,
qtgraphicaleffects,
qtquickcontrols2,
qtwayland,
wrapQtAppsHook,
makeWrapper,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "noson";
version = "5.6.10";
version = "5.6.13";
src = fetchFromGitHub {
owner = "janbar";
repo = "noson-app";
rev = finalAttrs.version;
hash = "sha256-ERlZtQTwPu5Y1i5cV9c5IMSJW30ootjmFix0EiF+/x0=";
hash = "sha256-XJBkPhyDPeyVrcY5Q5W9LtESuVxcbcQ8JoyOzKg+0NU=";
};
nativeBuildInputs = [
@@ -29,13 +30,17 @@ stdenv.mkDerivation (finalAttrs: {
makeWrapper
];
buildInputs = [
flac
libpulseaudio
qtbase
qtgraphicaleffects
qtquickcontrols2
];
buildInputs =
[
flac
libpulseaudio
qtbase
qtgraphicaleffects
qtquickcontrols2
]
++ lib.optionals stdenv.hostPlatform.isLinux [
qtwayland
];
# wrapQtAppsHook doesn't automatically find noson-gui
dontWrapQtApps = true;
+2 -2
View File
@@ -19,11 +19,11 @@
mkDerivation rec {
pname = "okteta";
version = "0.26.21";
version = "0.26.22";
src = fetchurl {
url = "mirror://kde/stable/okteta/${version}/src/${pname}-${version}.tar.xz";
sha256 = "sha256-tuYvcfcxdX1nzTR603rEYIgXLEjnZH3mDRJUD/BVRJs=";
sha256 = "sha256-vi7XhMj/PaMeK4V6FxU7Yi7XyWMaOBUenafZPpaP+n0=";
};
nativeBuildInputs = [
+138 -11
View File
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"@sourcegraph/amp": "^0.0.1749297687-g3e4f54"
"@sourcegraph/amp": "^0.0.1750147289-g2a47fe"
}
},
"node_modules/@colors/colors": {
@@ -29,14 +29,14 @@
}
},
"node_modules/@sourcegraph/amp": {
"version": "0.0.1749297687-g3e4f54",
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1749297687-g3e4f54.tgz",
"integrity": "sha512-KfAu6Ju4aeTKW3dQ17GmaVXJ+96IqUMCC8KJlb1uzOBcNudGVnwYogjkEAMu4N3hg1PJH6XcrimqmFRqPZb1+Q==",
"version": "0.0.1750147289-g2a47fe",
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1750147289-g2a47fe.tgz",
"integrity": "sha512-uoWvE5jE9cjmJDLx1DiyeA9VQ7ONReVelcly84VNwmcwIyI04OWyt7azoWK9OfFZU0hTBOyp21E632QsvtaiHw==",
"dependencies": {
"@types/runes": "^0.4.3",
"@vscode/ripgrep": "1.15.11",
"commander": "^11.1.0",
"fuse.js": "^7.0.0",
"open": "^10.1.2",
"runes": "^0.4.3",
"string-width": "^6.1.0",
"winston": "^3.17.0",
@@ -49,12 +49,6 @@
"node": ">=18"
}
},
"node_modules/@types/runes": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/@types/runes/-/runes-0.4.3.tgz",
"integrity": "sha512-kncnfKlRj4FM0+9IRBlZ/06b1BNVDya3d5hN5kFfuzCNAgZFZuApz/XBqe0+d6Y5cV/f86UD8q2ehnaSVdtBrw==",
"license": "MIT"
},
"node_modules/@types/triple-beam": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
@@ -109,6 +103,21 @@
"node": "*"
}
},
"node_modules/bundle-name": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
"integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
"license": "MIT",
"dependencies": {
"run-applescript": "^7.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/color": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
@@ -180,6 +189,46 @@
}
}
},
"node_modules/default-browser": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
"integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
"license": "MIT",
"dependencies": {
"bundle-name": "^4.1.0",
"default-browser-id": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/default-browser-id": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
"integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/define-lazy-prop": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -253,6 +302,39 @@
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
"license": "MIT"
},
"node_modules/is-docker": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
"license": "MIT",
"bin": {
"is-docker": "cli.js"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-inside-container": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
"license": "MIT",
"dependencies": {
"is-docker": "^3.0.0"
},
"bin": {
"is-inside-container": "cli.js"
},
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-stream": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
@@ -265,6 +347,21 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-wsl": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
"license": "MIT",
"dependencies": {
"is-inside-container": "^1.0.0"
},
"engines": {
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/kuler": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
@@ -303,6 +400,24 @@
"fn.name": "1.x.x"
}
},
"node_modules/open": {
"version": "10.1.2",
"resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz",
"integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==",
"license": "MIT",
"dependencies": {
"default-browser": "^5.2.1",
"define-lazy-prop": "^3.0.0",
"is-inside-container": "^1.0.0",
"is-wsl": "^3.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -329,6 +444,18 @@
"node": ">= 6"
}
},
"node_modules/run-applescript": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
"integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/runes": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/runes/-/runes-0.4.3.tgz",
+3 -3
View File
@@ -9,11 +9,11 @@
buildNpmPackage (finalAttrs: {
pname = "amp-cli";
version = "0.0.1749297687-g3e4f54";
version = "0.0.1750147289-g2a47fe";
src = fetchzip {
url = "https://registry.npmjs.org/@sourcegraph/amp/-/amp-${finalAttrs.version}.tgz";
hash = "sha256-WreJsyqyW/Z+TUPnQC7sKIpSgdpIzXQTgkXBthKCMZ4=";
hash = "sha256-mP4YOa2J4K3mr7PpRn+Nn+AMcmMSSTNcB59QEdAFZeE=";
};
postPatch = ''
@@ -45,7 +45,7 @@ buildNpmPackage (finalAttrs: {
chmod +x bin/amp-wrapper.js
'';
npmDepsHash = "sha256-dAJePSRKnXrdW8hr72JNxunQAiUtxH53sDrtYYX6++0=";
npmDepsHash = "sha256-aF4oMWmq4+tuXAhwDgqTX3dfHNV1upyD0dqBEoJiru8=";
propagatedBuildInputs = [
ripgrep
@@ -9,6 +9,7 @@
dbus,
dbus-test-runner,
evolution-data-server,
extra-cmake-modules,
glib,
gst_all_1,
gtest,
@@ -16,7 +17,9 @@
libaccounts-glib,
libayatana-common,
libical,
mkcal,
libnotify,
libsForQt5,
libuuid,
lomiri,
pkg-config,
@@ -25,51 +28,57 @@
systemd,
tzdata,
wrapGAppsHook3,
# Generates a different indicator
enableLomiriFeatures ? false,
}:
let
edsDataDir = "${evolution-data-server}/share";
in
stdenv.mkDerivation (finalAttrs: {
pname = "ayatana-indicator-datetime";
version = "24.5.1";
pname = "${if enableLomiriFeatures then "lomiri" else "ayatana"}-indicator-datetime";
version = "25.4.0";
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "ayatana-indicator-datetime";
tag = finalAttrs.version;
hash = "sha256-rbKAixFjXOMYzduABmoIXissQXAoehfbkNntdtRyAqA=";
hash = "sha256-8E9ucy8I0w9DDzsLtzJgICz/e0TNqOHgls9LrgA5nk4=";
};
postPatch = ''
# Override systemd prefix
substituteInPlace data/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \
--replace-fail 'XDG_AUTOSTART_DIR "/etc' 'XDG_AUTOSTART_DIR "''${CMAKE_INSTALL_FULL_SYSCONFDIR}'
# Looking for Lomiri schemas for code generation
substituteInPlace src/CMakeLists.txt \
--replace-fail '/usr/share/accountsservice' '${lomiri.lomiri-schemas}/share/accountsservice'
'';
postPatch =
''
# Override systemd prefix
substituteInPlace data/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \
--replace-fail 'XDG_AUTOSTART_DIR "/etc' 'XDG_AUTOSTART_DIR "''${CMAKE_INSTALL_FULL_SYSCONFDIR}'
''
+ lib.optionalString enableLomiriFeatures ''
# Looking for Lomiri schemas for code generation
substituteInPlace src/CMakeLists.txt \
--replace-fail '/usr/share/accountsservice' '${lomiri.lomiri-schemas}/share/accountsservice'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
glib # for schema hook
intltool
pkg-config
wrapGAppsHook3
];
nativeBuildInputs =
[
cmake
glib # for schema hook
intltool
pkg-config
wrapGAppsHook3
]
++ lib.optionals enableLomiriFeatures [
libsForQt5.wrapQtAppsHook
];
buildInputs =
[
ayatana-indicator-messages
evolution-data-server
glib
libaccounts-glib
libayatana-common
libical
libnotify
libuuid
properties-cpp
@@ -82,10 +91,30 @@ stdenv.mkDerivation (finalAttrs: {
])
++ (with lomiri; [
cmake-extras
lomiri-schemas
lomiri-sounds
lomiri-url-dispatcher
]);
])
++ (
if enableLomiriFeatures then
(
[
extra-cmake-modules
mkcal
]
++ (with libsForQt5; [
kcalendarcore
qtbase
])
++ (with lomiri; [
lomiri-schemas
lomiri-sounds
lomiri-url-dispatcher
])
)
else
[
evolution-data-server
libical
]
);
nativeCheckInputs = [
dbus
@@ -99,12 +128,31 @@ stdenv.mkDerivation (finalAttrs: {
gtest
];
cmakeFlags = [
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "GSETTINGS_COMPILE" true)
(lib.cmakeBool "ENABLE_LOMIRI_FEATURES" true)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
];
dontWrapQtApps = true;
cmakeFlags =
[
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "GSETTINGS_COMPILE" true)
(lib.cmakeBool "ENABLE_LOMIRI_FEATURES" enableLomiriFeatures)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
]
++ lib.optionals enableLomiriFeatures [
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (
lib.concatStringsSep ";" [
# Exclude tests
"-E"
(lib.strings.escapeShellArg "(${
lib.concatStringsSep "|" [
# Don't know why these fail yet
"^test-eds-ics-repeating-events"
"^test-eds-ics-nonrepeating-events"
"^test-eds-ics-missing-trigger"
]
})")
]
))
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
@@ -112,34 +160,51 @@ stdenv.mkDerivation (finalAttrs: {
preCheck = ''
export XDG_DATA_DIRS=${
lib.strings.concatStringsSep ":" [
# org.ayatana.common schema
(glib.passthru.getSchemaDataDirPath libayatana-common)
# loading EDS engines to handle ICS-loading
edsDataDir
]
lib.strings.concatStringsSep ":" (
[
# org.ayatana.common schema
(glib.passthru.getSchemaDataDirPath libayatana-common)
]
++ lib.optionals (!enableLomiriFeatures) [
# loading EDS engines to handle ICS-loading
edsDataDir
]
)
}
'';
# schema is already added automatically by wrapper, EDS needs to be added explicitly
preFixup = ''
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${edsDataDir}"
preFixup =
''
gappsWrapperArgs+=(
''
+ (
if enableLomiriFeatures then
''
"''${qtWrapperArgs[@]}"
''
else
# schema is already added automatically by wrapper, EDS needs to be added explicitly
''
--prefix XDG_DATA_DIRS : "${edsDataDir}"
''
)
'';
+ ''
)
'';
passthru = {
ayatana-indicators = {
ayatana-indicator-datetime = [
"ayatana"
"lomiri"
"${if enableLomiriFeatures then "lomiri" else "ayatana"}-indicator-datetime" = [
(if enableLomiriFeatures then "lomiri" else "ayatana")
];
};
tests = {
startup = nixosTests.ayatana-indicators;
lomiri = nixosTests.lomiri.desktop-ayatana-indicator-datetime;
};
tests =
{
startup = nixosTests.ayatana-indicators;
}
// lib.optionalAttrs enableLomiriFeatures {
lomiri = nixosTests.lomiri.desktop-ayatana-indicator-datetime;
};
updateScript = gitUpdater { };
};
@@ -152,7 +217,9 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime/blob/${finalAttrs.version}/ChangeLog";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ OPNA2608 ];
teams = [
lib.teams.lomiri
];
platforms = lib.platforms.linux;
};
})
+3 -3
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "benthos";
version = "4.51.0";
version = "4.52.0";
src = fetchFromGitHub {
owner = "redpanda-data";
repo = "benthos";
tag = "v${version}";
hash = "sha256-GOI878JBRXrJsy0MRFyW6pH4UGj6ZOOqBElLUesqZ24=";
hash = "sha256-TGGDZzjVgRADJq5u4b5RznVzIxk2EUKM3Y2rbhgv7yQ=";
};
proxyVendor = true;
@@ -22,7 +22,7 @@ buildGoModule rec {
"cmd/benthos"
];
vendorHash = "sha256-S3rxNRr1O8+90VTUEFBPdo3uUftqSj8lvCNAdQNs7SQ=";
vendorHash = "sha256-lNn/lqY1Q/8mRERrgPuE9GEun6tqrVQjtVUGRJk5W+0=";
# doCheck = false;
+2 -2
View File
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2025.5.0";
version = "2025.6.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
tag = version;
hash = "sha256-ZnkE9x4A9HoiSXzvYuzyW/dH08r0aJUk/q6gFVgtTjk=";
hash = "sha256-yDYfOP1rsiTZqcVRRtTw82I2Vh0WdpUCB1VTWuX3GWs=";
};
vendorHash = null;
+2 -2
View File
@@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "codeql";
version = "2.21.3";
version = "2.21.4";
dontConfigure = true;
dontBuild = true;
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
src = fetchzip {
url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
hash = "sha256-faScyQ8Y9MOkWSYppAE09yEaL/+m3mPGkcfCtBsCdUk=";
hash = "sha256-iC6P/GhMw7Sf8Ic6oglB+GFLWBrZZ+YuOJbyNm99ypc=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -24,13 +24,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cubeb";
version = "0-unstable-2025-06-03";
version = "0-unstable-2025-06-16";
src = fetchFromGitHub {
owner = "mozilla";
repo = "cubeb";
rev = "24c170b2346bb675456449f51406dac6442a84a7";
hash = "sha256-/XTDaG48IFPFPrEcDd3IqX4bN+VbrpaHpzd/7N8J3a8=";
rev = "566c73da47668ca85817108b749a13ac9c3f5a9d";
hash = "sha256-qYDsRhVBHLOVpWwtRNUtnZRZZq9Rot1pOn+4let6v6I=";
};
outputs = [
@@ -52,14 +52,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dolphin-emu-primehack";
version = "1.0.7a";
version = "1.0.8";
src = fetchFromGitHub {
owner = "shiiion";
repo = "dolphin";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-vuTSXQHnR4HxAGGiPg5tUzfiXROU3+E9kyjH+T6zVmc=";
hash = "sha256-/9AabEJ2ZOvHeSGXWRuOucmjleBMRcJfhX+VDeldbgo=";
};
nativeBuildInputs =
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "esp-generate";
version = "0.3.1";
version = "0.4.0";
src = fetchFromGitHub {
owner = "esp-rs";
repo = "esp-generate";
rev = "v${version}";
hash = "sha256-yk7iv5nq2b/1OY77818I7mXW96YxjwwJS3iiv1KXVHs=";
hash = "sha256-4RF0XcDpUcMQ0u2FTRBnZdQDM7DlaI7pl5HukMbbbBE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-ncTX9cDSAf6ZGlz0utGYxkuXcx85vt3VHQzdmQhCNf0=";
cargoHash = "sha256-c/BYf6SXOdI/K4t3fT4ycuILkIYCiSbHafLprSMvK8E=";
meta = {
description = "Template generation tool to create no_std applications targeting Espressif's chips";
+4 -4
View File
@@ -8,10 +8,10 @@
}:
let
version = "2.5.1";
srcHash = "sha256-BuFylOWR30aK7d1eN+9getR5amtAtkkhHNAPfdfASHs=";
vendorHash = "sha256-2fThvz/5A1/EyS6VTUQQa5Unx1BzYfsVRE18xOHtLHE=";
manifestsHash = "sha256-bIIK8igtx0gUcn3hlBohE0MG9PMhyThz4a71pkonBpE=";
version = "2.6.2";
srcHash = "sha256-0Q8U7i1hK2CVWia3t/ayjIzjNjHurhkRGO0oLHLNMH4=";
vendorHash = "sha256-LS2qgukhLk6nrjkp5Y00B0N/LFLzOUR/TC3qD80WZAQ=";
manifestsHash = "sha256-KXvYURCJ1/BI61jes0Pvy6giKvVmosWOHuzGRHCcqZo=";
manifests = fetchzip {
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
+58 -59
View File
@@ -1,8 +1,6 @@
{
callPackage,
fetchFromSavannah,
gnucap,
gnucap-full,
installShellFiles,
lib,
readline,
@@ -12,36 +10,20 @@
writeScript,
}:
let
version = "20240220";
meta = with lib; {
description = "Gnu Circuit Analysis Package";
longDescription = ''
Gnucap is a modern general purpose circuit simulator with several advantages over Spice derivatives.
It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis.
'';
homepage = "http://www.gnucap.org/";
changelog = "https://git.savannah.gnu.org/gitweb/?p=gnucap.git;a=blob;f=NEWS";
license = licenses.gpl3Only;
platforms = platforms.all;
broken = stdenv.hostPlatform.isDarwin; # Relies on LD_LIBRARY_PATH
maintainers = [ maintainers.raboof ];
mainProgram = "gnucap";
};
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "gnucap";
inherit version;
version = "20240220";
src = fetchFromSavannah {
repo = "gnucap";
rev = version;
rev = finalAttrs.version;
hash = "sha256-aZMiNKwI6eQZAxlF/+GoJhKczohgGwZ0/Wgpv3+AhYY=";
};
nativeBuildInputs = [
installShellFiles
];
buildInputs = [
readline
termcap
@@ -53,42 +35,59 @@ stdenv.mkDerivation {
installManPage man/*
'';
passthru.tests = {
verilog = runCommand "gnucap-verilog-test" { } ''
echo "attach mgsim" | ${gnucap-full}/bin/gnucap -a msgsim > $out
cat $out | grep "verilog: already installed"
'';
passthru = {
tests = {
verilog = runCommand "gnucap-verilog-test" { } ''
echo "attach mgsim" | ${
finalAttrs.finalPackage.withPlugins (p: [ p.verilog ])
}/bin/gnucap -a msgsim > $out
cat $out | grep "verilog: already installed"
'';
};
plugins = callPackage ./plugins.nix { };
withPlugins =
p:
let
gnucap = finalAttrs.finalPackage;
selectedPlugins = p gnucap.plugins;
wrapper = writeScript "gnucap" ''
export GNUCAP_PLUGPATH=${gnucap}/lib/gnucap
for plugin in ${builtins.concatStringsSep " " selectedPlugins}; do
export GNUCAP_PLUGPATH=$plugin/lib/gnucap:$GNUCAP_PLUGPATH
done
${lib.getExe gnucap}
'';
in
stdenv.mkDerivation {
pname = "${finalAttrs.pname}-with-plugins";
inherit (finalAttrs) version;
propagatedBuildInputs = selectedPlugins;
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin
cp ${wrapper} $out/bin/gnucap
'';
inherit (finalAttrs) meta;
};
};
inherit meta;
}
// {
plugins = callPackage ./plugins.nix { };
withPlugins =
p:
let
selectedPlugins = p gnucap.plugins;
wrapper = writeScript "gnucap" ''
export GNUCAP_PLUGPATH=${gnucap}/lib/gnucap
for plugin in ${builtins.concatStringsSep " " selectedPlugins}; do
export GNUCAP_PLUGPATH=$plugin/lib/gnucap:$GNUCAP_PLUGPATH
done
${lib.getExe gnucap}
'';
in
stdenv.mkDerivation {
pname = "gnucap-with-plugins";
inherit version;
propagatedBuildInputs = selectedPlugins;
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin
cp ${wrapper} $out/bin/gnucap
'';
inherit meta;
};
}
meta = {
description = "Gnu Circuit Analysis Package";
longDescription = ''
Gnucap is a modern general purpose circuit simulator with several advantages over Spice derivatives.
It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis.
'';
homepage = "http://www.gnucap.org/";
changelog = "https://git.savannah.gnu.org/gitweb/?p=gnucap.git;a=blob;f=NEWS";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.all;
broken = stdenv.hostPlatform.isDarwin; # Relies on LD_LIBRARY_PATH
maintainers = [ lib.maintainers.raboof ];
mainProgram = "gnucap";
};
})
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "go-swagger";
version = "0.31.0";
version = "0.32.3";
src = fetchFromGitHub {
owner = "go-swagger";
repo = "go-swagger";
tag = "v${version}";
hash = "sha256-PeH9bkRObsw4+ttuWhaPfPQQTOAw8pwlgTEtPoUBiIQ=";
hash = "sha256-L6EfHNwykqGtA1CZd/Py6QqeCz10VGjX/lEVHs6VB6g=";
};
vendorHash = "sha256-PBzJMXPZ2gVdrW3ZeerhR1BeT9vWIIS1vCTjz3UFHes=";
vendorHash = "sha256-UQbPVrLehl2jwGXdJPrRo6JsAd/2A+NKEQwkRr3reOY=";
doCheck = false;
+4 -5
View File
@@ -11,27 +11,26 @@
buildGoLatestModule (finalAttrs: {
pname = "gopls";
version = "0.18.1";
version = "0.19.0";
src = fetchFromGitHub {
owner = "golang";
repo = "tools";
tag = "gopls/v${finalAttrs.version}";
hash = "sha256-5w6R3kaYwrZyhIYjwLqfflboXT/z3HVpZiowxeUyaWg=";
hash = "sha256-2K93S7ApzHmsbeReKoSmIhgXuZR3oFODiTWDTO5wDOU=";
};
modRoot = "gopls";
vendorHash = "sha256-/tca93Df90/8K1dqhOfUsWSuFoNfg9wdWy3csOtFs6Y=";
vendorHash = "sha256-uWbcf/PadGXw2ryg6GjJrHzrZ88kKzfhr6gtYsLTvkg=";
# https://github.com/golang/tools/blob/9ed98faa/gopls/main.go#L27-L30
ldflags = [ "-X main.version=v${finalAttrs.version}" ];
doCheck = false;
# Only build gopls, gofix, modernize, and not the integration tests or documentation generator.
# Only build gopls & modernize, not the integration tests or documentation generator.
subPackages = [
"."
"internal/analysis/gofix/cmd/gofix"
"internal/analysis/modernize/cmd/modernize"
];
+2 -2
View File
@@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "harbor-cli";
version = "0.0.6";
version = "0.0.7";
src = fetchFromGitHub {
owner = "goharbor";
repo = "harbor-cli";
rev = "v${finalAttrs.version}";
hash = "sha256-Q2EFtkRGi/CwDYc2nERNXzRQNGKHAgYty2uigbOEo6E=";
hash = "sha256-ju0/6fAcCYZAfuDklRIEWqnM39z1BQeEx1H1l/Uzyf4=";
};
vendorHash = "sha256-3H/fdqmIRLOl0m4DHnF7pwRR7ud8YXI2fepXC0kcLNo=";
+5 -4
View File
@@ -6,13 +6,13 @@
libmnl,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "ipset";
version = "7.24";
src = fetchurl {
url = "https://ipset.netfilter.org/${pname}-${version}.tar.bz2";
sha256 = "sha256-++NCTf8iLBy15cNNOLZFJLIhfOgCJsFP3LsTsp6jYRI=";
url = "https://ipset.netfilter.org/ipset-${finalAttrs.version}.tar.bz2";
hash = "sha256-++NCTf8iLBy15cNNOLZFJLIhfOgCJsFP3LsTsp6jYRI=";
};
nativeBuildInputs = [ pkg-config ];
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
description = "Administration tool for IP sets";
license = licenses.gpl2Plus;
platforms = platforms.linux;
mainProgram = "ipset";
};
}
})
+2 -2
View File
@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "isolate";
version = "2.0";
version = "2.1";
src = fetchFromGitHub {
owner = "ioi";
repo = "isolate";
rev = "v${version}";
hash = "sha256-kKXkXPVB9ojyIERvEdkHkXC//Agin8FPcpTBmTxh/ZE=";
hash = "sha256-mTh2IAh4xtLWlRu7gp3aXsGJdUWXnocvDyi8JZwzz9s=";
};
nativeBuildInputs = [
@@ -55,9 +55,6 @@ let
src = appimageTools.extractType2 {
inherit pname version;
src = source + "/jetbrains-toolbox";
postExtract = ''
patchelf --add-rpath ${lib.makeLibraryPath [ icu ]} $out/jetbrains-toolbox
'';
};
nativeBuildInputs = [ makeWrapper ];
@@ -66,7 +63,12 @@ let
install -Dm644 ${src}/jetbrains-toolbox.desktop $out/share/applications/jetbrains-toolbox.desktop
install -Dm644 ${src}/.DirIcon $out/share/icons/hicolor/scalable/apps/jetbrains-toolbox.svg
wrapProgram $out/bin/jetbrains-toolbox \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libappindicator-gtk3 ]} \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
icu
libappindicator-gtk3
]
} \
--append-flags "--update-failed"
'';
+4
View File
@@ -64,6 +64,10 @@ stdenv.mkDerivation rec {
cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/
'';
# https://hydra.nixos.org/build/300187289/nixlog/1
# openat-die.c:57:10: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
hardeningDisable = [ "format" ];
enableParallelBuilding = true;
strictDeps = true;
+2 -2
View File
@@ -22,12 +22,12 @@ let
in
stdenv.mkDerivation (final: {
pname = "openterface-qt";
version = "0.3.14";
version = "0.3.15";
src = fetchFromGitHub {
owner = "TechxArtisanStudio";
repo = "Openterface_QT";
rev = "${final.version}";
hash = "sha256-HHHLQwycnMme3Ch538ram6tkG3OYUcd4NFCUcL4vIjk=";
hash = "sha256-wU30m8dQirrLcYNFs4lTKIrng7B4HapHeVsyLR619PY=";
};
nativeBuildInputs = [
copyDesktopItems
+39
View File
@@ -0,0 +1,39 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "precious";
version = "0.9.0";
src = fetchFromGitHub {
owner = "houseabsolute";
repo = "precious";
tag = "v${finalAttrs.version}";
hash = "sha256-moJk8bwMlYtfo+Iq/OcjJkQJQiirZ6oKSoATpW3KcQI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-nvHP5/njvkXcI3QtFU4CijXaX5l4DabMMVzvktvFNvA=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "One code quality tool to rule them all";
homepage = "https://github.com/houseabsolute/precious";
changelog = "https://github.com/houseabsolute/precious/releases/tag/v${finalAttrs.version}";
mainProgram = "precious";
maintainers = with lib.maintainers; [ abhisheksingh0x558 ];
license = with lib.licenses; [
mit # or
asl20
];
};
})
+2 -2
View File
@@ -31,11 +31,11 @@
stdenv.mkDerivation rec {
pname = "rosegarden";
version = "24.12.1";
version = "25.06";
src = fetchurl {
url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.xz";
sha256 = "sha256-VmltXEu7Qn7lViT2ICn+6zJlzDSlFG6P69evRRX0iTI=";
sha256 = "sha256-df5SsAWJlHHMSw5JVL5dNe4c6PQWWauO9IomF4qlw20=";
};
postPhase = ''
+4 -4
View File
@@ -11,13 +11,13 @@
buildGoModule rec {
pname = "scorecard";
version = "5.1.1";
version = "5.2.1";
src = fetchFromGitHub {
owner = "ossf";
repo = "scorecard";
tag = "v${version}";
hash = "sha256-6lJ+duP/gTC2xIIWbLL0hx2UYS/no4vd8pqTDR18G8Y=";
hash = "sha256-7py6qkal1tNQ2NAi/SiYIEe03NV7INAQRPZ9z5LsusI=";
# populate values otherwise taken care of by goreleaser,
# unfortunately these require us to use git. By doing
# this in postFetch we can delete .git afterwards and
@@ -33,9 +33,9 @@ buildGoModule rec {
};
vendorHash =
if stdenv.hostPlatform.isLinux then
"sha256-zWMmbC0lkjlIwrfq3ql0+ndn/4y/PW92TgTiUYfEn0M="
"sha256-h78551OfEJTB3Fghc1nIHcfiHp7ygtZgHXpwp1OaFgY="
else
"sha256-/AtW36Pl5W+WNVCKhC0WMwYS848MUvAaKdm+i8t88D8=";
"sha256-MTB5ejc4/ivbkp9ytCF+wGvvt+njTkMb1ijVsh5uLps=";
nativeBuildInputs = [ installShellFiles ];
@@ -36,7 +36,7 @@
soundfont-path ? "${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2",
}:
let
version = "0.31.0";
version = "0.32.1";
pname = "space-station-14-launcher";
in
buildDotnetModule rec {
@@ -50,7 +50,7 @@ buildDotnetModule rec {
owner = "space-wizards";
repo = "SS14.Launcher";
rev = "v${version}";
hash = "sha256-lEgJ+GdmiSQMl/l+CTBIUevMcJi+yVvFuS3buTNCYW4=";
hash = "sha256-Es+DBwWh2QxCev+Aepi8ItTXSYIgNgb05zdScOBZNJs=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -80,13 +80,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "uwsgi";
version = "2.0.29";
version = "2.0.30";
src = fetchFromGitHub {
owner = "unbit";
repo = "uwsgi";
tag = finalAttrs.version;
hash = "sha256-WlbvvAu+A0anPItnG8RnWrXm450/xbOloPzUd2L9TuU=";
hash = "sha256-I03AshxZyxrRmtYUH1Q+B6ISykjYRMGG+ZQSHRS7vDs=";
};
patches = [
+2 -2
View File
@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xeus";
version = "5.2.2";
version = "5.2.3";
src = fetchFromGitHub {
owner = "jupyter-xeus";
repo = "xeus";
tag = finalAttrs.version;
hash = "sha256-nR247SGnc3TSj6PCrJmY6ccACvYKeSYFMgoawyYLBNs=";
hash = "sha256-7hT2Ellgut25R3R28nRKd6/kKmfQf9NCoJ2BV9ZGt8I=";
};
nativeBuildInputs = [
@@ -5,7 +5,6 @@
gitUpdater,
testers,
accountsservice,
ayatana-indicator-datetime,
biometryd,
cmake,
cmake-extras,
@@ -24,6 +23,7 @@
libqtdbustest,
libqtdbusmock,
lomiri-content-hub,
lomiri-indicator-datetime,
lomiri-indicator-network,
lomiri-schemas,
lomiri-settings-components,
@@ -121,10 +121,10 @@ stdenv.mkDerivation (finalAttrs: {
# QML components and schemas the wrapper needs
propagatedBuildInputs = [
ayatana-indicator-datetime
biometryd
libqofono
lomiri-content-hub
lomiri-indicator-datetime
lomiri-indicator-network
lomiri-schemas
lomiri-settings-components
@@ -7,7 +7,6 @@
linkFarm,
replaceVars,
nixosTests,
ayatana-indicator-datetime,
bash,
biometryd,
boost,
@@ -33,6 +32,7 @@
lomiri-api,
lomiri-app-launch,
lomiri-download-manager,
lomiri-indicator-datetime,
lomiri-indicator-network,
lomiri-notifications,
lomiri-settings-components,
@@ -119,6 +119,10 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace tests/mocks/CMakeLists.txt \
--replace-fail 'add_subdirectory(QtMir/Application)' ""
# This needs to launch the *lomiri* indicators, now that datetime is split into lomiri and non-lomiri variants
substituteInPlace data/lomiri-greeter-wrapper \
--replace-fail 'ayatana-indicators.target' 'lomiri-indicators.target'
# NixOS-ify
# Use Nix flake instead of Canonical's Ubuntu logo
@@ -143,7 +147,6 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
ayatana-indicator-datetime
bash
boost
cmake-extras
@@ -163,6 +166,7 @@ stdenv.mkDerivation (finalAttrs: {
lomiri-api
lomiri-app-launch
lomiri-download-manager
lomiri-indicator-datetime
lomiri-indicator-network
lomiri-schemas
lomiri-system-settings-unwrapped
+2
View File
@@ -2,6 +2,7 @@
config,
lib,
pkgs,
ayatana-indicator-datetime,
libsForQt5,
}:
@@ -63,6 +64,7 @@ let
hfd-service = callPackage ./services/hfd-service { };
lomiri-download-manager = callPackage ./services/lomiri-download-manager { };
lomiri-history-service = callPackage ./services/lomiri-history-service { };
lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; };
lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { };
lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { };
lomiri-telephony-service = callPackage ./services/lomiri-telephony-service { };
+3 -3
View File
@@ -33,9 +33,9 @@ let
"19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I=";
"20.1.6".officialRelease.sha256 = "sha256-PfCzECiCM+k0hHqEUSr1TSpnII5nqIxg+Z8ICjmMj0Y=";
"21.0.0-git".gitRelease = {
rev = "90beda2aba3cac34052827c560449fcb184c7313";
rev-version = "21.0.0-unstable-2025-06-08";
sha256 = "sha256-+aTUb9Hg/upulKGLKNpqDYKES62mWkjuLZP07WGnBSc=";
rev = "9adde28df784f5c0cc960bdabd413ac131a5852e";
rev-version = "21.0.0-unstable-2025-06-15";
sha256 = "sha256-8HrUSKL3vOd/Jg9svso9ChCr4tvlGOliyGfi18oZLDY=";
};
} // llvmVersions;
@@ -0,0 +1,54 @@
{
buildPecl,
fetchFromGitHub,
fetchpatch,
lib,
php,
runCommand,
systemd,
}:
buildPecl {
pname = "systemd";
version = "0.1.2-unstable-2018-06-11";
src = fetchFromGitHub {
owner = "systemd";
repo = "php-systemd";
rev = "22cf92a6b54ef4c5c13c301fc97d7a7b1615ee62";
hash = "sha256-UhpE9QXChqKLBqutpQ2Y6neo/ULlJGNojf9DCYJfQMU=";
};
patches = [
# Add missing arginfo to suppress the warning
# https://github.com/systemd/php-systemd/issues/9
(fetchpatch {
url = "https://github.com/systemd/php-systemd/commit/0f25ec9aab7747e85445a48213020ea6adda3658.diff";
hash = "sha256-SNRYDRxaeP9LlHxfZOak0OSqZ3AJA+I9Ln0k+yO0DvE=";
})
# Define SD_JOURNAL_SUPPRESS_LOCATION so that the php source code location is used, instead of the C one
# https://github.com/systemd/php-systemd/issues/2
(fetchpatch {
url = "https://github.com/systemd/php-systemd/commit/23575461b8cc55fa9c4132a58393b6438c2aff5c.diff";
hash = "sha256-KBGWdNE7spXpqbeS4c2D5IU3Dz8zGxx4r22FDOA0KzM=";
})
];
buildInputs = [ systemd.dev ];
configureFlags = [ "--with-systemd=${systemd.dev}" ];
# php will exit with a non-zero exit code, if the extension is not loaded
passthru.tests.smokeTest = runCommand "php-systemd-smoke-test" { } ''
echo "<?php sd_journal_send('MESSAGE=Hello world.'); ?>" |
${lib.getExe (php.withExtensions ({ all, ... }: [ all.systemd ]))}
echo ok > $out
'';
meta = {
description = "PHP extension allowing native interaction with systemd and its journal";
homepage = "https://github.com/systemd/php-systemd";
license = lib.licenses.mit;
teams = [ lib.teams.php ];
};
}
+3 -3
View File
@@ -24,13 +24,13 @@ let
in
stdenv.mkDerivation {
pname = "dxx-rebirth";
version = "0.60.0-beta2-unstable-2025-03-29";
version = "0.60.0-beta2-unstable-2025-05-24";
src = fetchFromGitHub {
owner = "dxx-rebirth";
repo = "dxx-rebirth";
rev = "ddc84fa623ed508073cf99244db731bd73f36b6b";
hash = "sha256-VZ3PQ4YECM+z+V1zPSNdgIIBFjRIAunEmhENJAUj+P8=";
rev = "7a84b3f307ac6f72fd440e55b149d7c2c942dfaf";
hash = "sha256-b3rMitf2kw8y0EXwxeKKB8bqzCUaIaMQmpV1gtdcLis=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -54,11 +54,11 @@
stdenv.mkDerivation rec {
pname = "xwayland";
version = "24.1.6";
version = "24.1.7";
src = fetchurl {
url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
hash = "sha256-c35hLKNrvfQVqRFkTrdZLPk4mEaEe0f6RtxwW9dU0tc=";
hash = "sha256-99l+JICSh4o/fTxosl2rZSv5cNnmoX0w+/RXquoTnMs=";
};
postPatch = ''
+2
View File
@@ -389,6 +389,8 @@ lib.makeScope pkgs.newScope (
swoole = callPackage ../development/php-packages/swoole { };
systemd = callPackage ../development/php-packages/systemd { };
tideways = callPackage ../development/php-packages/tideways { };
uuid = callPackage ../development/php-packages/uuid { };