Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
@@ -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
|
||||
])
|
||||
);
|
||||
};
|
||||
})
|
||||
|
||||
@@ -42,6 +42,7 @@ in
|
||||
ayatana-indicator-sound
|
||||
]
|
||||
++ (with pkgs.lomiri; [
|
||||
lomiri-indicator-datetime
|
||||
lomiri-indicator-network
|
||||
lomiri-telephony-service
|
||||
]);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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"
|
||||
'';
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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,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 { };
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user