Merge master into staging-next
This commit is contained in:
commit
4d8ab2a703
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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 ];
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 {};
|
||||
|
|
46
pkgs/applications/kde/kalgebra.nix
Normal file
46
pkgs/applications/kde/kalgebra.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"owner": "zammad",
|
||||
"repo": "zammad",
|
||||
"rev": "643aba6ba4ba66c6127038c8cc2cc7a20b912678",
|
||||
"hash": "sha256-vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=",
|
||||
"rev": "ec4ddb8ae6a55d1c8e64ab5ddda9ff3e9d4f45c8",
|
||||
"hash": "sha256-+AphZ0pKlXFdcncnDxeLdDL3OH2dyF0nb69+/W2dLgc=",
|
||||
"fetchSubmodules": true
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
|
|
|
@ -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 ]}"
|
||||
)
|
||||
'';
|
||||
|
||||
|
|
|
@ -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 = [];
|
||||
};
|
||||
}
|
|
@ -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()
|
||||
|
||||
|
38
pkgs/by-name/cg/cgl/package.nix
Normal file
38
pkgs/by-name/cg/cgl/package.nix
Normal 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;
|
||||
};
|
||||
})
|
45
pkgs/by-name/pe/perl-debug-adapter/package.nix
Normal file
45
pkgs/by-name/pe/perl-debug-adapter/package.nix
Normal 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
471
pkgs/by-name/pr/prettypst/Cargo.lock
generated
Normal 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",
|
||||
]
|
31
pkgs/by-name/pr/prettypst/package.nix
Normal file
31
pkgs/by-name/pr/prettypst/package.nix
Normal 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
|
@ -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 ];
|
||||
};
|
||||
}
|
13
pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-esbuild-config.patch
vendored
Normal file
13
pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-esbuild-config.patch
vendored
Normal 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()
|
|
@ -21,6 +21,10 @@ mkDerivation rec {
|
|||
sha256 = "sha256-c13OFEw6E/I8j/mqeLnuc9Chi6pc3+AgwAMPpCzh974=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-esbuild-config.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_TSC=OFF"
|
||||
"-DUSE_NPM=OFF"
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
|
@ -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 = ''
|
||||
|
|
|
@ -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==";
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
68
pkgs/development/python-modules/habluetooth/default.nix
Normal file
68
pkgs/development/python-modules/habluetooth/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in New Issue
Block a user