Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-12-05 12:01:22 +00:00 committed by GitHub
commit 4d8ab2a703
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 1845 additions and 1669 deletions

View File

@ -13130,6 +13130,12 @@
fingerprint = "9B1A 7906 5D2F 2B80 6C8A 5A1C 7D2A CDAF 4653 CF28";
}];
};
ninjafb = {
email = "oscar@oronberg.com";
github = "NinjaFB";
githubId = 54169044;
name = "NinjaFB";
};
nintron = {
email = "nintron@sent.com";
github = "Nintron27";

View File

@ -13,6 +13,13 @@ in
###### interface
options.services.kubernetes.flannel = {
enable = mkEnableOption (lib.mdDoc "flannel networking");
openFirewallPorts = mkOption {
description = lib.mdDoc ''
Whether to open the Flannel UDP ports in the firewall on all interfaces.'';
type = types.bool;
default = true;
};
};
###### implementation
@ -38,7 +45,7 @@ in
};
networking = {
firewall.allowedUDPPorts = [
firewall.allowedUDPPorts = mkIf cfg.openFirewallPorts [
8285 # flannel udp
8472 # flannel vxlan
];

View File

@ -21,6 +21,7 @@ let
NODE_ENV = "production";
RAILS_SERVE_STATIC_FILES = "true";
RAILS_LOG_TO_STDOUT = "true";
REDIS_URL = "redis://${cfg.redis.host}:${toString cfg.redis.port}";
};
databaseConfig = settingsFormat.generate "database.yml" cfg.database.settings;
in
@ -65,6 +66,36 @@ in
description = lib.mdDoc "Websocket service port.";
};
redis = {
createLocally = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc "Whether to create a local redis automatically.";
};
name = mkOption {
type = types.str;
default = "zammad";
description = lib.mdDoc ''
Name of the redis server. Only used if `createLocally` is set to true.
'';
};
host = mkOption {
type = types.str;
default = "localhost";
description = lib.mdDoc ''
Redis server address.
'';
};
port = mkOption {
type = types.port;
default = 6379;
description = lib.mdDoc "Port of the redis server.";
};
};
database = {
type = mkOption {
type = types.enum [ "PostgreSQL" "MySQL" ];
@ -206,6 +237,10 @@ in
assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
message = "a password cannot be specified if services.zammad.database.createLocally is set to true";
}
{
assertion = cfg.redis.createLocally -> cfg.redis.host == "localhost";
message = "the redis host must be localhost if services.zammad.redis.createLocally is set to true";
}
];
services.mysql = optionalAttrs (cfg.database.createLocally && cfg.database.type == "MySQL") {
@ -231,6 +266,13 @@ in
];
};
services.redis = optionalAttrs cfg.redis.createLocally {
servers."${cfg.redis.name}" = {
enable = true;
port = cfg.redis.port;
};
};
systemd.services.zammad-web = {
inherit environment;
serviceConfig = serviceConfig // {
@ -240,6 +282,8 @@ in
after = [
"network.target"
"postgresql.service"
] ++ optionals cfg.redis.createLocally [
"redis-${cfg.redis.name}.service"
];
requires = [
"postgresql.service"
@ -303,16 +347,15 @@ in
script = "./script/websocket-server.rb -b ${cfg.host} -p ${toString cfg.websocketPort} start";
};
systemd.services.zammad-scheduler = {
inherit environment;
serviceConfig = serviceConfig // { Type = "forking"; };
systemd.services.zammad-worker = {
inherit serviceConfig environment;
after = [ "zammad-web.service" ];
requires = [ "zammad-web.service" ];
description = "Zammad scheduler";
description = "Zammad background worker";
wantedBy = [ "multi-user.target" ];
script = "./script/scheduler.rb start";
script = "./script/background-worker.rb start";
};
};
meta.maintainers = with lib.maintainers; [ garbas taeer ];
meta.maintainers = with lib.maintainers; [ taeer netali ];
}

View File

@ -4,7 +4,7 @@ import ./make-test-python.nix (
{
name = "zammad";
meta.maintainers = with lib.maintainers; [ garbas taeer n0emis ];
meta.maintainers = with lib.maintainers; [ taeer n0emis netali ];
nodes.machine = { config, ... }: {
services.zammad.enable = true;
@ -44,9 +44,10 @@ import ./make-test-python.nix (
testScript = ''
start_all()
machine.wait_for_unit("postgresql.service")
machine.wait_for_unit("redis-zammad.service")
machine.wait_for_unit("zammad-web.service")
machine.wait_for_unit("zammad-websocket.service")
machine.wait_for_unit("zammad-scheduler.service")
machine.wait_for_unit("zammad-worker.service")
# wait for zammad to fully come up
machine.sleep(120)

View File

@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.gaia-gis.it/fossil/spatialite_gui";
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ sikmir ];
maintainers = teams.geospatial.members;
mainProgram = "spatialite_gui";
};
}

View File

@ -101,6 +101,7 @@ let
kaccounts-providers = callPackage ./kaccounts-providers.nix {};
kaddressbook = callPackage ./kaddressbook.nix {};
kalarm = callPackage ./kalarm.nix {};
kalgebra = callPackage ./kalgebra.nix {};
merkuro = callPackage ./merkuro.nix {};
kalzium = callPackage ./kalzium.nix {};
kamoso = callPackage ./kamoso.nix {};

View File

@ -0,0 +1,46 @@
{ mkDerivation
, lib
, extra-cmake-modules
, kdoctools
, analitza
, ki18n
, kinit
, kirigami2
, kconfigwidgets
, kwidgetsaddons
, kio
, kxmlgui
, qtwebengine
, plasma-framework
}:
mkDerivation {
pname = "kalgebra";
outputs = [ "out" "dev" ];
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
ki18n
analitza
kinit
kirigami2
kconfigwidgets
kwidgetsaddons
kio
kxmlgui
qtwebengine
plasma-framework
];
meta = {
homepage = "https://apps.kde.org/kalgebra/";
description = "A 2D and 3D Graph Calculator";
license = with lib.licenses; [ gpl2Plus ];
maintainers = with lib.maintainers; [ ninjafb ];
};
}

View File

@ -7,7 +7,7 @@ index d85a17491..90ea5e387 100644
require 'rails/all'
+require 'nulldb'
require_relative 'issue_2656_workaround_for_rails_issue_33600'
require_relative '../lib/zammad/safe_mode'
# DO NOT REMOVE THIS LINE - see issue #2037
diff --git a/db/schema.rb b/db/schema.rb

View File

