diff options
Diffstat (limited to 'pkgs/by-name/ba')
-rw-r--r-- | pkgs/by-name/ba/babeltrace/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/backgroundremover/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/backlight-auto/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/balls/lock.json | 111 | ||||
-rw-r--r-- | pkgs/by-name/ba/balls/package.nix | 56 | ||||
-rw-r--r-- | pkgs/by-name/ba/bankstown-lv2/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/bant/package.nix | 64 | ||||
-rw-r--r-- | pkgs/by-name/ba/baobab/package.nix | 63 | ||||
-rw-r--r-- | pkgs/by-name/ba/base45/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/basedpyright/package.nix | 51 | ||||
-rw-r--r-- | pkgs/by-name/ba/bash-language-server/package.nix | 26 | ||||
-rw-r--r-- | pkgs/by-name/ba/bat/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/batik/package.nix | 55 | ||||
-rw-r--r-- | pkgs/by-name/ba/batmon/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/ba/bazecor/10-dygma.rules | 4 | ||||
-rw-r--r-- | pkgs/by-name/ba/bazecor/package.nix | 68 |
16 files changed, 486 insertions, 26 deletions
diff --git a/pkgs/by-name/ba/babeltrace/package.nix b/pkgs/by-name/ba/babeltrace/package.nix index a9a9928d77aa7..488f81ffec2ab 100644 --- a/pkgs/by-name/ba/babeltrace/package.nix +++ b/pkgs/by-name/ba/babeltrace/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { version = "1.5.11"; src = fetchurl { - url = "https://www.efficios.com/files/babeltrace/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2"; + url = "https://www.efficios.com/files/babeltrace/babeltrace-${finalAttrs.version}.tar.bz2"; sha256 = "Z7Q6qu9clR+nrxpVfPcgGhH+iYdrfCK6CgPLwxbbWpw="; }; diff --git a/pkgs/by-name/ba/backgroundremover/package.nix b/pkgs/by-name/ba/backgroundremover/package.nix index 67c2f2eaa6a87..3ee27b6923939 100644 --- a/pkgs/by-name/ba/backgroundremover/package.nix +++ b/pkgs/by-name/ba/backgroundremover/package.nix @@ -32,7 +32,7 @@ let --replace 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")" ''; - nativeBuildInputs = [ p.setuptools p.wheel p.pythonRelaxDepsHook ]; + nativeBuildInputs = [ p.setuptools p.wheel ]; pythonRelaxDeps = [ "pillow" "torchvision" ]; diff --git a/pkgs/by-name/ba/backlight-auto/package.nix b/pkgs/by-name/ba/backlight-auto/package.nix index 26869b5a20dd4..9fa2d1245d10c 100644 --- a/pkgs/by-name/ba/backlight-auto/package.nix +++ b/pkgs/by-name/ba/backlight-auto/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "backlight-auto"; homepage = "https://len.falken.directory/backlight-auto.html"; license = licenses.mit; - maintainers = [ maintainers.lf- ]; + maintainers = [ ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/ba/balls/lock.json b/pkgs/by-name/ba/balls/lock.json new file mode 100644 index 0000000000000..5379ad56d2c4d --- /dev/null +++ b/pkgs/by-name/ba/balls/lock.json @@ -0,0 +1,111 @@ +{ + "depends": [ + { + "method": "fetchzip", + "path": "/nix/store/zjgvbd2l57kn33qnngr17qdqsinwqhzl-source", + "rev": "46ecdd598dbafeb0e0ba38e87e6bc98b4637cd13", + "sha256": "1rsl8z2gsa0pqh4wx8dvdjf94b0wn4bfbvcq9bfcvc7qkmn96mkg", + "url": "https://github.com/disruptek/ups/archive/46ecdd598dbafeb0e0ba38e87e6bc98b4637cd13.tar.gz", + "ref": "0.4.0", + "packages": [ + "ups" + ], + "srcDir": "" + }, + { + "method": "fetchzip", + "path": "/nix/store/sh8prqisw6dmi91hbi7c4x934vvgy46p-source", + "rev": "64f71af2fa4572c2bdf8987a56a427c1d88fc34f", + "sha256": "1slqsl9gj782hlfzpklxwdy0hip6hhykrk226xzq31sg40nfh9r6", + "url": "https://github.com/haltcase/glob/archive/64f71af2fa4572c2bdf8987a56a427c1d88fc34f.tar.gz", + "packages": [ + "glob" + ], + "srcDir": "src" + }, + { + "method": "fetchzip", + "path": "/nix/store/z211zbzrd1808rpr5j8lgfzc7rqwqpbr-source", + "rev": "358c8969183dcf365cbc34f9c9c035da0f8c60c7", + "sha256": "1x2rp0wj048hvbrj7xkdm408adj16rr8wg4wdfynxxryl08vl30l", + "url": "https://github.com/disruptek/insideout/archive/358c8969183dcf365cbc34f9c9c035da0f8c60c7.tar.gz", + "ref": "0.1.0", + "packages": [ + "insideout" + ], + "srcDir": "" + }, + { + "method": "fetchzip", + "path": "/nix/store/xpn694ibgipj8xak3j4bky6b3k0vp7hh-source", + "rev": "ec0cc6e64ea4c62d2aa382b176a4838474238f8d", + "sha256": "1fi9ls3xl20bmv1ikillxywl96i9al6zmmxrbffx448gbrxs86kg", + "url": "https://github.com/zevv/npeg/archive/ec0cc6e64ea4c62d2aa382b176a4838474238f8d.tar.gz", + "ref": "1.2.2", + "packages": [ + "npeg" + ], + "srcDir": "src" + }, + { + "method": "fetchzip", + "path": "/nix/store/fclb7r25h7ldq4k8lrc9mc614nihyhp7-source", + "rev": "667736f52983239aa6b76a07605add23598362ca", + "sha256": "0y1a9p21hclrm2p3x018idrh4sk09hpr6csvcrnh5ka6baj6wj3k", + "url": "https://github.com/nim-works/cps/archive/667736f52983239aa6b76a07605add23598362ca.tar.gz", + "ref": "0.11.1", + "packages": [ + "cps" + ], + "srcDir": "" + }, + { + "method": "fetchzip", + "path": "/nix/store/y6w1gzbf6i691z35rbn6kzrmf1n5bmdc-source", + "rev": "cb8b7bfdcdc2272aadf92153c668acd3c901bd6b", + "sha256": "1ggp5rvs217dv2n0p5ddm5h17pv2mc7724n8cd0b393kmsjiykhz", + "url": "https://github.com/nitely/nim-regex/archive/cb8b7bfdcdc2272aadf92153c668acd3c901bd6b.tar.gz", + "ref": "v0.25.0", + "packages": [ + "regex" + ], + "srcDir": "src" + }, + { + "method": "fetchzip", + "path": "/nix/store/1mcck56sr1h1sf8gv87m761x6f3d1k0l-source", + "rev": "7c6ee4bfc184d7121896a098d68b639a96df7af1", + "sha256": "06j8d0bjbpv1iibqlmrac4qb61ggv17hvh6nv4pbccqk1rlpxhsq", + "url": "https://github.com/nitely/nim-unicodedb/archive/7c6ee4bfc184d7121896a098d68b639a96df7af1.tar.gz", + "ref": "v0.9.0", + "packages": [ + "unicodedb" + ], + "srcDir": "src" + }, + { + "method": "fetchzip", + "path": "/nix/store/16fm03dql3pplz3ip40k0nbxw1gc0880-source", + "rev": "f5d50197b266173dd4ca4c6fdd30361398433bb4", + "sha256": "1cd3n9l45z60gpv0rc84v1ngkjxn0i45vz0lzy63052m7m0j2rks", + "url": "https://github.com/nitely/nim-unicodeplus/archive/f5d50197b266173dd4ca4c6fdd30361398433bb4.tar.gz", + "ref": "v0.9.1", + "packages": [ + "unicodeplus" + ], + "srcDir": "src" + }, + { + "method": "fetchzip", + "path": "/nix/store/c4c1bbxd29gmjj543wma2sbya5wvw5yg-source", + "rev": "6845c68cf00c1546f49d628ae11334acba966bfb", + "sha256": "007bkx8dwy8n340zbp6wyqfsq9bh6q5ykav1ywdlwykyp1n909bh", + "url": "https://github.com/nitely/nim-segmentation/archive/6845c68cf00c1546f49d628ae11334acba966bfb.tar.gz", + "ref": "v0.1.0", + "packages": [ + "segmentation" + ], + "srcDir": "src" + } + ] +} diff --git a/pkgs/by-name/ba/balls/package.nix b/pkgs/by-name/ba/balls/package.nix new file mode 100644 index 0000000000000..04f6d701bb0f1 --- /dev/null +++ b/pkgs/by-name/ba/balls/package.nix @@ -0,0 +1,56 @@ +{ + lib, + buildNimPackage, + fetchFromGitHub, + nim, + makeWrapper, +}: + +buildNimPackage (finalAttrs: { + pname = "balls"; + version = "5.4.0"; + + src = fetchFromGitHub { + owner = "disruptek"; + repo = "balls"; + rev = finalAttrs.version; + hash = "sha256-CMYkMkekVI0C1WUds+KBbRfjMte42kBAB2ddtQp8d+k="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + lockFile = ./lock.json; + + postPatch = + # Trim comments from the Nimble file. + '' + sed \ + -e 's/[[:space:]]* # .*$//g' \ + -i balls.nimble + ''; + + preCheck = '' + echo 'path:"$projectDir/.."' > tests/nim.cfg + ''; + + postFixup = + let + lockAttrs = builtins.fromJSON (builtins.readFile finalAttrs.lockFile); + pathFlagOfFod = { path, srcDir, ... }: ''"--path:${path}/${srcDir}"''; + pathFlags = map pathFlagOfFod lockAttrs.depends; + in + '' + wrapProgram $out/bin/balls \ + --suffix PATH : ${lib.makeBinPath [ nim ]} \ + --append-flags '--path:"${finalAttrs.src}" ${toString pathFlags}' + ''; + + meta = finalAttrs.src.meta // { + description = "The testing framework with balls"; + homepage = "https://github.com/disruptek/balls"; + mainProgram = "balls"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ ehmry ]; + }; +}) diff --git a/pkgs/by-name/ba/bankstown-lv2/package.nix b/pkgs/by-name/ba/bankstown-lv2/package.nix index 2ee7b4486e014..7cbe4708ff385 100644 --- a/pkgs/by-name/ba/bankstown-lv2/package.nix +++ b/pkgs/by-name/ba/bankstown-lv2/package.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { hash = "sha256-IThXEY+mvT2MCw0PSWU/182xbUafd6dtm6hNjieLlKg="; }; - cargoSha256 = "sha256-yRzM4tcYc6mweTpLnnlCeKgP00L2wRgHamtUzK9Kstc="; + cargoHash = "sha256-yRzM4tcYc6mweTpLnnlCeKgP00L2wRgHamtUzK9Kstc="; installPhase = '' export LIBDIR=$out/lib diff --git a/pkgs/by-name/ba/bant/package.nix b/pkgs/by-name/ba/bant/package.nix new file mode 100644 index 0000000000000..d7bd9feb5b64c --- /dev/null +++ b/pkgs/by-name/ba/bant/package.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + buildBazelPackage, + fetchFromGitHub, + bazel_6, + jdk, +}: + +let + system = stdenv.hostPlatform.system; + registry = fetchFromGitHub { + owner = "bazelbuild"; + repo = "bazel-central-registry"; + rev = "1c729c2775715fd98f0f948a512eb173213250da"; + hash = "sha256-1iaDDM8/v8KCOUjPgLUtZVta7rMzwlIK//cCoLUrb/s="; + }; +in buildBazelPackage rec { + pname = "bant"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "hzeller"; + repo = "bant"; + rev = "v${version}"; + hash = "sha256-4h76ok2aN7WfD8OHIS0O2Dk924+hFXJXewKRM7XYjKw="; + }; + + bazelFlags = ["--registry" "file://${registry}"]; + + postPatch = '' + patchShebangs scripts/create-workspace-status.sh + ''; + + fetchAttrs = { + sha256 = { + aarch64-linux = "sha256-38O9HPKMjqpNCO+kC8hUlsJAclONVCj3oj/iVRwOEDo="; + x86_64-linux = "sha256-OUVjgVIBNh0j10dgk/l42bqmsGuBC56uf4Ei/IRXxBI="; + }.${system} or (throw "No hash for system: ${system}"); + }; + + nativeBuildInputs = [ + jdk + ]; + bazel = bazel_6; + + bazelBuildFlags = [ "-c opt" ]; + bazelTestTargets = [ "//..." ]; + bazelTargets = [ "//bant:bant" ]; + + buildAttrs = { + installPhase = '' + install -D --strip bazel-bin/bant/bant "$out/bin/bant" + ''; + }; + + meta = with lib; { + description = "Bazel/Build Analysis and Navigation Tool"; + homepage = "http://bant.build/"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ hzeller lromor ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/ba/baobab/package.nix b/pkgs/by-name/ba/baobab/package.nix new file mode 100644 index 0000000000000..3978661baabb8 --- /dev/null +++ b/pkgs/by-name/ba/baobab/package.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, gettext +, fetchurl +, vala +, desktop-file-utils +, meson +, ninja +, pkg-config +, gtk4 +, libadwaita +, glib +, libxml2 +, wrapGAppsHook4 +, itstool +, gnome +}: + +stdenv.mkDerivation rec { + pname = "baobab"; + version = "46.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + hash = "sha256-zk3vXILQVnGlAJ9768+FrJhnXZ2BYNKK2RgbJppy43w="; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + glib + itstool + libxml2 + meson + ninja + pkg-config + vala + wrapGAppsHook4 + ]; + + buildInputs = [ + gtk4 + libadwaita + glib + ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + description = "Graphical application to analyse disk usage in any GNOME environment"; + mainProgram = "baobab"; + homepage = "https://apps.gnome.org/Baobab/"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.unix; + }; +} diff --git a/pkgs/by-name/ba/base45/package.nix b/pkgs/by-name/ba/base45/package.nix index 3a9b53cc31af1..07e248ad80458 100644 --- a/pkgs/by-name/ba/base45/package.nix +++ b/pkgs/by-name/ba/base45/package.nix @@ -5,7 +5,7 @@ buildNimPackage (finalAttrs: { version = "20230124"; src = fetchFromSourcehut { owner = "~ehmry"; - repo = finalAttrs.pname; + repo = "base45"; rev = finalAttrs.version; hash = "sha256-9he+14yYVGt2s1IuRLPRsv23xnJzERkWRvIHr3PxFYk="; }; diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index d591250ba2eb4..51fdeb6b97122 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -1,19 +1,23 @@ { lib, - buildNpmPackage, fetchFromGitHub, runCommand, jq, + buildNpmPackage, + python3, + stdenvNoCC, + testers, + basedpyright, }: let - version = "1.12.6"; + version = "1.15.2"; src = fetchFromGitHub { owner = "detachhead"; repo = "basedpyright"; rev = "refs/tags/v${version}"; - hash = "sha256-1F3T+BGamFJEDAIMz684oIn4xEDbNadEh8TTG5l8fPo="; + hash = "sha256-N51wZjhdoNbhHpMrgcEEzd9FIVwKwYs9sU7jyFV2b8g="; }; patchedPackageJSON = runCommand "package.json" { } '' @@ -43,7 +47,7 @@ let pname = "pyright-internal"; inherit version src; sourceRoot = "${src.name}/packages/pyright-internal"; - npmDepsHash = "sha256-8nXW5Z5xTr8EXxyBylxCr7C88zmRxppe8EaspFy7b6o="; + npmDepsHash = "sha256-RkMgCa7oAPFbTHC5WAcz6b8cUOEORR0sZr2VxhQki1k="; dontNpmBuild = true; # FIXME: Remove this flag when TypeScript 5.5 is released npmFlags = [ "--legacy-peer-deps" ]; @@ -53,16 +57,48 @@ let runHook postInstall ''; }; + + docify = python3.pkgs.buildPythonApplication { + pname = "docify"; + version = "unstable"; + format = "pyproject"; + src = fetchFromGitHub { + owner = "AThePeanut4"; + repo = "docify"; + rev = "7380a6faa6d1e8a3dc790a00254e6d77f84cbd91"; + hash = "sha256-BPR1rc/JzdBweiWmdHxgardDDrJZVWkUIF3ZEmEYf/A="; + }; + buildInputs = [ python3.pkgs.setuptools ]; + propagatedBuildInputs = [ + python3.pkgs.libcst + python3.pkgs.tqdm + ]; + }; + + docstubs = stdenvNoCC.mkDerivation { + name = "docstubs"; + inherit src; + buildInputs = [ docify ]; + + installPhase = '' + runHook preInstall + cp -r packages/pyright-internal/typeshed-fallback docstubs + ${docify}/bin/docify docstubs/stdlib --builtins-only --in-place + cp -rv docstubs "$out" + runHook postInstall + ''; + }; in buildNpmPackage rec { pname = "basedpyright"; inherit version src; sourceRoot = "${src.name}/packages/pyright"; - npmDepsHash = "sha256-ZFuCY2gveimFK5Hztj6k6PkeTpbR7XiyQyS5wPaNNts="; + npmDepsHash = "sha256-6Zhd5IothE7RoetaITL5MmLIF6YDNk6IiHcfTzbbjLY="; postPatch = '' chmod +w ../../ + ln -s ${docstubs} ../../docstubs ln -s ${pyright-root}/node_modules ../../node_modules chmod +w ../pyright-internal ln -s ${pyright-internal}/node_modules ../pyright-internal/node_modules @@ -75,7 +111,10 @@ buildNpmPackage rec { dontNpmBuild = true; - passthru.updateScript = ./update.sh; + passthru = { + updateScript = ./update.sh; + tests.version = testers.testVersion { package = basedpyright; }; + }; meta = { changelog = "https://github.com/detachhead/basedpyright/releases/tag/${version}"; diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index eb47dfdd9f6b6..4b045a8fde435 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -3,9 +3,9 @@ , fetchFromGitHub , pnpm_8 , nodejs -, npmHooks , makeBinaryWrapper , shellcheck +, versionCheckHook }: stdenv.mkDerivation (finalAttrs: { @@ -19,26 +19,24 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE="; }; + pnpmWorkspace = "bash-language-server"; pnpmDeps = pnpm_8.fetchDeps { - inherit (finalAttrs) pname version src; + inherit (finalAttrs) pname version src pnpmWorkspace; hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg="; }; nativeBuildInputs = [ nodejs pnpm_8.configHook - npmHooks.npmBuildHook makeBinaryWrapper + versionCheckHook ]; - npmBuildScript = "compile"; - # We are only interested in the bash-language-server executable, which is - # part of the `./server` directory. From some reason, the `./vscode-client` - # directory is not included in upstream's `pnpm-workspace.yaml`, so perhaps - # that's why our ${pnpmDeps} don't include the dependencies required for it. - preBuild = '' - rm -r vscode-client - substituteInPlace tsconfig.json \ - --replace-fail '{ "path": "./vscode-client" },' "" + buildPhase = '' + runHook preBuild + + pnpm compile server + + runHook postBuild ''; installPhase = '' @@ -57,13 +55,15 @@ stdenv.mkDerivation (finalAttrs: { # Create the executable, based upon what happens in npmHooks.npmInstallHook makeWrapper ${lib.getExe nodejs} $out/bin/bash-language-server \ - --prefix PATH : ${lib.makeBinPath [ shellcheck ]} \ + --suffix PATH : ${lib.makeBinPath [ shellcheck ]} \ --inherit-argv0 \ --add-flags $out/lib/bash-language-server/out/cli.js runHook postInstall ''; + doInstallCheck = true; + meta = with lib; { description = "A language server for Bash"; homepage = "https://github.com/bash-lsp/bash-language-server"; diff --git a/pkgs/by-name/ba/bat/package.nix b/pkgs/by-name/ba/bat/package.nix index 5476fc55f662d..9e4132bc0b460 100644 --- a/pkgs/by-name/ba/bat/package.nix +++ b/pkgs/by-name/ba/bat/package.nix @@ -75,6 +75,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md"; license = with licenses; [ asl20 /* or */ mit ]; mainProgram = "bat"; - maintainers = with maintainers; [ dywedir lilyball zowoq SuperSandro2000 ]; + maintainers = with maintainers; [ dywedir zowoq SuperSandro2000 ]; }; } diff --git a/pkgs/by-name/ba/batik/package.nix b/pkgs/by-name/ba/batik/package.nix new file mode 100644 index 0000000000000..18bdb7c37e195 --- /dev/null +++ b/pkgs/by-name/ba/batik/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenvNoCC, + fetchurl, + jre, + rhino, + stripJavaArchivesHook, + makeWrapper, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "batik"; + version = "1.17"; + + src = fetchurl { + url = "mirror://apache/xmlgraphics/batik/binaries/batik-bin-${finalAttrs.version}.tar.gz"; + hash = "sha256-sEJphF3grlwZCEt3gHHm4JF8RpvKKBLLvKXf2lu/dhA="; + }; + + nativeBuildInputs = [ + stripJavaArchivesHook + makeWrapper + ]; + + buildInputs = [ + jre + rhino + ]; + + patchPhase = '' + # Vendored dependencies + rm lib/rhino-*.jar + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/java + cp *.jar lib/*.jar $out/share/java + chmod +x $out/share/java/*.jar + classpath="$(find $out/share/java -name '*.jar' -printf '${rhino}/share/java/js.jar:%h/%f')" + for appName in rasterizer slideshow squiggle svgpp ttf2svg; do + makeWrapper ${lib.getExe jre} $out/bin/batik-$appName \ + --add-flags "-jar $out/share/java/batik-all-${finalAttrs.version}.jar" \ + --add-flags "-classpath $classpath" \ + --add-flags "org.apache.batik.apps.$appName.Main" + done + ''; + + meta = with lib; { + description = "Java based toolkit for handling SVG"; + homepage = "https://xmlgraphics.apache.org/batik"; + license = licenses.asl20; + platforms = platforms.unix; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + }; +}) diff --git a/pkgs/by-name/ba/batmon/package.nix b/pkgs/by-name/ba/batmon/package.nix index e41587b1f57b4..5e5cf3f6501f7 100644 --- a/pkgs/by-name/ba/batmon/package.nix +++ b/pkgs/by-name/ba/batmon/package.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { hash = "sha256-+kjDNQKlaoI5fQ5FqYF6IPCKeE92WKxIhVCKafqfE0o="; }; - cargoSha256 = "sha256-DJpWBset6SW7Ahg60+Tu1VpH34LcVOyrEs9suKyTE9g="; + cargoHash = "sha256-DJpWBset6SW7Ahg60+Tu1VpH34LcVOyrEs9suKyTE9g="; meta = with lib; { description = "Interactive batteries viewer"; diff --git a/pkgs/by-name/ba/bazecor/10-dygma.rules b/pkgs/by-name/ba/bazecor/10-dygma.rules new file mode 100644 index 0000000000000..6805e68c06446 --- /dev/null +++ b/pkgs/by-name/ba/bazecor/10-dygma.rules @@ -0,0 +1,4 @@ +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2201", MODE="0666" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2200", MODE="0666" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="35ef", MODE="0666" +KERNEL=="hidraw*", ATTRS{idVendor}=="35ef", MODE="0666" diff --git a/pkgs/by-name/ba/bazecor/package.nix b/pkgs/by-name/ba/bazecor/package.nix new file mode 100644 index 0000000000000..dc74c867c64f6 --- /dev/null +++ b/pkgs/by-name/ba/bazecor/package.nix @@ -0,0 +1,68 @@ +{ + lib, + appimageTools, + fetchurl, + makeWrapper, +}: +let + pname = "bazecor"; + version = "1.4.2"; + src = appimageTools.extract { + inherit pname version; + src = fetchurl { + url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage"; + hash = "sha256-2/GX2p+YhN6XLXl8ORn5Vy5GYjPS1ZkKmSymeUjExLU="; + }; + + # Workaround for https://github.com/Dygmalab/Bazecor/issues/370 + postExtract = '' + substituteInPlace \ + $out/usr/lib/bazecor/resources/app/.webpack/main/index.js \ + --replace-fail \ + 'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===d.trim()}catch(e){u.default.error(e)}return!1}' \ + 'checkUdev=()=>{return 1}' + ''; + }; +in +appimageTools.wrapAppImage { + inherit pname version src; + + # also make sure to update the udev rules in ./10-dygma.rules; most recently + # taken from + # https://github.com/Dygmalab/Bazecor/blob/v1.3.11/src/main/utils/udev.ts#L6 + + extraPkgs = pkgs: [ pkgs.glib ]; + + # Also expose the udev rules here, so it can be used as: + # services.udev.packages = [ pkgs.bazecor ]; + # to allow non-root modifications to the keyboards. + + extraInstallCommands = '' + source "${makeWrapper}/nix-support/setup-hook" + wrapProgram $out/bin/bazecor \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" + + install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications + install -m 444 -D ${src}/bazecor.png -t $out/share/pixmaps + + mkdir -p $out/lib/udev/rules.d + install -m 444 -D ${./10-dygma.rules} $out/lib/udev/rules.d/10-dygma.rules + + substituteInPlace $out/share/applications/Bazecor.desktop \ + --replace-fail 'Exec=Bazecor' 'Exec=bazecor' + ''; + + meta = { + description = "Graphical configurator for Dygma Products"; + homepage = "https://github.com/Dygmalab/Bazecor"; + changelog = "https://github.com/Dygmalab/Bazecor/releases/tag/v${version}"; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + amesgen + gcleroux + ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "bazecor"; + }; +} |