diff options
Diffstat (limited to 'pkgs/development')
49 files changed, 2026 insertions, 206 deletions
diff --git a/pkgs/development/interpreters/cel-go/default.nix b/pkgs/development/interpreters/cel-go/default.nix index d45abd4c0f4..821e8da2ee3 100644 --- a/pkgs/development/interpreters/cel-go/default.nix +++ b/pkgs/development/interpreters/cel-go/default.nix @@ -5,24 +5,18 @@ buildGoModule rec { pname = "cel-go"; - version = "0.18.1"; + version = "0.18.2"; src = fetchFromGitHub { owner = "google"; repo = "cel-go"; rev = "v${version}"; - hash = "sha256-eXltZkg5QjdCrL9sk2ngVtirSnjBBqk+OdNLY4QtVx4="; + hash = "sha256-c4MVOHkDaUGlRVYb9YS9BH4ld2zS3SR5efP6amLhTig="; }; modRoot = "repl"; - vendorHash = "sha256-kalTHpyMYrKZHayxNKLc8vtogiDKyyQLExOQhqp1MUY="; - - patches = [ - # repl/go.mod and repl/go.sum are outdated - # ran `go mod tidy` in the repl directory - ./go-mod-tidy.patch - ]; + vendorHash = "sha256-Oj/XUUmuj5scD5WT6zBxnU1hSapDyRBBz75rbIdY4Ho="; subPackages = [ "main" diff --git a/pkgs/development/interpreters/cel-go/go-mod-tidy.patch b/pkgs/development/interpreters/cel-go/go-mod-tidy.patch deleted file mode 100644 index a1f4f06ae83..00000000000 --- a/pkgs/development/interpreters/cel-go/go-mod-tidy.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- a/repl/go.mod -+++ b/repl/go.mod -@@ -6,16 +6,16 @@ require ( - github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230321174746-8dcc6526cfb1 - github.com/chzyer/readline v1.5.1 - github.com/google/cel-go v0.14.0 -- google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 -- google.golang.org/protobuf v1.30.0 -+ google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 -+ google.golang.org/protobuf v1.31.0 - ) - - require ( - github.com/stoewer/go-strcase v1.3.0 // indirect - golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect -- golang.org/x/sys v0.7.0 // indirect -+ golang.org/x/sys v0.8.0 // indirect - golang.org/x/text v0.9.0 // indirect -- google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect -+ google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect - ) - - replace github.com/google/cel-go => ../. ---- a/repl/go.sum -+++ b/repl/go.sum -@@ -26,18 +26,18 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o - golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= - golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= - golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= --golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= --golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -+golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= - golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= - golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= - golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= --google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ= --google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= --google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= --google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -+google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 h1:nIgk/EEq3/YlnmVVXVnm14rC2oxgs1o0ong4sD/rd44= -+google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= -+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 h1:eSaPbMR4T7WfH9FvABk36NBMacoTUKdWCvV0dx+KfOg= -+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I= - google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= --google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= --google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= - gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= - gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= - gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/pkgs/development/interpreters/expr/default.nix b/pkgs/development/interpreters/expr/default.nix index be783c6a041..cda9cc7b78e 100644 --- a/pkgs/development/interpreters/expr/default.nix +++ b/pkgs/development/interpreters/expr/default.nix @@ -5,18 +5,18 @@ buildGoModule rec { pname = "expr"; - version = "1.15.3"; + version = "1.15.4"; src = fetchFromGitHub { owner = "antonmedv"; repo = "expr"; rev = "v${version}"; - hash = "sha256-r+XlcDvCQarzh8wO3NL87PJThnioeVC73OZdJ8kW4RM="; + hash = "sha256-x96I6HHhm3RIrlg1/KVCIbFkelazGt0H2nk8juUWjKg="; }; sourceRoot = "${src.name}/repl"; - vendorHash = "sha256-WxYqP8L64U5MAYG7XTpKrRW1aaqGB4hJr+e/RKdb1lU="; + vendorHash = "sha256-ZVB6P0WdjyDK9OlEgKjR3D3IVBkDbDx9bOpLC/H2JLs="; ldflags = [ "-s" "-w" ]; diff --git a/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py new file mode 100644 index 00000000000..bb82900c65a --- /dev/null +++ b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py @@ -0,0 +1,30 @@ +import pkg_resources +import collections +import sys + +do_abort = False +packages = collections.defaultdict(list) + +for f in sys.path: + for req in pkg_resources.find_distributions(f): + if req not in packages[req.project_name]: + # some exceptions inside buildPythonPackage + if req.project_name in ['setuptools', 'pip', 'wheel']: + continue + packages[req.project_name].append(req) + + +for name, duplicates in packages.items(): + if len(duplicates) > 1: + do_abort = True + print("Found duplicated packages in closure for dependency '{}': ".format(name)) + for dup in duplicates: + print(" " + repr(dup)) + +if do_abort: + print("") + print( + 'Package duplicates found in closure, see above. Usually this ' + 'happens if two packages depend on different version ' + 'of the same dependency.') + sys.exit(1) diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index f7cc10274ae..0a4600b9d6c 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -106,9 +106,16 @@ in { pythonCatchConflictsHook = callPackage ({ makePythonHook, setuptools }: makePythonHook { name = "python-catch-conflicts-hook"; - substitutions = { + substitutions = let + useLegacyHook = lib.versionOlder python.version "3.10"; + in { inherit pythonInterpreter pythonSitePackages; - catchConflicts=../catch_conflicts/catch_conflicts.py; + catchConflicts = if useLegacyHook then + ../catch_conflicts/catch_conflicts_py2.py + else + ../catch_conflicts/catch_conflicts.py; + } // lib.optionalAttrs useLegacyHook { + inherit setuptools; }; } ./python-catch-conflicts-hook.sh) {}; diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 6d51b51b215..1a6f9c784cf 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -57,8 +57,7 @@ # Raise an error if two packages are installed with the same name # TODO: For cross we probably need a different PYTHONPATH, or not # add the runtime deps until after buildPhase. -# FIXME: disabled for Python 2 because broken -, catchConflicts ? false +, catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform) # Additional arguments to pass to the makeWrapper function, which wraps # generated binaries. diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix index fc7e541ceff..66ee788ca43 100644 --- a/pkgs/development/interpreters/rakudo/zef.nix +++ b/pkgs/development/interpreters/rakudo/zef.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "zef"; - version = "0.20.0"; + version = "0.21.0"; src = fetchFromGitHub { owner = "ugexe"; repo = "zef"; rev = "v${version}"; - sha256 = "sha256-IWOgbKYaWKjC2+dc2P3THAVy23F3iQXh2D6od/0e0Jw="; + sha256 = "sha256-QVUnn9G28epoUEcK8mwm8S2wDQ/tv5B3Zds7bTUFwlw="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/libraries/ada/xmlada/default.nix b/pkgs/development/libraries/ada/xmlada/default.nix index e80371e092e..77e8094277a 100644 --- a/pkgs/development/libraries/ada/xmlada/default.nix +++ b/pkgs/development/libraries/ada/xmlada/default.nix @@ -9,14 +9,14 @@ stdenv.mkDerivation rec { pname = "xmlada"; - version = "23.0.0"; + version = "24.0.0"; src = fetchFromGitHub { name = "xmlada-${version}-src"; owner = "AdaCore"; repo = "xmlada"; rev = "v${version}"; - sha256 = "sha256-covcSwlQQjRKTv0DdMEgahXXlch0TeKnvSyOsGO9+e0="; + sha256 = "sha256-vvM7bdf3dAa3zKgxbGeAGlBT6fvafzmleimJHyRdlvc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix index c9f6711780b..801ad7979ae 100644 --- a/pkgs/development/libraries/duckdb/default.nix +++ b/pkgs/development/libraries/duckdb/default.nix @@ -15,13 +15,13 @@ let in stdenv.mkDerivation rec { pname = "duckdb"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-UG/vV/6WxVLq9mdze8pSDFJIekOgGsg93dzMq6eP6Dg="; + hash = "sha256-QFK8mEMcqQwALFNvAdD8yWixwMYHSbeo6xqx86PvejU="; }; patches = [ ./version.patch ]; diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix index ca7a47d3638..73bc80ef9d5 100644 --- a/pkgs/development/libraries/imgui/default.nix +++ b/pkgs/development/libraries/imgui/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "imgui"; - version = "1.89.9"; + version = "1.90"; src = fetchFromGitHub { owner = "ocornut"; repo = "imgui"; rev = "v${version}"; - sha256 = "sha256-0k9jKrJUrG9piHNFQaBBY3zgNIKM23ZA879NY+MNYTU="; + sha256 = "sha256-rJMWCPVhho34NcPvJZaB5d6EbZkJyLXEfeotplOOaiA="; }; dontBuild = true; diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix index e6bf2a4c549..2518cecb9b6 100644 --- a/pkgs/development/libraries/oneDNN/default.nix +++ b/pkgs/development/libraries/oneDNN/default.nix @@ -9,13 +9,13 @@ # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn stdenv.mkDerivation (finalAttrs: { pname = "oneDNN"; - version = "3.3"; + version = "3.3.1"; src = fetchFromGitHub { owner = "oneapi-src"; repo = "oneDNN"; rev = "v${finalAttrs.version}"; - hash = "sha256-dC4Z1OvqIF8YhuSeVo+E0CohdXYIfkeTEw3/QuYA/90="; + hash = "sha256-br2ssI4MRk9O6u+5voBmxBZtmTFPKoJJe3ZEN2blq7Y="; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix index f6c49b9cfb6..63a86ed55b5 100644 --- a/pkgs/development/libraries/tracker-miners/default.nix +++ b/pkgs/development/libraries/tracker-miners/default.nix @@ -11,6 +11,7 @@ , gexiv2 , tracker , meson +, mesonEmulatorHook , ninja , pkg-config , vala @@ -68,6 +69,7 @@ stdenv.mkDerivation rec { docbook-xsl-nons docbook_xml_dtd_45 gettext + glib itstool libxslt meson @@ -75,6 +77,8 @@ stdenv.mkDerivation rec { pkg-config vala wrapGAppsNoGuiHook + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook ]; # TODO: add libenca, libosinfo @@ -83,7 +87,6 @@ stdenv.mkDerivation rec { dbus exempi giflib - glib gexiv2 totem-pl-parser tracker diff --git a/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch b/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch new file mode 100644 index 00000000000..54bc7f8dd3b --- /dev/null +++ b/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch @@ -0,0 +1,1412 @@ +commit 7dda09313a63c4c64563f582844d7b04302d94bd +Author: Yves Orton <demerphq@gmail.com> +Date: Wed Feb 22 13:28:01 2023 +0100 + + Replace apostrophe with :: as package separator + + In 5.37.9 this is deprecated, and in 5.40 it will be forbidden + +diff --git a/lib/CSS/DOM/Parser.pm b/lib/CSS/DOM/Parser.pm +index 473992c..d688f19 100644 +--- a/lib/CSS/DOM/Parser.pm ++++ b/lib/CSS/DOM/Parser.pm +@@ -369,7 +369,7 @@ sub _parse_at_rule { for (shift) { for my $tokens (shift) { + + $selector =~ s/s\z// and pop @selector; + +- require CSS'DOM'Rule; ++ require CSS::DOM::Rule; + (my $rule = new CSS::DOM::Rule $_[0]||()) + ->_set_tokens( + $selector,\@selector +@@ -413,7 +413,7 @@ sub _parse_at_rule { for (shift) { for my $tokens (shift) { + my ($types,@tokens) = ("\@$1",$at,splice @$tokens,0,$+[0]); + $types =~ /"/ and return; # ignore rules w/invalid strings + $types =~ s/s\z// and pop @tokens; +- require CSS'DOM'Rule; ++ require CSS::DOM::Rule; + (my $rule = new CSS::DOM::Rule $_[0]||()) + ->_set_tokens( + $types, \@tokens +diff --git a/lib/CSS/DOM/PropertyParser.pm b/lib/CSS/DOM/PropertyParser.pm +index 258158f..76b0d99 100644 +--- a/lib/CSS/DOM/PropertyParser.pm ++++ b/lib/CSS/DOM/PropertyParser.pm +@@ -6,8 +6,8 @@ use warnings; no warnings qw 'utf8 parenthesis'; + use strict; + + use constant 1.03 (); # multiple +-use CSS::DOM'Constants ':primitive', ':value'; +-use CSS'DOM'Util<unescape unescape_str unescape_url>; ++use CSS::DOM::Constants ':primitive', ':value'; ++use CSS::DOM::Util<unescape unescape_str unescape_url>; + + use constant old_perl => $] < 5.01; + { no strict 'refs'; delete ${__PACKAGE__.'::'}{old_perl} } +@@ -19,7 +19,7 @@ use constant old_perl => $] < 5.01; + use constant naughty_perl => 0+$] eq 5.01; + { no strict 'refs'; delete ${__PACKAGE__.'::'}{naughty_perl} } + +-*s2c = *CSS'DOM'Constants'SuffixToConst; ++*s2c = *CSS::DOM::Constants::SuffixToConst; + our %s2c; + + our %compiled; # compiled formats +@@ -60,7 +60,7 @@ sub clone { + # exists &dclone or require Storable, "Storable"->import('dclone'); + # return dclone($_[0]); + require Clone; +- return Clone'clone($_[0]); ++ return Clone::clone($_[0]); + } + + # Declare the variables that the re-evals use. Some nasty hacker went and +@@ -202,7 +202,7 @@ sub _make_arg_list { + my($stypes,$stokens) = _space_out($types, $tokens); + my $css = join "", @$stokens; + if(@_ == 1) { # list property +- my $list = shift @'_; ++ my $list = shift @_; + my $sep = @$list <= 1 ? '' : do { + my $range_start = $$list[0][4]; + my $range_end = $$list[1][4] - length($$list[1][4]) - 1; +@@ -301,7 +301,7 @@ sub _make_arg_list { + + sub _space_out { + my($types,$tokens) = @_; +-Carp'cluck() if ref $tokens ne 'ARRAY'; ++Carp::cluck() if ref $tokens ne 'ARRAY'; + $tokens = [@$tokens]; + my @posses; + $types =~ s/(?<=[^(f])(?![),]|\z)/ +@@ -328,7 +328,7 @@ sub _prep_val { + } + else { + require CSS::DOM::Parser; +- ($types, $tokens) = CSS::DOM::Parser'tokenise($_[0]); ++ ($types, $tokens) = CSS::DOM::Parser::tokenise($_[0]); + } + + # strip out all whitespace tokens +diff --git a/lib/CSS/DOM/Rule.pm b/lib/CSS/DOM/Rule.pm +index 921efb0..666fb08 100644 +--- a/lib/CSS/DOM/Rule.pm ++++ b/lib/CSS/DOM/Rule.pm +@@ -46,7 +46,7 @@ sub _parse { # This method parses the code passed to it and checks to see + # the rule data from the new rule. + my $self = shift; + require CSS::DOM::Parser; +- my $new_rule = CSS::DOM::Parser'parse_statement(shift) ++ my $new_rule = CSS::DOM::Parser::parse_statement(shift) + || die CSS::DOM::Exception->new(SYNTAX_ERR, $@); + + ref $new_rule eq ref $self or die CSS::DOM::Exception->new( +diff --git a/lib/CSS/DOM/Rule/Import.pm b/lib/CSS/DOM/Rule/Import.pm +index 1afdcdc..75c8505 100644 +--- a/lib/CSS/DOM/Rule/Import.pm ++++ b/lib/CSS/DOM/Rule/Import.pm +@@ -45,7 +45,7 @@ sub cssText { + sub href { + my $self =shift; + $self->[hrfe] ||= do { +- require CSS'DOM'Parser; ++ require CSS::DOM::Parser; + if($self->[urlt][00] eq 'u') { + # ~~~ I probably ought to put things like this in a + # Parser::token_val function. +@@ -53,10 +53,10 @@ sub href { + $url =~ s/^url\([ \t\r\n\f]*//; + $url =~ s/[ \t\r\n\f]*\)\z//; + $url =~ s/^['"]// and chop $url; +- CSS'DOM'Parser'unescape($url); ++ CSS::DOM::Parser::unescape($url); + } + else { +- CSS'DOM'Parser'unescape( ++ CSS::DOM::Parser::unescape( + substr $$self[urlt][1], 1, -1 + ) + } +diff --git a/lib/CSS/DOM/Rule/Style.pm b/lib/CSS/DOM/Rule/Style.pm +index dfa7501..54da057 100644 +--- a/lib/CSS/DOM/Rule/Style.pm ++++ b/lib/CSS/DOM/Rule/Style.pm +@@ -93,8 +93,8 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector? + + # tokenise if necessary + unless(ref $self->[selc]) { +- require CSS'DOM'Parser; +- $self->[selc] = [ CSS'DOM'tokenise($self->[selc]) ]; ++ require CSS::DOM::Parser; ++ $self->[selc] = [ CSS::DOM::tokenise($self->[selc]) ]; + } + + # parse selector tokens if necessary +@@ -130,7 +130,7 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector? + + # ids: + if($types =~ s/^#//) { +- push @subsel, '#', CSS'DOM'Util'unescape( substr shift @tokens, 1 ), ++ push @subsel, '#', CSS::DOM::Util::unescape( substr shift @tokens, 1 ), + undef; + } + +@@ -138,12 +138,12 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector? + elsif($types =~ /^di/ && $tokens[0] eq '.') { + $types =~ s/^..//; shift @tokens; + push @subsel, '~', 'class', +- CSS'DOM'Util'unescape( shift @tokens ); ++ CSS::DOM::Util::unescape( shift @tokens ); + } + + # pseudo-elems and classes + elsif($types =~ s/^(::?)i//) { +- push @subsel, $1,lc CSS'DOM'Util'unescape($tokens[length $1]), undef; ++ push @subsel, $1,lc CSS::DOM::Util::unescape($tokens[length $1]), undef; + splice @tokens, 0, $+[0]; + } + +@@ -151,14 +151,14 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector? + elsif($types =~ s/^:fi\)//) { + push @subsel, + ':', +- lc CSS'DOM'Util'unescape(substr $tokens[1], 0, -1), +- lc CSS'DOM'Util'unescape($tokens[2]); ++ lc CSS::DOM::Util::unescape(substr $tokens[1], 0, -1), ++ lc CSS::DOM::Util::unescape($tokens[2]); + splice @tokens, 0, 4; + } + + # [attr] + elsif($types =~ s/^\[i]//) { +- push @subsel, '=', lc CSS'DOM'Util'unescape($tokens[1]), undef; ++ push @subsel, '=', lc CSS::DOM::Util::unescape($tokens[1]), undef; + splice @tokens, 0, 3; + } + +@@ -166,16 +166,16 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector? + elsif($types =~ /^\[id']/ && $tokens[2] eq '=') { + $types =~ s/^.{5}//; + push @subsel, '=', +- lc CSS'DOM'Util'unescape($tokens[1]), +- CSS'DOM'Util'unescape_str($tokens[3]); ++ lc CSS::DOM::Util::unescape($tokens[1]), ++ CSS::DOM::Util::unescape_str($tokens[3]); + splice @tokens, 0, 5; + } + + # [attr~='value'], [attr|='value'] + elsif($types =~ s/^\[i[~|]']//) { + push @subsel, $tokens[2], +- lc CSS'DOM'Util'unescape($tokens[1]), +- CSS'DOM'Util'unescape_str($tokens[3]); ++ lc CSS::DOM::Util::unescape($tokens[1]), ++ CSS::DOM::Util::unescape_str($tokens[3]); + splice @tokens, 0, 5; + } + +diff --git a/lib/CSS/DOM/Style.pm b/lib/CSS/DOM/Style.pm +index 47d1291..b42b8db 100644 +--- a/lib/CSS/DOM/Style.pm ++++ b/lib/CSS/DOM/Style.pm +@@ -171,9 +171,9 @@ sub setProperty { + # short-circuit for the common case + length $value or $self->removeProperty($name),return; + +- require CSS'DOM'Parser; +- my @tokens = eval { CSS'DOM'Parser'tokenise_value($value); } +- or die CSS::DOM'Exception->new( SYNTAX_ERR, $@); ++ require CSS::DOM::Parser; ++ my @tokens = eval { CSS::DOM::Parser::tokenise_value($value); } ++ or die CSS::DOM::Exception->new( SYNTAX_ERR, $@); + + # check for whitespace/comment assignment + $tokens[0] =~ /^s+\z/ and $self->removeProperty($name),return; +diff --git a/lib/CSS/DOM/Value.pm b/lib/CSS/DOM/Value.pm +index 45f89e9..83b04e7 100644 +--- a/lib/CSS/DOM/Value.pm ++++ b/lib/CSS/DOM/Value.pm +@@ -7,9 +7,9 @@ use strict; + + use Carp; + use CSS::DOM::Constants; +-use CSS'DOM'Exception 'NO_MODIFICATION_ALLOWED_ERR'; ++use CSS::DOM::Exception 'NO_MODIFICATION_ALLOWED_ERR'; + use Exporter 5.57 'import'; +-use Scalar'Util < weaken reftype >; ++use Scalar::Util < weaken reftype >; + + use constant 1.03 our $_const = { + type => 0, +@@ -46,11 +46,11 @@ sub cssText { + ? $self->[valu] : 'inherit' + if defined wantarray; + if(@_) { +- die new CSS'DOM'Exception ++ die new CSS::DOM::Exception + NO_MODIFICATION_ALLOWED_ERR, + "Unowned value objects cannot be modified" + unless my $owner = $self->[ownr]; +- die new CSS'DOM'Exception ++ die new CSS::DOM::Exception + NO_MODIFICATION_ALLOWED_ERR, + "CSS::DOM::Value objects that do not know to which " + ."property they belong cannot be modified" +diff --git a/lib/CSS/DOM/Value/List.pm b/lib/CSS/DOM/Value/List.pm +index 85f5ef5..e681fa2 100644 +--- a/lib/CSS/DOM/Value/List.pm ++++ b/lib/CSS/DOM/Value/List.pm +@@ -2,8 +2,8 @@ package CSS::DOM::Value::List; + + $VERSION = '0.17'; + +-use CSS'DOM'Constants <CSS_VALUE_LIST NO_MODIFICATION_ALLOWED_ERR>; +-use Scalar'Util 'weaken'; ++use CSS::DOM::Constants <CSS_VALUE_LIST NO_MODIFICATION_ALLOWED_ERR>; ++use Scalar::Util 'weaken'; + + # Object of this class are hashes, with the following keys: + # c: CSS code +@@ -14,7 +14,7 @@ use Scalar'Util 'weaken'; + + sub DOES { + return 1 if $_[1] eq 'CSS::DOM::Value'; +- goto &UNIVERSAL'DOES if defined &UNIVERSAL'DOES; ++ goto &UNIVERSAL::DOES if defined &UNIVERSAL::DOES; + } + + use overload +@@ -37,14 +37,14 @@ sub cssText { + if(defined wantarray) {{ + if(!defined $$self{c} || grep ref ne 'ARRAY', @{$$self{v}}) { + @{$$self{v}} or $old = 'none', last; +- require CSS'DOM'Value'Primitive; ++ require CSS::DOM::Value::Primitive; + my @args; my $index = 0; + for(@{$$self{v}}) { + next unless ref eq 'ARRAY'; + @args or @args = ( + (owner => property => @$self{<o p>})[0,2,1,3], index => $index + ); +- $_ = new CSS'DOM'Value'Primitive @$_, @args; ++ $_ = new CSS::DOM::Value::Primitive @$_, @args; + } + no warnings 'uninitialized'; + $old = join length $$self{s} ? $$self{s} : ' ', +@@ -53,11 +53,11 @@ sub cssText { + else { $old = $$self{c} } + }} + if(@_) { # assignment +- die new CSS'DOM'Exception ++ die new CSS::DOM::Exception + NO_MODIFICATION_ALLOWED_ERR, + "Unowned value objects cannot be modified" + unless my $owner = $self->{o}; +- die new CSS'DOM'Exception ++ die new CSS::DOM::Exception + NO_MODIFICATION_ALLOWED_ERR, + "CSS::DOM::Value objects that do not know to which " + ."property they belong cannot be modified" +@@ -67,8 +67,8 @@ sub cssText { + my @arsg + = $owner->property_parser->match($prop, $_[0]) + ) { +- require CSS'DOM'Value; +- CSS'DOM'Value::_apply_args_to_self($self,$owner,$prop,@arsg); ++ require CSS::DOM::Value; ++ CSS::DOM::Value::_apply_args_to_self($self,$owner,$prop,@arsg); + } + + if(my $mh = $owner->modification_handler) { +@@ -89,8 +89,8 @@ sub item { + defined or return; + ref eq 'ARRAY' or return exit die return $_; + +- require CSS'DOM'Value'Primitive; +- return $_ = new CSS'DOM'Value'Primitive ++ require CSS::DOM::Value::Primitive; ++ return $_ = new CSS::DOM::Value::Primitive + @$_, + (owner => property => @$self{<o p>})[0,2,1,3], + index => $index; +diff --git a/lib/CSS/DOM/Value/Primitive.pm b/lib/CSS/DOM/Value/Primitive.pm +index 2ce0e9d..2046ff4 100644 +--- a/lib/CSS/DOM/Value/Primitive.pm ++++ b/lib/CSS/DOM/Value/Primitive.pm +@@ -17,7 +17,7 @@ use Exporter 5.57 'import'; + + sub DOES { + return 1 if $_[1] eq 'CSS::DOM::Value'; +- goto &UNIVERSAL'DOES if defined &UNIVERSAL'DOES; ++ goto &UNIVERSAL::DOES if defined &UNIVERSAL::DOES; + } + + use constant 1.03 our $_const = { # Don’t conflict with the superclass! +@@ -203,8 +203,8 @@ sub cssText { + }} + } + if(@_) { +- require CSS'DOM'Exception, +- die new CSS'DOM'Exception ++ require CSS::DOM::Exception, ++ die new CSS::DOM::Exception + NO_MODIFICATION_ALLOWED_ERR, + "Unowned value objects cannot be modified" + unless my $owner = $self->[ownr]; +@@ -213,15 +213,15 @@ sub cssText { + # deal with formats + if(my $format = $$self[form]) { + if(!our $parser) { +- require CSS'DOM'PropertyParser; ++ require CSS::DOM::PropertyParser; + add_property{ +- $parser = new CSS'DOM'PropertyParser ++ $parser = new CSS::DOM::PropertyParser + } _=>our $prop_spec = {}; + } + our $prop_spec->{format} = $format; + if(my @args = match { our $parser } _=> shift) { +- require CSS'DOM'Value; +- CSS'DOM'Value'_apply_args_to_self( ++ require CSS::DOM::Value; ++ CSS::DOM::Value::_apply_args_to_self( + $self, $owner, $prop, + @args, format => $format, + ); +@@ -231,8 +231,8 @@ sub cssText { + # This is never reached, at least not when CSS::DOM’s mod- + # ules call the constructor: + elsif(!defined $prop) { +- require CSS'DOM'Exception, +- die new CSS'DOM'Exception ++ require CSS::DOM::Exception, ++ die new CSS::DOM::Exception + NO_MODIFICATION_ALLOWED_ERR, + ref($self) . " objects that do not know to which " + ."property they belong cannot be modified" +@@ -263,8 +263,8 @@ sub cssText { + $index+1..$length-1 + ), + ); +- require CSS'DOM'Value; +- CSS'DOM'Value'_load_if_necessary($arsg[1]); ++ require CSS::DOM::Value; ++ CSS::DOM::Value::_load_if_necessary($arsg[1]); + my $list = $arsg[1]->new( + owner => $owner, + property => $prop, +@@ -284,8 +284,8 @@ sub cssText { + my @arsg + = $owner->property_parser->match($prop, $_[0]) + ) { +- require CSS'DOM'Value; +- CSS'DOM'Value'_apply_args_to_self( ++ require CSS::DOM::Value; ++ CSS::DOM::Value::_apply_args_to_self( + $self, $owner, $prop, @arsg + ); + } +@@ -341,10 +341,10 @@ sub cssValueType { CSS::DOM::Value::CSS_PRIMITIVE_VALUE } + sub primitiveType { shift->[type] } + + sub setFloatValue { +- my ($self,$type,$val) = @'_; ++ my ($self,$type,$val) = @_; + +- require CSS'DOM'Exception, +- die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Invalid value type" ++ require CSS::DOM::Exception, ++ die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Invalid value type" + if $type == CSS_UNKNOWN || $type == CSS_COUNTER + || $type == CSS_RECT || $type == CSS_RGBCOLOR || $type == CSS_DIMENSION; + +@@ -352,8 +352,8 @@ sub setFloatValue { + # using this API. + no warnings 'numeric'; + $self->cssText(my $css = _serialise($type, $val)); +- require CSS'DOM'Exception, +- die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Invalid value: $css" ++ require CSS::DOM::Exception, ++ die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Invalid value: $css" + if $self->cssText ne $css; + _: + } +@@ -364,8 +364,8 @@ sub getFloatValue { + # There are more types that are numbers than are not, so we + # invert our list. + my $type = $self->[type]; +- require CSS'DOM'Exception, +- die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Not a numeric value" ++ require CSS::DOM::Exception, ++ die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Not a numeric value" + if $type == CSS_UNKNOWN || $type == CSS_STRING || $type == CSS_URI + || $type == CSS_IDENT || $type == CSS_ATTR || $type == CSS_COUNTER + || $type == CSS_RECT || $type == CSS_RGBCOLOR; +@@ -380,8 +380,8 @@ sub getStringValue { + my $self = shift; + + my $type = $self->[type]; +- require CSS'DOM'Exception, +- die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Not a string value" ++ require CSS::DOM::Exception, ++ die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Not a string value" + unless $type == CSS_STRING || $type == CSS_URI + || $type == CSS_IDENT || $type == CSS_ATTR; + +diff --git a/t/CSS2Properties.t b/t/CSS2Properties.t +index 315321b..13fc438 100644 +--- a/t/CSS2Properties.t ++++ b/t/CSS2Properties.t +@@ -3,8 +3,8 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; +-sub tests'import { $tests += pop if @_ > 1 }; ++sub tests::VERSION { $tests += pop }; ++sub tests::import { $tests += pop if @_ > 1 }; + use Test::More; + plan tests => $tests; + +diff --git a/t/CSSCharsetRule.t b/t/CSSCharsetRule.t +index 92a8e74..fc3dba5 100644 +--- a/t/CSSCharsetRule.t ++++ b/t/CSSCharsetRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -13,7 +13,7 @@ use_ok 'CSS::DOM::Rule::Charset',; + + require CSS::DOM; + my $rule = ( +- my $ss = CSS::DOM'parse( ++ my $ss = CSS::DOM::parse( + '@charset "utf-8";' + ) + )-> cssRules->[0]; +diff --git a/t/CSSFontFaceRule.t b/t/CSSFontFaceRule.t +index 9f4879e..abd5b6c 100644 +--- a/t/CSSFontFaceRule.t ++++ b/t/CSSFontFaceRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -13,7 +13,7 @@ use_ok 'CSS::DOM::Rule::FontFace',; + + require CSS::DOM; + my $rule = ( +- my $ss = CSS::DOM'parse( ++ my $ss = CSS::DOM::parse( + '@font-face { font-family: "foo";src:url(bar) }' + ) + )-> cssRules->[0]; +diff --git a/t/CSSImportRule.t b/t/CSSImportRule.t +index 6ec65ef..c8a6a51 100644 +--- a/t/CSSImportRule.t ++++ b/t/CSSImportRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -15,7 +15,7 @@ use_ok 'CSS::DOM::Rule::Import'; + + require CSS::DOM; + my $rule = ( +- my $ss = CSS::DOM'parse( ++ my $ss = CSS::DOM::parse( + '@import "foo.css" tv, screen' + ) + )-> cssRules->[0]; +@@ -95,7 +95,7 @@ use tests 5; # styleSheet + 'foo.css' => '@import "bar.css"', + 'bar.css' => 'a { color: blue }', + ); +- is CSS'DOM'parse('@import "foo.css',url_fetcher=>sub{$urls{$_[0]}}) ++ is CSS::DOM::parse('@import "foo.css',url_fetcher=>sub{$urls{$_[0]}}) + ->cssRules->[0]->styleSheet + ->cssRules->[0]->styleSheet + ->cssRules->[0]->style->color, +diff --git a/t/CSSMediaRule.t b/t/CSSMediaRule.t +index fffa7fb..9d01698 100644 +--- a/t/CSSMediaRule.t ++++ b/t/CSSMediaRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -15,7 +15,7 @@ use_ok 'CSS::DOM::Rule::Media'; + + require CSS::DOM; + my $rule = ( +- my $ss = CSS::DOM'parse( ++ my $ss = CSS::DOM::parse( + '@media print { body { background: none } }' + ) + )-> cssRules->[0]; +@@ -133,4 +133,4 @@ use tests 4; # deleteRule + cmp_ok $@, '==', CSS::DOM::Exception::INDEX_SIZE_ERR, + 'error raised by deleteRule'; + +-} +\ No newline at end of file ++} +diff --git a/t/CSSPageRule.t b/t/CSSPageRule.t +index 108923e..764e1a1 100644 +--- a/t/CSSPageRule.t ++++ b/t/CSSPageRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -14,7 +14,7 @@ use_ok 'CSS::DOM::Rule::Page',; + + require CSS::DOM; + my $rule = ( +- my $ss = CSS::DOM'parse( '@page:first{ margin-top: 3in }') ++ my $ss = CSS::DOM::parse( '@page:first{ margin-top: 3in }') + )-> cssRules->[0]; + + use tests 1; # isa +diff --git a/t/CSSPrimitiveValue.t b/t/CSSPrimitiveValue.t +index 5b30046..ad378f7 100644 +--- a/t/CSSPrimitiveValue.t ++++ b/t/CSSPrimitiveValue.t +@@ -4,8 +4,8 @@ use strict; use warnings; + no warnings<utf8 parenthesis regexp once qw bareword syntax>; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; +-sub tests'import { $tests += pop if @_ > 1 }; ++sub tests::VERSION { $tests += pop }; ++sub tests::import { $tests += pop if @_ > 1 }; + use Test::More; + plan tests => $tests; + +@@ -441,9 +441,9 @@ for(CSS::DOM::Value::Primitive->new( + # ------------------------------------------ + # Tests for setFloatValue and setStringValue + +-use CSS'DOM'Style; ++use CSS::DOM::Style; + require CSS::DOM::PropertyParser; +-my $s = new CSS'DOM'Style ++my $s = new CSS::DOM::Style + property_parser => $CSS::DOM::PropertyParser::Default; + + for my $meth ('setFloatValue' ,'setStringValue'){ +diff --git a/t/CSSRule.t b/t/CSSRule.t +index b33007c..582eb04 100644 +--- a/t/CSSRule.t ++++ b/t/CSSRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -24,7 +24,7 @@ use tests 7; # constants + + + require CSS::DOM; +-my $ss = CSS::DOM'parse( 'a{text-decoration: none} p { margin: 0 }'); ++my $ss = CSS::DOM::parse( 'a{text-decoration: none} p { margin: 0 }'); + my $rule = cssRules $ss ->[0]; + + use tests 1; # isa +diff --git a/t/CSSRuleList.t b/t/CSSRuleList.t +index bc2bfaf..5cee6f6 100644 +--- a/t/CSSRuleList.t ++++ b/t/CSSRuleList.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/CSSStyleDeclaration-setProperty.t b/t/CSSStyleDeclaration-setProperty.t +index cceb993..d0615b7 100644 +--- a/t/CSSStyleDeclaration-setProperty.t ++++ b/t/CSSStyleDeclaration-setProperty.t +@@ -7,7 +7,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/CSSStyleDeclaration.t b/t/CSSStyleDeclaration.t +index 57bfe98..7bcc370 100644 +--- a/t/CSSStyleDeclaration.t ++++ b/t/CSSStyleDeclaration.t +@@ -3,7 +3,7 @@ + use strict; use warnings; no warnings qw 'utf8 parenthesis regexp once qw'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -26,7 +26,7 @@ use tests 3; # first make sure we can use it without loading CSS::DOM + + + require CSS::DOM; +-my $ss = CSS::DOM'parse ('a{text-decoration: none} p { margin: 0 }'); ++my $ss = CSS::DOM::parse ('a{text-decoration: none} p { margin: 0 }'); + my $rule = cssRules $ss ->[0]; + my $decl = $rule->style; + +@@ -105,7 +105,7 @@ like $decl->cssText, qr/color: blue !very\\ important/, + + use tests 4; # length + { +- my $decl = new CSS'DOM'Style; ++ my $decl = new CSS::DOM::Style; + is eval { $decl->length }, 0, # This used to die [RT #54810] + 'length when no properties have been added'; # (fixed in 0.09). + $decl = CSS::DOM::Style::parse( +diff --git a/t/CSSStyleRule.t b/t/CSSStyleRule.t +index 024012b..fb550da 100644 +--- a/t/CSSStyleRule.t ++++ b/t/CSSStyleRule.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -14,7 +14,7 @@ use_ok 'CSS::DOM::Rule::Style',; + + require CSS::DOM; + my $rule = ( +- my $ss = CSS::DOM'parse('a{text-decoration: none} p { margin: 0 }') ++ my $ss = CSS::DOM::parse('a{text-decoration: none} p { margin: 0 }') + )-> cssRules->[0]; + + use tests 1; # isa +diff --git a/t/CSSStyleSheet-insertRule.t b/t/CSSStyleSheet-insertRule.t +index 3302966..94b3ee7 100644 +--- a/t/CSSStyleSheet-insertRule.t ++++ b/t/CSSStyleSheet-insertRule.t +@@ -7,7 +7,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -19,4 +19,3 @@ ok eval{$ss->insertRule('a{ color: red }',0);1}, + 'insertRule on empty style sheet doesn\'t die'; + # At one point during development, it did die because it was call- + # ing methods on CSS::DOM::RuleParser which hadn’t been loaded. +- +diff --git a/t/CSSStyleSheet.t b/t/CSSStyleSheet.t +index ab82e6a..40b3edf 100644 +--- a/t/CSSStyleSheet.t ++++ b/t/CSSStyleSheet.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -30,7 +30,7 @@ use tests 3; # (_set_)ownerRule + + use tests 2; # cssRules + { +- $ss = CSS::DOM'parse( 'a{text-decoration: none} p { margin: 0 }'); ++ $ss = CSS::DOM::parse( 'a{text-decoration: none} p { margin: 0 }'); + is +()=$ss->cssRules, 2, 'cssRules in list context'; + isa_ok my $rules = cssRules $ss, 'CSS::DOM::RuleList', + 'cssRules in scalar context'; +@@ -38,7 +38,7 @@ use tests 2; # cssRules + + use tests 11; # insertRule + { +- $ss = CSS::DOM'parse ('a{text-decoration: none} p { margin: 0 }'); ++ $ss = CSS::DOM::parse ('a{text-decoration: none} p { margin: 0 }'); + + is $ss->insertRule('b { font-weight: bold }', 0), 0, + 'retval of insertRule'; +@@ -70,7 +70,7 @@ use tests 11; # insertRule + + use tests 4; # deleteRule + { +- $ss = CSS::DOM'parse ('a{text-decoration: none} p { margin: 0 } ++ $ss = CSS::DOM::parse ('a{text-decoration: none} p { margin: 0 } + i {}'); + is +()=$ss->deleteRule(1), 0, 'retval of deleteRule'; + is_deeply [map $_->selectorText, $ss->cssRules], [qw/ a i /], +@@ -82,4 +82,4 @@ use tests 4; # deleteRule + cmp_ok $@, '==', CSS::DOM::Exception::INDEX_SIZE_ERR, + 'error raised by deleteRule'; + +-} +\ No newline at end of file ++} +diff --git a/t/CSSValue-prim-cssText.t b/t/CSSValue-prim-cssText.t +index 09f657b..b19836a 100644 +--- a/t/CSSValue-prim-cssText.t ++++ b/t/CSSValue-prim-cssText.t +@@ -6,7 +6,7 @@ + use strict; use warnings; no warnings qw 'qw regexp once utf8 parenthesis'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/CSSValue.t b/t/CSSValue.t +index 5fad855..f5a04d0 100644 +--- a/t/CSSValue.t ++++ b/t/CSSValue.t +@@ -3,7 +3,7 @@ + use strict; use warnings; no warnings qw 'qw regexp once utf8 parenthesis'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -38,7 +38,7 @@ isa_ok +CSS::DOM::Value->new(type => &CSS_CUSTOM, value => "top left"), + + require CSS::DOM::Style; + require CSS::DOM::PropertyParser; +-my $s = new CSS'DOM'Style ++my $s = new CSS::DOM::Style + property_parser => my $spec = $CSS::DOM::PropertyParser::Default; + + # The default parser has no properties with a simple string, attr or +diff --git a/t/CSSValueList.t b/t/CSSValueList.t +index 1805209..25c1bec 100644 +--- a/t/CSSValueList.t ++++ b/t/CSSValueList.t +@@ -3,17 +3,17 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +-use CSS'DOM'Constants ':primitive'; +-use CSS'DOM'Value'List; ++use CSS::DOM::Constants ':primitive'; ++use CSS::DOM::Value::List; + + use tests 1; # DOES +-ok +CSS'DOM'Value'List->DOES('CSS::DOM::Value'), 'DOES'; ++ok +CSS::DOM::Value::List->DOES('CSS::DOM::Value'), 'DOES'; + +-my $v = new CSS'DOM'Value'List values => [ ++my $v = new CSS::DOM::Value::List values => [ + [ type => CSS_STRING, value => 'sphed' ], + [ type => CSS_STRING, value => 'flit' ], + ]; +diff --git a/t/MediaList.t b/t/MediaList.t +index 3092c62..0888d61 100644 +--- a/t/MediaList.t ++++ b/t/MediaList.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/RGBColor.t b/t/RGBColor.t +index 3758529..12d2938 100644 +--- a/t/RGBColor.t ++++ b/t/RGBColor.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/Rect.t b/t/Rect.t +index e7f83a4..ea8f046 100644 +--- a/t/Rect.t ++++ b/t/Rect.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -25,4 +25,4 @@ use tests 4; + is $v->left->cssText, '4cm', 'left'; + } + +-# ~~~ test for modifications of the cssText property +\ No newline at end of file ++# ~~~ test for modifications of the cssText property +diff --git a/t/StyleSheet.t b/t/StyleSheet.t +index a4469fb..e84e7d4 100644 +--- a/t/StyleSheet.t ++++ b/t/StyleSheet.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -55,7 +55,7 @@ use tests 1; # (set_)href + + use tests 1; # title + { +- sub foo'attr { return shift->{+shift} } ++ sub foo::attr { return shift->{+shift} } + $ss->set_ownerNode(my $foo = bless {title => 'tilde'}, 'foo'); + is $ss->title, 'tilde', 'title'; + } +diff --git a/t/StyleSheetList.t b/t/StyleSheetList.t +index 8e8c7cf..745f894 100644 +--- a/t/StyleSheetList.t ++++ b/t/StyleSheetList.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/charset.t b/t/charset.t +index eed053e..1666157 100644 +--- a/t/charset.t ++++ b/t/charset.t +@@ -3,7 +3,7 @@ + use strict; use warnings; no warnings qw 'utf8 parenthesis'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/css-dom-interface.t b/t/css-dom-interface.t +index 41bca29..76e5f2f 100644 +--- a/t/css-dom-interface.t ++++ b/t/css-dom-interface.t +@@ -6,7 +6,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/css-dom-style.t b/t/css-dom-style.t +index f852f6f..9a6582f 100644 +--- a/t/css-dom-style.t ++++ b/t/css-dom-style.t +@@ -6,13 +6,13 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + + use tests 4; # modification_handler + require CSS::DOM::Style; +-my $style = CSS::DOM::Style'parse('margin-top: 2px'); ++my $style = CSS::DOM::Style::parse('margin-top: 2px'); + $style->modification_handler(sub { ++$}; ${{} .= shift}); + $style->cssText('margin-bottom: 600%'); + is $}, 1, 'cssText triggers mod hander'; +@@ -25,4 +25,3 @@ is $}, 3, 'AUTOLOAD triggers the handler'; + # ~~~ We also needs tests for modification_handler triggered by: + # • removeProperty + # • modifications to CSSValue objects and their sub-objects (RGBColor etc +- +diff --git a/t/css-dom-util.t b/t/css-dom-util.t +index 5dbef09..554cd1b 100644 +--- a/t/css-dom-util.t ++++ b/t/css-dom-util.t +@@ -3,7 +3,7 @@ + use strict; use warnings; no warnings qw 'utf8 parenthesis'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +diff --git a/t/css-dom.t b/t/css-dom.t +index e36a046..d43d458 100644 +--- a/t/css-dom.t ++++ b/t/css-dom.t +@@ -3,7 +3,7 @@ + use strict; use warnings; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -28,7 +28,7 @@ use tests 1; # compute_style + local $SIG{__WARN__} = sub { $w .= shift }; + require CSS::DOM::Style; + my $elem = bless{ +- style => CSS'DOM'Style'parse('color:red'), tagName => 'p', ++ style => CSS::DOM::Style::parse('color:red'), tagName => 'p', + }, MyElem=>; + CSS::DOM::compute_style(element => $elem); + is $w, undef, 'no warnings for style belonging to element itself'; +diff --git a/t/parser-rules.t b/t/parser-rules.t +index 16cb536..7387caf 100644 +--- a/t/parser-rules.t ++++ b/t/parser-rules.t +@@ -8,7 +8,7 @@ + use strict; use warnings; no warnings qw 'utf8 parenthesis'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -35,7 +35,7 @@ use tests 2; # miscellaneous CSS::DOM::parse stuff + + use tests 7; # <!-- --> + { +- my $sheet = CSS'DOM'parse ' ++ my $sheet = CSS::DOM::parse ' + <!-- /* --> /* /**/ + @at-rule {/*<!--*/ } <!-- + --> +@@ -46,9 +46,9 @@ use tests 7; # <!-- --> + '@at-rule {/*<!--*/ }' . "\n" . + "{ style: rule }\n", + '<!-- -->'; +- CSS'DOM'parse 'a { --> }'; ++ CSS::DOM::parse 'a { --> }'; + ok $@, 'invalid -->'; +- CSS'DOM'parse 'a { <!-- }'; ++ CSS::DOM::parse 'a { <!-- }'; + ok $@, 'invalid <!--'; + ok !eval{$sheet->insertRule('--> a { }');1}, + 'invalid --> before statement'; +@@ -62,7 +62,7 @@ use tests 7; # <!-- --> + + use tests 5; # single statement parser + { +- my $sheet = new CSS'DOM; ++ my $sheet = new CSS::DOM; + $sheet->insertRule('phoo { bar : baz} ',0); + isa_ok cssRules$sheet->[0], 'CSS::DOM::Rule::Style', + 'ruleset created by insertRule'; +@@ -79,36 +79,36 @@ use tests 5; # single statement parser + + use tests 9; # styledecl parser + { +- my $style = CSS'DOM'Style'parse ' foo : bar '; ++ my $style = CSS::DOM::Style::parse ' foo : bar '; + is $style->cssText, 'foo: bar', 'style parser'; +- CSS'DOM'Style'parse 'foo: bar}'; ++ CSS::DOM::Style::parse 'foo: bar}'; + ok $@, 'style parser chokes on }'; +- is CSS'DOM'Style'parse ' ; ;;;;;foo : bar ;;;; ; ',->cssText, ++ is CSS::DOM::Style::parse ' ; ;;;;;foo : bar ;;;; ; ',->cssText, + 'foo: bar', 'style wit extra semicolons'; +- is CSS'DOM'Style'parse 'foo:bar',->cssText, ++ is CSS::DOM::Style::parse 'foo:bar',->cssText, + 'foo: bar', 'style with no space'; +- is CSS'DOM'Style'parse 'foo:bar;;;baz:bonk;;',->cssText, ++ is CSS::DOM::Style::parse 'foo:bar;;;baz:bonk;;',->cssText, + 'foo: bar; baz: bonk', + 'style with no space & extra semicolons'; +- is CSS'DOM'Style'parse 'foo:bar;;;!baz:bonk;;',->cssText, ++ is CSS::DOM::Style::parse 'foo:bar;;;!baz:bonk;;',->cssText, + 'foo: bar', + 'style with delimiter+ident for property name'; +- is CSS'DOM'Style'parse '\70\41 dding:0;;;;;',->cssText, ++ is CSS::DOM::Style::parse '\70\41 dding:0;;;;;',->cssText, + 'padding: 0', + 'style with escaped property name'; + +- is CSS'DOM'Style'parse '\a\z\A\Z\)\a a :bar', ++ is CSS::DOM::Style::parse '\a\z\A\Z\)\a a :bar', + ->getPropertyValue("\nz\nZ)\na"), 'bar', + 'style with both kinds of ident escapes'; + + { package Phoo; use overload '""'=>sub{'foo:bar'}} +- is CSS'DOM'Style'parse(bless [], 'Phoo')->cssText, 'foo: bar', ++ is CSS::DOM::Style::parse(bless [], 'Phoo')->cssText, 'foo: bar', + '::Style::parse\'s force stringification'; + } + + use tests 121; # @media + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@media print{a{color:blue}}',0); + isa_ok $rule=pop@{$sheet->cssRules}, 'CSS::DOM::Rule::Media', +@@ -464,7 +464,7 @@ use tests 121; # @media + is $rule->cssText, "\@meDIa { }\n", + 'serialised empty unclosed fake @meDIa rule w/ws'; + +- $sheet = CSS'DOM'parse ' ++ $sheet = CSS::DOM::parse ' + @media print { a { color: blue } "stuff"} + td { padding: 0 } + '; +@@ -496,7 +496,7 @@ use tests 121; # @media + + use tests 1; # bracket closure + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@unknown {(rect([',0); + is +($rule=pop@{$sheet->cssRules})->cssText, +@@ -506,7 +506,7 @@ use tests 1; # bracket closure + + use tests 14; # @page + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@page{color:blue}',0); + is +($rule=pop@{$sheet->cssRules})->type, PAGE_RULE, +@@ -553,7 +553,7 @@ use tests 14; # @page + + use tests 6; # unrecognised at-rules + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@unknown \ / \ / :-P {...}',0); + is +($rule=pop@{$sheet->cssRules})->type, UNKNOWN_RULE, +@@ -579,7 +579,7 @@ use tests 6; # unrecognised at-rules + + use tests 6; # ruselet pasrer + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('a{text-decoration:none;color:blue}',0); + is +($rule=pop@{$sheet->cssRules})->type, STYLE_RULE, +@@ -605,7 +605,7 @@ use tests 6; # ruselet pasrer + + use tests 1; # invaldi strings + { +- my $sheet = CSS'DOM'parse q* ++ my $sheet = CSS::DOM::parse q* + p { + color: green; + font-family: 'Courier New Times +@@ -634,51 +634,51 @@ use tests 1; # invaldi strings + + use tests 10; # invalid closing brackets + { +- is CSS'DOM'parse q" @eotetet ]" =>-> cssRules->length,0, ++ is CSS::DOM::parse q" @eotetet ]" =>-> cssRules->length,0, + 'invalid closing bracket in unknown rule'; + ok $@, '$@ is set by invalid closing bracket in unknown rule'; +- is CSS'DOM'parse q" @media { ]" =>-> cssRules->length, 0, ++ is CSS::DOM::parse q" @media { ]" =>-> cssRules->length, 0, + 'invalid closing bracket in media rule'; + ok $@, '$@ is set by invalid closing bracket in media rule'; +- is CSS'DOM'parse q" @page { ]" =>-> cssRules->length, 0, ++ is CSS::DOM::parse q" @page { ]" =>-> cssRules->length, 0, + 'invalid closing bracket in page rule'; + ok $@, '$@ is set by invalid closing bracket in page rule'; +- is CSS'DOM'parse q" page ( ]" =>-> cssRules->length, 0, ++ is CSS::DOM::parse q" page ( ]" =>-> cssRules->length, 0, + 'invalid closing bracket in selector'; + ok $@, '$@ is set by invalid closing bracket in selector'; +- is CSS'DOM'parse q" a { (}" =>-> cssRules->length, 0, ++ is CSS::DOM::parse q" a { (}" =>-> cssRules->length, 0, + 'invalid closing bracket in style declaration'; + ok $@, '$@ is set by invalid closing bracket in selector'; + } + + use tests 14; # invalid [\@;] + { +- is CSS'DOM'parse q" @eotetet @aa ]" =>-> cssRules->length,0, ++ is CSS::DOM::parse q" @eotetet @aa ]" =>-> cssRules->length,0, + 'invalid @ in unknown rule'; + ok $@, '$@ is set by invalid @ in unknown rule'; +- is CSS'DOM'parse q" @eotetet aa (;" =>-> cssRules->length,0, ++ is CSS::DOM::parse q" @eotetet aa (;" =>-> cssRules->length,0, + 'invalid ; in unknown rule'; + ok $@, '$@ is set by invalid ; in unknown rule'; +- is CSS'DOM'parse q" @media {(; { " =>-> cssRules->length,0, ++ is CSS::DOM::parse q" @media {(; { " =>-> cssRules->length,0, + 'invalid ; in media rule'; + ok $@, '$@ is set by invalid ; in media rule'; +- is CSS'DOM'parse q" @page { (;fooo" =>-> cssRules->length,0, ++ is CSS::DOM::parse q" @page { (;fooo" =>-> cssRules->length,0, + 'invalid ; in page rule'; + ok $@, '$@ is set by invalid ; in page rule'; +- is CSS'DOM'parse q" page @oo " =>-> cssRules->length,0, ++ is CSS::DOM::parse q" page @oo " =>-> cssRules->length,0, + 'invalid @ in selector'; + ok $@, '$@ is set by invalid @ in selector'; +- is CSS'DOM'parse q" page ;( " =>-> cssRules->length,0, ++ is CSS::DOM::parse q" page ;( " =>-> cssRules->length,0, + 'invalid ; in selector'; + ok $@, '$@ is set by invalid ; in selector'; +- is CSS'DOM'parse q" a { ( ;( " =>-> cssRules->length,0, ++ is CSS::DOM::parse q" a { ( ;( " =>-> cssRules->length,0, + 'invalid ; in style declaration'; + ok $@, '$@ is set by invalid ; in style declaration'; + } + + use tests 14; # @import + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@import"foo.css"print,screen;',0); + is +($rule=pop@{$sheet->cssRules})->type, IMPORT_RULE, +@@ -722,7 +722,7 @@ use tests 14; # @import + + use tests 8; # @font-face + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@font-face{color:blue}',0); + is +($rule=pop@{$sheet->cssRules})->type, FONT_FACE_RULE, +@@ -751,7 +751,7 @@ use tests 8; # @font-face + + use tests 13; # @charset + { +- my $sheet = new CSS'DOM; my $rule; ++ my $sheet = new CSS::DOM; my $rule; + + $sheet->insertRule('@charset "utf-8";',0); + is +($rule=pop@{$sheet->cssRules})->type, CHARSET_RULE, +@@ -799,4 +799,3 @@ use tests 13; # @charset + is +($rule=pop@{$sheet->cssRules})->type, UNKNOWN_RULE, + '@charset w/space b4 ; is an unknown rule'; + } +- +diff --git a/t/parser-tokens.t b/t/parser-tokens.t +index 9c0fae3..d6a42b7 100644 +--- a/t/parser-tokens.t ++++ b/t/parser-tokens.t +@@ -3,7 +3,7 @@ + use strict; use warnings; no warnings qw 'utf8 parenthesis'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -37,7 +37,7 @@ for('_', 'a'..'z', 'A'.."Z", map(chr,0x80..0x100) ,"\x{2003}","\x{3000}"){ + { + my $style = CSS::DOM::Style::parse("--a: 65"); + is $style->cssText, '', 'identifier can\'t begin with --'; +- $style = CSS'DOM'Style'parse"-0b:-0b"; ++ $style = CSS::DOM::Style::parse"-0b:-0b"; + is $style->cssText, '', 'nor with -0'; + } + +@@ -49,7 +49,7 @@ use tests 8; # strings + . q/\'\"/; + my $expect = + qq/ \x{10ffff}f-_abcABC}}}}}}}}\xff\x{2003}\x{100}\t'"/; +- my $rule = new CSS::DOM::Rule'Import; ++ my $rule = new CSS::DOM::Rule::Import; + + $rule->cssText('@import ' . "'$nasty_escaped_string'"); + is $rule->href, $expect, "'...'"; +@@ -80,7 +80,7 @@ use tests 8; # strings + + use tests 23; # urls + { +- my $rule = new CSS'DOM'Rule::Import; ++ my $rule = new CSS::DOM::Rule::Import; + + $rule->cssText('@import url(!$#%&][\\\}|{*~foo/bar.gif)'); + is $rule->href, '!$#%&][\}|{*~foo/bar.gif', 'unquoted url'; +@@ -118,7 +118,7 @@ use tests 23; # urls + is $rule->href, "\x{2000}\x{2000}\n 0 )\tz", + 'double-quoted url with escapes'; + +- my $style = new CSS'DOM'Style; ++ my $style = new CSS::DOM::Style; + + $style->name('url(foo'); + is $style->name, 'url(foo)', 'unquoted, unterminated url'; +@@ -179,7 +179,7 @@ use tests 3; # spaces and comments + "name:valu /*eeeee " + ); + is $style->name, 'valu', 'another ws /**/ test'; +- $style = CSS'DOM'Style'parse( "name: /*\n*/valu"); ++ $style = CSS::DOM::Style::parse( "name: /*\n*/valu"); + is $style->name, 'valu', 'multiline comments'; + } + +@@ -187,27 +187,27 @@ use tests 3; # spaces and comments + + use tests 6; # <!-- --> + { +- my $sheet = CSS'DOM'parse ' <!--{ name: value }--> @media print{}'; ++ my $sheet = CSS::DOM::parse ' <!--{ name: value }--> @media print{}'; + is join('',map cssText$_,cssRules$sheet), + "{ name: value }\n\@media print {\n}\n", + 'ignored <!-- -->'; +- is CSS'DOM'parse"{}{name: <!-- value; n:v}" =>-> ++ is CSS::DOM::parse"{}{name: <!-- value; n:v}" =>-> + cssRules->length, + 1, + 'invalid <!--'; + ok $@, '$@ after invalid <!--'; +- is CSS'DOM'parse"{}{name: --> value; n:v}" =>-> ++ is CSS::DOM::parse"{}{name: --> value; n:v}" =>-> + cssRules->length, + 1, + 'invalid -->'; + ok $@, '$@ after invalid -->'; +- is CSS'DOM'Style'parse"name:'<!--value-->",->name, ++ is CSS::DOM::Style::parse"name:'<!--value-->",->name, + "'<!--value-->'", '<!-- --> in a string'; + } + + use tests 1; # miscellaneous tokens + { +- my $sheet = CSS'DOM'parse '@foo ()[~=:,./+-]{[("\"'; ++ my $sheet = CSS::DOM::parse '@foo ()[~=:,./+-]{[("\"'; + is $sheet->cssRules->[0]->cssText, + '@foo ()[~=:,./+-]{[("\"")]}'. "\n", + 'miscellaneous tokens' +diff --git a/t/property-parser.t b/t/property-parser.t +index 6423b39..f785054 100644 +--- a/t/property-parser.t ++++ b/t/property-parser.t +@@ -3,7 +3,7 @@ + use strict; use warnings; no warnings qw 'utf8 parenthesis regexp once qw'; + our $tests; + BEGIN { ++$INC{'tests.pm'} } +-sub tests'VERSION { $tests += pop }; ++sub tests::VERSION { $tests += pop }; + use Test::More; + plan tests => $tests; + +@@ -18,11 +18,11 @@ isa_ok my $parser = CSS::DOM::PropertyParser->new, + + use tests 4; # clone + my $clone = (my $css21 = $CSS::DOM::PropertyParser::CSS21)->clone; +-isn't $clone, $css21, 'clone at the first level'; +-isn't $clone->get_property('background-position'), ++isnt $clone, $css21, 'clone at the first level'; ++isnt $clone->get_property('background-position'), + $css21->get_property('background-position'), + 'clone clones individual property specs'; +-isn't ++isnt + $clone->get_property('border-color')->{properties} + {'border-top-color'}, + $css21->get_property('border-color')->{properties} +@@ -1314,17 +1314,17 @@ use tests 2; # parsing colours + { # Tests for problems with colours in cygwin’s perl (broken in 0.08; fixed + # in 0.09) and for bugs temporarily introduced while those problems were + # being addressed. +- my $p = new CSS'DOM'PropertyParser; ++ my $p = new CSS::DOM::PropertyParser; + $p->add_property( + 'colours' => { + format => '<colour>+', + }, + ); +- my $s = CSS'DOM'Style'parse( ++ my $s = CSS::DOM::Style::parse( + "colours: rgb(0,0,0) rgb(1,1,1)", + property_parser => $p + ); +- use CSS'DOM'Constants 'CSS_CUSTOM'; ++ use CSS::DOM::Constants 'CSS_CUSTOM'; + is $s->getPropertyCSSValue('colours')->cssValueType, CSS_CUSTOM, + 'quantified <colour>s'; + $p->add_property( +@@ -1346,18 +1346,18 @@ use tests 1; # backtracking with list properties + # local ${$whatever}[0] localises one element. But it actually + # replaces the array temporarily with a new one, which cannot + # work with references. +- my $p = new CSS'DOM'PropertyParser; ++ my $p = new CSS::DOM::PropertyParser; + $p->add_property( + 'foo' => { + format => '[(foo)|(foo),]+', # [(foo),?]+ does not trigger the bug + list => 1, + }, + ); +- my $s = CSS'DOM'Style'parse( ++ my $s = CSS::DOM::Style::parse( + "foo: foo, foo", + property_parser => $p + ); +- use CSS'DOM'Constants 'CSS_VALUE_LIST'; ++ use CSS::DOM::Constants 'CSS_VALUE_LIST'; + is_deeply [map cssText $_, @{$s->getPropertyCSSValue('foo')}],[('foo')x2], + 'backtracking does not preserve existing captures'; + } diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix index 01e1593a82c..5832d9a0693 100644 --- a/pkgs/development/python-modules/django-hijack/default.nix +++ b/pkgs/development/python-modules/django-hijack/default.nix @@ -2,6 +2,7 @@ , fetchFromGitHub , fetchNpmDeps , buildPythonPackage +, nix-update-script # build-system , gettext @@ -19,14 +20,14 @@ buildPythonPackage rec { pname = "django-hijack"; - version = "3.4.1"; + version = "3.4.2"; format = "setuptools"; src = fetchFromGitHub { owner = "django-hijack"; repo = "django-hijack"; rev = "refs/tags/${version}"; - hash = "sha256-y8KT/Fbk2eQDbGzcJtLdwS6jPCNoTWXousvqY+GlFnQ="; + hash = "sha256-E5gM/5MIB65gdyv/I+Kuw8rbjPvtUnbCPXpasaIDzyo="; }; postPatch = '' @@ -39,7 +40,7 @@ buildPythonPackage rec { npmDeps = fetchNpmDeps { inherit src; - hash = "sha256-FLfMCn2jsLlTTsC+LRMX0dmVCCbNAr2pQUsSQRKgo6E="; + hash = "sha256-4ZVb+V/oYfflIZdme6hbpoSBFVV7lk5wLfEzzBqZv/Y="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; @@ -67,6 +68,9 @@ buildPythonPackage rec { "-W" "ignore::DeprecationWarning" ]; + # needed for npmDeps update + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Allows superusers to hijack (=login as) and work on behalf of another user"; homepage = "https://github.com/arteria/django-hijack"; diff --git a/pkgs/development/python-modules/echo/default.nix b/pkgs/development/python-modules/echo/default.nix new file mode 100644 index 00000000000..af3a3d43a6d --- /dev/null +++ b/pkgs/development/python-modules/echo/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, setuptools +, setuptools-scm +, libxcrypt +, numpy +, qt6 +, qtpy +, pyqt6 +, pytestCheckHook +, pytest-cov +}: + +buildPythonPackage rec { + pname = "echo"; + version = "0.8.0"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "glue-viz"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-0FmUA7kOFSRZXwbj8d7asujBPOjE2pFhu6TDNSGD4r0="; + }; + + nativeBuildInputs = [ setuptools setuptools-scm qt6.wrapQtAppsHook ]; + + buildInputs = lib.optionals (pythonOlder "3.9") [ + libxcrypt + ]; + + propagatedBuildInputs = [ + qt6.qtconnectivity + qt6.qtbase + qt6.qttools + pyqt6 + numpy + qtpy + ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + # collecting ... qt.qpa.xcb: could not connect to display + # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. + doCheck = false; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov + ]; + + pythonImportsCheck = [ "echo" ]; + + meta = with lib; { + homepage = "https://github.com/glue-viz/echo"; + description = "Callback Properties in Python"; + license = licenses.mit; + maintainers = with maintainers; [ ifurther ]; + }; +} diff --git a/pkgs/development/python-modules/fast-histogram/default.nix b/pkgs/development/python-modules/fast-histogram/default.nix new file mode 100644 index 00000000000..fd00ff5df8e --- /dev/null +++ b/pkgs/development/python-modules/fast-histogram/default.nix @@ -0,0 +1,54 @@ +{ lib +, buildPythonPackage +, pytestCheckHook +, fetchFromGitHub +, python +, pythonOlder +, setuptools +, setuptools-scm +, numpy +, wheel +, hypothesis +, pytest-cov +}: + +buildPythonPackage rec { + pname = "fast-histogram"; + version = "0.12"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "astrofrog"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-Cz4BgbtxbUPxL2NSzvZYjbYIN4KUuliUV0bXRRtyvfM="; + }; + + nativeBuildInputs = [ + setuptools + setuptools-scm + wheel + ]; + + propagatedBuildInputs = [ numpy ]; + + nativeCheckInputs = [ + pytestCheckHook + hypothesis + pytest-cov + ]; + + pytestFlagsArray = [ "${builtins.placeholder "out"}/${python.sitePackages}" ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + pythonImportsCheck = [ "fast_histogram" ]; + + meta = with lib; { + homepage = "https://github.com/astrofrog/fast-histogram"; + description = "Fast 1D and 2D histogram functions in Python"; + license = licenses.bsd2; + maintainers = with maintainers; [ ifurther ]; + }; +} diff --git a/pkgs/development/python-modules/glueviz/default.nix b/pkgs/development/python-modules/glueviz/default.nix new file mode 100644 index 00000000000..c6fb2859b41 --- /dev/null +++ b/pkgs/development/python-modules/glueviz/default.nix @@ -0,0 +1,87 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, dill +, astropy +, numpy +, pandas +, qt6 +, pyqt6 +, pyqt-builder +, qtconsole +, setuptools +, setuptools-scm +, scipy +, ipython +, ipykernel +, h5py +, matplotlib +, xlrd +, mpl-scatter-density +, pvextractor +, openpyxl +, echo +, pytest +, pytest-flakes +, pytest-cov +}: + +buildPythonPackage rec { + pname = "glueviz"; + version = "1.14.1"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "glue-viz"; + repo = "glue"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-pHUcvyDziE7l0foEz7cygMuAwggnIWzsQy9SFZCDkXA="; + }; + + buildInputs = [ pyqt-builder ]; + nativeBuildInputs = [ setuptools setuptools-scm qt6.wrapQtAppsHook ]; + propagatedBuildInputs = [ + astropy + dill + setuptools + scipy + numpy + matplotlib + pandas + pyqt6 + qtconsole + ipython + ipykernel + h5py + xlrd + mpl-scatter-density + pvextractor + openpyxl + echo + ]; + + dontConfigure = true; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + # collecting ... qt.qpa.xcb: could not connect to display + # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. + doCheck = false; + + nativeCheckInputs = [ pytest pytest-flakes pytest-cov ]; + + pythonImportsCheck = [ "glue" ]; + + preFixup = '' + makeWrapperArgs+=("''${qtWrapperArgs[@]}") + ''; + + meta = with lib; { + homepage = "https://glueviz.org"; + description = "Linked Data Visualizations Across Multiple Files"; + license = licenses.bsd3; # https://github.com/glue-viz/glue/blob/main/LICENSE + maintainers = with maintainers; [ ifurther ]; + }; +} diff --git a/pkgs/development/python-modules/imgtool/default.nix b/pkgs/development/python-modules/imgtool/default.nix new file mode 100644 index 00000000000..88ceeb23370 --- /dev/null +++ b/pkgs/development/python-modules/imgtool/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools +, cbor2 +, click +, cryptography +, intelhex +}: + +buildPythonPackage rec { + pname = "imgtool"; + version = "1.10.0"; + pyproject = true; + + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-A7NOdZNKw9lufEK2vK8Rzq9PRT98bybBfXJr0YMQS0A="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + cbor2 + click + cryptography + intelhex + ]; + + pythonImportsCheck = [ + "imgtool" + ]; + + meta = with lib; { + description = "MCUboot's image signing and key management"; + homepage = "https://github.com/mcu-tools/mcuboot"; + license = licenses.asl20; + maintainers = with maintainers; [ samueltardieu ]; + }; +} diff --git a/pkgs/development/python-modules/lightning-utilities/default.nix b/pkgs/development/python-modules/lightning-utilities/default.nix index e03e005ad7b..65d5f064ce5 100644 --- a/pkgs/development/python-modules/lightning-utilities/default.nix +++ b/pkgs/development/python-modules/lightning-utilities/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "lightning-utilities"; - version = "0.9.0"; + version = "0.10.0"; format = "pyproject"; src = fetchFromGitHub { owner = "Lightning-AI"; repo = "utilities"; rev = "refs/tags/v${version}"; - hash = "sha256-vSeHtvsIt4L4qJCVlTPVjIjd62+08JWBnr9+9+ujOfw="; + hash = "sha256-lp/+ArgoMIa7Q2ufWghr8OYUMlFcj8123Et73ORNI5U="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/mitmproxy-macos/default.nix b/pkgs/development/python-modules/mitmproxy-macos/default.nix new file mode 100644 index 00000000000..39798d90b15 --- /dev/null +++ b/pkgs/development/python-modules/mitmproxy-macos/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, hatchling +}: + +buildPythonPackage rec { + pname = "mitmproxy-macos"; + version = "0.3.11"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mitmproxy"; + repo = "mitmproxy_rs"; + rev = version; + hash = "sha256-V6LUr1jJiTo0+53jipkTyzG5JSw6uHaS6ziyBaFbETw="; + }; + + sourceRoot = "${src.name}/mitmproxy-macos"; + pythonImportsCheck = [ "mitmproxy_macos" ]; + nativeBuildInputs = [ + hatchling + ]; + + meta = with lib; { + description = "The MacOS Rust bits in mitmproxy"; + homepage = "https://github.com/mitmproxy/mitmproxy_rs/tree/main/mitmproxy-macos"; + changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ boltzmannrain ]; + platforms = platforms.darwin; + }; +} diff --git a/pkgs/development/python-modules/mitmproxy-rs/default.nix b/pkgs/development/python-modules/mitmproxy-rs/default.nix index 15850ab7cd7..d90e1e0c2a9 100644 --- a/pkgs/development/python-modules/mitmproxy-rs/default.nix +++ b/pkgs/development/python-modules/mitmproxy-rs/default.nix @@ -4,6 +4,8 @@ , fetchFromGitHub , rustPlatform , darwin +, libiconv +, mitmproxy-macos }: buildPythonPackage rec { @@ -34,13 +36,15 @@ buildPythonPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security + libiconv + mitmproxy-macos ]; pythonImportsCheck = [ "mitmproxy_rs" ]; meta = with lib; { description = "The Rust bits in mitmproxy"; - homepage = " https://github.com/mitmproxy/mitmproxy_rs"; + homepage = "https://github.com/mitmproxy/mitmproxy_rs"; changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ fab ]; diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix index 1c57361a640..566c1e0b329 100644 --- a/pkgs/development/python-modules/mitmproxy/default.nix +++ b/pkgs/development/python-modules/mitmproxy/default.nix @@ -2,6 +2,7 @@ , fetchFromGitHub , buildPythonPackage , pythonOlder +, stdenv # Mitmproxy requirements , aioquic , asgiref @@ -15,6 +16,7 @@ , hyperframe , kaitaistruct , ldap3 +, mitmproxy-macos , mitmproxy-rs , msgpack , passlib @@ -81,6 +83,8 @@ buildPythonPackage rec { urwid wsproto zstandard + ] ++ lib.optionals stdenv.isDarwin [ + mitmproxy-macos ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/mpl-scatter-density/default.nix b/pkgs/development/python-modules/mpl-scatter-density/default.nix new file mode 100644 index 00000000000..f0523c3594d --- /dev/null +++ b/pkgs/development/python-modules/mpl-scatter-density/default.nix @@ -0,0 +1,67 @@ +{ lib +, buildPythonPackage +, pytestCheckHook +, fetchFromGitHub +, fetchpatch +, pythonOlder +, setuptools-scm +, setuptools +, fast-histogram +, matplotlib +, numpy +, wheel +, pytest-mpl +}: + +buildPythonPackage rec { + pname = "mpl-scatter-density"; + version = "0.7"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "astrofrog"; + repo = pname; + rev = "refs/tags/v${version}"; + sha256 = "sha256-MMxM+iv5p9ZLcBpqa3tBBPbsMM/PTg6BXaDpGgSw+DE="; + }; + + patches = [ + # https://github.com/astrofrog/mpl-scatter-density/pull/37 + (fetchpatch { + name = "distutils-removal.patch"; + url = "https://github.com/ifurther/mpl-scatter-density/commit/6feedabe1e82da67d8eec46a80eb370d9f334251.patch"; + sha256 = "sha256-JqWlSm8mIwqjRPa+kMEaKipJyzGEO+gJK+Q045N1MXA="; + }) + ]; + + nativeBuildInputs = [ + setuptools + setuptools-scm + wheel + ]; + + propagatedBuildInputs = [ matplotlib numpy fast-histogram ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeCheckInputs = [ + pytestCheckHook + pytest-mpl + ]; + + disabledTests = [ + # AssertionError: (240, 240) != (216, 216) + # Erroneous pinning of figure DPI, sensitive to runtime environment + "test_default_dpi" + ]; + + pythonImportsCheck = [ "mpl_scatter_density" ]; + + meta = with lib; { + homepage = "https://github.com/astrofrog/mpl-scatter-density"; + description = "Fast scatter density plots for Matplotlib"; + license = licenses.bsd2; + maintainers = with maintainers; [ ifurther ]; + }; +} diff --git a/pkgs/development/python-modules/oca-port/default.nix b/pkgs/development/python-modules/oca-port/default.nix index 0a603b0b91c..7b948c4ffdf 100644 --- a/pkgs/development/python-modules/oca-port/default.nix +++ b/pkgs/development/python-modules/oca-port/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "oca-port"; - version = "0.13"; + version = "0.14"; format = "pyproject"; src = fetchPypi { inherit version; pname = "oca_port"; - hash = "sha256-9ihqjnGdBPasiRD2pZeaiibwzFQKI9t+s/zMzvyLLHQ="; + hash = "sha256-P+uCoC2u5lR4oTtloNFd4N+CjssUa5PbzbnhEulaRoc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/openai-whisper/default.nix b/pkgs/development/python-modules/openai-whisper/default.nix index 68f692e4c37..7983abd2e98 100644 --- a/pkgs/development/python-modules/openai-whisper/default.nix +++ b/pkgs/development/python-modules/openai-whisper/default.nix @@ -2,22 +2,23 @@ , fetchFromGitHub , buildPythonPackage , substituteAll -, cudaSupport ? false + +# build-system +, setuptools # runtime , ffmpeg-headless # propagates -, numpy -, torch -, torchWithCuda -, tqdm , more-itertools -, transformers , numba +, numpy , openai-triton , scipy , tiktoken +, torch +, tqdm +, transformers # tests , pytestCheckHook @@ -25,14 +26,14 @@ buildPythonPackage rec { pname = "whisper"; - version = "20230918"; - format = "setuptools"; + version = "20231117"; + pyproject = true; src = fetchFromGitHub { owner = "openai"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-wBAanFVEIIzTcoX40P9eI26UdEu0SC/xuife/zi2Xho="; + hash = "sha256-MJ1XjB/GuYUiECCuuHS0NWHvvs+ko0oTvLuDI7zLNiY="; }; patches = [ @@ -42,32 +43,22 @@ buildPythonPackage rec { }) ]; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ - numpy - tqdm more-itertools - transformers numba + numpy + openai-triton scipy tiktoken - ] ++ lib.optionals (!cudaSupport) [ torch - ] ++ lib.optionals (cudaSupport) [ - openai-triton - torchWithCuda + tqdm + transformers ]; - postPatch = '' - substituteInPlace requirements.txt \ - --replace "tiktoken==0.3.3" "tiktoken>=0.3.3" - '' - # openai-triton is only needed for CUDA support. - # triton needs CUDA to be build. - # -> by making it optional, we can build whisper without unfree packages enabled - + lib.optionalString (!cudaSupport) '' - sed -i '/if sys.platform.startswith("linux") and platform.machine() == "x86_64":/{N;d}' setup.py - ''; - preCheck = '' export HOME=$TMPDIR ''; @@ -85,7 +76,7 @@ buildPythonPackage rec { ]; meta = with lib; { - changelog = "https://github.com/openai/whisper/blob/v$[version}/CHANGELOG.md"; + changelog = "https://github.com/openai/whisper/blob/v${version}/CHANGELOG.md"; description = "General-purpose speech recognition model"; homepage = "https://github.com/openai/whisper"; license = licenses.mit; diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix index a88ce34ab0d..1fcff9e4780 100644 --- a/pkgs/development/python-modules/plaid-python/default.nix +++ b/pkgs/development/python-modules/plaid-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "plaid-python"; - version = "17.0.0"; + version = "18.0.0"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-rVYyS2Wc3PC3BvkzUSe88sSXxJCElmP5s7B1NxSFAWY="; + hash = "sha256-1OV/oybxZXF2kjLoSA2KyQaTR91jqEWstpELSlUIg2o="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pvextractor/default.nix b/pkgs/development/python-modules/pvextractor/default.nix new file mode 100644 index 00000000000..315d0411b8e --- /dev/null +++ b/pkgs/development/python-modules/pvextractor/default.nix @@ -0,0 +1,61 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, astropy +, qtpy +, pyqt6 +, pyqt-builder +, setuptools +, setuptools-scm +, scipy +, matplotlib +, spectral-cube +, pytestCheckHook +, pytest-astropy +}: + +buildPythonPackage rec { + pname = "pvextractor"; + version = "0.3"; + + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "radio-astro-tools"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-HYus2Gk3hzKq+3lJLOJQ+EE6LeO+DrvqLK3NpqrUYeI="; + }; + + buildInputs = [ pyqt-builder ]; + nativeBuildInputs = [ setuptools setuptools-scm ]; + propagatedBuildInputs = [ + astropy + scipy + matplotlib + pyqt6 + qtpy + spectral-cube + ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + # collecting ... qt.qpa.xcb: could not connect to display + # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. + doCheck = false; + + nativeCheckInputs = [ + pytestCheckHook + pytest-astropy + ]; + + pythonImportsCheck = [ "pvextractor" ]; + + meta = with lib; { + homepage = "http://pvextractor.readthedocs.io"; + description = "Position-velocity diagram extractor"; + license = licenses.bsd3; + maintainers = with maintainers; [ ifurther ]; + }; +} diff --git a/pkgs/development/python-modules/pygobject-stubs/default.nix b/pkgs/development/python-modules/pygobject-stubs/default.nix index f2c2668f404..9dde5d01222 100644 --- a/pkgs/development/python-modules/pygobject-stubs/default.nix +++ b/pkgs/development/python-modules/pygobject-stubs/default.nix @@ -1,25 +1,23 @@ { lib , buildPythonPackage , fetchFromGitHub -, setuptools -, black -, codespell -, isort -, mypy -, pre-commit , pygobject3 +, pythonOlder +, setuptools }: buildPythonPackage rec { pname = "pygobject-stubs"; - version = "2.9.0"; - format = "pyproject"; + version = "2.10.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "pygobject"; repo = "pygobject-stubs"; rev = "refs/tags/v${version}"; - hash = "sha256-A28vH5S5xxY7VIJORbgQ7jAi/wG4WiffNGryiumHWf0="; + hash = "sha256-fz+qzFWl9JJu9CEVkeiV6XUIPDvwWgrfhTo/nj1EH5c="; }; nativeBuildInputs = [ @@ -32,7 +30,7 @@ buildPythonPackage rec { meta = with lib; { description = "PEP 561 Typing Stubs for PyGObject"; homepage = "https://github.com/pygobject/pygobject-stubs"; - changelog = "https://github.com/pygobject/pygobject-stubs/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/pygobject/pygobject-stubs/blob/${version}/CHANGELOG.md"; license = licenses.lgpl21Plus; maintainers = with maintainers; [ hacker1024 ]; }; diff --git a/pkgs/development/python-modules/pyvmomi/default.nix b/pkgs/development/python-modules/pyvmomi/default.nix index 7a740efe5a4..f395f88bf7d 100644 --- a/pkgs/development/python-modules/pyvmomi/default.nix +++ b/pkgs/development/python-modules/pyvmomi/default.nix @@ -1,14 +1,16 @@ { lib , buildPythonPackage , fetchFromGitHub +, lxml , requests , six +, pyopenssl , pythonOlder }: buildPythonPackage rec { pname = "pyvmomi"; - version = "8.0.2.0"; + version = "8.0.2.0.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +19,7 @@ buildPythonPackage rec { owner = "vmware"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-IoYxk/lS7dhw0q3kfpq7y/oDNmc1dOra0YA3CiHe8YM="; + hash = "sha256-Y7Zor70P4lhkAslckg/prfCmnszVMFPntWdJpfWnvIM="; }; propagatedBuildInputs = [ @@ -25,6 +27,13 @@ buildPythonPackage rec { six ]; + passthru.optional-dependencies = { + sso = [ + lxml + pyopenssl + ]; + }; + # Requires old version of vcrpy doCheck = false; diff --git a/pkgs/development/python-modules/siobrultech-protocols/default.nix b/pkgs/development/python-modules/siobrultech-protocols/default.nix index c0439dcec70..e21580162cf 100644 --- a/pkgs/development/python-modules/siobrultech-protocols/default.nix +++ b/pkgs/development/python-modules/siobrultech-protocols/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "siobrultech-protocols"; - version = "0.12.0"; + version = "0.13.0"; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "sdwilsh"; repo = "siobrultech-protocols"; rev = "refs/tags/v${version}"; - hash = "sha256-71iFZS5CLYXNw57psLXswNJKfvbeKOqSncLoSsNXqjc="; + hash = "sha256-6BGhelyv0FoPyGwzgIX5Gbbu9Ks19MtL1AZQRZWKzhM="; }; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix index 88c2ccf4596..3f91435b3aa 100644 --- a/pkgs/development/python-modules/stripe/default.nix +++ b/pkgs/development/python-modules/stripe/default.nix @@ -1,23 +1,28 @@ { lib , buildPythonPackage , fetchPypi -, requests , pythonOlder +, requests +, setuptools , typing-extensions }: buildPythonPackage rec { pname = "stripe"; - version = "7.4.0"; - format = "setuptools"; + version = "7.5.0"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-Pcfdgjk20yYt1DCr5XQ4rzLokQNS27NOspa/21nvCuw="; + hash = "sha256-duDfcHHaXvORNNkpuMf6zxMZqkfCIr8ScrSKxVq/PW8="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ requests typing-extensions diff --git a/pkgs/development/python-modules/succulent/default.nix b/pkgs/development/python-modules/succulent/default.nix index 3b191bae9b8..e1ad7981b04 100644 --- a/pkgs/development/python-modules/succulent/default.nix +++ b/pkgs/development/python-modules/succulent/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "succulent"; - version = "0.2.5"; + version = "0.2.6"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -21,8 +21,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "firefly-cpp"; repo = "succulent"; - rev = version; - hash = "sha256-fSsb2UQM69AAjJd/Rvzuok7jBeAa6udbB8FbuNP8Ztw="; + rev = "refs/tags/${version}"; + hash = "sha256-CGDgt6tv+KysrytJsgDKwf2yv6shXizvD67XsGBg+nI="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/testrail-api/default.nix b/pkgs/development/python-modules/testrail-api/default.nix index 6da3e202672..b6bb8a1b225 100644 --- a/pkgs/development/python-modules/testrail-api/default.nix +++ b/pkgs/development/python-modules/testrail-api/default.nix @@ -1,29 +1,44 @@ { lib , buildPythonPackage , fetchFromGitHub -, requests , pytestCheckHook +, pythonOlder +, requests , responses +, setuptools-scm }: buildPythonPackage rec { pname = "testrail-api"; - version = "1.12.0"; + version = "1.12.1"; + pyproject = true; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "tolstislon"; repo = "testrail-api"; - rev = version; - sha256 = "sha256-VuAW5Dl3pkA6mtn/mbzxTFoavO5jPoqFSFVlrxc7KRk="; + rev = "refs/tags/${version}"; + hash = "sha256-lIlTrAdNtBJdwiSFwpcHA2e+fRC+MbHS0PX7prAN+RY="; }; + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + requests + ]; + nativeCheckInputs = [ pytestCheckHook responses ]; - propagatedBuildInputs = [ - requests + pythonImportsCheck = [ + "testrail_api" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix index 801b108e504..97ceedec0d2 100644 --- a/pkgs/development/python-modules/wakeonlan/default.nix +++ b/pkgs/development/python-modules/wakeonlan/default.nix @@ -8,15 +8,16 @@ buildPythonPackage rec { pname = "wakeonlan"; - version = "3.0.0"; - disabled = pythonOlder "3.6"; - format = "pyproject"; + version = "3.1.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "remcohaszing"; repo = "pywakeonlan"; rev = "refs/tags/${version}"; - hash = "sha256-7BDE7TmTT8rSaG0rEn5QwH+izGWA2PeQzxpGiv7+3fo="; + hash = "sha256-VPdklyD3GVn0cex4I6zV61I0bUr4KQp8DdMKAM/r4io="; }; nativeBuildInputs = [ @@ -38,6 +39,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python module for wake on lan"; homepage = "https://github.com/remcohaszing/pywakeonlan"; + changelog = "https://github.com/remcohaszing/pywakeonlan/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/pkgs/development/python-modules/xlsxwriter/default.nix b/pkgs/development/python-modules/xlsxwriter/default.nix index f19fe38366c..5bd96b3aa1b 100644 --- a/pkgs/development/python-modules/xlsxwriter/default.nix +++ b/pkgs/development/python-modules/xlsxwriter/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "xlsxwriter"; - version = "3.1.7"; + version = "3.1.9"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "jmcnamara"; repo = "XlsxWriter"; rev = "RELEASE_${version}"; - hash = "sha256-ZOKS9sTZvlopfIYOEhOk/rq4qtcMrNQ4Bwb8lDtKfxs="; + hash = "sha256-FkSInLinyn/eXBMSuivzFxCTZijOKdSG4l+gHyKENuY="; }; nativeCheckInputs = [ @@ -30,6 +30,7 @@ buildPythonPackage rec { meta = with lib; { description = "Module for creating Excel XLSX files"; homepage = "https://xlsxwriter.readthedocs.io/"; + changelog = "https://xlsxwriter.readthedocs.io/changes.html"; license = licenses.bsd2; maintainers = with maintainers; [ jluttine ]; }; diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix index 2531a6648e3..40af2c4fb62 100644 --- a/pkgs/development/python-modules/ytmusicapi/default.nix +++ b/pkgs/development/python-modules/ytmusicapi/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "ytmusicapi"; - version = "1.3.1"; + version = "1.3.2"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "sigma67"; repo = "ytmusicapi"; rev = "refs/tags/${version}"; - hash = "sha256-6dsMOFyZ8cX2zKXX682b5znJvXYTeKt99Wafz7RkfQw="; + hash = "sha256-vDkrKVqyisPkswvfb+UPH95mehwNgyFxRmeT+1UHvXs="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/api-linter/default.nix b/pkgs/development/tools/api-linter/default.nix index b34e2ed4f80..5b0e8e7c592 100644 --- a/pkgs/development/tools/api-linter/default.nix +++ b/pkgs/development/tools/api-linter/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "api-linter"; - version = "1.59.0"; + version = "1.59.1"; src = fetchFromGitHub { owner = "googleapis"; repo = "api-linter"; rev = "v${version}"; - hash = "sha256-rT7mN/vW7o7Qj2BUYmwePJtvURYdgvRK7Oi7Rw/RK4A="; + hash = "sha256-PgDdCcXiy9Dpop2myuRoi8KQROZdJ76ce4ax7wU4bpc="; }; - vendorHash = "sha256-TV0lA0DkQu3e9aq2uX4Ea8vrvDXxM8vgOn7EXGjld9E="; + vendorHash = "sha256-egAZ4CeSSStfkN2mGgzGHTBojHKHoVEf3o0oi+OpMkw="; subPackages = [ "cmd/api-linter" ]; @@ -23,7 +23,7 @@ buildGoModule rec { "-w" ]; - # reference: https://github.com/googleapis/api-linter/blob/v1.59.0/.github/workflows/release.yaml#L76 + # reference: https://github.com/googleapis/api-linter/blob/v1.59.1/.github/workflows/release.yaml#L76 preBuild = '' cat > cmd/api-linter/version.go <<EOF package main diff --git a/pkgs/development/tools/bazelisk/default.nix b/pkgs/development/tools/bazelisk/default.nix index dda16c23843..be59f6686d5 100644 --- a/pkgs/development/tools/bazelisk/default.nix +++ b/pkgs/development/tools/bazelisk/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "bazelisk"; - version = "1.18.0"; + version = "1.19.0"; src = fetchFromGitHub { owner = "bazelbuild"; repo = pname; rev = "v${version}"; - sha256 = "sha256-NZDdSIXNQFSCoav+YN1VLFrHQSKZfoZDp2TWXtmQC6o="; + sha256 = "sha256-no1+sQ+8Ead1diCYytC3MXVA68SuWWxt40OFVrGWYdQ="; }; - vendorHash = "sha256-oYagIEb/u/XCTbZkvynxcOtORhW75hReinrVAkdOApM="; + vendorHash = "sha256-hjV7Pc3DFExSCsA0jKVxb1GxoXQ7LRFGuot3V0IHG58="; doCheck = false; diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix index a2215059436..a6761a7350c 100644 --- a/pkgs/development/tools/buildah/default.nix +++ b/pkgs/development/tools/buildah/default.nix @@ -17,13 +17,13 @@ buildGoModule rec { pname = "buildah"; - version = "1.32.1"; + version = "1.32.2"; src = fetchFromGitHub { owner = "containers"; repo = "buildah"; rev = "v${version}"; - hash = "sha256-imhl8CezFoSi0M0nMxIFL/ZVa8eDAA4s/ZVIMr/QUJ4="; + hash = "sha256-Av4wrJ+anVu1pTSFTpaseBhj+7ECsRoKb1bATrUKYuo="; }; outputs = [ "out" "man" ]; diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index f07ac564b88..479f319c542 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,7 +1,7 @@ { lib, buildGoModule, fetchFromGitLab, fetchurl, bash }: let - version = "16.5.0"; + version = "16.6.0"; in buildGoModule rec { inherit version; @@ -17,13 +17,13 @@ buildGoModule rec { # For patchShebangs buildInputs = [ bash ]; - vendorHash = "sha256-C37ijxvyY9PG/Qn29Fmk0pxK+hq45kHIBveBltfIfTo="; + vendorHash = "sha256-m0+iAJITX0JfBd5ZboqlcG6eNbPJ35gHa4LV21jX5d8="; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "sha256-NLidtwn1zT7BxzMEF5K41fwbZaICA/KuAr8MIjpJD+A="; + sha256 = "sha256-4N00+yO7Ps0+jy7WmHhm4Eh4MXt3beH00ScZ1RWNByE="; }; patches = [ diff --git a/pkgs/development/tools/darklua/default.nix b/pkgs/development/tools/darklua/default.nix index 3703cc757c6..ba7ebe5db17 100644 --- a/pkgs/development/tools/darklua/default.nix +++ b/pkgs/development/tools/darklua/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "darklua"; - version = "0.11.0"; + version = "0.11.1"; src = fetchFromGitHub { owner = "seaofvoices"; repo = "darklua"; rev = "v${version}"; - hash = "sha256-lBnEMQqAUkr377aYNRvpbIyZMmB6NIY/bmB1Oe8QPIM="; + hash = "sha256-9ukhKAhN4dD36Em90Eox8o+7W1eXboG2xAE8+oPlhaI="; }; - cargoHash = "sha256-YmtOVS58I8YdNpWBXBuwSFUVKQsVSuGlql70SPFkamM="; + cargoHash = "sha256-hi9kzCwsw8c1tcvSsFV0do/jQ/KyDz3TcTEfOqHNxyw="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreServices diff --git a/pkgs/development/tools/database/sqlcmd/default.nix b/pkgs/development/tools/database/sqlcmd/default.nix index e36f0760ec1..80883ebfe99 100644 --- a/pkgs/development/tools/database/sqlcmd/default.nix +++ b/pkgs/development/tools/database/sqlcmd/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "sqlcmd"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { repo = "go-sqlcmd"; owner = "microsoft"; rev = "v${version}"; - sha256 = "sha256-SSt3QOc8eKpcCHxfOuY+eAkH/xiFBUp2bJ9QXP9pq9M="; + sha256 = "sha256-T7Jfxup3yTh0YhalUO/wxyAT4209BhZkUTbCGZggcJ0="; }; - vendorHash = "sha256-ODIDlP0w3t1t7H5jevXkKmFpWVSJFUwmT66LOS+ySI4="; + vendorHash = "sha256-NYWmTXGxt2ko/puNiY2Z0K6gFZW4IC//iT6xQcqSVsQ="; proxyVendor = true; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; diff --git a/pkgs/development/tools/kafkactl/default.nix b/pkgs/development/tools/kafkactl/default.nix index b602f2b4fc6..8626daa9c76 100644 --- a/pkgs/development/tools/kafkactl/default.nix +++ b/pkgs/development/tools/kafkactl/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "kafkactl"; - version = "3.4.0"; + version = "3.5.1"; src = fetchFromGitHub { owner = "deviceinsight"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-8/MqcJ7kxlmVkZCa7PWZ6kzo6D/9Zwx2rOJs675mJUE="; + hash = "sha256-HGOLPns7kBq02hF5TVs0DdTdJ+16JGs996JZ66k83Os="; }; - vendorHash = "sha256-5LHL0L7xTmy3yBs7rtrC1uvUjLKBU8LpjQaHyeRyFhw="; + vendorHash = "sha256-jUuJBGEb4pSdyuRd3qHINyC8aRwqyJnsb/raM9nEh84="; doCheck = false; diff --git a/pkgs/development/tools/kubepug/default.nix b/pkgs/development/tools/kubepug/default.nix index 7cab2059451..fc6f9c30daa 100644 --- a/pkgs/development/tools/kubepug/default.nix +++ b/pkgs/development/tools/kubepug/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kubepug"; - version = "1.5.1"; + version = "1.7.1"; src = fetchFromGitHub { - owner = "rikatz"; + owner = "kubepug"; repo = "kubepug"; rev = "v${version}"; - hash = "sha256-HjnkGEzTobtILqML5xcjpYVtg6a5PqMKYyaGTYrqEDo="; + hash = "sha256-VNxaYQy81U0JWd6KS0jCvMexpyWL4v1cKpjxLRkxBLE="; }; - vendorHash = "sha256-w2WwJa8qaXmgFwZJo2r2TowcTehgQY0nGY4u1UROaxM="; + vendorHash = "sha256-HVsaQBd7fSZp2fOpOOmlDhYrHcHqWKiYWPFLQX0azEw="; ldflags = [ "-s" @@ -19,13 +19,9 @@ buildGoModule rec { "-X sigs.k8s.io/release-utils/version.gitVersion=${version}" ]; - patches = [ - ./skip-external-network-tests.patch - ]; - meta = with lib; { description = "Checks a Kubernetes cluster for objects using deprecated API versions"; - homepage = "https://github.com/rikatz/kubepug"; + homepage = "https://github.com/kubepug/kubepug"; license = licenses.asl20; maintainers = with maintainers; [ mausch ]; }; diff --git a/pkgs/development/tools/kubepug/skip-external-network-tests.patch b/pkgs/development/tools/kubepug/skip-external-network-tests.patch deleted file mode 100644 index e24aa01ad17..00000000000 --- a/pkgs/development/tools/kubepug/skip-external-network-tests.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/pkg/utils/downloader_test.go b/pkg/utils/downloader_test.go -index b227760..b72dee9 100644 ---- a/pkg/utils/downloader_test.go -+++ b/pkg/utils/downloader_test.go -@@ -7,6 +7,7 @@ import ( - ) - - func TestDownloadSwaggerFile(t *testing.T) { -+ t.Skipf("Nix sandbox does not have networking") - var tmpdir string - // Github actions does not have a temporary dir :/ - tmpdir = os.Getenv("RUNNER_TEMP") diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index 75e32e0c7c1..94f70251e50 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.1.5"; + version = "0.1.6"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; rev = "refs/tags/v${version}"; - hash = "sha256-g52cIw0af/wQSuA4QhC2dCjcDGikirswBDAtwf8Drvo="; + hash = "sha256-EX1tXe8KlwjrohzgzKDeJP0PjfKw8+lnQ7eg9PAUAfQ="; }; - cargoHash = "sha256-1jfKRpyGewNlvMkL/MKnOaRJyajwLAuw+YyeTyTtcP4="; + cargoHash = "sha256-ueWSBYXcdaxagjFjxfsImulOs0zVVqGHmfXp4pQLaMM="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/development/tools/rust/cargo-show-asm/default.nix b/pkgs/development/tools/rust/cargo-show-asm/default.nix index 37cc46a74e0..3a8dbfb08c6 100644 --- a/pkgs/development/tools/rust/cargo-show-asm/default.nix +++ b/pkgs/development/tools/rust/cargo-show-asm/default.nix @@ -9,14 +9,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-show-asm"; - version = "0.2.21"; + version = "0.2.22"; src = fetchCrate { inherit pname version; - hash = "sha256-0Fj+yC464XdqeMWBgBj5g6ZQGrurFM5LbqSe9GSgbGg="; + hash = "sha256-yj895sAjTQAUmhU38nv9ea6r7lIwqjZFBEeGSHd0J98="; }; - cargoHash = "sha256-fW+WvsZv34ZpwaRCs6Uom7t0cV+9yPIlN5pbRea9YEk="; + cargoHash = "sha256-JbS72/sE2vCocC7o4X6vZfqGz0Tb0FvO/omzj0LhnHQ="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix index 5a4e14a733c..3741be37772 100644 --- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix +++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-zigbuild"; - version = "0.17.4"; + version = "0.17.5"; src = fetchFromGitHub { owner = "messense"; repo = pname; rev = "v${version}"; - hash = "sha256-7XY2hFmc4Vqh8fVCSrpQkoXZKZxX3kqppIDGc3T7qRw="; + hash = "sha256-x0TPbqwoCaXUlrjYQ47+x5KohsiK5yCrI2Q8yA2K8Zs="; }; - cargoHash = "sha256-a/WRXiTSmQyAlxXqeFUWWSPFbHKL7Sifv2CW7rgbLWk="; + cargoHash = "sha256-FK6tTAbhP1f4VasG9HCahbMTDrJ9A6zXt/T6cs3HOZE="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix index 1f3f0765db2..c8c51055313 100644 --- a/pkgs/development/tools/unityhub/default.nix +++ b/pkgs/development/tools/unityhub/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "unityhub"; - version = "3.5.2"; + version = "3.6.1"; src = fetchurl { url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb"; - sha256 = "sha256-MiehcBs+Egfen7MzkzzWxLuTrWrHkqIj1y47sPI3Y74="; + sha256 = "sha256-rpH87aFvbYanthwPw/SlluOH/rtj6owcVetBD4+TJeU="; }; nativeBuildInputs = [ |