@ -19,11 +19,12 @@
, yarn2nix-moretea
, v8
, cacert
, redis
}:
let
pname = "zammad";
version = "5.4.1";
version = "6.1.0";
src = applyPatches {
@ -100,7 +101,7 @@ let
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-HI4RR4/ll/zNBNtDCb8OvEsG/BMVYacM0CcYqbkNHEY=";
hash = "sha256-PVQ2L+Io6Ct9UHvfoQmxV01ECG8fj0+xKwpMfAvD7q0=";
};
yarnPreBuild = ''
@ -124,13 +125,26 @@ stdenv.mkDerivation {
cacert
];
nativeBuildInputs = [
redis
];
RAILS_ENV = "production";
buildPhase = ''
node_modules=${yarnEnv}/libexec/Zammad/node_modules
${yarn2nix-moretea.linkNodeModulesHook}
mkdir redis-work
pushd redis-work
redis-server &
REDIS_PID=$!
popd
rake DATABASE_URL="nulldb://user:pass@127.0.0.1/dbname" assets:precompile
kill $REDIS_PID
rm -r redis-work
'';
installPhase = ''
@ -151,6 +165,6 @@ stdenv.mkDerivation {
homepage = "https://zammad.org";
license = licenses.agpl3Plus;
platforms = [ "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ n0emis garbas taeer ];
maintainers = with maintainers; [ n0emis taeer netali ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
{
"private": true,
"scripts": {
"generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > tmp/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.yml && rm tmp/graphql_introspection.json",
"generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > app/graphql/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.yml",
"generate-setting-types": "RAILS_ENV=development bundle exec rails generate zammad:setting_types",
"dev": "RAILS_ENV=development forego start -f Procfile.dev",
"dev:https": "VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
"https:generate": "sh contrib/ssl/generate-ssl.sh",
"dev:https": "VITE_RUBY_HOST=0.0.0.0 VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
"i18n": "rails generate zammad:translation_catalog",
"lint": "vue-tsc --noEmit && eslint --cache --cache-location ./tmp/eslintcache.js -c .eslintrc.js --ext .js,.ts,.vue app/frontend/ .eslint-plugin-zammad/",
"lint": "vue-tsc --noEmit && eslint --cache --cache-location ./tmp/eslintcache.js --cache-strategy content -c .eslintrc.js --ext .js,.ts,.vue app/frontend/ .eslint-plugin-zammad/",
"lint:fix": "yarn lint -- --fix",
"lint:css": "stylelint **/*.{css,vue,scss}",
"lint:css:fix": "stylelint **/*.{css,vue,scss} --fix",
@ -24,129 +24,134 @@
},
"packageManager": "yarn@1.22.19",
"devDependencies": {
"@graphql-codegen/cli": "^3.0.0",
"@graphql-codegen/introspection": "^3.0.0",
"@faker-js/faker": "^8.0.2",
"@graphql-codegen/cli": "^5.0.0",
"@graphql-codegen/introspection": "^4.0.0",
"@graphql-codegen/near-operation-file-preset": "^2.5.0",
"@graphql-codegen/typescript": "^3.0.0",
"@graphql-codegen/typescript-operations": "^3.0.0",
"@graphql-codegen/typescript": "^4.0.1",
"@graphql-codegen/typescript-operations": "^4.0.1",
"@graphql-codegen/typescript-vue-apollo": "^3.3.7",
"@histoire/plugin-vue": "^0.14.2",
"@pinia/testing": "^0.0.14",
"@tailwindcss/line-clamp": "^0.4.2",
"@testing-library/jest-dom": "^5.16.5",
"@histoire/plugin-vue": "^0.17.1",
"@pinia/testing": "^0.1.3",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/user-event": "^14.4.3",
"@testing-library/vue": "^6.6.1",
"@types/lodash-es": "^4.17.6",
"@testing-library/vue": "^7.0.0",
"@types/lodash-es": "^4.17.8",
"@types/rails__actioncable": "^6.1.6",
"@types/ua-parser-js": "^0.7.36",
"@types/uuid": "^9.0.0",
"@typescript-eslint/eslint-plugin": "^5.51.0",
"@typescript-eslint/parser": "^5.51.0",
"@vitejs/plugin-vue": "^4.0.0",
"@vue/eslint-config-prettier": "^7.0.0",
"@vue/eslint-config-typescript": "^11.0.2",
"@vue/test-utils": "^2.2.10",
"autoprefixer": "^10.4.13",
"eslint": "^8.33.0",
"@types/uuid": "^9.0.2",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"@vitejs/plugin-vue": "^4.2.3",
"@vue/eslint-config-prettier": "^8.0.0",
"@vue/eslint-config-typescript": "^11.0.3",
"@vue/test-utils": "^2.4.1",
"autoprefixer": "^10.4.15",
"eslint": "^8.45.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.6.0",
"eslint-config-prettier": "^8.8.0",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-import-resolver-typescript": "^3.5.5",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-prettier-vue": "^4.2.0",
"eslint-plugin-security": "^1.7.1",
"eslint-plugin-sonarjs": "^0.18.0",
"eslint-plugin-vue": "^9.9.0",
"eslint-plugin-sonarjs": "^0.19.0",
"eslint-plugin-vue": "^9.15.1",
"eslint-plugin-zammad": "file:.eslint-plugin-zammad",
"histoire": "^0.14.2",
"jsdom": "^21.1.0",
"histoire": "^0.17.0",
"jsdom": "^22.1.0",
"mock-apollo-client": "^1.2.1",
"postcss": "^8.4.21",
"postcss": "^8.4.28",
"postcss-html": "^1.5.0",
"prettier": "2.8.4",
"prettier-plugin-tailwindcss": "^0.2.2",
"regenerator-runtime": "^0.13.11",
"sass": "^1.58.0",
"stylelint": "^14.16.1",
"prettier": "3.0.2",
"prettier-plugin-tailwindcss": "^0.5.3",
"regenerator-runtime": "^0.14.0",
"sass": "^1.65.1",
"stylelint": "^15.10.3",
"stylelint-config-prettier": "^9.0.5",
"stylelint-config-recommended-vue": "^1.4.0",
"stylelint-config-standard": "^29.0.0",
"stylelint-config-standard-scss": "^6.1.0",
"stylelint-prettier": "^2.0.0",
"stylelint-scss": "^4.4.0",
"tailwindcss": "^3.2.6",
"stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard": "^34.0.0",
"stylelint-config-standard-scss": "^10.0.0",
"stylelint-prettier": "^4.0.2",
"stylelint-scss": "^5.1.0",
"svg-baker": "^1.7.0",
"svgo": "^3.0.2",
"tailwindcss": "^3.3.3",
"timezone-mock": "^1.3.6",
"ts-node": "^10.9.1",
"type-fest": "^3.5.7",
"typescript": "^4.9.5",
"vite": "^4.0.4",
"vite-plugin-pwa": "^0.14.1",
"vite-plugin-ruby": "^3.1.3",
"vite-plugin-svg-icons": "^2.0.1",
"vitest": "^0.28.4",
"type-fest": "^3.13.1",
"typescript": "^5.1.6",
"vite": "^4.4.9",
"vite-plugin-pwa": "^0.16.4",
"vite-plugin-ruby": "^3.2.2",
"vitest": "^0.34.3",
"vitest-axe": "^0.1.0",
"vue-tsc": "^1.0.24"
"vue-tsc": "^1.8.8"
},
"dependencies": {
"@apollo/client": "^3.7.7",
"@formkit/core": "^1.0.0-beta.13-c578106",
"@formkit/dev": "^1.0.0-beta.13-c578106",
"@formkit/i18n": "^1.0.0-beta.13-c578106",
"@formkit/inputs": "^1.0.0-beta.13-c578106",
"@formkit/rules": "^1.0.0-beta.13-c578106",
"@formkit/tailwindcss": "^1.0.0-beta.13-c578106",
"@formkit/themes": "^1.0.0-beta.13-c578106",
"@formkit/utils": "^1.0.0-beta.13-c578106",
"@formkit/validation": "^1.0.0-beta.13-c578106",
"@formkit/vue": "^1.0.0-beta.13-c578106",
"@apollo/client": "^3.7.17",
"@formkit/core": "^0.17.4",
"@formkit/dev": "^0.17.4",
"@formkit/i18n": "^0.17.4",
"@formkit/inputs": "^0.17.4",
"@formkit/rules": "^0.17.4",
"@formkit/tailwindcss": "^0.17.4",
"@formkit/themes": "^0.17.4",
"@formkit/utils": "^0.17.4",
"@formkit/validation": "^0.17.4",
"@formkit/vue": "^0.17.4",
"@github/webauthn-json": "^2.1.1",
"@rails/actioncable": "6.1.7",
"@tiptap/core": "^2.0.0-beta.217",
"@tiptap/extension-blockquote": "^2.0.0-beta.217",
"@tiptap/extension-character-count": "^2.0.0-beta.217",
"@tiptap/extension-image": "^2.0.0-beta.217",
"@tiptap/extension-link": "^2.0.0-beta.217",
"@tiptap/extension-list-item": "^2.0.0-beta.217",
"@tiptap/extension-mention": "^2.0.0-beta.217",
"@tiptap/extension-ordered-list": "^2.0.0-beta.217",
"@tiptap/extension-paragraph": "^2.0.0-beta.217",
"@tiptap/extension-strike": "^2.0.0-beta.217",
"@tiptap/extension-underline": "^2.0.0-beta.217",
"@tiptap/pm": "^2.0.0-beta.217",
"@tiptap/starter-kit": "^2.0.0-beta.217",
"@tiptap/suggestion": "^2.0.0-beta.217",
"@tiptap/vue-3": "^2.0.0-beta.217",
"@vue/apollo-composable": "^4.0.0-beta.2",
"@vueuse/core": "^9.12.0",
"@vueuse/router": "^9.12.0",
"@vueuse/shared": "^9.12.0",
"@tiptap/core": "^2.0.4",
"@tiptap/extension-blockquote": "^2.0.4",
"@tiptap/extension-character-count": "^2.0.4",
"@tiptap/extension-hard-break": "^2.0.4",
"@tiptap/extension-image": "^2.0.4",
"@tiptap/extension-link": "^2.0.4",
"@tiptap/extension-list-item": "^2.0.4",
"@tiptap/extension-mention": "^2.0.4",
"@tiptap/extension-ordered-list": "^2.0.4",
"@tiptap/extension-paragraph": "^2.0.4",
"@tiptap/extension-strike": "^2.0.4",
"@tiptap/extension-underline": "^2.0.4",
"@tiptap/pm": "^2.0.4",
"@tiptap/starter-kit": "^2.0.4",
"@tiptap/suggestion": "^2.0.4",
"@tiptap/vue-3": "^2.0.4",
"@vue/apollo-composable": "4.0.0-beta.5",
"@vueuse/core": "^10.4.0",
"@vueuse/router": "^10.4.0",
"@vueuse/shared": "^10.4.0",
"async-mutex": "^0.4.0",
"flatpickr": "^4.6.13",
"graphql": "^16.6.0",
"graphql-ruby-client": "^1.11.5",
"graphql": "^16.7.1",
"graphql-ruby-client": "^1.11.8",
"graphql-tag": "^2.12.6",
"linkify-string": "^4.1.0",
"linkifyjs": "^4.1.0",
"linkify-string": "^4.1.1",
"linkifyjs": "^4.1.1",
"lodash-es": "^4.17.21",
"loglevel": "^1.8.1",
"mitt": "^3.0.0",
"pinia": "^2.0.30",
"mitt": "^3.0.1",
"pinia": "^2.1.6",
"tippy.js": "^6.3.7",
"ua-parser-js": "^1.0.33",
"tiptap-text-direction": "^0.3.0",
"ua-parser-js": "^1.0.35",
"uuid": "^9.0.0",
"vue": "^3.2.47",
"vue": "^3.3.4",
"vue-advanced-cropper": "^2.8.8",
"vue-easy-lightbox": "1.12.0",
"vue-router": "^4.1.6",
"vue-easy-lightbox": "1.16.0",
"vue-router": "^4.2.4",
"vue3-draggable-resizable": "^1.6.5",
"vuedraggable": "^4.1.0",
"workbox-core": "^6.5.4",
"workbox-precaching": "^6.5.4",
"workbox-window": "^6.5.4"
"workbox-core": "^7.0.0",
"workbox-precaching": "^7.0.0",
"workbox-window": "^7.0.0"
},
"resolutions": {
"loader-utils": "^3.2.1",
"postcss": "^8.4.21"
"postcss": "^8.4.28",
"stylelint-config-recommended": "^13.0.0"
},
"name": "Zammad",
"version": "5.4.1"
"version": "6.1.0"
}

View File

@ -1,8 +1,8 @@
{
"owner": "zammad",
"repo": "zammad",
"rev": "643aba6ba4ba66c6127038c8cc2cc7a20b912678",
"hash": "sha256-vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=",
"rev": "ec4ddb8ae6a55d1c8e64ab5ddda9ff3e9d4f45c8",
"hash": "sha256-+AphZ0pKlXFdcncnDxeLdDL3OH2dyF0nb69+/W2dLgc=",
"fetchSubmodules": true
}

View File

@ -55,11 +55,6 @@ pushd $SOURCE_DIR
echo ":: Creating gemset.nix"
bundix --lockfile=./Gemfile.lock --gemfile=./Gemfile --gemset=$TARGET_DIR/gemset.nix
echo ":: Creating yarn.nix"
yarn install
cp yarn.lock $TARGET_DIR
yarn2nix > $TARGET_DIR/yarn.nix
# needed to avoid import from derivation
jq --arg VERSION "$VERSION" '. += {name: "Zammad", version: $VERSION}' package.json > $TARGET_DIR/package.json

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "cryptominisat";
version = "5.11.14";
version = "5.11.15";
src = fetchFromGitHub {
owner = "msoos";
repo = "cryptominisat";
rev = version;
hash = "sha256-p/sVinjEh078PGtJ6JBRA8EmrJVcchBs9L3bRZvCHuo=";
hash = "sha256-OenuIPo5U0+egWMpxfaKWPLbO5YRQJSXLYptih+ZQQ0=";
};
buildInputs = [ python3 boost ];

View File

@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
};
# or-tools has a hard dependency on Cbc static libraries, so we build both
configureFlags = [ "-C" "--enable-static" ];
configureFlags = [ "-C" "--enable-static" ]
++ lib.optionals stdenv.cc.isClang [ "CXXFLAGS=-std=c++14" ];
enableParallelBuilding = true;

View File

@ -1,8 +1,11 @@
{ lib
, stdenv
, buildFHSEnv
, fetchFromGitHub
, scons
, ocl-icd
, openssl
, scons
, stdenv
, extraPkgs ? [ ]
}:
let
version = "8.1.18";
@ -14,57 +17,64 @@ let
hash = "sha256-G0rknVmZiyC4sRTOowFjf7EQ5peGf+HLPPcLWXXFlX4=";
};
fah-web-client-bastetSrc = fetchFromGitHub {
owner = "foldingathome";
repo = "fah-web-client-bastet";
rev = "v${version}";
hash = lib.fakeHash;
fah-client = stdenv.mkDerivation {
pname = "fah-client";
inherit version;
src = fetchFromGitHub {
owner = "FoldingAtHome";
repo = "fah-client-bastet";
rev = "v${version}";
hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
};
nativeBuildInputs = [ scons ];
buildInputs = [ openssl ];
postUnpack = ''
export CBANG_HOME=$NIX_BUILD_TOP/cbang
cp -r --no-preserve=mode ${cbangSrc} $CBANG_HOME
'';
preBuild = ''
scons -C $CBANG_HOME
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/applications,share/feh-client}
cp fah-client $out/bin/fah-client
cp install/lin/fah-client.desktop $out/share/applications/
cp -r images $out/share/feh-client/
sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
runHook postInstall
'';
};
in
stdenv.mkDerivation {
pname = "fah-client";
inherit version;
buildFHSEnv {
name = fah-client.name;
src = fetchFromGitHub {
owner = "FoldingAtHome";
repo = "fah-client-bastet";
rev = "v${version}";
hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
};
targetPkgs = _: [ fah-client ocl-icd ] ++ extraPkgs;
nativeBuildInputs = [ scons ];
runScript = "/bin/fah-client";
buildInputs = [ openssl ];
postUnpack = ''
export CBANG_HOME=$NIX_BUILD_TOP/cbang
cp -r --no-preserve=mode ${cbangSrc} $CBANG_HOME
'';
preBuild = ''
scons -C $CBANG_HOME
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/applications,share/feh-client}
cp fah-client $out/bin/fah-client
cp install/lin/fah-client.desktop $out/share/applications/
cp -r images $out/share/feh-client/
sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
runHook postInstall
extraInstallCommands = ''
mv $out/bin/$name $out/bin/fah-client
'';
meta = {
description = "Folding@home client";
homepage = "https://foldingathome.org/";
license = lib.licenses.gpl3;
mainProgram = "fah-client";
maintainers = [ lib.maintainers.zimbatm ];
platforms = [ "x86_64-linux" ];
};

View File

@ -13,7 +13,7 @@
, gtk4
, libadwaita
, gst_all_1
, ffmpeg-full
, ffmpeg-headless
}:
stdenv.mkDerivation (finalAttrs: {
@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ ffmpeg-full ]}"
--prefix PATH : "${lib.makeBinPath [ ffmpeg-headless ]}"
)
'';

