head 1.17; access; symbols pkgsrc-2023Q4:1.17.0.2 pkgsrc-2023Q4-base:1.17 pkgsrc-2023Q3:1.16.0.2 pkgsrc-2023Q3-base:1.16 pkgsrc-2023Q2:1.15.0.2 pkgsrc-2023Q2-base:1.15 pkgsrc-2023Q1:1.13.0.4 pkgsrc-2023Q1-base:1.13 pkgsrc-2022Q4:1.13.0.2 pkgsrc-2022Q4-base:1.13 pkgsrc-2022Q3:1.12.0.6 pkgsrc-2022Q3-base:1.12 pkgsrc-2022Q2:1.12.0.4 pkgsrc-2022Q2-base:1.12 pkgsrc-2022Q1:1.12.0.2 pkgsrc-2022Q1-base:1.12 pkgsrc-2021Q4:1.11.0.18 pkgsrc-2021Q4-base:1.11 pkgsrc-2021Q3:1.11.0.16 pkgsrc-2021Q3-base:1.11 pkgsrc-2021Q2:1.11.0.14 pkgsrc-2021Q2-base:1.11 pkgsrc-2021Q1:1.11.0.12 pkgsrc-2021Q1-base:1.11 pkgsrc-2020Q4:1.11.0.10 pkgsrc-2020Q4-base:1.11 pkgsrc-2020Q3:1.11.0.8 pkgsrc-2020Q3-base:1.11 pkgsrc-2020Q2:1.11.0.6 pkgsrc-2020Q2-base:1.11 pkgsrc-2020Q1:1.11.0.2 pkgsrc-2020Q1-base:1.11 pkgsrc-2019Q4:1.11.0.4 pkgsrc-2019Q4-base:1.11 pkgsrc-2019Q3:1.9.0.2 pkgsrc-2019Q3-base:1.9 pkgsrc-2019Q2:1.7.0.2 pkgsrc-2019Q2-base:1.7 pkgsrc-2019Q1:1.5.0.2 pkgsrc-2019Q1-base:1.5; locks; strict; comment @# @; 1.17 date 2023.10.28.19.57.25; author wiz; state Exp; branches; next 1.16; commitid jP8MYROLWZ3yJqKE; 1.16 date 2023.09.09.21.35.02; author wiz; state Exp; branches; next 1.15; commitid KorBzTx0fEytR8EE; 1.15 date 2023.04.17.05.29.56; author adam; state Exp; branches; next 1.14; commitid hqQXDk4Fe4ekbqlE; 1.14 date 2023.04.02.12.40.27; author adam; state Exp; branches; next 1.13; commitid iAghkpk7BHEU2xjE; 1.13 date 2022.11.30.16.59.36; author adam; state Exp; branches; next 1.12; commitid fcKKQ1lL6xYHqK3E; 1.12 date 2022.01.04.20.55.35; author wiz; state Exp; branches; next 1.11; commitid CYyhdK9qtoffkmnD; 1.11 date 2019.11.13.20.42.23; author adam; state Exp; branches; next 1.10; commitid Pw3366baCUPqrJKB; 1.10 date 2019.10.07.18.27.09; author adam; state Exp; branches; next 1.9; commitid YDU7Xz0TFJ6KSXFB; 1.9 date 2019.08.21.12.48.03; author adam; state Exp; branches; next 1.8; commitid LQnqY4XiLfH3wTzB; 1.8 date 2019.07.06.22.49.00; author adam; state Exp; branches; next 1.7; commitid MN10h4chgvkVj2uB; 1.7 date 2019.04.29.08.48.10; author adam; state Exp; branches; next 1.6; commitid SWpQ7wiEvYEYQdlB; 1.6 date 2019.04.03.09.29.54; author adam; state Exp; branches; next 1.5; commitid QWtWLz1GNS05VShB; 1.5 date 2019.02.19.09.43.56; author adam; state Exp; branches; next 1.4; commitid XuG9GA4g1fZAnmcB; 1.4 date 2019.01.24.14.06.49; author adam; state Exp; branches; next 1.3; commitid yMu5UKuRI28FF29B; 1.3 date 2019.01.21.09.56.24; author adam; state Exp; branches; next 1.2; commitid PQKvK2Vv2TKznD8B; 1.2 date 2019.01.08.09.39.24; author adam; state Exp; branches; next 1.1; commitid iTlAqjLdgMsIHX6B; 1.1 date 2019.01.02.10.34.20; author adam; state Exp; branches; next ; commitid DvyNJT1wtzvpcc6B; desc @@ 1.17 log @python/wheel.mk: simplify a lot, and switch to 'installer' for installation This follows the recommended bootstrap method (flit_core, build, installer). However, installer installs different files than pip, so update PLISTs for all packages using wheel.mk and bump their PKGREVISIONs. @ text @# $NetBSD: Makefile,v 1.16 2023/09/09 21:35:02 wiz Exp $ DISTNAME= soupsieve-2.5 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} PKGREVISION= 1 CATEGORIES= www python MASTER_SITES= ${MASTER_SITE_PYPI:=s/soupsieve/} MAINTAINER= pkgsrc-users@@NetBSD.org HOMEPAGE= https://github.com/facelessuser/soupsieve COMMENT= CSS4 selector implementation for Beautiful Soup LICENSE= mit TOOL_DEPENDS+= ${PYPKGPREFIX}-hatchling>=0.21.1:../../devel/py-hatchling TEST_DEPENDS+= ${PYPKGPREFIX}-beautifulsoup4-[0-9]*:../../www/py-beautifulsoup4 TEST_DEPENDS+= ${PYPKGPREFIX}-coverage-[0-9]*:../../devel/py-coverage TEST_DEPENDS+= ${PYPKGPREFIX}-html5lib-[0-9]*:../../textproc/py-html5lib TEST_DEPENDS+= ${PYPKGPREFIX}-lxml-[0-9]*:../../textproc/py-lxml TEST_DEPENDS+= ${PYPKGPREFIX}-mypy-[0-9]*:../../lang/py-mypy TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov USE_LANGUAGES= # none PYTHON_VERSIONS_INCOMPATIBLE= 27 do-test: cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests .include "../../lang/python/wheel.mk" .include "../../mk/bsd.pkg.mk" @ 1.16 log @py-soupsieve: update to 2.5. NEW: Update to support Python 3.12. NEW: Drop support for Python 3.7. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.15 2023/04/17 05:29:56 adam Exp $ d5 1 @ 1.15 log @py-soupsieve: updated to 2.4.1 2.4.1 - **FIX**: Attribute syntax for case insensitive flag optionally allows a space, it does not require one. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.14 2023/04/02 12:40:27 adam Exp $ d3 2 a4 2 DISTNAME= soupsieve-2.4.1 PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/post//} @ 1.14 log @py-soupsieve: updated to 2.4 2.4 - **NEW**: Update to support changes related to `:lang()` in the official CSS spec. `:lang("")` should match unspecified languages, e.g. `lang=""`, but not `lang=und`. - **NEW**: Only `:is()` and `:where()` should allow forgiving selector lists according to latest CSS (as far as Soup Sieve supports "forgiving" which is limited to empty selectors). - **NEW**: Formally drop Python 3.6. - **NEW**: Formally declare support for Python 3.11. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.13 2022/11/30 16:59:36 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-2.4 @ 1.13 log @py-soupsieve: updated to 2.3.2.1 2.3.2.post1 - **FIX**: Documentation for installation from source is outdated. 2.3.2 - **FIX**: Fix some typos in error messages. 2.3.1 - **FIX**: Ensure attribute selectors match tags that have new line characters in attributes. 2.3 - **NEW**: Officially support Python 3.10. - **NEW**: Add static typing. - **NEW**: `:has()`, `:is()`, and `:where()` now use use a forgiving selector list. While not as forgiving as CSS might be, it will forgive such things as empty sets and empty slots due to multiple consecutive commas, leading commas, or trailing commas. Essentially, these pseudo-classes will match all non-empty selectors and ignore empty ones. As the scraping environment is different than a browser environment, it was chosen not to aggressively forgive bad syntax and invalid features to ensure the user is alerted that their program may not perform as expected. - **NEW**: Add support to output a pretty print format of a compiled `SelectorList` for debug purposes. - **FIX**: Some small corner cases discovered with static typing. 2.2.1 - **FIX**: Fix an issue with namespaces when one of the keys is `self`. 2.2 - **NEW**: `:link` and `:any-link` no longer include `#!html ` due to a change in the level 4 selector specification. This actually yields more sane results. - **FIX**: BeautifulSoup, when using `find`, is quite forgiving of odd types that a user may place in an element's attribute value. Soup Sieve will also now be more forgiving and attempt to match these unexpected values in a sane manner by normalizing them before compare. 2.1 - **NEW**: Officially support Python 3.9. - **NEW**: Drop official support for Python 3.5. - **NEW**: In order to avoid conflicts with future CSS specification changes, non-standard pseudo classes will now start with the `:-soup-` prefix. As a consequence, `:contains()` will now be known as `:-soup-contains()`, though for a time the deprecated form of `:contains()` will still be allowed with a warning that users should migrate over to `:-soup-contains()`. - **NEW**: Added new non-standard pseudo class `:-soup-contains-own()` which operates similar to `:-soup-contains()` except that it only looks at text nodes directly associated with the currently scoped element and not its descendants. - **FIX**: Import `bs4` globally instead of in local functions as it appears there are no adverse affects due to circular imports as `bs4` does not immediately reference `soupsieve` functions and `soupsieve` does not immediately reference `bs4` functions. This should give a performance boost to functions that had previously included `bs4` locally. 2.0.1 - **FIX**: Remove unused code. 2.0 - **NEW**: `SelectorSyntaxError` is derived from `Exception` not `SyntaxError`. - **NEW**: Remove deprecated `comments` and `icomments` from the API. - **NEW**: Drop support for EOL Python versions (Python 2 and Python < 3.5). - **FIX**: Corner case with splitting namespace and tag name that that have an escaped `|`. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.12 2022/01/04 20:55:35 wiz Exp $ d3 1 a3 1 DISTNAME= soupsieve-2.3.2.post1 @ 1.12 log @*: bump PKGREVISION for egg.mk users They now have a tool dependency on py-setuptools instead of a DEPENDS @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.11 2019/11/13 20:42:23 adam Exp $ d3 2 a4 3 DISTNAME= soupsieve-1.9.5 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} PKGREVISION= 1 d13 8 a20 4 .include "../../lang/python/pyversion.mk" .if ${_PYTHON_VERSION} == 27 DEPENDS+= ${PYPKGPREFIX}-backports.functools_lru_cache-[0-9]*:../../devel/py-backports.functools_lru_cache .endif d24 6 a29 1 .include "../../lang/python/egg.mk" @ 1.11 log @py-soupsieve: updated to 1.9.5 1.9.5 - **FIX**: `:placeholder-shown` should not match if the element has content that overrides the placeholder. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.10 2019/10/07 18:27:09 adam Exp $ d5 1 @ 1.10 log @py-soupsieve: updated to 1.9.4 1.9.4 - **FIX**: :checked rule was too strict with option elements. The specification for :checked does not require an option element to be under a select element. - **FIX**: Fix level 4 :lang() wildcard match handling with singletons. Implicit wildcard matching should not match any singleton. Explicit wildcard matching (* in the language range: *-US) is allowed to match singletons. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2019/08/21 12:48:03 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.9.4 @ 1.9 log @py-soupsieve: updated to 1.9.3 1.9.3 - **FIX**: [attr!=value] pattern was mistakenly using :not([attr|=value]) logic instead of :not([attr=value]). - **FIX**: Remove undocumented _QUIRKS mode flag. Beautiful Soup was meant to use it to help with transition to Soup Sieve, but never released with it. Help with transition at this point is no longer needed. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2019/07/06 22:49:00 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.9.3 @ 1.8 log @py-soupsieve: updated to 1.9.2 1.9.2 - **FIX**: Shortcut last descendant calculation if possible for performance. - **FIX**: Fix issue where `Doctype` strings can be mistaken for a normal text node in some cases. - **FIX**: A top level tag is not a `:root` tag if it has sibling text nodes or tag nodes. This is an issue that mostly manifests when using `html.parser` as the parser will allow multiple root nodes. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2019/04/29 08:48:10 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.9.2 @ 1.7 log @py-soupsieve: updated to 1.9.1 1.9.1 - **FIX**: :root, :contains(), :default, :indeterminate, :lang(), and :dir() will properly account for HTML iframe elements in their logic when selecting or matching an element. Their logic will be restricted to the document for which the element under consideration applies. - **FIX**: HTML pseudo-classes will check that all key elements checked are in the XHTML namespace (HTML parsers that do not provide namespaces will assume the XHTML namespace). - **FIX**: Ensure that all pseudo-class names are case insensitive and allow CSS escapes. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2019/04/03 09:29:54 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.9.1 @ 1.6 log @py-soupsieve: updated to 1.9.0 1.9.0: NEW: Allow :contains() to accept a list of text to search for. NEW: Add new escape function for escaping CSS identifiers. NEW: Deprecate comments and icomments functions in the API to ensure Soup Sieve focuses only in CSS selectors. comments and icomments will most likely be removed in 2.0. NEW: Add Python 3.8 support. FIX: Don't install test files when installing the soupsieve package. FIX: Improve efficiency of :contains() comparison. FIX: Null characters should translate to the Unicode REPLACEMENT CHARACTER (U+FFFD) according to the specification. This applies to CSS escaped NULL characters as well. FIX: Escaped EOF should translate to U+FFFD outside of CSS strings. In a string, they should just be ignored, but as there is no case where we could resolve such a string and still have a valid selector, string handling remains the same. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2019/02/19 09:43:56 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.9 @ 1.5 log @py-soupsieve: updated to 1.8 1.8.0 NEW: Add custom selector support. FIX: Small tweak to CSS identifier pattern to ensure it matches the CSS specification exactly. Specifically, you can't have an identifier of only -. FIX: CSS string patterns should allow escaping newlines to span strings across multiple lines. FIX: Newline regular expression for CSS newlines should treat \r\n as a single character, especially in cases such as string escapes: \\\r\n. FIX: Allow -- as a valid identifier or identifier start. FIX: Bad CSS syntax now raises a SelectorSyntaxError, which is still currently derived from SyntaxError, but will most likely be derived from Exception in the future. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2019/01/24 14:06:49 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.8 @ 1.4 log @py-soupsieve: updated to 1.7.3 1.7.3 - Fix regression with tag names in regards to case sensitivity, and ensure there are tests to prevent breakage in the future. - XHTML should always be case sensitive like XML. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2019/01/21 09:56:24 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.7.3 @ 1.3 log @py-soupsieve: updated to 1.7.2 1.7.2 - **FIX**: Fix HTML detection type selector. - **FIX**: Fixes for :enabled and :disabled. - **FIX**: Provide a way for Beautiful Soup to parse selectors in a quirks mode to mimic some of the quirks of the old select method prior to Soup Sieve, but with warnings. This is to help old scripts to not break during the transitional period with newest Beautiful Soup. In the future, these quirks will raise an exception as Soup Sieve requires selectors to follow the CSS specification. 1.7.1 - **FIX**: Fix issue with :has() selector where a leading combinator can only be provided in the first selector in a relative selector list. 1.7.0 - **NEW**: Add support for :in-range and :out-of-range selectors. - **NEW**: Add support for :defined selector. - **FIX**: Fix pickling issue when compiled selector contains a NullSelector object. - **FIX**: Better exception messages in the CSS selector parser and fix a position reporting issue that can occur in some exceptions. - **FIX**: Don't compare prefixes when evaluating attribute namespaces, compare the actual namespace. - **FIX**: Split whitespace attribute lists by all whitespace characters, not just space. - **FIX**: :nth-* patterns were converting numbers to base 16 when they should have been converting to base 10. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2019/01/08 09:39:24 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.7.2 @ 1.2 log @py-soupsieve: updated to 1.6.2 1.6.2 - FIX: Fix pattern compile issues on Python < 2.7.4. - FIX: Don't use \d in Unicode Re patterns as they will contain characters outside the range of [0-9]. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2019/01/02 10:34:20 adam Exp $ d3 1 a3 1 DISTNAME= soupsieve-1.6.2 @ 1.1 log @py-soupsieve: added version 1.6.1 Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. It aims to provide selecting, matching, and filtering using modern CSS selectors. Soup Sieve currently provides selectors from the CSS level 1 specifications up through the latest CSS level 4 drafts (though some are not yet implemented). Soup Sieve was written with the intent to replace Beautiful Soup's builtin select feature, and as of Beautiful Soup version 4.7.0, it now is. Soup Sieve can also be imported in order to use its API directly for more controlled, specialized parsing. Soup Sieve has implemented most of the CSS selectors up through the level 4 drafts, though there are a number that don't make sense in a non-browser environment. Selectors that cannot provide meaningful functionality simply do not match anything. @ text @d1 1 a1 1 # $NetBSD$ d3 1 a3 1 DISTNAME= soupsieve-1.6.1 @