View File

@ -1,25 +0,0 @@
{lib, stdenv, makeWrapper, python, toposort, rpm}:
stdenv.mkDerivation {
pname = "nix-template-rpm";
version = "0.1";
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ python toposort rpm ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin
cp ${./nix-template-rpm.py} $out/bin/nix-template-rpm
wrapProgram $out/bin/nix-template-rpm \
--set PYTHONPATH "${rpm}/lib/${python.libPrefix}/site-packages":"${toposort}/lib/${python.libPrefix}/site-packages"
'';
meta = with lib; {
description = "Create templates of nix expressions from RPM .spec files";
maintainers = with maintainers; [ ];
platforms = platforms.unix;
hydraPlatforms = [];
};
}

View File

@ -1,518 +0,0 @@
#!/bin/env python
import sys
import os
import subprocess
import argparse
import re
import shutil
import rpm
import urlparse
import traceback
import toposort
class SPECTemplate(object):
def __init__(self, specFilename, outputDir, inputDir=None, buildRootInclude=None, translateTable=None, repositoryDir=None, allPackagesDir=None, maintainer="MAINTAINER"):
rpm.addMacro("buildroot","$out")
rpm.addMacro("_libdir","lib")
rpm.addMacro("_libexecdir","libexec")
rpm.addMacro("_sbindir","sbin")
rpm.addMacro("_sysconfdir","etc")
rpm.addMacro("_topdir","SPACER_DIR_FOR_REMOVAL")
rpm.addMacro("_sourcedir","SOURCE_DIR_SPACER")
self.packageGroups = [ "ocaml", "python" ]
ts = rpm.TransactionSet()
self.specFilename = specFilename
self.spec = ts.parseSpec(specFilename)
self.inputDir = inputDir
self.buildRootInclude = buildRootInclude
self.repositoryDir = repositoryDir
self.allPackagesDir = allPackagesDir
self.maintainer = maintainer
self.translateTable = translateTable
self.facts = self.getFacts()
self.key = self.getSelfKey()
tmpDir = os.path.join(outputDir, self.rewriteName(self.spec.sourceHeader['name']))
if self.translateTable is not None:
self.relOutputDir = self.translateTable.path(self.key,tmpDir)
else:
self.relOutputDir = tmpDir
self.final_output_dir = os.path.normpath( self.relOutputDir )
if self.repositoryDir is not None:
self.potential_repository_dir = os.path.normpath( os.path.join(self.repositoryDir,self.relOutputDir) )
def rewriteCommands(self, string):
string = string.replace('SPACER_DIR_FOR_REMOVAL/','')
string = string.replace('SPACER_DIR_FOR_REMOVAL','')
string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/',('${./' if (self.buildRootInclude is None) else '${buildRoot}/usr/share/buildroot/SOURCES/'))+('}' if (self.buildRootInclude is None) else '') if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n')))
string = string.replace('\n','\n ')
string = string.rstrip()
return string
def rewriteName(self, string):
parts = string.split('-')
parts = filter(lambda x: not x == "devel", parts)
parts = filter(lambda x: not x == "doc", parts)
if len(parts) > 1 and parts[0] in self.packageGroups:
return parts[0] + '-' + ''.join(parts[1:2] + map(lambda x: x.capitalize(), parts[2:]))
else:
return ''.join(parts[:1] + map(lambda x: x.capitalize(), parts[1:]))
def rewriteInputs(self,target,inputs):
camelcase = lambda l: l[:1] + map(lambda x: x.capitalize(), l[1:])
filterDevel = lambda l: filter(lambda x: not x == "devel", l)
filterDoc = lambda l: filter(lambda x: not x == "doc", l)
rewrite = lambda l: ''.join(camelcase(filterDoc(filterDevel(l))))
def filterPackageGroup(target):
if target is None:
return [ rewrite(x.split('-')) for x in inputs if (not x.split('-')[0] in self.packageGroups) or (len(x.split('-')) == 1) ]
elif target in self.packageGroups:
return [ target + '_' + rewrite(x.split('-')[1:]) for x in inputs if (x.split('-')[0] == target) and (len(x.split('-')) > 1)]
else:
raise Exception("Unknown target")
return []
if target is None:
packages = filterPackageGroup(None)
packages.sort()
elif target in self.packageGroups:
packages = filterPackageGroup(target)
packages.sort()
elif target == "ALL":
packages = []
for t in [None] + self.packageGroups:
tmp = filterPackageGroup(t)
tmp.sort()
packages += tmp
else:
raise Exception("Unknown target")
packages = []
return packages
def getBuildInputs(self,target=None):
inputs = self.rewriteInputs(target,self.spec.sourceHeader['requires'])
if self.translateTable is not None:
return map(lambda x: self.translateTable.name(x), inputs)
else:
return inputs
def getSelfKey(self):
name = self.spec.sourceHeader['name']
if len(name.split('-')) > 1 and name.split('-')[0] in self.packageGroups:
key = self.rewriteInputs(name.split('-')[0], [self.spec.sourceHeader['name']])[0]
else:
key = self.rewriteInputs(None, [self.spec.sourceHeader['name']])[0]
return key
def getSelf(self):
if self.translateTable is not None:
return self.translateTable.name(self.key)
else:
return self.key
def copyPatches(self, input_dir, output_dir):
patches = [source for (source, _, flag) in self.spec.sources if flag==2]
for filename in patches:
shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename))
def copySources(self, input_dir, output_dir):
filenames = [source for (source, _, flag) in self.spec.sources if flag==1 if not urlparse.urlparse(source).scheme in ["http", "https"] ]
for filename in filenames:
shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename))
def getFacts(self):
facts = {}
facts["name"] = self.rewriteName(self.spec.sourceHeader['name'])
facts["version"] = self.spec.sourceHeader['version']
facts["url"] = []
facts["sha256"] = []
sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ]
for url in sources:
p = subprocess.Popen(['nix-prefetch-url', url], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = p.communicate()
sha256 = output[:-1] #remove new line
facts["url"].append(url)
facts["sha256"].append(sha256)
patches = [source for (source, _, flag) in self.spec.sources if flag==2]
if self.buildRootInclude is None:
facts["patches"] = map(lambda x: './'+x, patches)
else:
facts["patches"] = map(lambda x: '"${buildRoot}/usr/share/buildroot/SOURCES/'+x+'"', reversed(patches))
return facts
@property
def name(self):
out = ' name = "' + self.facts["name"] + '-' + self.facts["version"] + '";\n'
out += ' version = "' + self.facts['version'] + '";\n'
return out
@property
def src(self):
sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ]
out = ''
for (url,sha256) in zip(self.facts['url'],self.facts['sha256']):
out += ' src = fetchurl {\n'
out += ' url = "' + url + '";\n'
out += ' sha256 = "' + sha256 + '";\n'
out += ' };\n'
return out
@property
def patch(self):
out = ' patches = [ ' + ' '.join(self.facts['patches']) + ' ];\n'
return out
@property
def buildInputs(self):
out = ' buildInputs = [ '
out += ' '.join(self.getBuildInputs("ALL"))
out += ' ];\n'
return out
@property
def configure(self):
out = ' configurePhase = \'\'\n ' + self.rewriteCommands(self.spec.prep) + '\n \'\';\n';
return out
@property
def build(self):
out = ' buildPhase = \'\'\n ' + self.rewriteCommands(self.spec.build) + '\n \'\';\n';
return out
@property
def install(self):
out = ' installPhase = \'\'\n ' + self.rewriteCommands(self.spec.install) + '\n \'\';\n';
return out
@property
def ocamlExtra(self):
if "ocaml" in self.getBuildInputs("ALL"):
return ' createFindlibDestdir = true;\n'
else:
return ''
@property
def meta(self):
out = ' meta = with lib; {\n'
out += ' homepage = ' + self.spec.sourceHeader['url'] + ';\n'
out += ' description = "' + self.spec.sourceHeader['summary'] + '";\n'
out += ' license = lib.licenses.' + self.spec.sourceHeader['license'] + ';\n'
out += ' platforms = [ "i686-linux" "x86_64-linux" ];\n'
out += ' maintainers = with lib.maintainers; [ ' + self.maintainer + ' ];\n'
out += ' };\n'
out += '}\n'
return out
def __str__(self):
head = '{lib, stdenv, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n'
head += 'stdenv.mkDerivation {\n'
body = [ self.name, self.src, self.patch, self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ]
return head + '\n'.join(body)
def getTemplate(self):
head = '{lib, stdenv, buildRoot, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n'
head += 'let\n'
head += ' buildRootInput = (import "${buildRoot}/usr/share/buildroot/buildRootInput.nix") { fetchurl=fetchurl; buildRoot=buildRoot; };\n'
head += 'in\n\n'
head += 'stdenv.mkDerivation {\n'
head += ' inherit (buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+') name version src;\n'
head += ' patches = buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+'.patches ++ [];\n\n'
body = [ self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ]
return head + '\n'.join(body)
def getInclude(self):
head = self.rewriteName(self.spec.sourceHeader['name']) + ' = {\n'
body = [ self.name, self.src, self.patch ]
return head + '\n'.join(body) + '};\n'
def __cmp__(self,other):
if self.getSelf() in other.getBuildInputs("ALL"):
return 1
else:
return -1
def callPackage(self):
callPackage = ' ' + self.getSelf() + ' = callPackage ' + os.path.relpath(self.final_output_dir, self.allPackagesDir) + ' {'
newline = False;
for target in self.packageGroups:
tmp = self.getBuildInputs(target)
if len(tmp) > 0:
newline = True;
callPackage += '\n ' + 'inherit (' + target + 'Packages) ' + ' '.join(tmp) + ';'
if newline:
callPackage += '\n };'
else:
callPackage += ' };'
return callPackage
def generateCombined(self):
if not os.path.exists(self.final_output_dir):
os.makedirs(self.final_output_dir)
if self.inputDir is not None:
self.copySources(self.inputDir, self.final_output_dir)
self.copyPatches(self.inputDir, self.final_output_dir)
nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w')
nixfile.write(str(self))
nixfile.close()
shutil.copyfile(self.specFilename, os.path.join(self.final_output_dir, os.path.basename(self.specFilename)))
def generateSplit(self):
if not os.path.exists(self.final_output_dir):
os.makedirs(self.final_output_dir)
nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w')
nixfile.write(self.getTemplate())
nixfile.close()
return self.getInclude()
class NixTemplate(object):
def __init__(self, nixfile):
self.nixfile = nixfile
self.original = { "name":None, "version":None, "url":None, "sha256":None, "patches":None }
self.update = { "name":None, "version":None, "url":None, "sha256":None, "patches":None }
self.matchedLines = {}
if os.path.isfile(nixfile):
with file(nixfile, 'r') as infile:
for (n,line) in enumerate(infile):
name = re.match(r'^\s*name\s*=\s*"(.*?)"\s*;\s*$', line)
version = re.match(r'^\s*version\s*=\s*"(.*?)"\s*;\s*$', line)
url = re.match(r'^\s*url\s*=\s*"?(.*?)"?\s*;\s*$', line)
sha256 = re.match(r'^\s*sha256\s*=\s*"(.*?)"\s*;\s*$', line)
patches = re.match(r'^\s*patches\s*=\s*(\[.*?\])\s*;\s*$', line)
if name is not None and self.original["name"] is None:
self.original["name"] = name.group(1)
self.matchedLines[n] = "name"
if version is not None and self.original["version"] is None:
self.original["version"] = version.group(1)
self.matchedLines[n] = "version"
if url is not None and self.original["url"] is None:
self.original["url"] = url.group(1)
self.matchedLines[n] = "url"
if sha256 is not None and self.original["sha256"] is None:
self.original["sha256"] = sha256.group(1)
self.matchedLines[n] = "sha256"
if patches is not None and self.original["patches"] is None:
self.original["patches"] = patches.group(1)
self.matchedLines[n] = "patches"
def generateUpdated(self, nixOut):
nixTemplateFile = open(os.path.normpath(self.nixfile),'r')
nixOutFile = open(os.path.normpath(nixOut),'w')
for (n,line) in enumerate(nixTemplateFile):
if self.matchedLines.has_key(n) and self.update[self.matchedLines[n]] is not None:
nixOutFile.write(line.replace(self.original[self.matchedLines[n]], self.update[self.matchedLines[n]], 1))
else:
nixOutFile.write(line)
nixTemplateFile.close()
nixOutFile.close()
def loadUpdate(self,orig):
if orig.has_key("name") and orig.has_key("version"):
self.update["name"] = orig["name"] + '-' + orig["version"]
self.update["version"] = orig["version"]
if orig.has_key("url") and orig.has_key("sha256") and len(orig["url"])>0:
self.update["url"] = orig["url"][0]
self.update["sha256"] = orig["sha256"][0]
for url in orig["url"][1:-1]:
sys.stderr.write("WARNING: URL has been dropped: %s\n" % url)
if orig.has_key("patches"):
self.update["patches"] = '[ ' + ' '.join(orig['patches']) + ' ]'
class TranslationTable(object):
def __init__(self):
self.tablePath = {}
self.tableName = {}
def update(self, key, path, name=None):
self.tablePath[key] = path
if name is not None:
self.tableName[key] = name
def readTable(self, tableFile):
with file(tableFile, 'r') as infile:
for line in infile:
match = re.match(r'^(.+?)\s+(.+?)\s+(.+?)\s*$', line)
if match is not None:
if not self.tablePath.has_key(match.group(1)):
self.tablePath[match.group(1)] = match.group(2)
if not self.tableName.has_key(match.group(1)):
self.tableName[match.group(1)] = match.group(3)
else:
match = re.match(r'^(.+?)\s+(.+?)\s*$', line)
if not self.tablePath.has_key(match.group(1)):
self.tablePath[match.group(1)] = match.group(2)
def writeTable(self, tableFile):
outFile = open(os.path.normpath(tableFile),'w')
keys = self.tablePath.keys()
keys.sort()
for k in keys:
if self.tableName.has_key(k):
outFile.write( k + " " + self.tablePath[k] + " " + self.tableName[k] + "\n" )
else:
outFile.write( k + " " + self.tablePath[k] + "\n" )
outFile.close()
def name(self, key):
if self.tableName.has_key(key):
return self.tableName[key]
else:
return key
def path(self, key, orig):
if self.tablePath.has_key(key):
return self.tablePath[key]
else:
return orig
if __name__ == "__main__":
#Parse command line options
parser = argparse.ArgumentParser(description="Generate .nix templates from RPM spec files")
parser.add_argument("specs", metavar="SPEC", nargs="+", help="spec file")
parser.add_argument("-o", "--output", metavar="OUT_DIR", required=True, help="output directory")
parser.add_argument("-b", "--buildRoot", metavar="BUILDROOT_DIR", default=None, help="buildroot output directory")
parser.add_argument("-i", "--inputSources", metavar="IN_DIR", default=None, help="sources input directory")
parser.add_argument("-m", "--maintainer", metavar="MAINTAINER", default="__NIX_MAINTAINER__", help="package maintainer")
parser.add_argument("-r", "--repository", metavar="REP_DIR", default=None, help="nix repository to compare output against")
parser.add_argument("-t", "--translate", metavar="TRANSLATE_TABLE", default=None, help="path of translation table for name and path")
parser.add_argument("-u", "--translateOut", metavar="TRANSLATE_OUT", default=None, help="output path for updated translation table")
parser.add_argument("-a", "--allPackages", metavar="ALL_PACKAGES", default=None, help="top level dir to call packages from")
args = parser.parse_args()
allPackagesDir = os.path.normpath( os.path.dirname(args.allPackages) )
if not os.path.exists(allPackagesDir):
os.makedirs(allPackagesDir)
buildRootContent = {}
nameMap = {}
newTable = TranslationTable()
if args.translate is not None:
table = TranslationTable()
table.readTable(args.translate)
newTable.readTable(args.translate)
else:
table = None
for specPath in args.specs:
try:
sys.stderr.write("INFO: generate nix file from: %s\n" % specPath)
spec = SPECTemplate(specPath, args.output, args.inputSources, args.buildRoot, table, args.repository, allPackagesDir, args.maintainer)
if args.repository is not None:
if os.path.exists(os.path.join(spec.potential_repository_dir,'default.nix')):
nixTemplate = NixTemplate(os.path.join(spec.potential_repository_dir,'default.nix'))
nixTemplate.loadUpdate(spec.facts)
if not os.path.exists(spec.final_output_dir):
os.makedirs(spec.final_output_dir)
nixTemplate.generateUpdated(os.path.join(spec.final_output_dir,'default.nix'))
else:
sys.stderr.write("WARNING: Repository does not contain template: %s\n" % os.path.join(spec.potential_repository_dir,'default.nix'))
if args.buildRoot is None:
spec.generateCombined()
else:
buildRootContent[spec.key] = spec.generateSplit()
else:
if args.buildRoot is None:
spec.generateCombined()
else:
buildRootContent[spec.key] = spec.generateSplit()
newTable.update(spec.key,spec.relOutputDir,spec.getSelf())
nameMap[spec.getSelf()] = spec
except Exception, e:
sys.stderr.write("ERROR: %s failed with:\n%s\n%s\n" % (specPath,e.message,traceback.format_exc()))
if args.translateOut is not None:
if not os.path.exists(os.path.dirname(os.path.normpath(args.translateOut))):
os.makedirs(os.path.dirname(os.path.normpath(args.translateOut)))
newTable.writeTable(args.translateOut)
graph = {}
for k, v in nameMap.items():
graph[k] = set(v.getBuildInputs("ALL"))
sortedSpecs = toposort.toposort_flatten(graph)
sortedSpecs = filter( lambda x: x in nameMap.keys(), sortedSpecs)
allPackagesFile = open(os.path.normpath( args.allPackages ), 'w')
allPackagesFile.write( '\n\n'.join(map(lambda x: x.callPackage(), map(lambda x: nameMap[x], sortedSpecs))) )
allPackagesFile.close()
if args.buildRoot is not None:
buildRootFilename = os.path.normpath( args.buildRoot )
if not os.path.exists(os.path.dirname(buildRootFilename)):
os.makedirs(os.path.dirname(buildRootFilename))
buildRootFile = open(buildRootFilename, 'w')
buildRootFile.write( "{ fetchurl, buildRoot }: {\n\n" )
keys = buildRootContent.keys()
keys.sort()
for k in keys:
buildRootFile.write( buildRootContent[k] + '\n' )
buildRootFile.write( "}\n" )
buildRootFile.close()

View File

@ -0,0 +1,38 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, clp
, coin-utils
, osi
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cgl";
version = "0.60.8";
src = fetchFromGitHub {
owner = "coin-or";
repo = "Cgl";
rev = "releases/${finalAttrs.version}";
hash = "sha256-nyqrHC6UOKp1wn6Yvk+53oBn60wUqSWEPUrcNTuPN04=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
clp
coin-utils
osi
];
meta = with lib; {
description = "Cut Generator Library";
homepage = "https://github.com/coin-or/Cgl";
license = licenses.epl20;
maintainers = with maintainers; [ wegank ];
platforms = platforms.unix;
};
})

View File

@ -0,0 +1,45 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
, fetchpatch
, makeWrapper
, perl
# Needed if you want to use it for a perl script with dependencies.
, extraPerlPackages ? []
}:
let
perlInterpreter = perl.withPackages(ps: [
ps.PadWalker
] ++ extraPerlPackages);
in buildNpmPackage rec {
pname = "perl-debug-adapter";
version = "1.0.6";
src = fetchFromGitHub {
owner = "Nihilus118";
repo = "perl-debug-adapter";
rev = version;
hash = "sha256-IXXKhk4rzsWSPA0RT0L3CZuKlgTWtweZ4dQtruTigRs=";
};
npmDepsHash = "sha256-iw7+YC4qkrTVEJuZ9lnjNlUopTCp+fMNoIjFLutmrMw=";
npmBuildScript = "compile";
makeWrapperArgs = [
"--prefix" "PATH" ":" (lib.makeBinPath [ perlInterpreter ])
];
passthru = {
inherit perlInterpreter;
};
meta = {
description = "Debug adapter, invokes perl -d and handles communication with VS Code or other editors";
homepage = "https://github.com/Nihilus118/perl-debug-adapter";
changelog = "https://github.com/Nihilus118/perl-debug-adapter/blob/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ doronbehar ];
mainProgram = "perl-debug-adapter";
};
}

471
pkgs/by-name/pr/prettypst/Cargo.lock generated Normal file
View File

@ -0,0 +1,471 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "anstream"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]]
name = "anstyle-parse"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
"windows-sys",
]
[[package]]
name = "anstyle-wincon"
version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
dependencies = [
"anstyle",
"windows-sys",
]
[[package]]
name = "clap"
version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
dependencies = [
"clap_builder",
"clap_derive",
]
[[package]]
name = "clap_builder"
version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
"strsim",
]
[[package]]
name = "clap_derive"
version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.39",
]
[[package]]
name = "clap_lex"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
[[package]]
name = "colorchoice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "comemo"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28a097f142aeb5b03af73595536cd55f5d649fca4d656379aac86b3af133cf92"
dependencies = [
"comemo-macros",
"siphasher",
]
[[package]]
name = "comemo-macros"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "168cc09917f6a014a4cf6ed166d1b541a20a768c60f9cc348f25203ee8312940"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "ecow"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6ea5e3f9cda726431da9d1a8d5a29785d544b31e98e1ca7a210906244002e02"
dependencies = [
"serde",
]
[[package]]
name = "equivalent"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "hashbrown"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
[[package]]
name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "indexmap"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
dependencies = [
"equivalent",
"hashbrown",
]
[[package]]
name = "memchr"
version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "once_cell"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "pin-project-lite"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "prettypst"
version = "1.0.0"
dependencies = [
"clap",
"serde",
"thiserror",
"toml",
"typst-syntax",
]
[[package]]
name = "proc-macro2"
version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
[[package]]
name = "serde"
version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
]
[[package]]
name = "serde_spanned"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
dependencies = [
"serde",
]
[[package]]
name = "siphasher"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "thiserror"
version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
]
[[package]]
name = "toml"
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit",
]
[[package]]
name = "toml_datetime"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"winnow",
]
[[package]]
name = "tracing"
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
"pin-project-lite",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
]
[[package]]
name = "tracing-core"
version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [
"once_cell",
]
[[package]]
name = "typst-syntax"
version = "0.9.0"
source = "git+https://github.com/typst/typst.git?tag=v0.9.0#7bb4f6df44086b4c1120b227f7ae963e6c2ad5ab"
dependencies = [
"comemo",
"ecow",
"once_cell",
"serde",
"tracing",
"unicode-ident",
"unicode-math-class",
"unicode-segmentation",
"unscanny",
]
[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-math-class"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d246cf599d5fae3c8d56e04b20eb519adb89a8af8d0b0fbcded369aa3647d65"
[[package]]
name = "unicode-segmentation"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
[[package]]
name = "unscanny"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
[[package]]
name = "utf8parse"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-targets"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winnow"
version = "0.5.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
dependencies = [
"memchr",
]

View File

@ -0,0 +1,31 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage {
pname = "prettypst";
version = "unstable-2023-11-27";
src = fetchFromGitHub {
owner = "antonWetzel";
repo = "prettypst";
rev = "0bf6aa013efa2b059d8c7dcae3441a6004b02fa1";
hash = "sha256-8rAF7tzs+0qGphmanTvx6MXhYOSG6igAMY4ZLkljRp8=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"typst-syntax-0.9.0" = "sha256-LwRB/AQE8TZZyHEQ7kKB10itzEgYjg4R/k+YFqmutDc=";
};
};
meta = {
description = "Formatter for Typst";
homepage = "https://github.com/antonWetzel/prettypst";
license = lib.licenses.mit;
mainProgram = "prettypst";
maintainers = with lib.maintainers; [ drupol ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -8,21 +8,19 @@
rustPlatform.buildRustPackage rec {
pname = "typst";
version = "0.9.0";
version = "0.10.0";
src = fetchFromGitHub {
owner = "typst";
repo = "typst";
rev = "v${version}";
hash = "sha256-LwRB/AQE8TZZyHEQ7kKB10itzEgYjg4R/k+YFqmutDc=";
hash = "sha256-qiskc0G/ZdLRZjTicoKIOztRFem59TM4ki23Rl55y9s=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"iai-0.1.1" = "sha256-EdNzCPht5chg7uF9O8CtPWR/bzSYyfYIXNdLltqdlR0=";
"oxipng-8.0.0" = "sha256-KIbSsQEjwJ12DxYpBTUD1g9CqJqCfSAmnFcSTiGIoio=";
"self-replace-1.3.5" = "sha256-N57nmLHgxhVR1CDtkgjYwpo1ypdGyVpjJY7vzuncxDc=";
};
};
@ -45,12 +43,12 @@ rustPlatform.buildRustPackage rec {
--zsh crates/typst-cli/artifacts/_typst
'';
meta = with lib; {
description = "A new markup-based typesetting system that is powerful and easy to learn";
homepage = "https://typst.app";
meta = {
changelog = "https://github.com/typst/typst/releases/tag/${src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ drupol figsoda kanashimia ];
description = "A new markup-based typesetting system that is powerful and easy to learn";
homepage = "https://github.com/typst/typst";
license = lib.licenses.asl20;
mainProgram = "typst";
maintainers = with lib.maintainers; [ drupol figsoda kanashimia ];
};
}

View File

@ -0,0 +1,13 @@
diff --git a/src/kwinscript/CMakeLists.txt b/src/kwinscript/CMakeLists.txt
index 9e2f7054..ed607027 100644
--- a/src/kwinscript/CMakeLists.txt
+++ b/src/kwinscript/CMakeLists.txt
@@ -39,7 +39,7 @@ endif()
set(ESBUILD_COMMAND
"esbuild" "--bundle" "${CMAKE_CURRENT_SOURCE_DIR}/index.ts"
"--outfile=${CMAKE_CURRENT_BINARY_DIR}/bismuth/contents/code/index.mjs"
- "--format=esm" "--platform=neutral")
+ "--format=esm" "--platform=neutral" "--target=es6")
if(USE_NPM)
list(PREPEND ESBUILD_COMMAND "npx")
endif()

View File

@ -21,6 +21,10 @@ mkDerivation rec {
sha256 = "sha256-c13OFEw6E/I8j/mqeLnuc9Chi6pc3+AgwAMPpCzh974=";
};
patches = [
./0001-esbuild-config.patch
];
cmakeFlags = [
"-DUSE_TSC=OFF"
"-DUSE_NPM=OFF"

View File

@ -12,6 +12,7 @@
{ baseName ? "elixir"
, version
, erlangPackage ? erlang
, minimumOTPVersion
, sha256 ? null
, rev ? "v${version}"
@ -23,7 +24,7 @@ let
inherit (lib) getVersion versionAtLeast optional concatStringsSep;
in
assert versionAtLeast (getVersion erlang) minimumOTPVersion;
assert versionAtLeast (getVersion erlangPackage) minimumOTPVersion;
stdenv.mkDerivation ({
pname = "${baseName}";
@ -31,7 +32,7 @@ stdenv.mkDerivation ({
inherit src version debugInfo;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ erlang ];
buildInputs = [ erlangPackage ];
LANG = "C.UTF-8";
LC_TYPE = "C.UTF-8";

View File

@ -74,6 +74,7 @@ builder rec {
patches = [
./eai_system.patch
./guile-hurd-posix-spawn.patch
] ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch
++ lib.optional stdenv.isDarwin
(fetchpatch {

View File

@ -0,0 +1,44 @@
Fix <https://issues.guix.gnu.org/61095>, which affects GNU/Hurd.
diff --git a/libguile/posix.c b/libguile/posix.c
index 3a8be94e4..f5fdc544c 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -1326,7 +1326,14 @@ static void
close_inherited_fds_slow (posix_spawn_file_actions_t *actions, int max_fd)
{
while (--max_fd > 2)
- posix_spawn_file_actions_addclose (actions, max_fd);
+ {
+ /* Adding invalid file descriptors to an 'addclose' action leads
+ to 'posix_spawn' failures on some operating systems:
+ <https://bugs.gnu.org/61095>. Hence the extra check. */
+ int flags = fcntl (max_fd, F_GETFD, NULL);
+ if ((flags >= 0) && ((flags & FD_CLOEXEC) == 0))
+ posix_spawn_file_actions_addclose (actions, max_fd);
+ }
}
static void
Fix <https://issues.guix.gnu.org/62501>.
diff --git a/test-suite/tests/posix.test b/test-suite/tests/posix.test
index f20e04453..d5cf47cda 100644
--- a/test-suite/tests/posix.test
+++ b/test-suite/tests/posix.test
@@ -431,7 +431,13 @@
(let ((str (get-string-all (car input+output))))
(close-port (car input+output))
(waitpid pid)
- str)))
+
+ ;; On GNU/Hurd, the exec server prepends 'LD_ORIGIN_PATH' for
+ ;; every program: <https://bugs.gnu.org/62501>. Strip it.
+ (if (and (string=? "GNU" (utsname:sysname (uname)))
+ (string-prefix? "LD_ORIGIN_PATH=" str))
+ (string-drop str (+ 1 (string-index str #\newline)))
+ str))))
(pass-if-equal "ls /proc/self/fd"
"0\n1\n2\n3\n" ;fourth FD is for /proc/self/fd

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "openmm";
version = "8.0.0";
version = "8.1.0";
src = fetchFromGitHub {
owner = "openmm";
repo = pname;
rev = version;
hash = "sha256-89ngeZHdjyL/OoGuQ+F5eaXE1/od0EEfIgw9eKdLtL8=";
hash = "sha256-uNAqjklgBWM2v2z6qu17ZMFO4gn3fsnYPxyGO++UtTw=";
};
# "This test is stochastic and may occassionally fail". It does.
@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
++ lib.optional enableCuda cudaPackages.cudatoolkit;
propagatedBuildInputs = lib.optionals enablePython (with python3Packages; [
setuptools
python
numpy
cython
@ -85,6 +86,7 @@ stdenv.mkDerivation rec {
cd python
${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py build
${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py install --prefix=$out
mv $out/lib/python*/site-packages/OpenMM*.egg/{openmm,simtk} $out/lib/python*/site-packages/.
'';
postFixup = ''

View File

@ -429,5 +429,15 @@ final: prev: {
# patch elf is trying to patch binary for sunos
rm -r $out/lib/node_modules/wrangler/node_modules/@esbuild/sunos-x64
'';
dependencies = oldAttrs.dependencies ++ lib.optional stdenv.isLinux ({
name = "_at_cloudflare_slash_workerd-linux-64";
packageName = "@cloudflare/workerd-linux-64";
# Should be same version as workerd
version = "1.20231030.0";
src = fetchurl {
url = "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231030.0.tgz";
sha512 = "2HUeRTvoCC17fxE0qdBeR7J9dO8j4A8ZbdcvY8pZxdk+zERU6+N03RTbk/dQMU488PwiDvcC3zZqS4gwLfVT8g==";
};
});
});
}

View File

@ -1,15 +1,11 @@
{ stdenv
{ buildDunePackage
, lib
, fetchFromGitHub
, which
, ocsigen_server
, ocaml
, lwt_react
, opaline
, ocamlbuild
, ppx_deriving
, ppx_optcomp
, findlib
, js_of_ocaml-ocamlbuild
, js_of_ocaml-ppx
, js_of_ocaml-ppx_deriving_json
@ -20,23 +16,19 @@
, ocsipersist
}:
stdenv.mkDerivation rec {
buildDunePackage rec {
pname = "eliom";
version = "10.1.0";
version = "10.1.2";
src = fetchFromGitHub {
owner = "ocsigen";
repo = "eliom";
rev = version;
hash = "sha256-nzrLl8adaRW6c+IQfJ7s+7KtFT8uU27Umyrv0aWXuxw=";
hash = "sha256-Cxwp534ADUO7AHnxZnGsrqxGDkhcJ314M5wytO4e8/0=";
};
nativeBuildInputs = [
ocaml
which
findlib
opaline
ocamlbuild
];
buildInputs = [
js_of_ocaml-ocamlbuild
@ -58,12 +50,6 @@ stdenv.mkDerivation rec {
strictDeps = true;
installPhase = ''
runHook preInstall
opaline -prefix $out -libdir $OCAMLFIND_DESTDIR
runHook postInstall
'';
setupHook = [ ./setup-hook.sh ];
meta = {

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "bluetooth-data-tools";
version = "1.15.0";
version = "1.17.0";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-8Gbw2vXqKvWo30QKExrmH7lUkZBg7zd3o2xWEqGxSBM=";
hash = "sha256-CJyTWNBtBk3YpoaiL1/P+aUE4ttthQDTdDuKBYEXrBg=";
};
# The project can build both an optimized cython version and an unoptimized

View File

@ -6,7 +6,7 @@
buildPythonPackage rec {
pname = "cheetah3";
version = "3.3.2";
version = "3.3.3";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -15,7 +15,7 @@ buildPythonPackage rec {
owner = "CheetahTemplate3";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-okQz1wM3k43okKcZDRgHAnn5ScL0Pe1OtUvDBScEamY=";
hash = "sha256-7L3SBMgNOOLAFvQST8I0gFlrya/6Lwp/umzolfJx3t4=";
};
doCheck = false; # Circular dependency

View File

@ -1,7 +1,6 @@
{ lib
, stdenv
, buildPythonPackage
, pythonAtLeast
, pythonOlder
, fetchFromGitHub
, duet
@ -84,17 +83,9 @@ buildPythonPackage rec {
"cirq/_version_test.py"
];
disabledTests = [
# Tries to import flynt, which isn't in Nixpkgs
"test_metadata_search_path"
# Fails due pandas MultiIndex. Maybe issue with pandas version in nix?
"test_benchmark_2q_xeb_fidelities"
# https://github.com/quantumlib/Cirq/pull/5991
"test_json_and_repr_data"
# Tests for some changed error handling behavior in SymPy 1.12
"test_custom_value_not_implemented"
# Calibration issue
"test_xeb_to_calibration_layer"
disabledTests = lib.optionals stdenv.isAarch64 [
# https://github.com/quantumlib/Cirq/issues/5924
"test_prepare_two_qubit_state_using_sqrt_iswap"
];
meta = with lib; {
@ -103,6 +94,5 @@ buildPythonPackage rec {
changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ drewrisinger fab ];
broken = (stdenv.isLinux && stdenv.isAarch64);
};
}

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "evohome-async";
version = "0.4.11";
version = "0.4.13";
pyproject = true;
disabled = pythonOlder "3.11";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "zxdavb";
repo = "evohome-async";
rev = "refs/tags/${version}";
hash = "sha256-mx4nBEgXeBxcN1pYZfTKPGbNhvSz8l38MyRRpL82lf0=";
hash = "sha256-Fa6OYI1oEG4oUkLaPgWmvNHtK6Iwal/4nBf9b54Ue+g=";
};
nativeBuildInputs = [
@ -44,5 +44,6 @@ buildPythonPackage rec {
homepage = "https://github.com/zxdavb/evohome-async";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
mainProgram = "evo-client";
};
}

View File

@ -0,0 +1,68 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, cython
, poetry-core
, setuptools
, wheel
, bleak
, pytestCheckHook
, bleak-retry-connector
, bluetooth-adapters
, bluetooth-auto-recovery
, bluetooth-data-tools
, home-assistant-bluetooth
, pythonOlder
}:
buildPythonPackage rec {
pname = "habluetooth";
version = "0.5.1";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "habluetooth";
rev = "refs/tags/v${version}";
hash = "sha256-olR900l/xJug5DeXb8CR0vQBzjzegdiCLCp6AIQu7Tg=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=habluetooth --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [
cython
poetry-core
setuptools
wheel
];
propagatedBuildInputs = [
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
home-assistant-bluetooth
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"habluetooth"
];
meta = with lib; {
description = "Library for high availability Bluetooth";
homepage = "https://github.com/Bluetooth-Devices/habluetooth";
changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "opower";
version = "0.0.39";
version = "0.0.40";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "tronikos";
repo = "opower";
rev = "refs/tags/v${version}";
hash = "sha256-5JcediHl2TeMhYa6OJqoW5K0SlAjdIrMwj2IHh3qW7I=";
hash = "sha256-0vk8LGqU3rOgjC8zXkijmIZG8inxwTw2IDneFfy5eQw=";
};
pythonRemoveDeps = [

View File

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "particle";
version = "0.23.0";
version = "0.23.1";
format = "pyproject";
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-2BD4/CfeuOf9ZBdAF9lgfVBSIknAlzoACOWA+T2xF1A=";
hash = "sha256-7uKLDoRr/qTf1w6exf/jJEYT2wi2tqm3c/VaQxB1L6s=";
};
postPatch = ''

View File

@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "peaqevcore";
version = "19.5.20";
version = "19.5.21";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-atrrPU9aQvpbI3JYdsnGkdRpq3SRuBJpezF1qc1USB0=";
hash = "sha256-MR+dPGap7IgdWV+bKLUU3E3lzoG+RaaspjqedMQMk5Y=";
};
postPatch = ''

View File

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "podman";
version = "4.8.0";
version = "4.8.0.post1";
pyproject = true;
disabled = pythonOlder "3.7";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "containers";
repo = "podman-py";
rev = "refs/tags/v${version}";
hash = "sha256-lw8ZW1Uh6pbL5Z15NBBgKFm1143rEyFdecBHsSwBYVo=";
hash = "sha256-d7rNXqYeeDHilzNc1jcIWq7rNcYZCvlf9ipu1m3oFfw=";
};
nativeBuildInputs = [

View File

@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "policyuniverse";
version = "1.5.1.20230817";
version = "1.5.1.20231109";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-eSCJYZWvFjIwY18aXO4JWPVgA++MQh+AXsgfE0+ApXw=";
hash = "sha256-dOVtQQVgkVwsUTLjYbATDkv/4xKi9FIw6sUNfAlLxAo=";
};
# Tests are not shipped and there are no GitHub tags

View File

@ -47,6 +47,6 @@ buildPythonPackage rec {
homepage = "https://github.com/pygeos/pygeos";
changelog = "https://github.com/pygeos/pygeos/blob/${version}/CHANGELOG.rst";
license = licenses.bsd3;
maintainers = with maintainers; [ nialov ];
maintainers = teams.geospatial.members;
};
}

View File

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pyngrok";
version = "7.0.1";
version = "7.0.3";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-wTK0DnsZBbB9nHMe8hUQjMl3sbv0RaFGiU4NSJshPrY=";
hash = "sha256-RNi0ivQKsLb/JD9+vdJYGf5HDC6BmeNdseR2OU8v1uY=";
};
propagatedBuildInputs = [

View File

@ -9,8 +9,8 @@
buildPythonPackage rec {
pname = "pysnmp-pysmi";
version = "1.1.10";
format = "pyproject";
version = "1.1.11";
pyproject = true;
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "pysnmp";
repo = "pysmi";
rev = "refs/tags/v${version}";
hash = "sha256-ZfN0nU9IurBEjSZijC2E4UoLIM54mBFgv7rcI1v/a4Q=";
hash = "sha256-qe99nLOyUvE6LJagtQ9whPF4zwIWiM7g5zn40QsmrmA=";
};
nativeBuildInputs = [
@ -40,6 +40,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "SNMP MIB parser";
homepage = "https://github.com/pysnmp/pysmi";
changelog = "https://github.com/pysnmp/pysmi/releases/tag/v${version}";
license = licenses.bsd2;
maintainers = with maintainers; [ fab ];
};

View File

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "python-google-nest";
version = "5.1.1";
version = "5.2.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-y3BOhorVkJ3rFPifNOopLMqk6y1fHX5vxHGiqWvWHhE=";
hash = "sha256-k7cOOyUqgh7Y/MIBgBTVgCZexXLVkvAaHz6irXGLdgA=";
};
propagatedBuildInputs = [

View File

@ -90,6 +90,11 @@ buildPythonPackage rec {
homepage = "https://github.com/Diaoul/subliminal";
changelog = "https://github.com/Diaoul/subliminal/blob/${version}/HISTORY.rst";
license = licenses.mit;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ doronbehar ];
# Too many tests fail ever since a certain python-updates merge, see:
# https://github.com/Diaoul/subliminal/issues/1062 . Disabling tests
# alltogether may produce a not completly failing executable, but that
# executable apparently isn't able to download subtitles at all.
broken = true;
};
}

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.1.20";
version = "3.1.21";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
rev = "refs/tags/${version}";
hash = "sha256-begNKHGFTxlDIG3+PNG+/zCw59dU8gvJcjrVsfaPPaE=";
hash = "sha256-R0O0C8IElTjAF+0QRWII6V1Zj/9df7pCxSzfKCKZ0OQ=";
};
patches = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "yq-go";
version = "4.40.3";
version = "4.40.4";
src = fetchFromGitHub {
owner = "mikefarah";
repo = "yq";
rev = "v${version}";
hash = "sha256-id8KhHOOpRruANLGxdHIvs86ZEIDzhdbXtgXqWtl5Tc=";
hash = "sha256-cEOOaQAduL9a+EwWigzPDN1ABM6wEjEc8dV4ESFkMXA=";
};
vendorHash = "sha256-9gLtVO4HFra1FaFjTwE02x8q1MkrI/Vo/mYZ2iIa7cU=";
vendorHash = "sha256-kFDW8HrBhSuflAbuC6Zs/61OLXPsfPQfYU7Laa7eK9c=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "nix-doc";
version = "0.6.2";
version = "0.6.4";
src = fetchFromGitHub {
rev = "v${version}";
owner = "lf-";
repo = "nix-doc";
sha256 = "sha256-H81U0gR/7oWjP1z7JC8tTek+tqzTwyJWgaJQOSyNn5M=";
sha256 = "sha256-yL0oG0NiQ7OdGQ/kZxQbSbNphKapu5HBFNP5E2fVe+Y=";
};
doCheck = true;
@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
RUSTFLAGS = "-Z relro-level=partial";
};
cargoSha256 = "sha256-yYVDToPLhGUYLrPNyyKwsYXe3QOTR26wtl3SCw4Za5s=";
cargoSha256 = "sha256-4bzLZt45ZLTZyZPZ4Nkvz7mNe4oqOIoaZUbCbNWBKG0=";
meta = with lib; {
description = "An interactive Nix documentation tool";

View File

@ -624,6 +624,7 @@ mapAliases ({
nitrokey-udev-rules = libnitrokey; # Added 2023-03-25
nix-direnv-flakes = nix-direnv;
nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10
nix-template-rpm = throw "'nix-template-rpm' has been removed as it is broken and unmaintained" ; # Added 2023-11-20
nixFlakes = nixVersions.stable; # Added 2021-05-21
nixStable = nixVersions.stable; # Added 2022-01-24
nixUnstable = nixVersions.unstable; # Added 2022-01-26

View File

@ -14250,8 +14250,6 @@ with pkgs;
typos = callPackage ../development/tools/typos { };
typst = callPackage ../tools/typesetting/typst { };
typstfmt = callPackage ../tools/typesetting/typstfmt { };
typst-live = callPackage ../tools/typesetting/typst-live { };
@ -34114,8 +34112,7 @@ with pkgs;
open-policy-agent = callPackage ../development/tools/open-policy-agent { };
openmm = callPackage ../development/libraries/science/chemistry/openmm {
stdenv = gcc11Stdenv;
gfortran = gfortran11;
swig = swig4;
};
openshift = callPackage ../applications/networking/cluster/openshift { };
@ -40768,8 +40765,6 @@ with pkgs;
nix-script = callPackage ../tools/nix/nix-script { };
nix-template-rpm = callPackage ../build-support/templaterpm { inherit (python2Packages) python toposort; };
nix-top = callPackage ../tools/package-management/nix-top { };
nix-tree = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-tree);

View File

@ -4951,6 +4951,8 @@ self: super: with self; {
habanero = callPackage ../development/python-modules/habanero { };
habluetooth = callPackage ../development/python-modules/habluetooth { };
habitipy = callPackage ../development/python-modules/habitipy { };
hachoir = callPackage ../development/python-modules/hachoir { };