diff --git a/textproc/Makefile b/textproc/Makefile index b36e823ae5a2..7005f0f13382 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -1,2311 +1,2349 @@ COMMENT = Text processing utilities (does not include desktop publishing) SUBDIR += 2bsd-diff SUBDIR += CLDR SUBDIR += R-cran-DT SUBDIR += R-cran-R.rsp SUBDIR += R-cran-R2HTML SUBDIR += R-cran-XML SUBDIR += R-cran-bibtex SUBDIR += R-cran-brew SUBDIR += R-cran-cellranger SUBDIR += R-cran-commonmark SUBDIR += R-cran-downlit SUBDIR += R-cran-formatR SUBDIR += R-cran-highr SUBDIR += R-cran-htmlTable SUBDIR += R-cran-htmltools SUBDIR += R-cran-hunspell SUBDIR += R-cran-litedown SUBDIR += R-cran-markdown SUBDIR += R-cran-openxlsx SUBDIR += R-cran-pystr SUBDIR += R-cran-rbibutils SUBDIR += R-cran-readr SUBDIR += R-cran-readxl SUBDIR += R-cran-rematch SUBDIR += R-cran-reprex SUBDIR += R-cran-rex SUBDIR += R-cran-rio SUBDIR += R-cran-rmarkdown SUBDIR += R-cran-sass SUBDIR += R-cran-spelling SUBDIR += R-cran-stringi SUBDIR += R-cran-stringr SUBDIR += R-cran-tth SUBDIR += R-cran-utf8 SUBDIR += R-cran-vroom SUBDIR += R-cran-writexl SUBDIR += R-cran-xml2 SUBDIR += R-cran-xmlparsedata SUBDIR += R-cran-xtable SUBDIR += R-cran-yaml SUBDIR += UCD SUBDIR += addts SUBDIR += adoc-mode.el SUBDIR += af-aspell SUBDIR += agrep SUBDIR += aha SUBDIR += aiksaurus SUBDIR += align SUBDIR += am-aspell SUBDIR += amberfish SUBDIR += angle-grinder SUBDIR += ansifilter SUBDIR += antiword SUBDIR += apache-commons-csv SUBDIR += apache-commons-digester SUBDIR += apache-poi SUBDIR += apache-solr SUBDIR += apache-xmlbeans SUBDIR += apertium SUBDIR += apertium-eng SUBDIR += aq SUBDIR += arianna SUBDIR += asciidoc SUBDIR += asciinema SUBDIR += asm-xml SUBDIR += asm2html SUBDIR += aspell SUBDIR += aspell-ispell SUBDIR += ast-aspell SUBDIR += ast-grep SUBDIR += augeas SUBDIR += az-aspell SUBDIR += bat SUBDIR += bat-extras SUBDIR += bbe SUBDIR += be-aspell SUBDIR += belr SUBDIR += bg-aspell SUBDIR += bg-hyphen SUBDIR += bg-mythes SUBDIR += bib2html SUBDIR += bibclean SUBDIR += bibtex2html SUBDIR += bibutils SUBDIR += biodiff SUBDIR += bn-aspell SUBDIR += bookokrat SUBDIR += br-aspell SUBDIR += bsd-spell SUBDIR += c2html SUBDIR += ca-aspell SUBDIR += caps-log SUBDIR += cast2gif SUBDIR += castxml SUBDIR += catdoc SUBDIR += cg3 SUBDIR += cgrep SUBDIR += chkascii SUBDIR += choose SUBDIR += chpp SUBDIR += cl-ppcre SUBDIR += cl-ppcre-ccl SUBDIR += cl-ppcre-clisp SUBDIR += cl-ppcre-sbcl SUBDIR += clucene SUBDIR += cmark SUBDIR += coccigrep SUBDIR += code-minimap SUBDIR += code2html SUBDIR += codebook SUBDIR += codesearch SUBDIR += codespell SUBDIR += colordiff SUBDIR += comparator SUBDIR += comrak SUBDIR += confget SUBDIR += consul-template SUBDIR += cpp-peglib SUBDIR += cpptoml SUBDIR += crex SUBDIR += crow-translate SUBDIR += crunch SUBDIR += cs-aspell SUBDIR += cs-hunspell SUBDIR += cs-hyphen SUBDIR += cs-mythes SUBDIR += csb-aspell SUBDIR += csvdiff SUBDIR += csview SUBDIR += csvlens SUBDIR += csvq SUBDIR += ctpl SUBDIR += ctpp2 SUBDIR += cwtext SUBDIR += cy-aspell SUBDIR += cy-hunspell SUBDIR += da-aspell SUBDIR += dadadodo SUBDIR += dasel SUBDIR += datamash SUBDIR += db2latex SUBDIR += dbacl SUBDIR += dblatex SUBDIR += denature SUBDIR += dict SUBDIR += dictem SUBDIR += dictfmt SUBDIR += dictionary SUBDIR += diff-so-fancy SUBDIR += diffsplit SUBDIR += diffstat SUBDIR += difftastic SUBDIR += diffutils SUBDIR += dikt SUBDIR += discount SUBDIR += dmenu-translate SUBDIR += doc-mode.el SUBDIR += docbook SUBDIR += docbook-sgml SUBDIR += docbook-to-man SUBDIR += docbook-utils SUBDIR += docbook-xml SUBDIR += docbook-xsd SUBDIR += docbook-xsl SUBDIR += docbook-xsl-ns SUBDIR += docbook2X SUBDIR += docbook2mdoc SUBDIR += docbookrx SUBDIR += docproj SUBDIR += docproj-fonts-cjk SUBDIR += doxx SUBDIR += dsssl-docbook-modular SUBDIR += dtd-catalogs SUBDIR += dtd2relax SUBDIR += dtdparse SUBDIR += duncan SUBDIR += dwdiff SUBDIR += dyff SUBDIR += easydiff SUBDIR += ebook-tools SUBDIR += el-aspell SUBDIR += el-hyphen SUBDIR += elasticsearch-plugin-head SUBDIR += elasticsearch8 SUBDIR += en-aspell SUBDIR += en-hunspell SUBDIR += en-mythes SUBDIR += enchant SUBDIR += enchant2 SUBDIR += eo-aspell SUBDIR += eqe SUBDIR += es-aspell SUBDIR += es-hunspell SUBDIR += es-hyphen SUBDIR += es-mythes SUBDIR += et-aspell SUBDIR += evtx SUBDIR += exempi SUBDIR += expat2 SUBDIR += extract_url SUBDIR += ezxml SUBDIR += fa-aspell SUBDIR += fblog SUBDIR += fcitx-m17n SUBDIR += fcitx-qt5 SUBDIR += fcitx-table-other SUBDIR += fcitx5 SUBDIR += fcitx5-configtool SUBDIR += fcitx5-gtk SUBDIR += fcitx5-gtk-common SUBDIR += fcitx5-lua SUBDIR += fcitx5-m17n SUBDIR += fcitx5-mcfoxim SUBDIR += fcitx5-qt SUBDIR += fcitx5-qt-common SUBDIR += feluda SUBDIR += fex SUBDIR += ffe SUBDIR += fi-aspell SUBDIR += filepp SUBDIR += fist SUBDIR += fixrtf SUBDIR += fldiff SUBDIR += flex SUBDIR += fmtlatex SUBDIR += fo-aspell SUBDIR += foiltex SUBDIR += fop SUBDIR += fox-xml SUBDIR += freexl SUBDIR += fuzzysearchdatabase SUBDIR += fy-aspell SUBDIR += fzf SUBDIR += fzy SUBDIR += ga-aspell SUBDIR += gastex SUBDIR += gd-aspell SUBDIR += gdome2 SUBDIR += gh-grep SUBDIR += git-chglog SUBDIR += gitlab-code-parser SUBDIR += gitlab-elasticsearch-indexer SUBDIR += gitlab-zoekt-indexer SUBDIR += gl-aspell SUBDIR += gladtex SUBDIR += gnugrep SUBDIR += go-md2man SUBDIR += go-transifex-client SUBDIR += go-yq SUBDIR += gojq SUBDIR += goldendict SUBDIR += goldendict-ng SUBDIR += google-ctemplate SUBDIR += gpp SUBDIR += grap SUBDIR += grass SUBDIR += grc-aspell SUBDIR += greple SUBDIR += groff SUBDIR += gron SUBDIR += gron.awk SUBDIR += groonga SUBDIR += gsed SUBDIR += gspell SUBDIR += gstreamer1-plugins-zxing SUBDIR += gtk-doc SUBDIR += gtkspell SUBDIR += gtkspell3 SUBDIR += gu-aspell SUBDIR += gv-aspell SUBDIR += halibut SUBDIR += harper SUBDIR += heirloom-doctools SUBDIR += hevea SUBDIR += hexcode SUBDIR += hhm SUBDIR += hi-aspell SUBDIR += highlight SUBDIR += hil-aspell SUBDIR += hr-aspell SUBDIR += hs-lhs2tex SUBDIR += hs-pandoc SUBDIR += hs-pandoc-crossref SUBDIR += hs-yaml SUBDIR += hsb-aspell SUBDIR += html SUBDIR += html-pretty SUBDIR += html-query SUBDIR += html-xml-utils SUBDIR += html2fo SUBDIR += html2text SUBDIR += html2xhtml SUBDIR += htmlc SUBDIR += htmldoc SUBDIR += htmlise SUBDIR += htmlq SUBDIR += htmltest SUBDIR += htmltolatex SUBDIR += humanzip SUBDIR += hunspell SUBDIR += hus-aspell SUBDIR += hy-aspell SUBDIR += hyperestraier SUBDIR += hyphen SUBDIR += ia-aspell SUBDIR += ibus SUBDIR += ibus-kmfl SUBDIR += ibus-m17n SUBDIR += ibus-table SUBDIR += ibus-typing-booster SUBDIR += ibus-uniemoji SUBDIR += icdiff SUBDIR += id-aspell SUBDIR += id-hyphen SUBDIR += idnits SUBDIR += ie-hunspell SUBDIR += igor SUBDIR += iksemel SUBDIR += info2html SUBDIR += info2man SUBDIR += info_to_html SUBDIR += intltool SUBDIR += irstlm SUBDIR += is-aspell SUBDIR += is-hyphen SUBDIR += iso-schematron-xslt SUBDIR += iso12083 SUBDIR += iso8879 SUBDIR += it-aspell SUBDIR += it-hunspell SUBDIR += it-hyphen SUBDIR += it-mythes SUBDIR += itstool SUBDIR += jade SUBDIR += jaq SUBDIR += jarnal SUBDIR += jdictionary SUBDIR += jdictionary-int-eng SUBDIR += jid SUBDIR += jing SUBDIR += jless SUBDIR += jnv SUBDIR += jo SUBDIR += jq SUBDIR += jql SUBDIR += jqp SUBDIR += jrefentry SUBDIR += jshon SUBDIR += json-yaml SUBDIR += json2yaml SUBDIR += jsonfmt SUBDIR += jsongrep SUBDIR += jtc SUBDIR += kdiff3 SUBDIR += kepubify SUBDIR += kf5-kcodecs SUBDIR += kf5-sonnet SUBDIR += kf5-syntax-highlighting SUBDIR += kf6-kcodecs SUBDIR += kf6-sonnet SUBDIR += kf6-syntax-highlighting SUBDIR += kibana8 SUBDIR += kibana91 SUBDIR += kibana92 SUBDIR += kibana93 SUBDIR += kibana94 SUBDIR += kiss-templates SUBDIR += kmfl-european-latin SUBDIR += kmfl-khmer SUBDIR += kmfl-sil-ezra SUBDIR += kmfl-sil-galatia SUBDIR += kmfl-sil-ipa-unicode SUBDIR += kmfl-sil-panafrican-latin SUBDIR += kmfl-sil-yi SUBDIR += kmfl-varamozhi-malayalam SUBDIR += kmflcomp SUBDIR += kn-aspell SUBDIR += kompare SUBDIR += krep SUBDIR += kreport SUBDIR += ku-aspell SUBDIR += ky-aspell SUBDIR += l2a SUBDIR += la-aspell SUBDIR += lacheck SUBDIR += languagetool SUBDIR += lasem SUBDIR += latex-service SUBDIR += latex2html SUBDIR += libabw SUBDIR += libcroco SUBDIR += libcss SUBDIR += libcsv SUBDIR += libcue SUBDIR += libcyaml SUBDIR += libdiff SUBDIR += libe-book SUBDIR += libebml SUBDIR += libepubgen SUBDIR += libexttextcat SUBDIR += libfo SUBDIR += libfolia SUBDIR += libfyaml SUBDIR += libgepub SUBDIR += libinfinity SUBDIR += libixion SUBDIR += libjcat SUBDIR += libkmfl SUBDIR += libkolabxml SUBDIR += libkomparediff2 SUBDIR += liblrdf SUBDIR += libmrss SUBDIR += libmwaw03 SUBDIR += libnumbertext SUBDIR += libnxml SUBDIR += libodfgen01 SUBDIR += libqxp SUBDIR += librevenge SUBDIR += libsass SUBDIR += libsoldout SUBDIR += libsphinxclient SUBDIR += libstaroffice SUBDIR += libstree SUBDIR += libtextcat SUBDIR += libtranslate SUBDIR += libtre SUBDIR += libucl SUBDIR += libunibreak SUBDIR += libuninameslist SUBDIR += libvisio01 SUBDIR += libwapcaplet SUBDIR += libwbxml SUBDIR += libwpd010 SUBDIR += libwps SUBDIR += libwps03 SUBDIR += libxdiff SUBDIR += libxml++ SUBDIR += libxml++26 SUBDIR += libxml++30 SUBDIR += libxml2 SUBDIR += libxml2-python SUBDIR += libxmlb SUBDIR += libxmlbird SUBDIR += libxode SUBDIR += libxslt SUBDIR += libyaml SUBDIR += link-grammar SUBDIR += linux-c7-aspell SUBDIR += linux-c7-expat SUBDIR += linux-c7-expat-devel SUBDIR += linux-c7-libcroco SUBDIR += linux-c7-libxml2 SUBDIR += linux-c7-libxslt SUBDIR += linux-rl9-expat SUBDIR += linux-rl9-libstemmer SUBDIR += linux-rl9-libxml2 SUBDIR += linux-rl9-libxslt SUBDIR += linux-rl9-qt5-qtxmlpatterns SUBDIR += linuxdoc SUBDIR += linuxdoc-tools SUBDIR += localize SUBDIR += logseq SUBDIR += lookatme SUBDIR += loook SUBDIR += lowdown SUBDIR += lt-aspell SUBDIR += lt-hyphen SUBDIR += lttoolbox SUBDIR += lua-icu-utils SUBDIR += lua-luaexpat SUBDIR += lua-lyaml SUBDIR += lucene SUBDIR += lucene5 SUBDIR += luceneplusplus SUBDIR += lv-aspell SUBDIR += makefaq SUBDIR += makepatch SUBDIR += man2html SUBDIR += mandoc SUBDIR += mantra SUBDIR += markdown SUBDIR += markdown-mode.el SUBDIR += markdown-oxide SUBDIR += markdownfmt SUBDIR += markdownpart SUBDIR += markless SUBDIR += mathml-xsd SUBDIR += md2roff SUBDIR += md4c SUBDIR += mdbook SUBDIR += mdbook-linkcheck SUBDIR += mdbook-mermaid SUBDIR += mdq SUBDIR += mdtt SUBDIR += meilisearch SUBDIR += meld SUBDIR += metauml SUBDIR += mg-aspell SUBDIR += mgdiff SUBDIR += mi-aspell SUBDIR += miller SUBDIR += minify SUBDIR += minised SUBDIR += minixmlto SUBDIR += mk-aspell SUBDIR += mkcatalog SUBDIR += ml-aspell SUBDIR += ml1 SUBDIR += mn-aspell SUBDIR += modlogan SUBDIR += moor SUBDIR += mp_doccer SUBDIR += mr-aspell SUBDIR += ms-aspell SUBDIR += msort SUBDIR += mt-aspell SUBDIR += multimarkdown SUBDIR += muse SUBDIR += mxml SUBDIR += mythes SUBDIR += nano-pdf SUBDIR += nb-aspell SUBDIR += nds-aspell SUBDIR += nerdlog SUBDIR += nl-aspell SUBDIR += nl-hunspell SUBDIR += nl-hyphen SUBDIR += nl-mythes SUBDIR += nn-aspell SUBDIR += nunnimcax SUBDIR += nuspell SUBDIR += ny-aspell SUBDIR += obsidian SUBDIR += ocaml-csv SUBDIR += ocaml-expat SUBDIR += ocaml-spelll SUBDIR += ocaml-text SUBDIR += ocaml-yojson SUBDIR += odt2txt SUBDIR += openfts SUBDIR += openjade SUBDIR += opensearch SUBDIR += opensearch-dashboards SUBDIR += opensearch-dashboards219 SUBDIR += opensearch13 SUBDIR += opensearch210 SUBDIR += opensearch213 SUBDIR += opensearch216 SUBDIR += opensearch219 SUBDIR += opensp SUBDIR += openvanilla-framework SUBDIR += openvpn-status-parser SUBDIR += or-aspell SUBDIR += otree SUBDIR += ov SUBDIR += ox-gfm.el SUBDIR += oyo SUBDIR += p5-AI-Categorizer SUBDIR += p5-Algorithm-CheckDigits SUBDIR += p5-Algorithm-RabinKarp SUBDIR += p5-Apache-ParseLog SUBDIR += p5-Apache-Solr SUBDIR += p5-BibTeX-Parser SUBDIR += p5-BigIP-ParseConfig SUBDIR += p5-Bloom-Filter SUBDIR += p5-Business-IS-PIN SUBDIR += p5-CAM-PDF SUBDIR += p5-CQL-Parser SUBDIR += p5-CSS SUBDIR += p5-CSS-Compressor SUBDIR += p5-CSS-Croco SUBDIR += p5-CSS-Minifier SUBDIR += p5-CSS-Minifier-XS SUBDIR += p5-CSS-Packer SUBDIR += p5-CSS-SAC SUBDIR += p5-CSS-Sass SUBDIR += p5-CSS-Simple SUBDIR += p5-CSS-Squish SUBDIR += p5-CSS-Tiny SUBDIR += p5-Chess-PGN-Parse SUBDIR += p5-Class-CSV SUBDIR += p5-Data-FormValidator SUBDIR += p5-Data-FormValidator-Constraints-DateTime SUBDIR += p5-Data-Phrasebook SUBDIR += p5-Data-Phrasebook-Loader-YAML SUBDIR += p5-Data-Report SUBDIR += p5-Data-SpreadPagination SUBDIR += p5-DelimMatch SUBDIR += p5-Dev-Bollocks SUBDIR += p5-Devel-TraceSAX SUBDIR += p5-DocSet SUBDIR += p5-Excel-Template SUBDIR += p5-Excel-Writer-XLSX SUBDIR += p5-File-Inplace SUBDIR += p5-Filter-Simple SUBDIR += p5-FormValidator-Lite SUBDIR += p5-Games-Dissociate SUBDIR += p5-Geo-Parse-OSM SUBDIR += p5-Getopt-Lucid SUBDIR += p5-Google-Data-JSON SUBDIR += p5-Grutatxt SUBDIR += p5-HTML-Copy SUBDIR += p5-HTML-Entities-ImodePictogram SUBDIR += p5-HTML-Entities-Interpolate SUBDIR += p5-HTML-Entities-Numbered SUBDIR += p5-HTML-EscapeEvil SUBDIR += p5-HTML-Format SUBDIR += p5-HTML-FormatExternal SUBDIR += p5-HTML-FormatText-WithLinks SUBDIR += p5-HTML-FormatText-WithLinks-AndTables SUBDIR += p5-HTML-Fraction SUBDIR += p5-HTML-FromANSI-Tiny SUBDIR += p5-HTML-HTML5-Entities SUBDIR += p5-HTML-HTML5-Parser SUBDIR += p5-HTML-HTMLDoc SUBDIR += p5-HTML-Packer SUBDIR += p5-HTML-QRCode SUBDIR += p5-HTML-Quoted SUBDIR += p5-HTML-RewriteAttributes SUBDIR += p5-HTML-SBC SUBDIR += p5-HTML-SuperForm SUBDIR += p5-HTML-T5 SUBDIR += p5-HTML-TagFilter SUBDIR += p5-HTML-Tidy5 SUBDIR += p5-HTML-Tiny SUBDIR += p5-HTML-Truncate SUBDIR += p5-Hailo SUBDIR += p5-Hash-Merge SUBDIR += p5-Hatena-Keyword SUBDIR += p5-IO-CSVHeaderFile SUBDIR += p5-JSON-Validator SUBDIR += p5-JavaScript-Minifier SUBDIR += p5-JavaScript-Minifier-XS SUBDIR += p5-JavaScript-Packer SUBDIR += p5-KinoSearch1 SUBDIR += p5-Kwalify SUBDIR += p5-LaTeX-Driver SUBDIR += p5-LaTeX-Encode SUBDIR += p5-LaTeX-Pod SUBDIR += p5-LaTeX-TOM SUBDIR += p5-LaTeX-Table SUBDIR += p5-LaTeX-ToUnicode SUBDIR += p5-Lingua-Conjunction SUBDIR += p5-Lingua-EN-AddressParse SUBDIR += p5-Lingua-EN-Fathom SUBDIR += p5-Lingua-EN-FindNumber SUBDIR += p5-Lingua-EN-Gender SUBDIR += p5-Lingua-EN-Infinitive SUBDIR += p5-Lingua-EN-Inflect SUBDIR += p5-Lingua-EN-Inflect-Number SUBDIR += p5-Lingua-EN-Inflect-Phrase SUBDIR += p5-Lingua-EN-MatchNames SUBDIR += p5-Lingua-EN-NameCase SUBDIR += p5-Lingua-EN-NameParse SUBDIR += p5-Lingua-EN-NamedEntity SUBDIR += p5-Lingua-EN-Nickname SUBDIR += p5-Lingua-EN-Number-IsOrdinal SUBDIR += p5-Lingua-EN-Numbers SUBDIR += p5-Lingua-EN-Numbers-Easy SUBDIR += p5-Lingua-EN-Numbers-Ordinate SUBDIR += p5-Lingua-EN-PluralToSingular SUBDIR += p5-Lingua-EN-Sentence SUBDIR += p5-Lingua-EN-Squeeze SUBDIR += p5-Lingua-EN-Summarize SUBDIR += p5-Lingua-EN-Syllable SUBDIR += p5-Lingua-EN-Tagger SUBDIR += p5-Lingua-EN-Words2Nums SUBDIR += p5-Lingua-Ident SUBDIR += p5-Lingua-Identify SUBDIR += p5-Lingua-Ispell SUBDIR += p5-Lingua-PT-Stemmer SUBDIR += p5-Lingua-Preferred SUBDIR += p5-Lingua-Stem SUBDIR += p5-Lingua-Stem-Fr SUBDIR += p5-Lingua-Stem-It SUBDIR += p5-Lingua-Stem-Ru SUBDIR += p5-Lingua-Stem-Snowball SUBDIR += p5-Lingua-Stem-Snowball-Da SUBDIR += p5-Lingua-Stem-Snowball-No SUBDIR += p5-Lingua-Stem-Snowball-Se SUBDIR += p5-Lingua-StopWords SUBDIR += p5-Lingua-Treebank SUBDIR += p5-MARC-Charset SUBDIR += p5-MARC-Lint SUBDIR += p5-MARC-Record SUBDIR += p5-MARC-XML SUBDIR += p5-MKDoc-XML SUBDIR += p5-Makefile-DOM SUBDIR += p5-Makefile-Parser SUBDIR += p5-Markapl SUBDIR += p5-Markdown-Perl SUBDIR += p5-Markdown-Render SUBDIR += p5-Marpa-HTML SUBDIR += p5-MathML-Entities SUBDIR += p5-Net-Groonga-HTTP SUBDIR += p5-Net-IDN-Encode SUBDIR += p5-Net-Snort-Parser SUBDIR += p5-Net-YASA SUBDIR += p5-NetAddr-IP-Find SUBDIR += p5-Number-Format SUBDIR += p5-Number-Format-Metric SUBDIR += p5-Number-Spell SUBDIR += p5-ODF-lpOD SUBDIR += p5-ODF-lpOD-Helper SUBDIR += p5-OpenOffice-OODoc SUBDIR += p5-PDF-API2 SUBDIR += p5-PDF-API2-Simple SUBDIR += p5-PDF-API2-XS SUBDIR += p5-PDF-API3 SUBDIR += p5-PDF-Builder SUBDIR += p5-PDF-Create SUBDIR += p5-PDF-FromHTML SUBDIR += p5-PDF-Reuse SUBDIR += p5-PDF-Table SUBDIR += p5-PDF-Tiny SUBDIR += p5-PDF-Writer SUBDIR += p5-POD2-Base SUBDIR += p5-POE-Filter-XML SUBDIR += p5-POSIX-Regex SUBDIR += p5-PPI SUBDIR += p5-PPI-HTML SUBDIR += p5-PPI-XS SUBDIR += p5-PPIx-EditorTools SUBDIR += p5-PPIx-QuoteLike SUBDIR += p5-PPIx-Regexp SUBDIR += p5-PPIx-Utilities SUBDIR += p5-PPIx-Utils SUBDIR += p5-Parse-ANSIColor-Tiny SUBDIR += p5-Parse-BooleanLogic SUBDIR += p5-Parse-CSV SUBDIR += p5-Parse-EDID SUBDIR += p5-Parse-FixedLength SUBDIR += p5-Parse-Flex SUBDIR += p5-Parse-PhoneNumber SUBDIR += p5-Parse-Syslog SUBDIR += p5-Perl-Critic SUBDIR += p5-Perl-Critic-Bangs SUBDIR += p5-Perl-Critic-Itch SUBDIR += p5-Perl-Critic-Moose SUBDIR += p5-Perl-Critic-More SUBDIR += p5-Perl-Critic-Pulp SUBDIR += p5-Perl-Critic-Swift SUBDIR += p5-Perl-Critic-Tics SUBDIR += p5-Perl-Lint SUBDIR += p5-Perl-MinimumVersion SUBDIR += p5-PerlPoint-Converters SUBDIR += p5-PerlPoint-Package SUBDIR += p5-Petal SUBDIR += p5-Petal-CodePerl SUBDIR += p5-Petal-Mail SUBDIR += p5-Petal-Utils SUBDIR += p5-Plagger SUBDIR += p5-Plucene SUBDIR += p5-Plucene-Analysis-CJKAnalyzer SUBDIR += p5-Plucene-Plugin-Analyzer-SnowballAnalyzer SUBDIR += p5-Plucene-Simple SUBDIR += p5-Pod-Abstract SUBDIR += p5-Pod-Autopod SUBDIR += p5-Pod-Constants SUBDIR += p5-Pod-DocBook SUBDIR += p5-Pod-Elemental SUBDIR += p5-Pod-Escapes SUBDIR += p5-Pod-Eventual SUBDIR += p5-Pod-HtmlEasy SUBDIR += p5-Pod-LaTeX SUBDIR += p5-Pod-Markdown SUBDIR += p5-Pod-MinimumVersion SUBDIR += p5-Pod-POM SUBDIR += p5-Pod-POM-View-HTML-Filter SUBDIR += p5-Pod-POM-View-Restructured SUBDIR += p5-Pod-Parser SUBDIR += p5-Pod-Perldoc SUBDIR += p5-Pod-ProjectDocs SUBDIR += p5-Pod-Readme SUBDIR += p5-Pod-Section SUBDIR += p5-Pod-Simple SUBDIR += p5-Pod-Spell SUBDIR += p5-Pod-Strip SUBDIR += p5-Pod-Stripper SUBDIR += p5-Pod-Tree SUBDIR += p5-Pod-WSDL SUBDIR += p5-Pod-WikiDoc SUBDIR += p5-Pod-XML SUBDIR += p5-Pod-Xhtml SUBDIR += p5-RADIUS-UserFile SUBDIR += p5-RDF-Core SUBDIR += p5-RDF-Notation3 SUBDIR += p5-RDF-Query SUBDIR += p5-RDF-Simple SUBDIR += p5-RDF-Trine SUBDIR += p5-RDFStore SUBDIR += p5-RTF-Parser SUBDIR += p5-RTF-Tokenizer SUBDIR += p5-RTF-Writer SUBDIR += p5-Regex-PreSuf SUBDIR += p5-Regexp-Common SUBDIR += p5-Regexp-Common-Email-Address SUBDIR += p5-Regexp-Common-net-CIDR SUBDIR += p5-Regexp-Common-profanity_us SUBDIR += p5-Regexp-Common-time SUBDIR += p5-Regexp-Copy SUBDIR += p5-Regexp-Debugger SUBDIR += p5-Regexp-DefaultFlags SUBDIR += p5-Regexp-IPv6 SUBDIR += p5-Regexp-Log SUBDIR += p5-Regexp-Log-Common SUBDIR += p5-SGML-DTDParse SUBDIR += p5-SGML-Parser-OpenSP SUBDIR += p5-SGMLSpm SUBDIR += p5-SQL-Tokenizer SUBDIR += p5-SVG SUBDIR += p5-SVG-Parser SUBDIR += p5-Search-Elasticsearch SUBDIR += p5-Search-Elasticsearch-Client-0_90 SUBDIR += p5-Search-Elasticsearch-Client-1_0 SUBDIR += p5-Search-Elasticsearch-Client-2_0 SUBDIR += p5-Search-Elasticsearch-Client-5_0 SUBDIR += p5-Search-Elasticsearch-Client-6_0 SUBDIR += p5-Search-Elasticsearch-Client-7_0 SUBDIR += p5-Search-Estraier SUBDIR += p5-Search-Odeum SUBDIR += p5-Search-QueryParser SUBDIR += p5-Search-QueryParser-SQL SUBDIR += p5-Search-Sitemap SUBDIR += p5-Search-VectorSpace SUBDIR += p5-Senna SUBDIR += p5-Solr SUBDIR += p5-Sort-ArbBiLex SUBDIR += p5-Sort-Fields SUBDIR += p5-Sort-Naturally SUBDIR += p5-Sphinx-Config SUBDIR += p5-Sphinx-Manager SUBDIR += p5-Sphinx-Search SUBDIR += p5-Spreadsheet-GenerateXLSX SUBDIR += p5-Spreadsheet-ParseExcel SUBDIR += p5-Spreadsheet-ParseXLSX SUBDIR += p5-Spreadsheet-Read SUBDIR += p5-Spreadsheet-ReadGnumeric SUBDIR += p5-Spreadsheet-ReadSXC SUBDIR += p5-Spreadsheet-WriteExcel SUBDIR += p5-Spreadsheet-WriteExcel-FromXML SUBDIR += p5-Spreadsheet-WriteExcel-Styler SUBDIR += p5-Spreadsheet-WriteExcelXML SUBDIR += p5-Spreadsheet-XLSX SUBDIR += p5-String-BufferStack SUBDIR += p5-String-CamelCase SUBDIR += p5-String-Compare-ConstantTime SUBDIR += p5-String-Divert SUBDIR += p5-String-Escape SUBDIR += p5-String-Flogger SUBDIR += p5-String-Format SUBDIR += p5-String-Fraction SUBDIR += p5-String-HexConvert SUBDIR += p5-String-Koremutake SUBDIR += p5-String-LCSS SUBDIR += p5-String-Pad SUBDIR += p5-String-Print SUBDIR += p5-String-RewritePrefix SUBDIR += p5-String-Scanf SUBDIR += p5-String-ShellQuote SUBDIR += p5-String-ShowDiff SUBDIR += p5-String-Strip SUBDIR += p5-String-Tagged SUBDIR += p5-String-Tagged-Terminal SUBDIR += p5-String-ToIdentifier-EN SUBDIR += p5-String-Tokenizer SUBDIR += p5-String-Trim SUBDIR += p5-String-Truncate SUBDIR += p5-String-TtyLength SUBDIR += p5-String-Urandom SUBDIR += p5-String-Util SUBDIR += p5-Syntax-Highlight-Engine-Kate SUBDIR += p5-Syntax-Highlight-Perl-Improved SUBDIR += p5-TOML SUBDIR += p5-TOML-Parser SUBDIR += p5-TeX-Encode SUBDIR += p5-TeX-Hyphen SUBDIR += p5-Template-AutoFilter SUBDIR += p5-Template-Declare SUBDIR += p5-Template-Extract SUBDIR += p5-Template-Magic SUBDIR += p5-Template-Plugin-Autoformat SUBDIR += p5-Template-Plugin-CSV SUBDIR += p5-Template-Plugin-Data-Printer SUBDIR += p5-Template-Plugin-Filter-Minify-CSS SUBDIR += p5-Template-Plugin-Filter-Minify-CSS-XS SUBDIR += p5-Template-Plugin-Filter-Minify-JavaScript SUBDIR += p5-Template-Plugin-Filter-Minify-JavaScript-XS SUBDIR += p5-Template-Plugin-HTML-SuperForm SUBDIR += p5-Template-Plugin-Lingua-EN-Inflect SUBDIR += p5-Template-Plugin-XML-Escape SUBDIR += p5-Template-Plugin-YAML SUBDIR += p5-Template-Semantic SUBDIR += p5-Template-Tiny SUBDIR += p5-Term-QRCode SUBDIR += p5-Test-Groonga SUBDIR += p5-Test-Perl-Critic SUBDIR += p5-Test-Regexp SUBDIR += p5-Text-ANSI-Util SUBDIR += p5-Text-ANSI-WideUtil SUBDIR += p5-Text-ANSITable SUBDIR += p5-Text-ASCIIMathML SUBDIR += p5-Text-ASCIITable SUBDIR += p5-Text-Affixes SUBDIR += p5-Text-Aligner SUBDIR += p5-Text-Aspell SUBDIR += p5-Text-Autoformat SUBDIR += p5-Text-Balanced SUBDIR += p5-Text-Bastardize SUBDIR += p5-Text-BibTeX SUBDIR += p5-Text-Bind SUBDIR += p5-Text-Brew SUBDIR += p5-Text-CSV SUBDIR += p5-Text-CSV-Encoded SUBDIR += p5-Text-CSV-Hashify SUBDIR += p5-Text-CSV-Simple SUBDIR += p5-Text-CSV_XS SUBDIR += p5-Text-Capitalize SUBDIR += p5-Text-CharWidth SUBDIR += p5-Text-Chomp SUBDIR += p5-Text-ClearSilver SUBDIR += p5-Text-Colorizer SUBDIR += p5-Text-Context SUBDIR += p5-Text-Context-EitherSide SUBDIR += p5-Text-DHCPLeases SUBDIR += p5-Text-Decorator SUBDIR += p5-Text-Delimited SUBDIR += p5-Text-Diff SUBDIR += p5-Text-Diff-FormattedHTML SUBDIR += p5-Text-Diff-HTML SUBDIR += p5-Text-Diff-Parser SUBDIR += p5-Text-Diff3 SUBDIR += p5-Text-Distill SUBDIR += p5-Text-DoubleMetaphone SUBDIR += p5-Text-Emoticon SUBDIR += p5-Text-Emoticon-GoogleTalk SUBDIR += p5-Text-Emoticon-MSN SUBDIR += p5-Text-EtText SUBDIR += p5-Text-Extract-Word SUBDIR += p5-Text-ExtractWords SUBDIR += p5-Text-FillIn SUBDIR += p5-Text-Filter SUBDIR += p5-Text-Filter-Chain SUBDIR += p5-Text-FindIndent SUBDIR += p5-Text-FixEOL SUBDIR += p5-Text-FixedLength SUBDIR += p5-Text-FixedLength-Extra SUBDIR += p5-Text-Flow SUBDIR += p5-Text-Flowchart SUBDIR += p5-Text-Flowed SUBDIR += p5-Text-Format SUBDIR += p5-Text-Format+NWrap SUBDIR += p5-Text-FormatTable SUBDIR += p5-Text-German SUBDIR += p5-Text-Glob SUBDIR += p5-Text-Graphics SUBDIR += p5-Text-Greeking SUBDIR += p5-Text-Haml SUBDIR += p5-Text-Hatena SUBDIR += p5-Text-Highlight SUBDIR += p5-Text-HikiDoc SUBDIR += p5-Text-Hogan SUBDIR += p5-Text-Hyphen SUBDIR += p5-Text-LTSV SUBDIR += p5-Text-Language-Guess SUBDIR += p5-Text-Locus SUBDIR += p5-Text-Lorem SUBDIR += p5-Text-Markdown SUBDIR += p5-Text-MarkdownTable SUBDIR += p5-Text-Match-FastAlternatives SUBDIR += p5-Text-Metaphone SUBDIR += p5-Text-MicroMason SUBDIR += p5-Text-MicroTemplate SUBDIR += p5-Text-MicroTemplate-Extended SUBDIR += p5-Text-MultiMarkdown SUBDIR += p5-Text-NSP SUBDIR += p5-Text-NeatTemplate SUBDIR += p5-Text-Netstring SUBDIR += p5-Text-Ngram SUBDIR += p5-Text-Ngrams SUBDIR += p5-Text-NonWideChar-Util SUBDIR += p5-Text-Original SUBDIR += p5-Text-Padding SUBDIR += p5-Text-ParagraphDiff SUBDIR += p5-Text-ParseWords SUBDIR += p5-Text-Patch SUBDIR += p5-Text-Pipe SUBDIR += p5-Text-Prefix-XS SUBDIR += p5-Text-QRCode SUBDIR += p5-Text-Query SUBDIR += p5-Text-Quote SUBDIR += p5-Text-Quoted SUBDIR += p5-Text-RecordParser SUBDIR += p5-Text-Reflow SUBDIR += p5-Text-Reform SUBDIR += p5-Text-Report SUBDIR += p5-Text-Repository SUBDIR += p5-Text-Roman SUBDIR += p5-Text-Sass SUBDIR += p5-Text-Shellwords SUBDIR += p5-Text-Similarity SUBDIR += p5-Text-SimpleTable SUBDIR += p5-Text-SimpleTable-AutoWidth SUBDIR += p5-Text-SimpleTemplate SUBDIR += p5-Text-Soundex SUBDIR += p5-Text-SpellChecker SUBDIR += p5-Text-Striphigh SUBDIR += p5-Text-Table SUBDIR += p5-Text-Table-ASV SUBDIR += p5-Text-Table-Any SUBDIR += p5-Text-Table-CSV SUBDIR += p5-Text-Table-HTML SUBDIR += p5-Text-Table-HTML-DataTables SUBDIR += p5-Text-Table-LTSV SUBDIR += p5-Text-Table-Manifold SUBDIR += p5-Text-Table-More SUBDIR += p5-Text-Table-Org SUBDIR += p5-Text-Table-Paragraph SUBDIR += p5-Text-Table-Sprintf SUBDIR += p5-Text-Table-TSV SUBDIR += p5-Text-Table-TickitWidget SUBDIR += p5-Text-Table-Tiny SUBDIR += p5-Text-Table-TinyBorderStyle SUBDIR += p5-Text-Table-TinyColor SUBDIR += p5-Text-Table-TinyColorWide SUBDIR += p5-Text-Table-TinyWide SUBDIR += p5-Text-Table-XLSX SUBDIR += p5-Text-Tabs+Wrap SUBDIR += p5-Text-TabularDisplay SUBDIR += p5-Text-Tags SUBDIR += p5-Text-Template SUBDIR += p5-Text-Template-Simple SUBDIR += p5-Text-TestBase SUBDIR += p5-Text-Textile SUBDIR += p5-Text-Tmpl SUBDIR += p5-Text-Trac SUBDIR += p5-Text-Trim SUBDIR += p5-Text-Truncate SUBDIR += p5-Text-Typography SUBDIR += p5-Text-Unaccent SUBDIR += p5-Text-Unaccent-PurePerl SUBDIR += p5-Text-UnicodeBox SUBDIR += p5-Text-VimColor SUBDIR += p5-Text-VisualWidth SUBDIR += p5-Text-WideChar-Util SUBDIR += p5-Text-WikiCreole SUBDIR += p5-Text-WikiFormat SUBDIR += p5-Text-WordDiff SUBDIR += p5-Text-WrapI18N SUBDIR += p5-Text-Wrapper SUBDIR += p5-Text-Xslate SUBDIR += p5-Text-Xslate-Bridge-TT2Like SUBDIR += p5-Text-sprintfn SUBDIR += p5-Text-vCard SUBDIR += p5-Tie-Handle-Offset SUBDIR += p5-Tiffany SUBDIR += p5-Time-Human SUBDIR += p5-Tk-Pod SUBDIR += p5-Tk-XMLViewer SUBDIR += p5-Tree-Nary SUBDIR += p5-Tree-Suffix SUBDIR += p5-UML-Class-Simple SUBDIR += p5-UML-Sequence SUBDIR += p5-UML-State SUBDIR += p5-URI-Find SUBDIR += p5-Unicode-CaseFold SUBDIR += p5-Unicode-CheckUTF8 SUBDIR += p5-Unicode-Collate SUBDIR += p5-Unicode-EastAsianWidth SUBDIR += p5-Unicode-Escape SUBDIR += p5-Unicode-LineBreak SUBDIR += p5-Unicode-Normalize SUBDIR += p5-Unicode-Tussle SUBDIR += p5-Unicode-Unihan SUBDIR += p5-Validator-Custom SUBDIR += p5-Version-Next SUBDIR += p5-Vroom SUBDIR += p5-WDDX SUBDIR += p5-WWW-Wordnik-API SUBDIR += p5-WordNet-QueryData SUBDIR += p5-WordNet-Similarity SUBDIR += p5-XML-Atom SUBDIR += p5-XML-Atom-Ext-OpenSearch SUBDIR += p5-XML-Atom-Filter SUBDIR += p5-XML-Atom-SimpleFeed SUBDIR += p5-XML-Atom-Stream SUBDIR += p5-XML-Atom-Syndication SUBDIR += p5-XML-AutoWriter SUBDIR += p5-XML-Bare SUBDIR += p5-XML-Canonical SUBDIR += p5-XML-CanonicalizeXML SUBDIR += p5-XML-Catalog SUBDIR += p5-XML-Clean SUBDIR += p5-XML-Code SUBDIR += p5-XML-CommonNS SUBDIR += p5-XML-Compile SUBDIR += p5-XML-Compile-Cache SUBDIR += p5-XML-Compile-Dumper SUBDIR += p5-XML-DBMS SUBDIR += p5-XML-DOM SUBDIR += p5-XML-DOM-Lite SUBDIR += p5-XML-DOM-XPath SUBDIR += p5-XML-DOM2 SUBDIR += p5-XML-DOMHandler SUBDIR += p5-XML-DT SUBDIR += p5-XML-DTDParser SUBDIR += p5-XML-Declare SUBDIR += p5-XML-Descent SUBDIR += p5-XML-Directory SUBDIR += p5-XML-DoubleEncodedEntities SUBDIR += p5-XML-Driver-HTML SUBDIR += p5-XML-Dumper SUBDIR += p5-XML-Elemental SUBDIR += p5-XML-Enc SUBDIR += p5-XML-Encoding SUBDIR += p5-XML-Entities SUBDIR += p5-XML-FOAF SUBDIR += p5-XML-Feed SUBDIR += p5-XML-Feed-Deduper SUBDIR += p5-XML-FeedPP SUBDIR += p5-XML-Filter-BufferText SUBDIR += p5-XML-Filter-DOMFilter-LibXML SUBDIR += p5-XML-Filter-DetectWS SUBDIR += p5-XML-Filter-GenericChunk SUBDIR += p5-XML-Filter-Reindent SUBDIR += p5-XML-Filter-SAX1toSAX2 SUBDIR += p5-XML-Filter-SAXT SUBDIR += p5-XML-Filter-XInclude SUBDIR += p5-XML-Filter-XSLT SUBDIR += p5-XML-Flow SUBDIR += p5-XML-GDOME SUBDIR += p5-XML-Generator SUBDIR += p5-XML-Generator-DBI SUBDIR += p5-XML-Generator-PerlData SUBDIR += p5-XML-Grove SUBDIR += p5-XML-Handler-Dtd2DocBook SUBDIR += p5-XML-Handler-Dtd2Html SUBDIR += p5-XML-Handler-HTMLWriter SUBDIR += p5-XML-Handler-Trees SUBDIR += p5-XML-Handler-YAWriter SUBDIR += p5-XML-Hash-LX SUBDIR += p5-XML-LibXML SUBDIR += p5-XML-LibXML-Cache SUBDIR += p5-XML-LibXML-Iterator SUBDIR += p5-XML-LibXML-PrettyPrint SUBDIR += p5-XML-LibXML-SAX-ChunkParser SUBDIR += p5-XML-LibXML-Simple SUBDIR += p5-XML-LibXSLT SUBDIR += p5-XML-Liberal SUBDIR += p5-XML-Literal SUBDIR += p5-XML-Mini SUBDIR += p5-XML-MyXML SUBDIR += p5-XML-Namespace SUBDIR += p5-XML-NamespaceFactory SUBDIR += p5-XML-NamespaceSupport SUBDIR += p5-XML-Node SUBDIR += p5-XML-NodeFilter SUBDIR += p5-XML-OPML SUBDIR += p5-XML-OPML-LibXML SUBDIR += p5-XML-Parsepp SUBDIR += p5-XML-Parser SUBDIR += p5-XML-Parser-EasyTree SUBDIR += p5-XML-Parser-Lite SUBDIR += p5-XML-Parser-Lite-Tree SUBDIR += p5-XML-Parser-Style-EasyTree SUBDIR += p5-XML-Parser-Style-Elemental SUBDIR += p5-XML-Quote SUBDIR += p5-XML-RAI SUBDIR += p5-XML-RSS SUBDIR += p5-XML-RSS-Feed SUBDIR += p5-XML-RSS-JavaScript SUBDIR += p5-XML-RSS-LibXML SUBDIR += p5-XML-RSS-Liberal SUBDIR += p5-XML-RSS-Parser SUBDIR += p5-XML-RSS-SimpleGen SUBDIR += p5-XML-RSSLite SUBDIR += p5-XML-Reader SUBDIR += p5-XML-RegExp SUBDIR += p5-XML-Rewrite SUBDIR += p5-XML-Rules SUBDIR += p5-XML-SAX SUBDIR += p5-XML-SAX-Base SUBDIR += p5-XML-SAX-Expat SUBDIR += p5-XML-SAX-Expat-Incremental SUBDIR += p5-XML-SAX-ExpatXS SUBDIR += p5-XML-SAX-Machines SUBDIR += p5-XML-SAX-Simple SUBDIR += p5-XML-SAX-Writer SUBDIR += p5-XML-SAXDriver-CSV SUBDIR += p5-XML-SAXDriver-Excel SUBDIR += p5-XML-STX SUBDIR += p5-XML-Schematron SUBDIR += p5-XML-SemanticDiff SUBDIR += p5-XML-Sig SUBDIR += p5-XML-Simple SUBDIR += p5-XML-SimpleObject SUBDIR += p5-XML-SimpleObject-LibXML SUBDIR += p5-XML-Smart SUBDIR += p5-XML-Stream SUBDIR += p5-XML-Tiny SUBDIR += p5-XML-TinyXML SUBDIR += p5-XML-TokeParser SUBDIR += p5-XML-Toolkit SUBDIR += p5-XML-TreeBuilder SUBDIR += p5-XML-TreePP SUBDIR += p5-XML-Twig SUBDIR += p5-XML-Validate SUBDIR += p5-XML-Validator-Schema SUBDIR += p5-XML-Writer SUBDIR += p5-XML-XBEL SUBDIR += p5-XML-XML2JSON SUBDIR += p5-XML-XPath SUBDIR += p5-XML-XPathEngine SUBDIR += p5-XML-XQL SUBDIR += p5-XML-XSLT SUBDIR += p5-XML-XUpdate-LibXML SUBDIR += p5-XString SUBDIR += p5-YAML SUBDIR += p5-YAML-LibYAML SUBDIR += p5-YAML-PP SUBDIR += p5-YAML-Shell SUBDIR += p5-YAML-Syck SUBDIR += p5-YAML-Tiny SUBDIR += p5-YAML-Tiny-Color SUBDIR += p5-YAPE-HTML SUBDIR += p5-YAPE-Regex SUBDIR += p5-YAPE-Regex-Explain SUBDIR += p5-ack SUBDIR += p5-dTemplate SUBDIR += p5-docx2txt SUBDIR += p5-excel2csv SUBDIR += p5-libsoldout SUBDIR += p5-libxml SUBDIR += p5-pod2pdf SUBDIR += p5-podlators SUBDIR += p5-utf8-all SUBDIR += p5-xmltv SUBDIR += pa-aspell SUBDIR += pageedit SUBDIR += par SUBDIR += pdf-form-filler-mcp SUBDIR += pdf-reader-mcp SUBDIR += pdfgrep SUBDIR += pdfoutline SUBDIR += pdfresurrect SUBDIR += pdfsandwich SUBDIR += pdftohtml SUBDIR += pdjson SUBDIR += pear-File_Fortune SUBDIR += pear-File_MARC SUBDIR += pear-Horde_CssMinify SUBDIR += pear-Horde_JavascriptMinify SUBDIR += pear-Horde_Kolab_Format SUBDIR += pear-Horde_Pdf SUBDIR += pear-Horde_SpellChecker SUBDIR += pear-Horde_Text_Diff SUBDIR += pear-Horde_Text_Filter SUBDIR += pear-Horde_Text_Filter_Csstidy SUBDIR += pear-Horde_Text_Flowed SUBDIR += pear-Horde_Xml_Element SUBDIR += pear-Horde_Xml_Wbxml SUBDIR += pear-Numbers_Roman SUBDIR += pear-Numbers_Words SUBDIR += pear-Spreadsheet_Excel_Writer SUBDIR += pear-Structures_DataGrid_Renderer_CSV SUBDIR += pear-Structures_DataGrid_Renderer_XLS SUBDIR += pear-Structures_DataGrid_Renderer_XML SUBDIR += pear-Symfony_Component_Yaml SUBDIR += pear-Text_Highlighter SUBDIR += pear-Text_Template SUBDIR += pear-Validate_ISPN SUBDIR += pear-XML_Beautifier SUBDIR += pear-XML_DTD SUBDIR += pear-XML_Feed_Parser SUBDIR += pear-XML_HTMLSax SUBDIR += pear-XML_Wddx SUBDIR += pear-YAML SUBDIR += pecl-xdiff2 SUBDIR += pecl-xlswriter SUBDIR += pecl-yaml SUBDIR += pecl-zephir_parser SUBDIR += peco SUBDIR += peg SUBDIR += perl2html SUBDIR += php-pspell SUBDIR += php82-ctype SUBDIR += php82-dom SUBDIR += php82-enchant SUBDIR += php82-pspell SUBDIR += php82-simplexml SUBDIR += php82-xml SUBDIR += php82-xmlreader SUBDIR += php82-xmlwriter SUBDIR += php82-xsl SUBDIR += php83-ctype SUBDIR += php83-dom SUBDIR += php83-enchant SUBDIR += php83-pspell SUBDIR += php83-simplexml SUBDIR += php83-xml SUBDIR += php83-xmlreader SUBDIR += php83-xmlwriter SUBDIR += php83-xsl SUBDIR += php84-ctype SUBDIR += php84-dom SUBDIR += php84-enchant SUBDIR += php84-simplexml SUBDIR += php84-xml SUBDIR += php84-xmlreader SUBDIR += php84-xmlwriter SUBDIR += php84-xsl SUBDIR += php85-ctype SUBDIR += php85-dom SUBDIR += php85-enchant SUBDIR += php85-simplexml SUBDIR += php85-xml SUBDIR += php85-xmlreader SUBDIR += php85-xmlwriter SUBDIR += php85-xsl SUBDIR += php86-ctype SUBDIR += php86-dom SUBDIR += php86-enchant SUBDIR += php86-simplexml SUBDIR += php86-xml SUBDIR += php86-xmlreader SUBDIR += php86-xmlwriter SUBDIR += php86-xsl SUBDIR += pict SUBDIR += po4a SUBDIR += pod2mdoc SUBDIR += popup-stacks SUBDIR += ppower4 SUBDIR += pugixml SUBDIR += pup SUBDIR += py-CommonMark SUBDIR += py-Morfessor SUBDIR += py-QDarkStyle SUBDIR += py-TatSu SUBDIR += py-Tempita SUBDIR += py-Tubes SUBDIR += py-accessible-pygments SUBDIR += py-acora SUBDIR += py-aeidon SUBDIR += py-agate SUBDIR += py-agate-dbf SUBDIR += py-agate-excel SUBDIR += py-alabaster SUBDIR += py-ansi2html SUBDIR += py-ansicolors SUBDIR += py-ansiwrap SUBDIR += py-anyascii SUBDIR += py-anymarkup SUBDIR += py-anymarkup-core SUBDIR += py-arabic-reshaper SUBDIR += py-asonic SUBDIR += py-autopep8 SUBDIR += py-awesome-slugify SUBDIR += py-backrefs SUBDIR += py-bibtexparser SUBDIR += py-bistring SUBDIR += py-bracex SUBDIR += py-cchardet SUBDIR += py-chameleon SUBDIR += py-chardet SUBDIR += py-charset-normalizer SUBDIR += py-chevron SUBDIR += py-citeproc-py SUBDIR += py-cjkwrap SUBDIR += py-cloud_sptheme SUBDIR += py-cmarkgfm SUBDIR += py-collective.checkdocs SUBDIR += py-commonmark SUBDIR += py-comrak SUBDIR += py-conllu SUBDIR += py-creole SUBDIR += py-cssselect2 SUBDIR += py-csvkit SUBDIR += py-custom_inherit SUBDIR += py-cyclonedx-python-lib SUBDIR += py-dbfread SUBDIR += py-deepsearch-glm SUBDIR += py-dialect SUBDIR += py-dict2xml SUBDIR += py-diff-match-patch SUBDIR += py-dirtyjson SUBDIR += py-doclang + SUBDIR += py-docling + SUBDIR += py-docling-agent + SUBDIR += py-docling-analysis-framework + SUBDIR += py-docling-core + SUBDIR += py-docling-cvat-tools + SUBDIR += py-docling-demo + SUBDIR += py-docling-enhanced + SUBDIR += py-docling-enhanced-onnx + SUBDIR += py-docling-eval + SUBDIR += py-docling-extractor + SUBDIR += py-docling-glm-ocr + SUBDIR += py-docling-google-ocr + SUBDIR += py-docling-graph + SUBDIR += py-docling-haystack + SUBDIR += py-docling-hierarchical-pdf + SUBDIR += py-docling-ibm-models + SUBDIR += py-docling-jobkit + SUBDIR += py-docling-langchain + SUBDIR += py-docling-litellm-picture-description + SUBDIR += py-docling-mcp + SUBDIR += py-docling-metrics-chemistry + SUBDIR += py-docling-metrics-core + SUBDIR += py-docling-metrics-layout + SUBDIR += py-docling-metrics-table + SUBDIR += py-docling-metrics-text + SUBDIR += py-docling-ocr + SUBDIR += py-docling-ocr-mistral + SUBDIR += py-docling-ocr-onnxtr + SUBDIR += py-docling-onnx-models + SUBDIR += py-docling-parse + SUBDIR += py-docling-sdg + SUBDIR += py-docling-serve + SUBDIR += py-docling-serve-client + SUBDIR += py-docling-serve-haystack + SUBDIR += py-docling-serve-sdk + SUBDIR += py-docling-slim SUBDIR += py-docrepr SUBDIR += py-docstring-to-markdown SUBDIR += py-docstring_parser SUBDIR += py-docutils SUBDIR += py-docx-generator SUBDIR += py-docx2txt SUBDIR += py-docxcompose SUBDIR += py-docxtpl SUBDIR += py-dominate SUBDIR += py-dparse SUBDIR += py-duecredit SUBDIR += py-ebcdic SUBDIR += py-elastic-transport SUBDIR += py-elasticsearch SUBDIR += py-elasticsearch-async SUBDIR += py-elasticsearch-curator SUBDIR += py-elasticsearch-dsl SUBDIR += py-elasticsearch-dsl6 SUBDIR += py-elasticsearch6 SUBDIR += py-elasticsearch7 SUBDIR += py-elementpath SUBDIR += py-emeraldtree SUBDIR += py-empy SUBDIR += py-en-core-web-sm SUBDIR += py-enchant SUBDIR += py-enrich SUBDIR += py-epy-reader SUBDIR += py-et_xmlfile SUBDIR += py-evtx2splunk + SUBDIR += py-extended-docling SUBDIR += py-fastavro SUBDIR += py-fasttext-predict SUBDIR += py-faust-cchardet SUBDIR += py-feedparser SUBDIR += py-file-read-backwards SUBDIR += py-fingerprints SUBDIR += py-flor SUBDIR += py-fluent.syntax SUBDIR += py-ftfy SUBDIR += py-furo SUBDIR += py-gambit-elasticsearch SUBDIR += py-genshi SUBDIR += py-gensim SUBDIR += py-gi-docgen SUBDIR += py-gladtex SUBDIR += py-graphemeu SUBDIR += py-grep-ast SUBDIR += py-griffe SUBDIR += py-griffecli SUBDIR += py-griffelib SUBDIR += py-grimoire-elk SUBDIR += py-grimoirelab-panels SUBDIR += py-guess-language SUBDIR += py-hashids SUBDIR += py-hexdump SUBDIR += py-hieroglyph SUBDIR += py-hjson SUBDIR += py-hotdoc SUBDIR += py-html-text SUBDIR += py-html2json SUBDIR += py-html2text SUBDIR += py-htmlmin2 SUBDIR += py-humanfriendly SUBDIR += py-humps SUBDIR += py-hunspell SUBDIR += py-ini2toml SUBDIR += py-interegular SUBDIR += py-isbnlib SUBDIR += py-isbntools SUBDIR += py-iso-639 SUBDIR += py-iso3166 SUBDIR += py-j2cli SUBDIR += py-jarowinkler SUBDIR += py-jc SUBDIR += py-jinja2-cli SUBDIR += py-jinjanator SUBDIR += py-jinjanator-plugins SUBDIR += py-jiter SUBDIR += py-jq SUBDIR += py-json-repair SUBDIR += py-json2html SUBDIR += py-jsonslicer SUBDIR += py-jsx-lexer SUBDIR += py-junit-xml SUBDIR += py-jupyter_sphinx SUBDIR += py-jupyterlab-pygments SUBDIR += py-kidash + SUBDIR += py-langchain-docling SUBDIR += py-langcodes SUBDIR += py-langdetect SUBDIR += py-langid SUBDIR += py-language-data SUBDIR += py-language-tags SUBDIR += py-laserhammer SUBDIR += py-latex2mathml SUBDIR += py-latexcodec SUBDIR += py-license-expression SUBDIR += py-line-protocol-parser SUBDIR += py-lingua-language-detector SUBDIR += py-linkify-it-py SUBDIR += py-llama-index-instrumentation SUBDIR += py-llama-index-workflows SUBDIR += py-llguidance SUBDIR += py-m2r SUBDIR += py-mako SUBDIR += py-markdown SUBDIR += py-markdown-callouts SUBDIR += py-markdown-include SUBDIR += py-markdown-it-py SUBDIR += py-markdown2 SUBDIR += py-markdownify SUBDIR += py-marko SUBDIR += py-markuppy SUBDIR += py-markups SUBDIR += py-markupsafe SUBDIR += py-mathics-pygments SUBDIR += py-mdformat SUBDIR += py-mdit-py-plugins SUBDIR += py-mdurl SUBDIR += py-mdx_wikilink_plus SUBDIR += py-meilisearch SUBDIR += py-merge3 SUBDIR += py-mf2py SUBDIR += py-mike SUBDIR += py-misaka SUBDIR += py-mistletoe SUBDIR += py-mistune SUBDIR += py-mistune0 SUBDIR += py-mkdocs SUBDIR += py-mkdocs-autorefs SUBDIR += py-mkdocs-exclude SUBDIR += py-mkdocs-get-deps SUBDIR += py-mkdocs-git-revision-date-localized-plugin SUBDIR += py-mkdocs-include-markdown-plugin SUBDIR += py-mkdocs-macros-plugin SUBDIR += py-mkdocs-material SUBDIR += py-mkdocs-material-extensions SUBDIR += py-mkdocs-mermaid2-plugin SUBDIR += py-mkdocs-minify-plugin SUBDIR += py-mkdocs-nature SUBDIR += py-mkdocs-redirects SUBDIR += py-mkdocs-rss-plugin SUBDIR += py-mkdocs-simple-hooks SUBDIR += py-mkdocstrings SUBDIR += py-mkdocstrings-crystal SUBDIR += py-mkdocstrings-python SUBDIR += py-mkdocstrings-python-legacy SUBDIR += py-morse3 SUBDIR += py-mwparserfromhell SUBDIR += py-myst-parser SUBDIR += py-nbsphinx SUBDIR += py-nltk SUBDIR += py-normality SUBDIR += py-ntc-templates SUBDIR += py-numpydoc SUBDIR += py-ocrmypdf SUBDIR += py-openpyxl SUBDIR += py-opensearch-py SUBDIR += py-openstackdocstheme SUBDIR += py-openstep-plist SUBDIR += py-os-api-ref SUBDIR += py-outlines-core SUBDIR += py-packageurl-python SUBDIR += py-pager SUBDIR += py-paginate SUBDIR += py-pallets-sphinx-themes SUBDIR += py-pandoc-plantuml-filter SUBDIR += py-pandocfilters SUBDIR += py-paragrep SUBDIR += py-parse SUBDIR += py-parse-type SUBDIR += py-parsec SUBDIR += py-parsel SUBDIR += py-parsimonious SUBDIR += py-parso SUBDIR += py-partial-json-parser SUBDIR += py-patiencediff SUBDIR += py-pdf2docx SUBDIR += py-pdfminer.six SUBDIR += py-pdfminer3k SUBDIR += py-pdfrw SUBDIR += py-pdftotext SUBDIR += py-petl SUBDIR += py-phonemizer-fork SUBDIR += py-pikepdf SUBDIR += py-precis_i18n SUBDIR += py-pscript SUBDIR += py-pss SUBDIR += py-pyPEG2 SUBDIR += py-pyahocorasick SUBDIR += py-pyaml SUBDIR += py-pybtex SUBDIR += py-pybtex-docutils SUBDIR += py-pycddl SUBDIR += py-pycountry SUBDIR += py-pydata-sphinx-theme SUBDIR += py-pyexcel SUBDIR += py-pyexcel-ezodf SUBDIR += py-pyexcel-io SUBDIR += py-pyexcel-ods3 SUBDIR += py-pyexcel-xls SUBDIR += py-pyexcel-xlsx SUBDIR += py-pyfzf SUBDIR += py-pygccxml SUBDIR += py-pygments SUBDIR += py-pygtail SUBDIR += py-pygtkspellcheck SUBDIR += py-pyhamcrest SUBDIR += py-pykwalify SUBDIR += py-pylatexenc SUBDIR += py-pylons-sphinx-themes SUBDIR += py-pyls-spyder SUBDIR += py-pymdown-extensions SUBDIR += py-pymupdf4llm SUBDIR += py-pypa-docs-theme SUBDIR += py-pypandoc SUBDIR += py-pyphen SUBDIR += py-pyrdfa3 SUBDIR += py-pyrss2gen SUBDIR += py-pyscss SUBDIR += py-pysrt SUBDIR += py-pystache SUBDIR += py-pystemmer SUBDIR += py-python-augeas SUBDIR += py-python-bidi SUBDIR += py-python-docs-theme SUBDIR += py-python-docx SUBDIR += py-python-frontmatter SUBDIR += py-python-gettext SUBDIR += py-python-iso639 SUBDIR += py-python-lsp-black SUBDIR += py-python-lsp-jsonrpc SUBDIR += py-python-lsp-server SUBDIR += py-python-markdown-math SUBDIR += py-python-pptx SUBDIR += py-python-slugify SUBDIR += py-python-ulid SUBDIR += py-python-ulid2 SUBDIR += py-python-xmp-toolkit SUBDIR += py-pytidylib SUBDIR += py-pytkdocs SUBDIR += py-pytomlpp SUBDIR += py-pyx12 SUBDIR += py-pyxlsb2 SUBDIR += py-qrcode SUBDIR += py-rdflib SUBDIR += py-readchar SUBDIR += py-readthedocs-sphinx-ext SUBDIR += py-readtime SUBDIR += py-recommonmark SUBDIR += py-regex SUBDIR += py-reindent SUBDIR += py-reno SUBDIR += py-restructuredtext-lint SUBDIR += py-reverend SUBDIR += py-rich SUBDIR += py-rich-argparse SUBDIR += py-rich-cli SUBDIR += py-rich-rst SUBDIR += py-rnc2rng SUBDIR += py-roman-numerals SUBDIR += py-roman-numerals-py SUBDIR += py-rouge-score SUBDIR += py-rst2ansi SUBDIR += py-rst2html5 SUBDIR += py-sacremoses SUBDIR += py-scour SUBDIR += py-segments SUBDIR += py-segno SUBDIR += py-semchunk SUBDIR += py-sense2vec SUBDIR += py-sentencepiece SUBDIR += py-simplebayes SUBDIR += py-smartypants SUBDIR += py-smile SUBDIR += py-snowballstemmer SUBDIR += py-spacy SUBDIR += py-spacy-legacy SUBDIR += py-spacy-llm SUBDIR += py-spacy-loggers SUBDIR += py-sparqlwrapper SUBDIR += py-sphinx SUBDIR += py-sphinx-argparse SUBDIR += py-sphinx-autoapi SUBDIR += py-sphinx-autobuild SUBDIR += py-sphinx-autodoc-typehints SUBDIR += py-sphinx-basic-ng SUBDIR += py-sphinx-book-theme SUBDIR += py-sphinx-copybutton SUBDIR += py-sphinx-design SUBDIR += py-sphinx-examples SUBDIR += py-sphinx-gallery SUBDIR += py-sphinx-inline-tabs SUBDIR += py-sphinx-intl SUBDIR += py-sphinx-issues SUBDIR += py-sphinx-last-updated-by-git SUBDIR += py-sphinx-markdown-tables SUBDIR += py-sphinx-material SUBDIR += py-sphinx-me SUBDIR += py-sphinx-multiversion SUBDIR += py-sphinx-multiversion-zrepl SUBDIR += py-sphinx-notfound-page SUBDIR += py-sphinx-sitemap SUBDIR += py-sphinx-tabs SUBDIR += py-sphinx-theme-builder SUBDIR += py-sphinx_press_theme SUBDIR += py-sphinx_rtd_theme SUBDIR += py-sphinx_wikipedia SUBDIR += py-sphinxcontrib-actdiag SUBDIR += py-sphinxcontrib-adadomain SUBDIR += py-sphinxcontrib-apidoc SUBDIR += py-sphinxcontrib-applehelp SUBDIR += py-sphinxcontrib-autoprogram SUBDIR += py-sphinxcontrib-bibtex SUBDIR += py-sphinxcontrib-bitbucket SUBDIR += py-sphinxcontrib-blockdiag SUBDIR += py-sphinxcontrib-devhelp SUBDIR += py-sphinxcontrib-django SUBDIR += py-sphinxcontrib-fulltoc SUBDIR += py-sphinxcontrib-htmlhelp SUBDIR += py-sphinxcontrib-httpdomain SUBDIR += py-sphinxcontrib-issuetracker SUBDIR += py-sphinxcontrib-jquery SUBDIR += py-sphinxcontrib-jsmath SUBDIR += py-sphinxcontrib-log-cabinet SUBDIR += py-sphinxcontrib-mermaid SUBDIR += py-sphinxcontrib-napoleon SUBDIR += py-sphinxcontrib-newsfeed SUBDIR += py-sphinxcontrib-nwdiag SUBDIR += py-sphinxcontrib-programoutput SUBDIR += py-sphinxcontrib-qthelp SUBDIR += py-sphinxcontrib-seqdiag SUBDIR += py-sphinxcontrib-serializinghtml SUBDIR += py-sphinxcontrib-spelling SUBDIR += py-sphinxcontrib-svg2pdfconverter SUBDIR += py-sphinxcontrib-towncrier SUBDIR += py-sphinxcontrib-websupport SUBDIR += py-sphinxemoji SUBDIR += py-sphinxext-opengraph SUBDIR += py-splunk-hec SUBDIR += py-spylls SUBDIR += py-stemming SUBDIR += py-tableschema-to-template SUBDIR += py-tabletext SUBDIR += py-tablib SUBDIR += py-terminaltables SUBDIR += py-terminaltables3 SUBDIR += py-text2digits SUBDIR += py-textdistance SUBDIR += py-textfsm SUBDIR += py-texttable SUBDIR += py-textual SUBDIR += py-textual-autocomplete SUBDIR += py-textual-fastdatatable SUBDIR += py-textual-image SUBDIR += py-textual-speedups SUBDIR += py-textual-textarea SUBDIR += py-textual0 SUBDIR += py-textwrap3 SUBDIR += py-three-merge SUBDIR += py-tika-client SUBDIR += py-tiktoken SUBDIR += py-tinycss SUBDIR += py-tinycss2 SUBDIR += py-tokenizer SUBDIR += py-tokenizers SUBDIR += py-toml SUBDIR += py-tomli SUBDIR += py-tomli-w SUBDIR += py-tomlkit SUBDIR += py-tomllint SUBDIR += py-toronado SUBDIR += py-towncrier SUBDIR += py-translationstring SUBDIR += py-transpopy SUBDIR += py-tree-sitter-language-pack SUBDIR += py-ttp SUBDIR += py-ttp-templates SUBDIR += py-typogrify SUBDIR += py-typst SUBDIR += py-uc-micro-py SUBDIR += py-ucl SUBDIR += py-ufal.udpipe SUBDIR += py-unicode-segmentation-rs SUBDIR += py-unicodeitplus SUBDIR += py-untangle SUBDIR += py-urlscan SUBDIR += py-vbuild SUBDIR += py-wasabi SUBDIR += py-wavedrom SUBDIR += py-wcmatch SUBDIR += py-whatthepatch SUBDIR += py-wheezy.template SUBDIR += py-whoosh SUBDIR += py-wordcloud SUBDIR += py-wordnet SUBDIR += py-wordninja SUBDIR += py-wtf-peewee SUBDIR += py-wtforms SUBDIR += py-xhtml2pdf SUBDIR += py-xlmmacrodeobfuscator SUBDIR += py-xlrd SUBDIR += py-xlrd2 SUBDIR += py-xlsxwriter SUBDIR += py-xlutils SUBDIR += py-xlwt SUBDIR += py-xml-default-dict SUBDIR += py-xmldiff SUBDIR += py-xmlschema SUBDIR += py-yapf SUBDIR += py-youseedee SUBDIR += py-yte SUBDIR += py-zensical SUBDIR += py-zope.i18nmessageid SUBDIR += py-zpt SUBDIR += pymupdf4llm-mcp SUBDIR += qo SUBDIR += qprint SUBDIR += qr SUBDIR += qrcodegen SUBDIR += qstardict SUBDIR += qt5-xml SUBDIR += qt5-xmlpatterns SUBDIR += qu-aspell SUBDIR += quarto SUBDIR += quickwit SUBDIR += rand SUBDIR += rapidxml SUBDIR += raptor2 SUBDIR += rarian SUBDIR += rasqal SUBDIR += re-flex SUBDIR += re_graph SUBDIR += redet SUBDIR += redisearch SUBDIR += redisearch2 SUBDIR += redisearch22 SUBDIR += redisearch24 SUBDIR += redisearch26 SUBDIR += redisearch28 SUBDIR += redland SUBDIR += redland-bindings SUBDIR += refdb SUBDIR += reflex SUBDIR += regex2dfa SUBDIR += replaceit SUBDIR += rfcdiff SUBDIR += riffdiff SUBDIR += ripgrep SUBDIR += ripgrep-all SUBDIR += ripole SUBDIR += rl SUBDIR += rman SUBDIR += rnv SUBDIR += ro-aspell SUBDIR += ro-hunspell SUBDIR += ro-hyphen SUBDIR += ro-mythes SUBDIR += rtfreader SUBDIR += ruby-escape SUBDIR += ruby-format SUBDIR += ruby-htree SUBDIR += ruby-rd-mode.el SUBDIR += ruby-rdtool SUBDIR += ruby-rttool SUBDIR += rubygem-abbrev SUBDIR += rubygem-action_text-trix SUBDIR += rubygem-actionpack-xml_parser-rails5 SUBDIR += rubygem-actionpack-xml_parser-rails52 SUBDIR += rubygem-actionpack-xml_parser-rails61 SUBDIR += rubygem-actionpack-xml_parser-rails72 SUBDIR += rubygem-actiontext-gitlab SUBDIR += rubygem-actiontext60 SUBDIR += rubygem-actiontext61 SUBDIR += rubygem-actiontext70 SUBDIR += rubygem-actiontext71 SUBDIR += rubygem-actiontext72 SUBDIR += rubygem-actiontext80 SUBDIR += rubygem-actiontext81 SUBDIR += rubygem-albino SUBDIR += rubygem-amatch SUBDIR += rubygem-asciidoctor SUBDIR += rubygem-asciidoctor-diagram SUBDIR += rubygem-asciidoctor-epub3 SUBDIR += rubygem-asciidoctor-include-ext SUBDIR += rubygem-asciidoctor-kroki SUBDIR += rubygem-asciidoctor-pdf SUBDIR += rubygem-asciidoctor-plantuml SUBDIR += rubygem-asciidoctor-plantuml00 SUBDIR += rubygem-autoprefixer-rails SUBDIR += rubygem-babel-source SUBDIR += rubygem-babel-transpiler SUBDIR += rubygem-babosa SUBDIR += rubygem-bourbon SUBDIR += rubygem-case_transform SUBDIR += rubygem-character_set SUBDIR += rubygem-charlock_holmes SUBDIR += rubygem-chef-gyoku SUBDIR += rubygem-chewy SUBDIR += rubygem-citrus SUBDIR += rubygem-cld3 SUBDIR += rubygem-coderay SUBDIR += rubygem-colorator SUBDIR += rubygem-colored SUBDIR += rubygem-colored2 SUBDIR += rubygem-commonmarker SUBDIR += rubygem-commonmarker0 SUBDIR += rubygem-creole SUBDIR += rubygem-cronex SUBDIR += rubygem-css_parser SUBDIR += rubygem-cssmin SUBDIR += rubygem-cucumber-gherkin SUBDIR += rubygem-cucumber-gherkin39 SUBDIR += rubygem-cucumber-html-formatter SUBDIR += rubygem-cucumber-html-formatter22 SUBDIR += rubygem-cucumber-html-formatter23 SUBDIR += rubygem-dartsass SUBDIR += rubygem-diff-lcs SUBDIR += rubygem-diff_match_patch SUBDIR += rubygem-diffy SUBDIR += rubygem-docdiff SUBDIR += rubygem-elastic-apm SUBDIR += rubygem-elastic-transport SUBDIR += rubygem-elasticsearch SUBDIR += rubygem-elasticsearch-api SUBDIR += rubygem-elasticsearch-api-gitlab SUBDIR += rubygem-elasticsearch-api7 SUBDIR += rubygem-elasticsearch-api8 SUBDIR += rubygem-elasticsearch-dsl SUBDIR += rubygem-elasticsearch-gitlab SUBDIR += rubygem-elasticsearch-model SUBDIR += rubygem-elasticsearch-model-gitlab SUBDIR += rubygem-elasticsearch-persistence SUBDIR += rubygem-elasticsearch-rails SUBDIR += rubygem-elasticsearch-rails7 SUBDIR += rubygem-elasticsearch-transport SUBDIR += rubygem-elasticsearch-transport-gitlab SUBDIR += rubygem-elasticsearch-xpack SUBDIR += rubygem-elasticsearch7 SUBDIR += rubygem-elasticsearch8 SUBDIR += rubygem-emot SUBDIR += rubygem-escape_utils SUBDIR += rubygem-extended-markdown-filter SUBDIR += rubygem-ezamar SUBDIR += rubygem-fast_xs SUBDIR += rubygem-fog-xml SUBDIR += rubygem-fog-xml-gitlab SUBDIR += rubygem-gemoji SUBDIR += rubygem-gemoji3 SUBDIR += rubygem-gepub SUBDIR += rubygem-github-linguist SUBDIR += rubygem-github-markup SUBDIR += rubygem-gitlab-glfm-markdown SUBDIR += rubygem-gitlab-grit SUBDIR += rubygem-gitlab-markup SUBDIR += rubygem-google-cloud-artifact_registry-v1 SUBDIR += rubygem-google-cloud-profiler-v2 SUBDIR += rubygem-google-cloud-translate SUBDIR += rubygem-google-cloud-translate-v2 SUBDIR += rubygem-google-cloud-translate-v3 SUBDIR += rubygem-heredoc_unindent SUBDIR += rubygem-hikidoc SUBDIR += rubygem-html-pipeline SUBDIR += rubygem-html-pipeline-gitlab SUBDIR += rubygem-html-proofer SUBDIR += rubygem-html2text SUBDIR += rubygem-htmlentities SUBDIR += rubygem-ini SUBDIR += rubygem-inifile SUBDIR += rubygem-iso-639 SUBDIR += rubygem-itextomml SUBDIR += rubygem-jekyll-archives SUBDIR += rubygem-jekyll-assets SUBDIR += rubygem-jekyll-email-protect SUBDIR += rubygem-jekyll-feed SUBDIR += rubygem-jekyll-gist SUBDIR += rubygem-jekyll-mentions SUBDIR += rubygem-jekyll-paginate SUBDIR += rubygem-jekyll-redirect-from SUBDIR += rubygem-jekyll-sass-converter SUBDIR += rubygem-jekyll-sass-converter1 SUBDIR += rubygem-jekyll-sitemap SUBDIR += rubygem-jemoji SUBDIR += rubygem-js_regex SUBDIR += rubygem-jsmin SUBDIR += rubygem-kramdown SUBDIR += rubygem-kramdown-gitlab SUBDIR += rubygem-kramdown-parser-gfm SUBDIR += rubygem-kramdown-parser-gfm-gitlab SUBDIR += rubygem-kwalify SUBDIR += rubygem-libxml-ruby SUBDIR += rubygem-linguistics SUBDIR += rubygem-liquid SUBDIR += rubygem-liquid-tag-parser SUBDIR += rubygem-liquid-tag-parser1 SUBDIR += rubygem-liquid4 SUBDIR += rubygem-loggability SUBDIR += rubygem-loofah SUBDIR += rubygem-loofah-gitlab SUBDIR += rubygem-ltsv SUBDIR += rubygem-markaby SUBDIR += rubygem-mdl SUBDIR += rubygem-minima SUBDIR += rubygem-multi_xml SUBDIR += rubygem-nokogiri SUBDIR += rubygem-nokogiri-diff SUBDIR += rubygem-octopress-escape-code SUBDIR += rubygem-opensearch-ruby-gitlab SUBDIR += rubygem-openvox-strings SUBDIR += rubygem-opml SUBDIR += rubygem-org-ruby SUBDIR += rubygem-ox SUBDIR += rubygem-parse-cron SUBDIR += rubygem-parslet SUBDIR += rubygem-parslet1 SUBDIR += rubygem-phone SUBDIR += rubygem-pretty-xml SUBDIR += rubygem-prism SUBDIR += rubygem-psych SUBDIR += rubygem-psych3 SUBDIR += rubygem-raabro SUBDIR += rubygem-rails-dom-testing SUBDIR += rubygem-rails-dom-testing-rails-gitlab SUBDIR += rubygem-rails-dom-testing-rails5 SUBDIR += rubygem-rails-dom-testing-rails50 SUBDIR += rubygem-rails-dom-testing-rails52 SUBDIR += rubygem-rails-dom-testing-rails60 SUBDIR += rubygem-rails-dom-testing-rails61 SUBDIR += rubygem-rails-dom-testing-rails70 SUBDIR += rubygem-rails-dom-testing-rails71 SUBDIR += rubygem-rails-dom-testing-rails72 SUBDIR += rubygem-rails-dom-testing-rails80 SUBDIR += rubygem-rails-dom-testing-rails81 SUBDIR += rubygem-rails-dom-testing1 SUBDIR += rubygem-rails-html-sanitizer SUBDIR += rubygem-rails-html-sanitizer-gitlab SUBDIR += rubygem-rak SUBDIR += rubygem-rchardet SUBDIR += rubygem-rdiscount SUBDIR += rubygem-rdtool SUBDIR += rubygem-redcarpet SUBDIR += rubygem-regexp_parser SUBDIR += rubygem-regexp_property_values SUBDIR += rubygem-representable SUBDIR += rubygem-reverse_markdown SUBDIR += rubygem-rexml SUBDIR += rubygem-ri_cal SUBDIR += rubygem-rly SUBDIR += rubygem-rmmseg-cpp SUBDIR += rubygem-ronn SUBDIR += rubygem-rouge SUBDIR += rubygem-rouge-gitlab SUBDIR += rubygem-rouge3 SUBDIR += rubygem-rouge4 SUBDIR += rubygem-rttool SUBDIR += rubygem-ruby-augeas SUBDIR += rubygem-ruby-xslt SUBDIR += rubygem-ruby_expect SUBDIR += rubygem-rubypants SUBDIR += rubygem-rugments SUBDIR += rubygem-sanitize SUBDIR += rubygem-sanitize60 SUBDIR += rubygem-sass SUBDIR += rubygem-sass-listen SUBDIR += rubygem-sass-rails-rails4 SUBDIR += rubygem-sass-rails-rails5 SUBDIR += rubygem-sass-rails-rails50 SUBDIR += rubygem-sass-rails-rails52 SUBDIR += rubygem-sass-rails-rails60 SUBDIR += rubygem-sass-rails-rails61 SUBDIR += rubygem-sass-rails-rails70 SUBDIR += rubygem-sassc SUBDIR += rubygem-sassc-rails-rails4 SUBDIR += rubygem-sassc-rails-rails5 SUBDIR += rubygem-sassc-rails-rails50 SUBDIR += rubygem-sassc-rails-rails52 SUBDIR += rubygem-sassc-rails-rails60 SUBDIR += rubygem-sassc-rails-rails61 SUBDIR += rubygem-sassc-rails-rails70 SUBDIR += rubygem-sax-machine SUBDIR += rubygem-scss_lint SUBDIR += rubygem-shell2html SUBDIR += rubygem-simplecov-html SUBDIR += rubygem-sixarm_ruby_unaccent SUBDIR += rubygem-spreadsheet SUBDIR += rubygem-stamp SUBDIR += rubygem-syntax SUBDIR += rubygem-termcolor SUBDIR += rubygem-terminal-table SUBDIR += rubygem-terminal-table3 SUBDIR += rubygem-terser SUBDIR += rubygem-text SUBDIR += rubygem-tidy_ffi SUBDIR += rubygem-toml SUBDIR += rubygem-tomlrb SUBDIR += rubygem-tomlrb1 SUBDIR += rubygem-truncato SUBDIR += rubygem-twitter-text SUBDIR += rubygem-twitter-text1 SUBDIR += rubygem-unf SUBDIR += rubygem-unf_ext SUBDIR += rubygem-unicode_plot SUBDIR += rubygem-version_sorter SUBDIR += rubygem-whatlanguage SUBDIR += rubygem-wikicloth SUBDIR += rubygem-wikicloth081 SUBDIR += rubygem-xml-simple SUBDIR += rubygem-xml-simple-gitlab SUBDIR += rubygem-ya2yaml SUBDIR += rubygem-yard SUBDIR += rubygem-yard-chef SUBDIR += rw-aspell SUBDIR += rxp SUBDIR += s5 SUBDIR += sablotron SUBDIR += sad SUBDIR += sansi SUBDIR += sarep SUBDIR += sassc SUBDIR += saxon-he SUBDIR += sc-aspell SUBDIR += scdoc SUBDIR += scew SUBDIR += scim SUBDIR += scim-input-pad SUBDIR += scim-kmfl-imengine SUBDIR += scim-m17n SUBDIR += scim-openvanilla SUBDIR += scim-table-imengine SUBDIR += scr2txt SUBDIR += scss SUBDIR += scws SUBDIR += sd SUBDIR += sdcv SUBDIR += sdf SUBDIR += sdocbook-xml SUBDIR += sdom SUBDIR += senna SUBDIR += sentencepiece SUBDIR += sexp SUBDIR += sgmlformat SUBDIR += sgmls SUBDIR += sgrep2 SUBDIR += sift SUBDIR += sigil SUBDIR += sk-aspell SUBDIR += sk-hunspell SUBDIR += sk-hyphen SUBDIR += sk-mythes SUBDIR += sl-aspell SUBDIR += sl-hunspell SUBDIR += sl-hyphen SUBDIR += sl-mythes SUBDIR += slides SUBDIR += slowcat SUBDIR += smi SUBDIR += smu SUBDIR += snowballstemmer SUBDIR += so-hunspell SUBDIR += sonic SUBDIR += source-highlight SUBDIR += sowing SUBDIR += spellutils SUBDIR += sphinxsearch SUBDIR += splitpatch SUBDIR += sq-hunspell SUBDIR += sr-aspell SUBDIR += sr-hunspell SUBDIR += ss-hunspell SUBDIR += stardict-dict-fa_IR SUBDIR += stardict-rptts SUBDIR += stardict3 SUBDIR += sttr SUBDIR += sv-aspell SUBDIR += sv-hunspell SUBDIR += sv-mythes SUBDIR += svn2cl SUBDIR += sw-aspell SUBDIR += ta-aspell SUBDIR += tagsoup SUBDIR += te-aspell SUBDIR += te-hunspell SUBDIR += teckit SUBDIR += television SUBDIR += termshot SUBDIR += tet-aspell SUBDIR += texi2db SUBDIR += texi2html SUBDIR += texi2mdoc SUBDIR += textnote SUBDIR += textogif SUBDIR += textql SUBDIR += tgrep SUBDIR += the_silver_searcher SUBDIR += ti-hunspell SUBDIR += tinyxml SUBDIR += tinyxml2 SUBDIR += tk-aspell SUBDIR += tk-hunspell SUBDIR += tkdiff SUBDIR += tkxmlive SUBDIR += tl-aspell SUBDIR += tn-aspell SUBDIR += tn-hunspell SUBDIR += tnef2txt SUBDIR += tokay SUBDIR += tokyodystopia SUBDIR += toml-f SUBDIR += tomlq SUBDIR += tr-aspell SUBDIR += trang SUBDIR += translate-shell SUBDIR += translate-toolkit SUBDIR += trdsql SUBDIR += tree-sitter-grammars SUBDIR += ts-hunspell SUBDIR += tth SUBDIR += tttcmds SUBDIR += ttynt SUBDIR += tui-journal SUBDIR += txt2html SUBDIR += txt2man SUBDIR += txt2tags SUBDIR += typos SUBDIR += typst SUBDIR += uchardet SUBDIR += ucto SUBDIR += uctodata SUBDIR += ugrep SUBDIR += uim SUBDIR += uim-el SUBDIR += uim-gtk2 SUBDIR += uim-gtk3 SUBDIR += uim-m17nlib SUBDIR += uim-qt5 SUBDIR += uim-qt6 SUBDIR += uml2svg SUBDIR += uncle SUBDIR += uncrustify SUBDIR += uni SUBDIR += uni-algo SUBDIR += uni2ascii SUBDIR += unroff SUBDIR += unrtf SUBDIR += up SUBDIR += urlview SUBDIR += utf8proc SUBDIR += uz-aspell SUBDIR += vacuum SUBDIR += vale SUBDIR += vbindiff SUBDIR += ve-hunspell SUBDIR += vgrep SUBDIR += wa-aspell SUBDIR += wa-hunspell SUBDIR += wdiff SUBDIR += webcpp SUBDIR += website SUBDIR += weka SUBDIR += wiggle SUBDIR += wikiman SUBDIR += wordnet SUBDIR += write-good SUBDIR += wv SUBDIR += wv2 SUBDIR += xalan-j SUBDIR += xan SUBDIR += xenv SUBDIR += xerces-c3 SUBDIR += xerces-j SUBDIR += xfce4-dict-plugin SUBDIR += xh-hunspell SUBDIR += xhtml SUBDIR += xhtml-11 SUBDIR += xhtml-basic SUBDIR += xhtml-modularization SUBDIR += xhtml1-xsd SUBDIR += xlhtml SUBDIR += xlnt SUBDIR += xlreader SUBDIR += xlsxio SUBDIR += xml-commons SUBDIR += xml-format SUBDIR += xml-lite.el SUBDIR += xml2rfc SUBDIR += xmlada SUBDIR += xmlcatmgr SUBDIR += xmlcharent SUBDIR += xmlf90 SUBDIR += xmlformat SUBDIR += xmlgen SUBDIR += xmlindent SUBDIR += xmlppm SUBDIR += xmlroff SUBDIR += xmlstarlet SUBDIR += xmlto SUBDIR += xmlwrapp SUBDIR += xom SUBDIR += xorg-sgml-doctools SUBDIR += xslide.el SUBDIR += xstream SUBDIR += xwindiff SUBDIR += xxdiff SUBDIR += xxdiff-scripts SUBDIR += y2l SUBDIR += yali SUBDIR += yaml-mode.el SUBDIR += yaml.el SUBDIR += yamlfmt SUBDIR += ydiff SUBDIR += yelp-tools SUBDIR += yelp-xsl SUBDIR += yi-aspell SUBDIR += yi-hunspell SUBDIR += yodl SUBDIR += yq SUBDIR += ytt SUBDIR += zed SUBDIR += zenxml SUBDIR += zq SUBDIR += zu-aspell SUBDIR += zu-hunspell SUBDIR += zxing-cpp .include diff --git a/textproc/py-docling-agent/Makefile b/textproc/py-docling-agent/Makefile new file mode 100644 index 000000000000..ec60aae3638f --- /dev/null +++ b/textproc/py-docling-agent/Makefile @@ -0,0 +1,33 @@ +PORTNAME= docling-agent +DISTVERSION= 0.6.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Python library to simplify agentic operations on documents +WWW= https://github.com/docling-project/docling-agent + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=1.35:www/py-boto3@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling>=2.61.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.79.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.28:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mellea>=0.3:devel/py-mellea@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.2:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyarrow>=19.0:databases/py-pyarrow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.10:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.4:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0:devel/py-pyyaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-agent/distinfo b/textproc/py-docling-agent/distinfo new file mode 100644 index 000000000000..b709351e4d64 --- /dev/null +++ b/textproc/py-docling-agent/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064426 +SHA256 (docling_agent-0.6.0.tar.gz) = c1b877651d139aeca1aacf3f5152c657c42f90f6ef2c1f70f601bee22df2c93f +SIZE (docling_agent-0.6.0.tar.gz) = 66201 diff --git a/textproc/py-docling-agent/files/patch-pyproject.toml b/textproc/py-docling-agent/files/patch-pyproject.toml new file mode 100644 index 000000000000..a5aa77481ebe --- /dev/null +++ b/textproc/py-docling-agent/files/patch-pyproject.toml @@ -0,0 +1,13 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:11 UTC ++++ pyproject.toml +@@ -2,8 +2,7 @@ description = "A python library to simplify agentic op + name = "docling-agent" + version = "0.6.0" # DO NOT EDIT, updated automatically + description = "A python library to simplify agentic operations on documents, such as writing, editing, summarizing, extracting, and enriching." +-license = "MIT" +-license-files = ["LICENSE"] ++license = {text = "MIT"} + keywords = ["docling", "agent", "agentic", "document processing", "writing", "editing", "extraction", "enrichment", "summarization"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-agent/pkg-descr b/textproc/py-docling-agent/pkg-descr new file mode 100644 index 000000000000..8def22858ad4 --- /dev/null +++ b/textproc/py-docling-agent/pkg-descr @@ -0,0 +1,4 @@ +Docling Agent is a Python library that simplifies agentic operations on +documents, such as writing, editing, summarizing, extracting, and enriching +content. It builds on top of the Docling document understanding platform to +enable AI agents to work with structured document representations. diff --git a/textproc/py-docling-analysis-framework/Makefile b/textproc/py-docling-analysis-framework/Makefile new file mode 100644 index 000000000000..d30cd92186f6 --- /dev/null +++ b/textproc/py-docling-analysis-framework/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-analysis-framework +DISTVERSION= 2.0.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= AI-ready analysis framework for PDF and Office documents using Docling +WWW= https://github.com/rdwj/docling-analysis-framework + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}analysis-framework-base>=1.0.0:misc/py-analysis-framework-base@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling>=1.0.0:textproc/py-docling@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-analysis-framework/distinfo b/textproc/py-docling-analysis-framework/distinfo new file mode 100644 index 000000000000..deb78442667b --- /dev/null +++ b/textproc/py-docling-analysis-framework/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064446 +SHA256 (docling_analysis_framework-2.0.0.tar.gz) = f3f6fb642786e3fbee9d45d0af6ef0b3e80179cee263790f10eed574a3ba6edc +SIZE (docling_analysis_framework-2.0.0.tar.gz) = 40817 diff --git a/textproc/py-docling-analysis-framework/pkg-descr b/textproc/py-docling-analysis-framework/pkg-descr new file mode 100644 index 000000000000..21ef3ea26681 --- /dev/null +++ b/textproc/py-docling-analysis-framework/pkg-descr @@ -0,0 +1,4 @@ +Docling Analysis Framework provides an AI-ready analysis framework for PDF +and Office documents using Docling for content extraction. It is part of +the unified analysis framework suite and enables systematic evaluation and +analysis of document processing pipelines. diff --git a/textproc/py-docling-core/Makefile b/textproc/py-docling-core/Makefile new file mode 100644 index 000000000000..90beecfd7c50 --- /dev/null +++ b/textproc/py-docling-core/Makefile @@ -0,0 +1,36 @@ +PORTNAME= docling-core +DISTVERSION= 2.85.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Library to define and validate data types in Docling +WWW= https://github.com/docling-project/docling-core + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}defusedxml>=0.7.1:devel/py-defusedxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}doclang>=0.7:textproc/py-doclang@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}jsonref>=1.1.0:devel/py-jsonref@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}jsonschema>=4.16.0:devel/py-jsonschema@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}latex2mathml>=3.77.0:textproc/py-latex2mathml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.1.4:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.6.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.14.0:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tabulate>=0.9.0:devel/py-tabulate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.12.2:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-core/distinfo b/textproc/py-docling-core/distinfo new file mode 100644 index 000000000000..c2e7318c8118 --- /dev/null +++ b/textproc/py-docling-core/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064268 +SHA256 (docling_core-2.85.0.tar.gz) = c4f49148ad8ac7cbe58d85cce90d2b3b0741d2b73cbfabb332e2df9e9583b3b4 +SIZE (docling_core-2.85.0.tar.gz) = 323268 diff --git a/textproc/py-docling-core/files/patch-pyproject.toml b/textproc/py-docling-core/files/patch-pyproject.toml new file mode 100644 index 000000000000..c1715ebd9a5d --- /dev/null +++ b/textproc/py-docling-core/files/patch-pyproject.toml @@ -0,0 +1,13 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:22 UTC ++++ pyproject.toml +@@ -2,8 +2,7 @@ description = "A python library to define and validate + name = "docling-core" + version = "2.85.0" # DO NOT EDIT, updated automatically + description = "A python library to define and validate data types in Docling." +-license = "MIT" +-license-files = ["LICENSE"] ++license = {text = "MIT"} + keywords = ["docling", "discovery", "etl", "information retrieval", "analytics", "database", "database schema", "schema", "JSON"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-core/pkg-descr b/textproc/py-docling-core/pkg-descr new file mode 100644 index 000000000000..9a34a86d4514 --- /dev/null +++ b/textproc/py-docling-core/pkg-descr @@ -0,0 +1,4 @@ +Docling Core defines and validates data types used throughout the Docling +ecosystem. It provides the core document model, type definitions, and +validation utilities that form the foundation of the Docling document +conversion pipeline. diff --git a/textproc/py-docling-cvat-tools/Makefile b/textproc/py-docling-cvat-tools/Makefile new file mode 100644 index 000000000000..751c7c498f0c --- /dev/null +++ b/textproc/py-docling-cvat-tools/Makefile @@ -0,0 +1,34 @@ +PORTNAME= docling-cvat-tools +DISTVERSION= 0.1.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= CVAT annotation tools for Docling document processing and evaluation +WWW= https://github.com/docling-project/docling-cvat-tools + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cvat-sdk>=2.40.0:misc/py-cvat-sdk@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling>=2.56.1:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.63.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=5.3.0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.2.3:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.3.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.67.1:misc/py-tqdm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.16.0:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}xlsxwriter>=3.1.0:textproc/py-xlsxwriter@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-cvat-tools/distinfo b/textproc/py-docling-cvat-tools/distinfo new file mode 100644 index 000000000000..b885ef3625e6 --- /dev/null +++ b/textproc/py-docling-cvat-tools/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064426 +SHA256 (docling_cvat_tools-0.1.0.tar.gz) = 9e0816e65bb689983c9e0af1f26505104b11ce0fe61abad22b2f4b54be102a30 +SIZE (docling_cvat_tools-0.1.0.tar.gz) = 84496 diff --git a/textproc/py-docling-cvat-tools/files/patch-pyproject.toml b/textproc/py-docling-cvat-tools/files/patch-pyproject.toml new file mode 100644 index 000000000000..778d8dc7f3cd --- /dev/null +++ b/textproc/py-docling-cvat-tools/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:23 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "CVAT annotation tools for Docling docum + name = "docling-cvat-tools" + version = "0.1.0" # DO NOT EDIT, updated automatically + description = "CVAT annotation tools for Docling document processing and evaluation" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "cvat", "annotation", "evaluation"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-cvat-tools/pkg-descr b/textproc/py-docling-cvat-tools/pkg-descr new file mode 100644 index 000000000000..e0aeb704588a --- /dev/null +++ b/textproc/py-docling-cvat-tools/pkg-descr @@ -0,0 +1,4 @@ +Docling CVAT Tools provides CVAT (Computer Vision Annotation Tool) +integration for Docling document processing and evaluation workflows. +It enables annotation-based assessment of document understanding +pipelines using the CVAT platform. diff --git a/textproc/py-docling-demo/Makefile b/textproc/py-docling-demo/Makefile new file mode 100644 index 000000000000..60c7df9c871f --- /dev/null +++ b/textproc/py-docling-demo/Makefile @@ -0,0 +1,35 @@ +PORTNAME= docling-demo +DISTVERSION= 0.1.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Demo application for Docling with Azure AI Search +WWW= https://pypi.org/project/docling-demo/ + +LICENSE= MIT + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}azure-identity>=0:devel/py-azure-identity@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}azure-search>0:devel/py-azure-search@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}azure-search-documents>0:devel/py-azure-search-documents@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}build>=1.3.0:devel/py-build@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling>=2.64.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hf-xet>=1.2.0:misc/py-hf-xet@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}langchain>=1.1.2:misc/py-langchain@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}langchain-docling>=2.0.0:textproc/py-langchain-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}langchain-openai>=1.1.0:misc/py-langchain-openai@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}onnxruntime>=1.23.2:misc/py-onnxruntime@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pymupdf>=1.26.6:print/py-PyMuPDF@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}transformers>=4.57.3:misc/py-transformers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}twine>=6.2.0:devel/py-twine@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-demo/distinfo b/textproc/py-docling-demo/distinfo new file mode 100644 index 000000000000..fb7a31249b37 --- /dev/null +++ b/textproc/py-docling-demo/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064427 +SHA256 (docling_demo-0.1.1.tar.gz) = 5661a2be0a201b019d8ca382ef99a551c8d32bcd0c4d992cfd42d09a4b93e7ed +SIZE (docling_demo-0.1.1.tar.gz) = 7274 diff --git a/textproc/py-docling-demo/files/patch-pyproject.toml b/textproc/py-docling-demo/files/patch-pyproject.toml new file mode 100644 index 000000000000..2ab9fb9b87ee --- /dev/null +++ b/textproc/py-docling-demo/files/patch-pyproject.toml @@ -0,0 +1,10 @@ +-- Add setuptools packages.find config to exclude top-level utils package that conflicts with other ports. +--- pyproject.toml.orig 2026-07-09 20:28:23 UTC ++++ pyproject.toml +@@ -19,3 +19,6 @@ dependencies = [ + "transformers>=4.57.3", + "twine>=6.2.0", + ] ++ ++[tool.setuptools.packages.find] ++exclude = ["utils", "utils.*"] diff --git a/textproc/py-docling-demo/pkg-descr b/textproc/py-docling-demo/pkg-descr new file mode 100644 index 000000000000..a2153a254524 --- /dev/null +++ b/textproc/py-docling-demo/pkg-descr @@ -0,0 +1,4 @@ +Docling Demo is a demonstration application showcasing the capabilities +of the Docling document understanding platform. It provides an interactive +interface for exploring document parsing, layout analysis, and structure +recognition features. diff --git a/textproc/py-docling-enhanced-onnx/Makefile b/textproc/py-docling-enhanced-onnx/Makefile new file mode 100644 index 000000000000..6c5dc78e24d6 --- /dev/null +++ b/textproc/py-docling-enhanced-onnx/Makefile @@ -0,0 +1,29 @@ +PORTNAME= docling-enhanced-onnx +DISTVERSION= 1.0.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Enhanced Docling Models with ONNX Auto-Detection, Air-Gapped Support +WWW= https://github.com/asmud/docling + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.0.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.21.0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}onnxruntime>=1.15.0:misc/py-onnxruntime@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=8.3.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-enhanced-onnx/distinfo b/textproc/py-docling-enhanced-onnx/distinfo new file mode 100644 index 000000000000..431ee9a01ad3 --- /dev/null +++ b/textproc/py-docling-enhanced-onnx/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064447 +SHA256 (docling_enhanced_onnx-1.0.0.tar.gz) = 404c3edeef410a087d28a4cc3ccb33700c1c966e9523590033322cfb31b833c6 +SIZE (docling_enhanced_onnx-1.0.0.tar.gz) = 22004 diff --git a/textproc/py-docling-enhanced-onnx/pkg-descr b/textproc/py-docling-enhanced-onnx/pkg-descr new file mode 100644 index 000000000000..f86f05833a59 --- /dev/null +++ b/textproc/py-docling-enhanced-onnx/pkg-descr @@ -0,0 +1,4 @@ +Docling Enhanced ONNX provides enhanced Docling AI models with ONNX +auto-detection and air-gapped support. It enables running Docling models +in ONNX Runtime format, suitable for offline and air-gapped environments +where network access is restricted. diff --git a/textproc/py-docling-enhanced/Makefile b/textproc/py-docling-enhanced/Makefile new file mode 100644 index 000000000000..438bc6b5f439 --- /dev/null +++ b/textproc/py-docling-enhanced/Makefile @@ -0,0 +1,46 @@ +PORTNAME= docling-enhanced +DISTVERSION= 2.32.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= SDK and CLI for parsing PDF, DOCX, HTML, and more into unified format +WWW= https://github.com/docling-project/docling + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}certifi>=2024.7.4:security/py-certifi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.26.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-ibm-models>=3.4.0:textproc/py-docling-ibm-models@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-parse>=4.0.0:textproc/py-docling-parse@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}easyocr>=1.7:graphics/py-easyocr@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}filetype>=1.2.0:devel/py-filetype@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}huggingface-hub>=0.23:misc/py-huggingface-hub@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=4.0.0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}marko>=2.1.2:textproc/py-marko@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.1.4:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pluggy>=1.0.0:devel/py-pluggy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.3.0:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pylatexenc>=2.10:textproc/py-pylatexenc@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-docx>=1.1.2:textproc/py-python-docx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-pptx>=1.0.2:textproc/py-python-pptx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.32.2:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rtree>=1.3.0:devel/py-rtree@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy>=1.6.0:science/py-scipy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.65.0:misc/py-tqdm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-enhanced/distinfo b/textproc/py-docling-enhanced/distinfo new file mode 100644 index 000000000000..4ec163318647 --- /dev/null +++ b/textproc/py-docling-enhanced/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064447 +SHA256 (docling_enhanced-2.32.0.tar.gz) = 8e05c15f02e00b69b2425a7370b1c5b9836748466fc6af3c7d4ca667acc6a995 +SIZE (docling_enhanced-2.32.0.tar.gz) = 128958 diff --git a/textproc/py-docling-enhanced/pkg-descr b/textproc/py-docling-enhanced/pkg-descr new file mode 100644 index 000000000000..2d610129e5b1 --- /dev/null +++ b/textproc/py-docling-enhanced/pkg-descr @@ -0,0 +1,4 @@ +Docling Enhanced is an extended distribution of the Docling document +conversion SDK and CLI. It parses PDF, DOCX, PPTX, XLSX, HTML, images, +and other formats into a unified document representation, with additional +enhanced models and capabilities beyond the standard docling package. diff --git a/textproc/py-docling-eval/Makefile b/textproc/py-docling-eval/Makefile new file mode 100644 index 000000000000..c7ad9c5bc171 --- /dev/null +++ b/textproc/py-docling-eval/Makefile @@ -0,0 +1,52 @@ +PORTNAME= docling-eval +DISTVERSION= 1.4.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Evaluation of Docling +WWW= https://github.com/docling-project/docling-eval + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}apted>=1.0.3:math/py-apted@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}datasets>=3.2.0:misc/py-datasets@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}distance>=0.1.3:math/py-distance@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling>=2.56.1:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.48.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}edit-distance>=1.0.6:math/py-edit-distance@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}editdistance>0:devel/py-editdistance@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}evaluate>=0.4.3:misc/py-evaluate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}jiwer>=3.1.0:misc/py-jiwer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=5.3.0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.10.0:math/py-matplotlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}nltk>=3.9.1:textproc/py-nltk@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.2.3:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.3.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyarrow>=20.0.0:databases/py-pyarrow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pycocotools>=2.0.8:devel/py-pycocotools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pypdf2>=3.0.1:graphics/py-pypdf2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}reportlab>=4.4.3:print/py-reportlab@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy>=1.15.3:science/py-scipy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy-stubs>=1.15.3.0:science/py-scipy-stubs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tabulate>=0.9.0:devel/py-tabulate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytorch>=2.5.1:misc/py-pytorch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}torchmetrics>=1.6.0:misc/py-torchmetrics@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.67.1:misc/py-tqdm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.16.0:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}xmltodict>=0.14.2:devel/py-xmltodict@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-eval/distinfo b/textproc/py-docling-eval/distinfo new file mode 100644 index 000000000000..96b17ba77de3 --- /dev/null +++ b/textproc/py-docling-eval/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064427 +SHA256 (docling_eval-1.4.1.tar.gz) = ba53d8a27358acd70f9f6137cae660fe2a58da19342c965d821d15813b1d02d1 +SIZE (docling_eval-1.4.1.tar.gz) = 278175 diff --git a/textproc/py-docling-eval/files/patch-pyproject.toml b/textproc/py-docling-eval/files/patch-pyproject.toml new file mode 100644 index 000000000000..ec1dcb03074b --- /dev/null +++ b/textproc/py-docling-eval/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:24 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "Evaluation of Docling" + name = "docling-eval" + version = "1.4.1" # DO NOT EDIT, updated automatically + description = "Evaluation of Docling" +-license = "MIT" ++license = {text = "MIT"} + keywords= ["docling", "evaluation", "convert", "document", "pdf", "docx", "html", "markdown", "layout model", "segmentation", "table structure", "table former"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-eval/pkg-descr b/textproc/py-docling-eval/pkg-descr new file mode 100644 index 000000000000..baed505aa3dc --- /dev/null +++ b/textproc/py-docling-eval/pkg-descr @@ -0,0 +1,4 @@ +Docling Eval provides evaluation tooling for the Docling document +understanding platform. It includes benchmarks, metrics, and test +suites for assessing the quality and accuracy of document conversion +and structure recognition outputs. diff --git a/textproc/py-docling-extractor/Makefile b/textproc/py-docling-extractor/Makefile new file mode 100644 index 000000000000..4d7da3663ca3 --- /dev/null +++ b/textproc/py-docling-extractor/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-extractor +DISTVERSION= 1.0.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Production-grade document extraction with intelligent fallback chain +WWW= https://github.com/panwarnalini-hub/clinical-doc-pipelines + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdfplumber>=0.10.0:graphics/py-pdfplumber@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pymupdf>=1.23.0:print/py-PyMuPDF@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-extractor/distinfo b/textproc/py-docling-extractor/distinfo new file mode 100644 index 000000000000..efb05a84efdd --- /dev/null +++ b/textproc/py-docling-extractor/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064447 +SHA256 (docling_extractor-1.0.0.tar.gz) = 8b92668efd5927452a0d4e62c7bbb6acc7b74504b1a53765eb715120be02c598 +SIZE (docling_extractor-1.0.0.tar.gz) = 13608 diff --git a/textproc/py-docling-extractor/pkg-descr b/textproc/py-docling-extractor/pkg-descr new file mode 100644 index 000000000000..95bbb3c89467 --- /dev/null +++ b/textproc/py-docling-extractor/pkg-descr @@ -0,0 +1,4 @@ +Docling Extractor provides production-grade document extraction with an +intelligent fallback chain: Docling, PyMuPDF, pdfplumber, and Tesseract. +It automatically selects the best available extraction backend for each +document, ensuring robust text extraction across diverse document types. diff --git a/textproc/py-docling-glm-ocr/Makefile b/textproc/py-docling-glm-ocr/Makefile new file mode 100644 index 000000000000..d9ddc33136ea --- /dev/null +++ b/textproc/py-docling-glm-ocr/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-glm-ocr +DISTVERSION= 0.5.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Docling OCR plugin for GLM-OCR +WWW= https://github.com/DCC-BS/docling-glm-ocr + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.73:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.27:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0:graphics/py-pillow@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-glm-ocr/distinfo b/textproc/py-docling-glm-ocr/distinfo new file mode 100644 index 000000000000..9bb0a614b385 --- /dev/null +++ b/textproc/py-docling-glm-ocr/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064427 +SHA256 (docling_glm_ocr-0.5.0.tar.gz) = 5038bbe68b8b0b74e2470b83bf90d8793978eda550d2a0c214aa101830ea5ccc +SIZE (docling_glm_ocr-0.5.0.tar.gz) = 154942 diff --git a/textproc/py-docling-glm-ocr/pkg-descr b/textproc/py-docling-glm-ocr/pkg-descr new file mode 100644 index 000000000000..209bae528669 --- /dev/null +++ b/textproc/py-docling-glm-ocr/pkg-descr @@ -0,0 +1,3 @@ +Docling GLM-OCR is an OCR plugin for Docling that integrates the GLM-OCR +model for optical character recognition. It extends Docling's OCR +capabilities with GLM-based text recognition from document images. diff --git a/textproc/py-docling-google-ocr/Makefile b/textproc/py-docling-google-ocr/Makefile new file mode 100644 index 000000000000..07687b4f7bba --- /dev/null +++ b/textproc/py-docling-google-ocr/Makefile @@ -0,0 +1,47 @@ +PORTNAME= docling-google-ocr +DISTVERSION= 2.13.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= SDK and CLI for parsing PDF, DOCX, HTML, and more into unified format +WWW= https://github.com/DS4SD/docling + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}certifi>=2024.7.4:security/py-certifi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}deepsearch-glm>=1.0.0:textproc/py-deepsearch-glm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.12.1:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-ibm-models>=3.1.0:textproc/py-docling-ibm-models@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-parse>=3.0.0:textproc/py-docling-parse@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}easyocr>=1.7:graphics/py-easyocr@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}filetype>=1.2.0:devel/py-filetype@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-api-core>=2.13.0:www/py-google-api-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-auth>=2.23.4:security/py-google-auth@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-cloud-vision>=3.4.5:www/py-google-cloud-vision@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}googleapis-common-protos>=1.61.0:devel/py-googleapis-common-protos@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}huggingface-hub>=0.23:misc/py-huggingface-hub@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=4.0.0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}marko>=2.1.2:textproc/py-marko@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.1.4:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.3.0:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-docx>=1.1.2:textproc/py-python-docx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-pptx>=1.0.2:textproc/py-python-pptx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.32.3:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rtree>=1.3.0:devel/py-rtree@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy>=1.6.0:science/py-scipy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-google-ocr/distinfo b/textproc/py-docling-google-ocr/distinfo new file mode 100644 index 000000000000..e36339ab301c --- /dev/null +++ b/textproc/py-docling-google-ocr/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064447 +SHA256 (docling_google_ocr-2.13.1.tar.gz) = 071d2a9fa5545e1a7ac4f7e06ea82e99f3d3d8347f47d81f1f185038e61beabb +SIZE (docling_google_ocr-2.13.1.tar.gz) = 87841 diff --git a/textproc/py-docling-google-ocr/pkg-descr b/textproc/py-docling-google-ocr/pkg-descr new file mode 100644 index 000000000000..6ff0b307ad34 --- /dev/null +++ b/textproc/py-docling-google-ocr/pkg-descr @@ -0,0 +1,4 @@ +Docling Google OCR integrates Google Cloud Vision OCR into the Docling +document conversion pipeline. It enables cloud-based optical character +recognition using Google's OCR services as an alternative to local +OCR engines. diff --git a/textproc/py-docling-graph/Makefile b/textproc/py-docling-graph/Makefile new file mode 100644 index 000000000000..8a7191caa348 --- /dev/null +++ b/textproc/py-docling-graph/Makefile @@ -0,0 +1,33 @@ +PORTNAME= docling-graph +DISTVERSION= 1.5.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Tool to convert documents into knowledge graphs using Docling +WWW= https://github.com/docling-project/docling-graph + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiofiles>=0:devel/py-aiofiles@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling>=2.70.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.50.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}litellm>=1.0.0:misc/py-litellm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}networkx>=3.0.0:math/py-networkx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dotenv>=1.0:www/py-python-dotenv@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0:devel/py-pyyaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=13:textproc/py-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12:devel/py-typer@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-graph/distinfo b/textproc/py-docling-graph/distinfo new file mode 100644 index 000000000000..306e1fca09e3 --- /dev/null +++ b/textproc/py-docling-graph/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064428 +SHA256 (docling_graph-1.5.1.tar.gz) = ae493815986d261b4c030960eea578415ea812785394f87587951501516c259c +SIZE (docling_graph-1.5.1.tar.gz) = 195181 diff --git a/textproc/py-docling-graph/pkg-descr b/textproc/py-docling-graph/pkg-descr new file mode 100644 index 000000000000..6a02d2c41c51 --- /dev/null +++ b/textproc/py-docling-graph/pkg-descr @@ -0,0 +1,4 @@ +Docling Graph converts documents into knowledge graphs using the Docling +document understanding platform. It extracts entities, relationships, and +structured information from documents and represents them as graph data +structures suitable for knowledge management and reasoning applications. diff --git a/textproc/py-docling-haystack/Makefile b/textproc/py-docling-haystack/Makefile new file mode 100644 index 000000000000..18429a9b7e1d --- /dev/null +++ b/textproc/py-docling-haystack/Makefile @@ -0,0 +1,26 @@ +PORTNAME= docling-haystack +DISTVERSION= 1.1.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Haystack integration for docling +WWW= https://pypi.org/project/docling-haystack/ + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.32.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}haystack_ai>=0:misc/py-haystack_ai@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-haystack/distinfo b/textproc/py-docling-haystack/distinfo new file mode 100644 index 000000000000..18324ccc1610 --- /dev/null +++ b/textproc/py-docling-haystack/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064428 +SHA256 (docling_haystack-1.1.0.tar.gz) = c20982d1bb688c60dd66cbd358b78475dbc4122ba418dd8910c4a20057e0d587 +SIZE (docling_haystack-1.1.0.tar.gz) = 14939 diff --git a/textproc/py-docling-haystack/files/patch-pyproject.toml b/textproc/py-docling-haystack/files/patch-pyproject.toml new file mode 100644 index 000000000000..9d7cad89fa44 --- /dev/null +++ b/textproc/py-docling-haystack/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:25 UTC ++++ pyproject.toml +@@ -8,7 +8,7 @@ requires-python = ">=3.10" + description = "Haystack integration for docling" + readme = "README.md" + requires-python = ">=3.10" +-license = "Apache-2.0" ++license = {text = "Apache-2.0"} + keywords = [ + "Docling", + "Documents", diff --git a/textproc/py-docling-haystack/pkg-descr b/textproc/py-docling-haystack/pkg-descr new file mode 100644 index 000000000000..bbfa1e663745 --- /dev/null +++ b/textproc/py-docling-haystack/pkg-descr @@ -0,0 +1,4 @@ +Docling Haystack provides Haystack integration for Docling, enabling +Docling document conversion to be used as a component within Haystack +pipelines. It allows Haystack users to leverage Docling's document +understanding capabilities for RAG and search applications. diff --git a/textproc/py-docling-hierarchical-pdf/Makefile b/textproc/py-docling-hierarchical-pdf/Makefile new file mode 100644 index 000000000000..518862b7c130 --- /dev/null +++ b/textproc/py-docling-hierarchical-pdf/Makefile @@ -0,0 +1,26 @@ +PORTNAME= docling-hierarchical-pdf +DISTVERSION= 0.1.8 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Inference of header hierarchy in the Docling PDF parsing pipeline +WWW= https://krrome.github.io/docling-hierarchical-pdf/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.53.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.19.5:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pymupdf>=1.26.4:print/py-PyMuPDF@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scikit-learn>=1.6.0:science/py-scikit-learn@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-hierarchical-pdf/distinfo b/textproc/py-docling-hierarchical-pdf/distinfo new file mode 100644 index 000000000000..d1caa9474c6f --- /dev/null +++ b/textproc/py-docling-hierarchical-pdf/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064448 +SHA256 (docling_hierarchical_pdf-0.1.8.tar.gz) = 7d107f549da1b6f2dcc464e36b6bf145ac2fe93175985e90962f0af144c6f52f +SIZE (docling_hierarchical_pdf-0.1.8.tar.gz) = 297796 diff --git a/textproc/py-docling-hierarchical-pdf/pkg-descr b/textproc/py-docling-hierarchical-pdf/pkg-descr new file mode 100644 index 000000000000..ae9f4bc87697 --- /dev/null +++ b/textproc/py-docling-hierarchical-pdf/pkg-descr @@ -0,0 +1,4 @@ +Docling Hierarchical PDF enables inference of header hierarchy in the +Docling PDF parsing pipeline. It detects and reconstructs the document +heading structure (chapters, sections, subsections) from PDF layout +features, improving the semantic structure of parsed documents. diff --git a/textproc/py-docling-ibm-models/Makefile b/textproc/py-docling-ibm-models/Makefile new file mode 100644 index 000000000000..75a85947c182 --- /dev/null +++ b/textproc/py-docling-ibm-models/Makefile @@ -0,0 +1,36 @@ +PORTNAME= docling-ibm-models +DISTVERSION= 3.13.3 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= AI models used by the Docling PDF conversion package +WWW= https://github.com/docling-project/docling-ibm-models + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}accelerate>=1.2.1:misc/py-accelerate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.19.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}huggingface-hub>=0.23:misc/py-huggingface-hub@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}jsonlines>=3.1.0:devel/py-jsonlines@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.24.4:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytorch>=2.2.2:misc/py-pytorch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rtree>=1.0.0:devel/py-rtree@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}safetensors>=0.4.3:misc/py-safetensors@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}torchvision>=0:misc/py-torchvision@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.64.0:misc/py-tqdm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}transformers>=4.42.0:misc/py-transformers@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-ibm-models/distinfo b/textproc/py-docling-ibm-models/distinfo new file mode 100644 index 000000000000..70f71e7439e3 --- /dev/null +++ b/textproc/py-docling-ibm-models/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064428 +SHA256 (docling_ibm_models-3.13.3.tar.gz) = 8c8b55e80b3d20fc74d85ca49a4d064578ef75b9f7251eec42fc9df6af426218 +SIZE (docling_ibm_models-3.13.3.tar.gz) = 98768 diff --git a/textproc/py-docling-ibm-models/files/patch-pyproject.toml b/textproc/py-docling-ibm-models/files/patch-pyproject.toml new file mode 100644 index 000000000000..dd6fc727410d --- /dev/null +++ b/textproc/py-docling-ibm-models/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:26 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "This package contains the AI models use + name = "docling-ibm-models" + version = "3.13.3" # DO NOT EDIT, updated automatically + description = "This package contains the AI models used by the Docling PDF conversion package" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "convert", "document", "pdf", "layout model", "segmentation", "table structure", "table former"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-ibm-models/pkg-descr b/textproc/py-docling-ibm-models/pkg-descr new file mode 100644 index 000000000000..0f573fbe4614 --- /dev/null +++ b/textproc/py-docling-ibm-models/pkg-descr @@ -0,0 +1,4 @@ +Docling IBM Models contains the AI models used by the Docling PDF +conversion pipeline. It provides pre-trained deep learning models for +document layout analysis, table structure recognition, and other document +understanding tasks, optimized for use within the Docling ecosystem. diff --git a/textproc/py-docling-jobkit/Makefile b/textproc/py-docling-jobkit/Makefile new file mode 100644 index 000000000000..fcd39aa543d8 --- /dev/null +++ b/textproc/py-docling-jobkit/Makefile @@ -0,0 +1,29 @@ +PORTNAME= docling-jobkit +DISTVERSION= 2.0.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Running a distributed job processing documents with Docling +WWW= https://github.com/docling-project/docling-jobkit + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=1.35:www/py-boto3@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-slim>=2.107.0:textproc/py-docling-slim@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.28:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.2:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.10:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.4:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-jobkit/distinfo b/textproc/py-docling-jobkit/distinfo new file mode 100644 index 000000000000..f4ca54a80332 --- /dev/null +++ b/textproc/py-docling-jobkit/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064429 +SHA256 (docling_jobkit-2.0.0.tar.gz) = 17a09c1250d2f627eb9613b370e2690b2bd0908dc8a46322918376af3245af05 +SIZE (docling_jobkit-2.0.0.tar.gz) = 139975 diff --git a/textproc/py-docling-jobkit/files/patch-pyproject.toml b/textproc/py-docling-jobkit/files/patch-pyproject.toml new file mode 100644 index 000000000000..baca47b61d9d --- /dev/null +++ b/textproc/py-docling-jobkit/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:26 UTC ++++ pyproject.toml +@@ -7,7 +7,7 @@ readme = "README.md" + version = "2.0.0" # DO NOT EDIT, updated automatically + description = "Running a distributed job processing documents with Docling." + readme = "README.md" +-license = "MIT" ++license = {text = "MIT"} + authors = [ + {name="Michele Dolfi", email="dol@zurich.ibm.com"}, + {name="Viktor Kuropiatnyk", email="vku@zurich.ibm.com"}, diff --git a/textproc/py-docling-jobkit/pkg-descr b/textproc/py-docling-jobkit/pkg-descr new file mode 100644 index 000000000000..d326785d7d15 --- /dev/null +++ b/textproc/py-docling-jobkit/pkg-descr @@ -0,0 +1,4 @@ +Docling Jobkit provides a framework for running distributed batch jobs +that process documents with Docling. It enables large-scale document +conversion workloads to be executed across multiple workers, with job +scheduling, monitoring, and result collection. diff --git a/textproc/py-docling-langchain/Makefile b/textproc/py-docling-langchain/Makefile new file mode 100644 index 000000000000..d596d212f388 --- /dev/null +++ b/textproc/py-docling-langchain/Makefile @@ -0,0 +1,24 @@ +PORTNAME= docling-langchain +DISTVERSION= 0.1.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Docling LangChain integration +WWW= https://github.com/DS4SD/docling-langchain + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.14.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}langchain-core>=0.3.0:misc/py-langchain-core@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-langchain/distinfo b/textproc/py-docling-langchain/distinfo new file mode 100644 index 000000000000..0e23e4ea5b33 --- /dev/null +++ b/textproc/py-docling-langchain/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064429 +SHA256 (docling_langchain-0.1.0.tar.gz) = 72c80c2f314f150d1d7d306f29ba55e079aef65c43418d6fcb5fab2183100587 +SIZE (docling_langchain-0.1.0.tar.gz) = 4537 diff --git a/textproc/py-docling-langchain/pkg-descr b/textproc/py-docling-langchain/pkg-descr new file mode 100644 index 000000000000..1650ee66f2e9 --- /dev/null +++ b/textproc/py-docling-langchain/pkg-descr @@ -0,0 +1,4 @@ +Docling LangChain provides LangChain integration for Docling, enabling +Docling document loaders and transformers to be used within LangChain +pipelines. It allows LangChain users to leverage Docling's document +understanding for RAG, agents, and other LLM applications. diff --git a/textproc/py-docling-litellm-picture-description/Makefile b/textproc/py-docling-litellm-picture-description/Makefile new file mode 100644 index 000000000000..5e3f2d5dda38 --- /dev/null +++ b/textproc/py-docling-litellm-picture-description/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-litellm-picture-description +DISTVERSION= 0.1.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Docling plugin for LiteLLM picture description +WWW= https://pypi.org/project/docling-litellm-picture-description/ + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.39.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}litellm>=1.72.0:misc/py-litellm@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-litellm-picture-description/distinfo b/textproc/py-docling-litellm-picture-description/distinfo new file mode 100644 index 000000000000..e5760c0cf244 --- /dev/null +++ b/textproc/py-docling-litellm-picture-description/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064429 +SHA256 (docling_litellm_picture_description-0.1.1.tar.gz) = 5dd1dc9c408f393a22f32f996fb6deecb07c49cf7c242c94558038b37cd06228 +SIZE (docling_litellm_picture_description-0.1.1.tar.gz) = 7235 diff --git a/textproc/py-docling-litellm-picture-description/files/patch-pyproject.toml b/textproc/py-docling-litellm-picture-description/files/patch-pyproject.toml new file mode 100644 index 000000000000..84c6dd35af8c --- /dev/null +++ b/textproc/py-docling-litellm-picture-description/files/patch-pyproject.toml @@ -0,0 +1,10 @@ +-- Relax setuptools version constraint to use the version available in the ports tree. +--- pyproject.toml.orig 2026-07-09 22:41:36 UTC ++++ pyproject.toml +@@ -1,5 +1,5 @@ + [build-system] +-requires = ["setuptools>=65.0.0"] ++requires = ["setuptools>=0"] + build-backend = "setuptools.build_meta" + + [project] diff --git a/textproc/py-docling-litellm-picture-description/pkg-descr b/textproc/py-docling-litellm-picture-description/pkg-descr new file mode 100644 index 000000000000..719a18f4aff1 --- /dev/null +++ b/textproc/py-docling-litellm-picture-description/pkg-descr @@ -0,0 +1,4 @@ +Docling LiteLLM Picture Description is a Docling plugin that uses +LiteLLM to generate natural language descriptions of pictures and +figures found in documents. It enhances document understanding by +providing semantic descriptions of visual elements. diff --git a/textproc/py-docling-mcp/Makefile b/textproc/py-docling-mcp/Makefile new file mode 100644 index 000000000000..fa106446ff78 --- /dev/null +++ b/textproc/py-docling-mcp/Makefile @@ -0,0 +1,29 @@ +PORTNAME= docling-mcp +DISTVERSION= 2.1.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Running Docling as an agent using tools +WWW= https://github.com/docling-project/docling-mcp + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-core>=2.51.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-slim>=2.92:textproc/py-docling-slim@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.28.1:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mcp>=1.9.4:misc/py-mcp@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.10:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.4:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dotenv>=1.1.0:www/py-python-dotenv@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-mcp/distinfo b/textproc/py-docling-mcp/distinfo new file mode 100644 index 000000000000..fd08d0cfb932 --- /dev/null +++ b/textproc/py-docling-mcp/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064429 +SHA256 (docling_mcp-2.1.0.tar.gz) = 46ea64354ae6b7e5956e5f93da62b4329906766cf1f130314ace8eefb4c058c7 +SIZE (docling_mcp-2.1.0.tar.gz) = 25842 diff --git a/textproc/py-docling-mcp/files/patch-pyproject.toml b/textproc/py-docling-mcp/files/patch-pyproject.toml new file mode 100644 index 000000000000..c79fee23b5f6 --- /dev/null +++ b/textproc/py-docling-mcp/files/patch-pyproject.toml @@ -0,0 +1,13 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:27 UTC ++++ pyproject.toml +@@ -6,8 +6,7 @@ description = "Running Docling as an agent using tools + name = "docling-mcp" + version = "2.1.0" # DO NOT EDIT, updated automatically + description = "Running Docling as an agent using tools" +-license = "MIT" +-license-files = ["LICENSE"] ++license = {text = "MIT"} + authors = [ + {name="Peter Staar", email="taa@zurich.ibm.com"}, + {name="Adel Zaalouk", email="azaalouk@redhat.com"}, diff --git a/textproc/py-docling-mcp/pkg-descr b/textproc/py-docling-mcp/pkg-descr new file mode 100644 index 000000000000..3ef96124ec95 --- /dev/null +++ b/textproc/py-docling-mcp/pkg-descr @@ -0,0 +1,4 @@ +Docling MCP enables running Docling as an agent using the Model Context +Protocol (MCP). It exposes Docling's document processing capabilities +as MCP tools, allowing AI assistants and agents to convert and analyze +documents through the MCP interface. diff --git a/textproc/py-docling-metrics-chemistry/Makefile b/textproc/py-docling-metrics-chemistry/Makefile new file mode 100644 index 000000000000..618cfb0770f1 --- /dev/null +++ b/textproc/py-docling-metrics-chemistry/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-metrics-chemistry +DISTVERSION= 0.10.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Chemistry evaluation metrics (SMILES, Markush) for Docling metrics +WWW= https://github.com/docling-project/docling-metrics + +LICENSE= MIT + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-metrics-core>=0.0.1:textproc/py-docling-metrics-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.24:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.12.5:devel/py-pydantic2@${PY_FLAVOR} \ + rdkit>=2024.3.1:science/rdkit + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-metrics-chemistry/distinfo b/textproc/py-docling-metrics-chemistry/distinfo new file mode 100644 index 000000000000..089a9feac7db --- /dev/null +++ b/textproc/py-docling-metrics-chemistry/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064448 +SHA256 (docling_metrics_chemistry-0.10.0.tar.gz) = 952fa487d98f4cc6468d80fd1986ddf5318a680c921f5c6416b523d68cca56d8 +SIZE (docling_metrics_chemistry-0.10.0.tar.gz) = 98782 diff --git a/textproc/py-docling-metrics-chemistry/files/patch-pyproject.toml b/textproc/py-docling-metrics-chemistry/files/patch-pyproject.toml new file mode 100644 index 000000000000..f8f0065d1d2f --- /dev/null +++ b/textproc/py-docling-metrics-chemistry/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:27 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "Chemistry evaluation metrics (SMILES, M + name = "docling-metrics-chemistry" + version = "0.10.0" # DO NOT EDIT, updated automatically + description = "Chemistry evaluation metrics (SMILES, Markush) for Docling metrics" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "metrics", "evaluation", "chemistry", "smiles", "markush"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-metrics-chemistry/pkg-descr b/textproc/py-docling-metrics-chemistry/pkg-descr new file mode 100644 index 000000000000..5b5c3580c4a8 --- /dev/null +++ b/textproc/py-docling-metrics-chemistry/pkg-descr @@ -0,0 +1,4 @@ +Docling Metrics Chemistry provides chemistry-specific evaluation metrics +for the Docling metrics framework, including SMILES string comparison +and Markush structure evaluation. It enables accuracy assessment of +chemical structure extraction from documents. diff --git a/textproc/py-docling-metrics-core/Makefile b/textproc/py-docling-metrics-core/Makefile new file mode 100644 index 000000000000..839399f4cc05 --- /dev/null +++ b/textproc/py-docling-metrics-core/Makefile @@ -0,0 +1,22 @@ +PORTNAME= docling-metrics-core +DISTVERSION= 0.14.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Metric types and evaluation utilities for Docling document processing +WWW= https://github.com/docling-project/docling-metrics + +LICENSE= MIT + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-metrics-core/distinfo b/textproc/py-docling-metrics-core/distinfo new file mode 100644 index 000000000000..7d40f2e2a0a6 --- /dev/null +++ b/textproc/py-docling-metrics-core/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064429 +SHA256 (docling_metrics_core-0.14.0.tar.gz) = b795b4784fddb7edee663d310f6349a8afaee6fa0c63d2286b9c2a5e06647ff5 +SIZE (docling_metrics_core-0.14.0.tar.gz) = 5925 diff --git a/textproc/py-docling-metrics-core/files/patch-pyproject.toml b/textproc/py-docling-metrics-core/files/patch-pyproject.toml new file mode 100644 index 000000000000..2715959ce72c --- /dev/null +++ b/textproc/py-docling-metrics-core/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:28 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "Metric types and evaluation utilities f + name = "docling-metrics-core" + version = "0.14.0" # DO NOT EDIT, updated automatically + description = "Metric types and evaluation utilities for Docling document processing" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "metrics", "evaluation", "types"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-metrics-core/pkg-descr b/textproc/py-docling-metrics-core/pkg-descr new file mode 100644 index 000000000000..eb7233e988c1 --- /dev/null +++ b/textproc/py-docling-metrics-core/pkg-descr @@ -0,0 +1,3 @@ +Docling Metrics Core defines metric types and evaluation utilities for +the Docling document processing pipeline. It provides the foundational +interfaces and common functionality used by all Docling metrics modules. diff --git a/textproc/py-docling-metrics-layout/Makefile b/textproc/py-docling-metrics-layout/Makefile new file mode 100644 index 000000000000..ff68872065d9 --- /dev/null +++ b/textproc/py-docling-metrics-layout/Makefile @@ -0,0 +1,31 @@ +PORTNAME= docling-metrics-layout +DISTVERSION= 0.13.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Text metrics +WWW= https://github.com/docling-project/docling-metrics + +LICENSE= MIT + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-metrics-core>=0.0.1:textproc/py-docling-metrics-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}faster-coco-eval>0:misc/py-faster-coco-eval@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=0:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=0:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytorch>=0:misc/py-pytorch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}torchmetrics>=0:misc/py-torchmetrics@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=0:misc/py-tqdm@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-metrics-layout/distinfo b/textproc/py-docling-metrics-layout/distinfo new file mode 100644 index 000000000000..c046db8c427e --- /dev/null +++ b/textproc/py-docling-metrics-layout/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064430 +SHA256 (docling_metrics_layout-0.13.0.tar.gz) = 4e85f4bf2e47a630b284698dc4564d7f884a21efc1ce73ba10cf37432c4352ae +SIZE (docling_metrics_layout-0.13.0.tar.gz) = 33575 diff --git a/textproc/py-docling-metrics-layout/files/patch-pyproject.toml b/textproc/py-docling-metrics-layout/files/patch-pyproject.toml new file mode 100644 index 000000000000..56a041bee1a0 --- /dev/null +++ b/textproc/py-docling-metrics-layout/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:28 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "Text metrics" + name = "docling-metrics-layout" + version = "0.13.0" # DO NOT EDIT, updated automatically + description = "Text metrics" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "metrics", "evaluation", "example", "text", "BLEU, edit-distance, METEOR, precision, recall, f1", "cpp"] + readme = "README.md" + authors = [ diff --git a/textproc/py-docling-metrics-layout/pkg-descr b/textproc/py-docling-metrics-layout/pkg-descr new file mode 100644 index 000000000000..99654ebefbc0 --- /dev/null +++ b/textproc/py-docling-metrics-layout/pkg-descr @@ -0,0 +1,4 @@ +Docling Metrics Layout provides layout evaluation metrics for Docling +document processing. It measures the accuracy of document layout analysis, +including region detection, reading order, and spatial arrangement of +document elements. diff --git a/textproc/py-docling-metrics-table/Makefile b/textproc/py-docling-metrics-table/Makefile new file mode 100644 index 000000000000..e2e36a5ba78d --- /dev/null +++ b/textproc/py-docling-metrics-table/Makefile @@ -0,0 +1,31 @@ +PORTNAME= docling-metrics-table +DISTVERSION= 0.12.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Tree-Edit-Distance Score metric +WWW= https://github.com/docling-project/docling-metrics + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cmake:indirect python localbase pkgconfig +USE_PYTHON= autoplist concurrent pep517 + +BUILD_DEPENDS= cxxopts>=3.3.1:devel/cxxopts \ + ${PYTHON_PKGNAMEPREFIX}pybind11>=2.12:devel/py-pybind11@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scikit-build-core>=0:devel/py-scikit-build-core@${PY_FLAVOR} \ + loguru>=2.1.0:devel/loguru +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}apted>0:math/py-apted@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-metrics-core>=0.0.1:textproc/py-docling-metrics-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rapidfuzz>=0:devel/py-rapidfuzz@${PY_FLAVOR} + +CMAKE_ARGS= -DUSE_SYSTEM_DEPS=ON + +.include diff --git a/textproc/py-docling-metrics-table/distinfo b/textproc/py-docling-metrics-table/distinfo new file mode 100644 index 000000000000..2c73adff49db --- /dev/null +++ b/textproc/py-docling-metrics-table/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064430 +SHA256 (docling_metrics_table-0.12.0.tar.gz) = c5343bd2cf2355f3bb76d36959ae2fee6b91385c6c6f07035d48d5da80823790 +SIZE (docling_metrics_table-0.12.0.tar.gz) = 596021 diff --git a/textproc/py-docling-metrics-table/files/patch-cmake_extlib__cxxopts.cmake b/textproc/py-docling-metrics-table/files/patch-cmake_extlib__cxxopts.cmake new file mode 100644 index 000000000000..d2d5d0c93082 --- /dev/null +++ b/textproc/py-docling-metrics-table/files/patch-cmake_extlib__cxxopts.cmake @@ -0,0 +1,24 @@ +-- Use the FreeBSD devel/cxxopts port instead of FetchContent. +-- Upstream tries pkg_check_modules, but the FreeBSD cxxopts port installs +-- CMake config files defining the cxxopts::cxxopts target. + +--- cmake/extlib_cxxopts.cmake.orig 2022-11-09 12:37:21 UTC ++++ cmake/extlib_cxxopts.cmake +@@ -5,15 +5,8 @@ if(USE_SYSTEM_DEPS) + if(USE_SYSTEM_DEPS) + message(STATUS "using system-deps in extlib_cxxopts.cmake") + +- # this will define the cxxopts target +- # find_package(cxxopts REQUIRED) +- +- # add_library(${ext_name_cxxopts} INTERFACE IMPORTED) +- # add_dependencies(${ext_name_cxxopts} cxxopts) +- +- find_package(PkgConfig) +- pkg_check_modules(libcxxopts REQUIRED IMPORTED_TARGET cxxopts) +- add_library(${ext_name_cxxopts} ALIAS PkgConfig::libcxxopts) ++ find_package(cxxopts CONFIG REQUIRED) ++ add_library(${ext_name_cxxopts} ALIAS cxxopts::cxxopts) + + else() + message(STATUS "ignoring system-deps extlib_cxxopts.cmake") diff --git a/textproc/py-docling-metrics-table/files/patch-cmake_extlib__loguru.cmake b/textproc/py-docling-metrics-table/files/patch-cmake_extlib__loguru.cmake new file mode 100644 index 000000000000..3f4b11d53ebf --- /dev/null +++ b/textproc/py-docling-metrics-table/files/patch-cmake_extlib__loguru.cmake @@ -0,0 +1,31 @@ +-- Build a local loguru static library from the FreeBSD devel/loguru port. +-- The port installs loguru.hpp and loguru.cpp under ${PREFIX}/include, but +-- provides no CMake target. This replaces the upstream find_package path. + +--- cmake/extlib_loguru.cmake.orig 2022-11-09 12:37:21 UTC ++++ cmake/extlib_loguru.cmake +@@ -5,14 +5,16 @@ if(USE_SYSTEM_DEPS) + if(USE_SYSTEM_DEPS) + message(STATUS "using system-deps in extlib_loguru.cmake") + +- # this will define the loguru target +- # find_package(loguru REQUIRED) +- +- # add_library(${ext_name_loguru} INTERFACE IMPORTED) +- # add_dependencies(${ext_name_loguru} loguru) +- +- find_package(loguru CONFIG REQUIRED) +- add_library(${ext_name_loguru} ALIAS loguru::loguru) ++ find_package(Threads REQUIRED) ++ find_file(LOGURU_HPP loguru.hpp PATHS ${CMAKE_INSTALL_PREFIX}/include) ++ find_file(LOGURU_CPP loguru.cpp PATHS ${CMAKE_INSTALL_PREFIX}/include) ++ if(NOT LOGURU_HPP OR NOT LOGURU_CPP) ++ message(FATAL_ERROR "loguru.hpp and loguru.cpp not found in ${CMAKE_INSTALL_PREFIX}/include") ++ endif() ++ add_library(loguru STATIC ${LOGURU_CPP}) ++ target_include_directories(loguru PUBLIC ${CMAKE_INSTALL_PREFIX}/include) ++ target_link_libraries(loguru PUBLIC Threads::Threads) ++ add_library(loguru::loguru ALIAS loguru) + + else() + message(STATUS "ignoring system-deps extlib_loguru.cmake") diff --git a/textproc/py-docling-metrics-table/files/patch-pyproject.toml b/textproc/py-docling-metrics-table/files/patch-pyproject.toml new file mode 100644 index 000000000000..38f97d315222 --- /dev/null +++ b/textproc/py-docling-metrics-table/files/patch-pyproject.toml @@ -0,0 +1,20 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:28 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "Tree-Edit-Distance Score metric" + name = "docling-metrics-table" + version = "0.12.0" # DO NOT EDIT, updated automatically + description = "Tree-Edit-Distance Score metric" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "metrics", "evaluation", "example", "table", "teds", "tree-edit-distance-score", "cpp"] + readme = "README.md" + authors = [ +@@ -41,6 +41,7 @@ build-backend = "scikit_build_core.build" + build-backend = "scikit_build_core.build" + + [tool.scikit-build] ++cmake.args = ["-DUSE_SYSTEM_DEPS=ON", "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"] + wheel.packages = ["docling_metrics_table"] + + [tool.uv] diff --git a/textproc/py-docling-metrics-table/pkg-descr b/textproc/py-docling-metrics-table/pkg-descr new file mode 100644 index 000000000000..aec8911bff3a --- /dev/null +++ b/textproc/py-docling-metrics-table/pkg-descr @@ -0,0 +1,4 @@ +Docling Metrics Table provides table structure evaluation metrics for +Docling, based on the Tree-Edit-Distance Score (TEDS). It measures the +accuracy of table structure recognition by comparing predicted and +ground-truth table representations. diff --git a/textproc/py-docling-metrics-text/Makefile b/textproc/py-docling-metrics-text/Makefile new file mode 100644 index 000000000000..6860ef9a0bc8 --- /dev/null +++ b/textproc/py-docling-metrics-text/Makefile @@ -0,0 +1,33 @@ +PORTNAME= docling-metrics-text +DISTVERSION= 0.11.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Text metrics +WWW= https://github.com/docling-project/docling-metrics + +LICENSE= MIT + +USES= cmake:indirect python localbase pkgconfig +USE_PYTHON= autoplist concurrent pep517 + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pybind11>=2.12:devel/py-pybind11@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scikit-build-core>=0:devel/py-scikit-build-core@${PY_FLAVOR} \ + loguru>=2.1.0:devel/loguru +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-metrics-core>=0.0.1:textproc/py-docling-metrics-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}evaluate>=0.4.3:misc/py-evaluate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}nltk>=3.9.1:textproc/py-nltk@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} +LIB_DEPENDS= libabsl_strings.so:devel/abseil \ + libre2.so:devel/re2 + +CMAKE_ARGS= -DUSE_SYSTEM_DEPS=ON + +post-extract: + @${MKDIR} ${WRKSRC}/cpp/include + @${CP} ${FILESDIR}/cpp_include/*.h ${WRKSRC}/cpp/include/ + +.include diff --git a/textproc/py-docling-metrics-text/distinfo b/textproc/py-docling-metrics-text/distinfo new file mode 100644 index 000000000000..a630606667a4 --- /dev/null +++ b/textproc/py-docling-metrics-text/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064430 +SHA256 (docling_metrics_text-0.11.0.tar.gz) = 76d200ab98a61229f36144a8f7dc92d27580a3215a9b3841e566b26b60255c18 +SIZE (docling_metrics_text-0.11.0.tar.gz) = 48679 diff --git a/textproc/py-docling-metrics-text/files/cpp_include/edit_distance.h b/textproc/py-docling-metrics-text/files/cpp_include/edit_distance.h new file mode 100644 index 000000000000..2eb9816a6ab5 --- /dev/null +++ b/textproc/py-docling-metrics-text/files/cpp_include/edit_distance.h @@ -0,0 +1,63 @@ +#pragma once + +#include +#include +#include + +namespace docling { + +using Word = uint64_t; + +/** + * Computes token-level edit distance using the Myers bit-vector algorithm. + */ +class EditDistanceCalculator { +public: + /** + * @param memory_safe When true, throws if the Peq table would exceed available system RAM. + */ + EditDistanceCalculator(bool memory_safe = true); + + /** + * Normalized edit distance: raw distance divided by max(|query|, |target|). + * Returns 0.0 when both sequences are empty. + * + * @param query The query token sequence. + * @param target The target token sequence. + * @return Normalized edit distance in [0, 1]. + */ + double edit_distance(const std::vector &query, + const std::vector &target); + +private: + /** + * Myers bit-vector edit distance on token sequences (Needleman-Wunsch / global). + * Returns the raw edit distance (number of insertions, deletions, substitutions). + * + * @param query The query token sequence. + * @param target The target token sequence. + * @return Raw edit distance. + */ + int edit_distance_raw(const std::vector &query, + const std::vector &target); + + // Processes one block of one column of the Myers bit-vector DP. + inline int calculate_block(Word Pv, Word Mv, Word Eq, int hin, Word &PvOut, Word &MvOut); + + inline int ceil_div(int x, int y) { return x % y ? x / y + 1 : x / y; } + + /** + * Checks whether the system has enough RAM to allocate the Peq table. + * + * @param token_map_size Number of distinct tokens. + * @param num_of_blocks Number of bit-vector blocks (ceil(|query| / WORD_SIZE)). + * @return True if the Peq table fits in system RAM, false otherwise. + */ + bool sanity_checks(size_t token_map_size, size_t num_of_blocks); + +private: + bool memory_safe_; + uint64_t system_gb_; +}; + +} // namespace docling diff --git a/textproc/py-docling-metrics-text/files/cpp_include/text_manager.h b/textproc/py-docling-metrics-text/files/cpp_include/text_manager.h new file mode 100644 index 000000000000..2d260d12b6b0 --- /dev/null +++ b/textproc/py-docling-metrics-text/files/cpp_include/text_manager.h @@ -0,0 +1,44 @@ +#pragma once +#include +#include + +#include "edit_distance.h" +#include "treebank.h" + +namespace docling { + +/** + * Manager for computing text metrics such as tokenization and edit distance. + */ +class TextManager { +public: + /** + * @param level Log level. One of "info", "warning", "error", "fatal". Defaults to "info". + */ + TextManager(const std::string &level = "info"); + + /** + * Tokenize text according to the Tree Bank Tokenizer. + * + * @param text The input text to tokenize. + * @param convert_parentheses Convert all parentheses. + * @return List of tokens. + */ + std::vector tokenize(const std::string &text, bool convert_parentheses); + + /** + * Calculate the normalized edit distance between two token lists. + * + * @param tokens_a The first list of tokens. + * @param tokens_b The second list of tokens. + * @return Normalized edit distance in [0, 1]. + */ + double edit_distance(const std::vector &tokens_a, + const std::vector &tokens_b); + +private: + TreeBankTokenizer treebank_tokenizer_; + EditDistanceCalculator ed_calculator_; +}; + +} // namespace docling diff --git a/textproc/py-docling-metrics-text/files/cpp_include/treebank.h b/textproc/py-docling-metrics-text/files/cpp_include/treebank.h new file mode 100644 index 000000000000..7ef0b42dde99 --- /dev/null +++ b/textproc/py-docling-metrics-text/files/cpp_include/treebank.h @@ -0,0 +1,42 @@ +#pragma once +#include +#include +#include +#include + +#include "re2/re2.h" + +namespace docling { + +/** + * Tokenizer based on the Tree Bank tokenization rules. + */ +class TreeBankTokenizer { +public: + TreeBankTokenizer(); + + /** + * Tokenize the input text. + * + * @param text The input text to tokenize. + * @param convert_parentheses When true, convert parentheses to PTB bracket tokens. + * @return List of tokens. + */ + std::vector tokenize(const std::string &text, bool convert_parentheses = false); + +private: + // Pattern pairs: (compiled_regex, replacement) + std::vector, std::string>> starting_quotes_; + std::vector, std::string>> punctuation_; + std::vector, std::string>> ending_quotes_; + std::vector, std::string>> convert_parentheses_; + + std::pair, std::string> parens_brackets_; + std::pair, std::string> double_dashes_; + + // Contraction patterns (compiled regex, replacement is fixed) + std::vector> contractions2_; + std::vector> contractions3_; +}; + +} // namespace docling diff --git a/textproc/py-docling-metrics-text/files/cpp_include/utils.h b/textproc/py-docling-metrics-text/files/cpp_include/utils.h new file mode 100644 index 000000000000..9267826e8e25 --- /dev/null +++ b/textproc/py-docling-metrics-text/files/cpp_include/utils.h @@ -0,0 +1,19 @@ +#pragma once +#include +#include + +namespace docling { + +extern const uint64_t kBytesPerGB; + +/** + * Get total physical system memory in GB + */ +uint64_t GetTotalSystemGB(); + +/** + * Set the log level + */ +void set_loglevel(std::string level); + +} // namespace docling diff --git a/textproc/py-docling-metrics-text/files/patch-cmake_extlib__abseil.cmake b/textproc/py-docling-metrics-text/files/patch-cmake_extlib__abseil.cmake new file mode 100644 index 000000000000..404c10db774e --- /dev/null +++ b/textproc/py-docling-metrics-text/files/patch-cmake_extlib__abseil.cmake @@ -0,0 +1,17 @@ +-- Provide an abseil interface target that points to the system include directory. +-- re2's pkg-config already links the necessary absl libraries, so no separate absl linking is needed. +--- cmake/extlib_abseil.cmake.orig 2026-07-09 20:55:57 UTC ++++ cmake/extlib_abseil.cmake +@@ -5,9 +5,9 @@ if(USE_SYSTEM_DEPS) + if(USE_SYSTEM_DEPS) + message(STATUS "Using system-deps in extlib_abseil.cmake") + +- find_package(abseil CONFIG REQUIRED) +- pkg_check_modules(abseil REQUIRED abseil) +- add_library(${ext_name_abseil} ALIAS PkgConfig::libabseil) ++ # Abseil is pulled in via re2's pkg-config; only the headers are needed here. ++ add_library(${ext_name_abseil} INTERFACE) ++ target_include_directories(${ext_name_abseil} INTERFACE /usr/local/include) + else() + message(STATUS "Ignoring system-deps in extlib_abseil.cmake") + diff --git a/textproc/py-docling-metrics-text/files/patch-cmake_extlib__loguru.cmake b/textproc/py-docling-metrics-text/files/patch-cmake_extlib__loguru.cmake new file mode 100644 index 000000000000..e32274940633 --- /dev/null +++ b/textproc/py-docling-metrics-text/files/patch-cmake_extlib__loguru.cmake @@ -0,0 +1,16 @@ +-- Use the FreeBSD system loguru source instead of fetching from GitHub during the build. +-- The Poudriere build jail has no network/git access, so we link against devel/loguru. +--- cmake/extlib_loguru.cmake.orig 2026-07-09 20:55:57 UTC ++++ cmake/extlib_loguru.cmake +@@ -11,8 +11,9 @@ if(USE_SYSTEM_DEPS) + # add_library(${ext_name_loguru} INTERFACE IMPORTED) + # add_dependencies(${ext_name_loguru} loguru) + +- find_package(loguru CONFIG REQUIRED) +- add_library(${ext_name_loguru} ALIAS loguru::loguru) ++ add_library(${ext_name_loguru} STATIC /usr/local/include/loguru.cpp) ++ target_include_directories(${ext_name_loguru} PUBLIC /usr/local/include) ++ set_target_properties(${ext_name_loguru} PROPERTIES POSITION_INDEPENDENT_CODE ON) + + else() + message(STATUS "Ignoring system-deps extlib_loguru.cmake") diff --git a/textproc/py-docling-metrics-text/files/patch-cmake_extlib__re2.cmake b/textproc/py-docling-metrics-text/files/patch-cmake_extlib__re2.cmake new file mode 100644 index 000000000000..c5b93080e3f6 --- /dev/null +++ b/textproc/py-docling-metrics-text/files/patch-cmake_extlib__re2.cmake @@ -0,0 +1,15 @@ +-- Use the FreeBSD system re2 via pkg-config instead of fetching/building from GitHub. +-- The Poudriere build jail has no network/git access. +--- cmake/extlib_re2.cmake.orig 2026-07-09 20:55:57 UTC ++++ cmake/extlib_re2.cmake +@@ -5,8 +5,8 @@ if(USE_SYSTEM_DEPS) + if(USE_SYSTEM_DEPS) + message(STATUS "Using system-deps in extlib_re2.cmake") + +- find_package(re2 CONFIG REQUIRED) +- pkg_check_modules(RE2 REQUIRED re2) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(libre2 REQUIRED IMPORTED_TARGET re2) + add_library(${ext_name_re2} ALIAS PkgConfig::libre2) + else() + message(STATUS "Ignoring system-deps in extlib_re2.cmake") diff --git a/textproc/py-docling-metrics-text/files/patch-pyproject.toml b/textproc/py-docling-metrics-text/files/patch-pyproject.toml new file mode 100644 index 000000000000..70262fc827ae --- /dev/null +++ b/textproc/py-docling-metrics-text/files/patch-pyproject.toml @@ -0,0 +1,11 @@ +-- Add cmake arguments for system dependencies and position-independent code to scikit-build-core configuration. +--- pyproject.toml.orig 2022-11-09 12:37:21 UTC ++++ pyproject.toml +@@ -42,6 +42,7 @@ build-backend = "scikit_build_core.build" + build-backend = "scikit_build_core.build" + + [tool.scikit-build] ++cmake.args = ["-DUSE_SYSTEM_DEPS=ON", "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"] + wheel.packages = ["docling_metrics_text"] + + # [build-system] diff --git a/textproc/py-docling-metrics-text/pkg-descr b/textproc/py-docling-metrics-text/pkg-descr new file mode 100644 index 000000000000..e15aa903cef8 --- /dev/null +++ b/textproc/py-docling-metrics-text/pkg-descr @@ -0,0 +1,4 @@ +Docling Metrics Text provides text extraction evaluation metrics for +Docling document processing. It measures the accuracy of text content +extraction, including character-level and word-level comparison against +ground-truth data. diff --git a/textproc/py-docling-ocr-mistral/Makefile b/textproc/py-docling-ocr-mistral/Makefile new file mode 100644 index 000000000000..23b15e650390 --- /dev/null +++ b/textproc/py-docling-ocr-mistral/Makefile @@ -0,0 +1,26 @@ +PORTNAME= docling-ocr-mistral +DISTVERSION= 0.1.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Mistral OCR plugin for Docling +WWW= https://github.com/geoHeil/docling-ocr-mistral + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.107.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.32.2:www/py-requests@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-ocr-mistral/distinfo b/textproc/py-docling-ocr-mistral/distinfo new file mode 100644 index 000000000000..bf0e75bebee0 --- /dev/null +++ b/textproc/py-docling-ocr-mistral/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064430 +SHA256 (docling_ocr_mistral-0.1.1.tar.gz) = e9591aac591376067af8af0835d1b5147132c47aef828d8d6f181dc99c13e766 +SIZE (docling_ocr_mistral-0.1.1.tar.gz) = 7719 diff --git a/textproc/py-docling-ocr-mistral/files/patch-pyproject.toml b/textproc/py-docling-ocr-mistral/files/patch-pyproject.toml new file mode 100644 index 000000000000..1b9815ebe3f4 --- /dev/null +++ b/textproc/py-docling-ocr-mistral/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:29 UTC ++++ pyproject.toml +@@ -8,7 +8,7 @@ requires-python = ">=3.10,<4.0" + description = "Mistral OCR plugin for Docling" + readme = "README.md" + requires-python = ">=3.10,<4.0" +-license = "MIT" ++license = {text = "MIT"} + authors = [{ name = "Georg Heiler" }] + keywords = ["docling", "ocr", "mistral", "plugin"] + classifiers = [ diff --git a/textproc/py-docling-ocr-mistral/pkg-descr b/textproc/py-docling-ocr-mistral/pkg-descr new file mode 100644 index 000000000000..98651b2f2298 --- /dev/null +++ b/textproc/py-docling-ocr-mistral/pkg-descr @@ -0,0 +1,4 @@ +Docling OCR Mistral is a plugin that integrates Mistral OCR into the +Docling document processing pipeline. It enables optical character +recognition using Mistral's vision-language models for high-quality +text extraction from document images. diff --git a/textproc/py-docling-ocr-onnxtr/Makefile b/textproc/py-docling-ocr-onnxtr/Makefile new file mode 100644 index 000000000000..f3003283dc6c --- /dev/null +++ b/textproc/py-docling-ocr-onnxtr/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-ocr-onnxtr +DISTVERSION= 0.2.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Onnx Text Recognition (OnnxTR) OCR plugin for docling +WWW= https://github.com/felixdittrich92/docling-OCR-OnnxTR/OnnxTR + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.27.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-ocr-onnxtr/distinfo b/textproc/py-docling-ocr-onnxtr/distinfo new file mode 100644 index 000000000000..b27cda727953 --- /dev/null +++ b/textproc/py-docling-ocr-onnxtr/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064448 +SHA256 (docling_ocr_onnxtr-0.2.1.tar.gz) = 156b03e4e4ed904004cc6ca39d08ed260718a48069c6df48b173dc92b9182759 +SIZE (docling_ocr_onnxtr-0.2.1.tar.gz) = 22733 diff --git a/textproc/py-docling-ocr-onnxtr/pkg-descr b/textproc/py-docling-ocr-onnxtr/pkg-descr new file mode 100644 index 000000000000..6b66336a8277 --- /dev/null +++ b/textproc/py-docling-ocr-onnxtr/pkg-descr @@ -0,0 +1,4 @@ +Docling OCR OnnxTR is a plugin that integrates Onnx Text Recognition +(OnnxTR) into the Docling document processing pipeline. It provides +ONNX Runtime-based OCR capabilities for efficient, cross-platform +text extraction from document images. diff --git a/textproc/py-docling-ocr/Makefile b/textproc/py-docling-ocr/Makefile new file mode 100644 index 000000000000..73f109d8139b --- /dev/null +++ b/textproc/py-docling-ocr/Makefile @@ -0,0 +1,26 @@ +PORTNAME= docling-ocr +DISTVERSION= 0.1.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= OCR package using LLM models for text extraction from images +WWW= https://github.com/FREDERICO23/docling_ocr + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=8.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytorch>=1.10.0:misc/py-pytorch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}transformers>=4.15.0:misc/py-transformers@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-ocr/distinfo b/textproc/py-docling-ocr/distinfo new file mode 100644 index 000000000000..32f13ea891cf --- /dev/null +++ b/textproc/py-docling-ocr/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064448 +SHA256 (docling_ocr-0.1.0.tar.gz) = c540647a57330a35ded566f5478504a96364c760e553a3e6ba6cb8f8aecff52b +SIZE (docling_ocr-0.1.0.tar.gz) = 9300 diff --git a/textproc/py-docling-ocr/pkg-descr b/textproc/py-docling-ocr/pkg-descr new file mode 100644 index 000000000000..3f5147f0e3b2 --- /dev/null +++ b/textproc/py-docling-ocr/pkg-descr @@ -0,0 +1,4 @@ +Docling OCR is an optical character recognition package that uses LLM +models for text extraction from images. It provides a unified interface +for OCR operations within the Docling pipeline, supporting multiple OCR +backends and LLM-based text recognition approaches. diff --git a/textproc/py-docling-onnx-models/Makefile b/textproc/py-docling-onnx-models/Makefile new file mode 100644 index 000000000000..86ec2372d733 --- /dev/null +++ b/textproc/py-docling-onnx-models/Makefile @@ -0,0 +1,29 @@ +PORTNAME= docling-onnx-models +DISTVERSION= 0.1.3 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= ONNX Runtime implementations for Docling AI models +WWW= https://github.com/asmud/docling-onnx-models + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.21.0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}onnxruntime>=1.15.0:misc/py-onnxruntime@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opencv-python-headless>=4.5.0:graphics/py-opencv-python-headless@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=8.3.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-onnx-models/distinfo b/textproc/py-docling-onnx-models/distinfo new file mode 100644 index 000000000000..a8044df8550a --- /dev/null +++ b/textproc/py-docling-onnx-models/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064449 +SHA256 (docling_onnx_models-0.1.3.tar.gz) = b72c4d03affeb30c6af7773b3e792d1dd99b7e0bb448ba6bb82d8b6fa15730da +SIZE (docling_onnx_models-0.1.3.tar.gz) = 32641 diff --git a/textproc/py-docling-onnx-models/pkg-descr b/textproc/py-docling-onnx-models/pkg-descr new file mode 100644 index 000000000000..5b36f50e9d35 --- /dev/null +++ b/textproc/py-docling-onnx-models/pkg-descr @@ -0,0 +1,4 @@ +Docling ONNX Models provides ONNX Runtime implementations for Docling +AI models. It enables running Docling's document understanding models +using the ONNX Runtime inference engine, offering portable and optimized +model execution across different hardware platforms. diff --git a/textproc/py-docling-parse/Makefile b/textproc/py-docling-parse/Makefile new file mode 100644 index 000000000000..f2caeaa3cbeb --- /dev/null +++ b/textproc/py-docling-parse/Makefile @@ -0,0 +1,37 @@ +PORTNAME= docling-parse +DISTVERSION= 7.4.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Simple package to extract text with coordinates from programmatic PDFs +WWW= https://github.com/docling-project/docling-parse + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pybind11>=2.13.6:devel/py-pybind11@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} \ + cmake>=3.27.0:devel/cmake \ + cxxopts>=3.3.1:devel/cxxopts \ + loguru>=2.1.0:devel/loguru \ + nlohmann-json>=3.12.0:devel/nlohmann-json \ + utf8cpp>=4.1.1:devel/utf8cpp +LIB_DEPENDS= libblend2d.so:graphics/blend2d \ + libjpeg.so:graphics/jpeg-turbo \ + liblcms2.so:graphics/lcms2 \ + libopenjp2.so:graphics/openjpeg \ + libqpdf.so:print/qpdf +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-core>=2.85.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} + +USES= python localbase pkgconfig +USE_PYTHON= autoplist concurrent pep517 + +MAKE_ENV= USE_SYSTEM_DEPS=ON + +.include diff --git a/textproc/py-docling-parse/distinfo b/textproc/py-docling-parse/distinfo new file mode 100644 index 000000000000..8e33e3e9de48 --- /dev/null +++ b/textproc/py-docling-parse/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064431 +SHA256 (docling_parse-7.4.0.tar.gz) = 30297a61a8d09dc528adde853090fabe9d6b3f83de7e0a0ea6e9aafe01ec9b4a +SIZE (docling_parse-7.4.0.tar.gz) = 6708979 diff --git a/textproc/py-docling-parse/files/patch-CMakeLists.txt b/textproc/py-docling-parse/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..4461a47abbc2 --- /dev/null +++ b/textproc/py-docling-parse/files/patch-CMakeLists.txt @@ -0,0 +1,15 @@ +-- Switch from extlib_qpdf_v12.cmake to extlib_qpdf_v11.cmake because +-- FreeBSD's print/qpdf port is still at the v11.x API/ABI. +--- CMakeLists.txt.orig 2026-07-01 07:01:36 UTC ++++ CMakeLists.txt +@@ -110,8 +110,8 @@ include(cmake/extlib_lcms2.cmake) + include(cmake/extlib_jpeg.cmake) + include(cmake/extlib_openjpeg.cmake) + include(cmake/extlib_lcms2.cmake) +-# include(cmake/extlib_qpdf_v11.cmake) +-include(cmake/extlib_qpdf_v12.cmake) ++include(cmake/extlib_qpdf_v11.cmake) ++# # include(cmake/extlib_qpdf_v12.cmake) + include(cmake/extlib_blend2d.cmake) + include(cmake/extlib_pdfium_jbig2.cmake) + diff --git a/textproc/py-docling-parse/files/patch-cmake_extlib__loguru.cmake b/textproc/py-docling-parse/files/patch-cmake_extlib__loguru.cmake new file mode 100644 index 000000000000..8a117d78d238 --- /dev/null +++ b/textproc/py-docling-parse/files/patch-cmake_extlib__loguru.cmake @@ -0,0 +1,37 @@ +-- FreeBSD's devel/loguru port ships loguru.hpp and loguru.cpp as +-- header-only source files without a CMake config package. Compile +-- loguru.cpp into a static library with PIC and expose the loguru::loguru +-- alias expected by the rest of the build. +--- cmake/extlib_loguru.cmake.orig 2026-07-01 07:01:36 UTC ++++ cmake/extlib_loguru.cmake +@@ -6,14 +6,22 @@ if(USE_SYSTEM_DEPS) + if(USE_SYSTEM_DEPS) + message(STATUS "using system-deps in extlib_loguru.cmake") + +- # this will define the loguru target +- # find_package(loguru REQUIRED) +- +- # add_library(${ext_name_loguru} INTERFACE IMPORTED) +- # add_dependencies(${ext_name_loguru} loguru) +- +- find_package(loguru CONFIG REQUIRED) +- add_library(${ext_name_loguru} ALIAS loguru::loguru) ++ # FreeBSD's devel/loguru port ships loguru.hpp and loguru.cpp as ++ # header-only source files without a CMake config package. Compile ++ # loguru.cpp into a small static library and provide the loguru::loguru ++ # alias expected by the rest of the project. ++ find_package(Threads REQUIRED) ++ find_file(LOGURU_HPP loguru.hpp PATHS ${CMAKE_INSTALL_PREFIX}/include) ++ find_file(LOGURU_CPP loguru.cpp PATHS ${CMAKE_INSTALL_PREFIX}/include) ++ if(NOT LOGURU_HPP OR NOT LOGURU_CPP) ++ message(FATAL_ERROR "loguru.hpp and loguru.cpp not found in ${CMAKE_INSTALL_PREFIX}/include") ++ endif() ++ add_library(loguru STATIC ${LOGURU_CPP}) ++ target_include_directories(loguru PUBLIC ${CMAKE_INSTALL_PREFIX}/include) ++ target_link_libraries(loguru PUBLIC Threads::Threads) ++ target_compile_definitions(loguru PUBLIC LOGURU_WITH_STREAMS=1) ++ set_target_properties(loguru PROPERTIES POSITION_INDEPENDENT_CODE ON) ++ add_library(loguru::loguru ALIAS loguru) + + else() + message(STATUS "ignoring system-deps extlib_loguru.cmake") diff --git a/textproc/py-docling-parse/files/patch-cmake_extlib__utf8.git.cmake b/textproc/py-docling-parse/files/patch-cmake_extlib__utf8.git.cmake new file mode 100644 index 000000000000..a3259fe408e1 --- /dev/null +++ b/textproc/py-docling-parse/files/patch-cmake_extlib__utf8.git.cmake @@ -0,0 +1,25 @@ +-- FreeBSD's devel/utf8cpp port installs headers under +-- ${PREFIX}/include/utf8cpp without a CMake config package. Create an +-- INTERFACE target that exposes the utf8cpp include directory to the build. +--- cmake/extlib_utf8.git.cmake.orig 2026-07-01 07:01:36 UTC ++++ cmake/extlib_utf8.git.cmake +@@ -6,11 +6,16 @@ if(USE_SYSTEM_DEPS) + if(USE_SYSTEM_DEPS) + message(STATUS "using system-deps in extlib_utf8.cmake") + +- # this will define the utf8cpp target +- find_package(utf8cpp REQUIRED) ++ # FreeBSD's devel/utfcpp port installs headers under ++ # ${PREFIX}/include/utf8cpp. Create an INTERFACE target so the rest of ++ # the build can use the plain "utf8" target and #include . ++ find_path(UTF8CPP_INCLUDE_DIR utf8.h PATHS ${CMAKE_INSTALL_PREFIX}/include/utf8cpp) ++ if(NOT UTF8CPP_INCLUDE_DIR) ++ message(FATAL_ERROR "utf8.h not found in ${CMAKE_INSTALL_PREFIX}/include/utf8cpp") ++ endif() + + add_library(${ext_name} INTERFACE IMPORTED) +- add_dependencies(${ext_name} utf8cpp) ++ target_include_directories(${ext_name} INTERFACE ${CMAKE_INSTALL_PREFIX}/include/utf8cpp) + + else() + message(STATUS "ignoring system-deps extlib_utf8.cmake") diff --git a/textproc/py-docling-parse/files/patch-cmake_os__opts.cmake b/textproc/py-docling-parse/files/patch-cmake_os__opts.cmake new file mode 100644 index 000000000000..1a7384dfe117 --- /dev/null +++ b/textproc/py-docling-parse/files/patch-cmake_os__opts.cmake @@ -0,0 +1,27 @@ +-- FreeBSD has no libresolv or librt. Add a FreeBSD-specific link set +-- that links the base system libraries used by docling-parse. +--- cmake/os_opts.cmake.orig 2026-07-01 07:01:36 UTC ++++ cmake/os_opts.cmake +@@ -22,12 +22,20 @@ elseif(APPLE) + find_library(SystemConfigurationLib SystemConfiguration) + #message("LIB: ${SystemConfigurationLib}") + +- # set(LIB_LINK qpdf jpeg utf8 z) ++ # set(LIB_LINK qpdf jpeg utf8 z) + set(OS_DEPENDENCIES ZLIB::ZLIB) + + + set(LIB_LINK ${FoundationLib} ${SystemConfigurationLib}) +- ++ ++elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ message(STATUS "compiling on freebsd") ++ ++ # set(LIB_LINK qpdf jpeg utf8 z) ++ find_package(ZLIB) ++ set(LIB_LINK dl m pthread) ++ set(OS_DEPENDENCIES ZLIB::ZLIB) ++ + elseif(UNIX) + message(STATUS "compiling on linux") + diff --git a/textproc/py-docling-parse/files/patch-pyproject.toml b/textproc/py-docling-parse/files/patch-pyproject.toml new file mode 100644 index 000000000000..9ce04f0d6460 --- /dev/null +++ b/textproc/py-docling-parse/files/patch-pyproject.toml @@ -0,0 +1,42 @@ +-- Fix license declaration format and remove build-system dependencies (cmake, cibuildwheel, delocate) that are provided by the ports framework. +--- pyproject.toml.orig 2026-07-09 20:28:30 UTC ++++ pyproject.toml +@@ -2,7 +2,7 @@ description = "Simple package to extract text with coo + name = "docling-parse" + version = "7.4.0" + description = "Simple package to extract text with coordinates from programmatic PDFs" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "pdf", "parser"] + classifiers = [ + "Operating System :: MacOS :: MacOS X", +@@ -40,25 +40,17 @@ requires = [ + + [build-system] + requires = [ +- "setuptools>=77.0.3", +- "pybind11>=2.13.6", +- "cibuildwheel>=2.19.2,<3.0.0; python_version < '3.11'", +- "cibuildwheel>=2.19.2,<4.0.0; python_version >= '3.11'", ++ "setuptools>=0", ++ "pybind11>=0", + "wheel>=0.43.0,<1.0.0", +- "delocate>=0.11.0,<1.0.0", +- "cmake>=3.27.0,<4.0.0" + ] + build-backend = "setuptools.build_meta" + + [dependency-groups] + build = [ +- "setuptools>=77.0.3", +- "pybind11>=2.13.6", +- "cibuildwheel>=2.19.2,<3.0.0; python_version < '3.11'", +- "cibuildwheel>=2.19.2,<4.0.0; python_version >= '3.11'", ++ "setuptools>=0", ++ "pybind11>=0", + "wheel>=0.43.0,<1.0.0", +- "delocate>=0.11.0,<1.0.0", +- "cmake>=3.27.0,<4.0.0" + ] + dev = [ + "pytest>=9.0.3,<10.0.0", diff --git a/textproc/py-docling-parse/pkg-descr b/textproc/py-docling-parse/pkg-descr new file mode 100644 index 000000000000..2648380380d7 --- /dev/null +++ b/textproc/py-docling-parse/pkg-descr @@ -0,0 +1,5 @@ +Docling Parse is a native C++ PDF parsing backend that extracts text +with coordinates from programmatic PDFs. It provides high-performance +PDF content extraction used by the Docling document conversion pipeline, +built against system libraries including qpdf, blend2d, jpeg, openjpeg, +lcms2, loguru, utf8cpp, cxxopts, and nlohmann-json. diff --git a/textproc/py-docling-sdg/Makefile b/textproc/py-docling-sdg/Makefile new file mode 100644 index 000000000000..9648b11281ca --- /dev/null +++ b/textproc/py-docling-sdg/Makefile @@ -0,0 +1,33 @@ +PORTNAME= docling-sdg +DISTVERSION= 0.4.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Docling for Synthetic Data Generation (SDG) +WWW= https://github.com/docling-project/docling-sdg + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.26.0:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.23.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}llama-index-core>=0.12.25:misc/py-llama-index-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}llama-index-embeddings-huggingface>=0.5.5:misc/py-llama-index-embeddings-huggingface@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}llama-index-llms-ibm>=0.3.3:misc/py-llama-index-llms-ibm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}llama-index-llms-openai-like>=0.3.4:misc/py-llama-index-llms-openai-like@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}semchunk>=2.2.2:textproc/py-semchunk@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}transformers>=4.42.4:misc/py-transformers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.12.2:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-sdg/distinfo b/textproc/py-docling-sdg/distinfo new file mode 100644 index 000000000000..20dcf2f71019 --- /dev/null +++ b/textproc/py-docling-sdg/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064431 +SHA256 (docling_sdg-0.4.0.tar.gz) = bfce5d69e7115f4481f87524da33e806ed0e60e505518ce654810897b74fea92 +SIZE (docling_sdg-0.4.0.tar.gz) = 29579 diff --git a/textproc/py-docling-sdg/files/patch-pyproject.toml b/textproc/py-docling-sdg/files/patch-pyproject.toml new file mode 100644 index 000000000000..d4610df140f9 --- /dev/null +++ b/textproc/py-docling-sdg/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:30 UTC ++++ pyproject.toml +@@ -6,7 +6,7 @@ description = "Docling for Synthetic Data Generation ( + name = "docling-sdg" + version = "0.4.0" # DO NOT EDIT, updated automatically + description = "Docling for Synthetic Data Generation (SDG) provides a set of tools to create artificial data from documents, leveraging generative AI and docling's parsing capabilities." +-license = "MIT" ++license = {text = "MIT"} + authors = [ + {name="Cesar Berrospi Ramis", email="ceb@zurich.ibm.com"}, + {name="Rafael Teixeira de Lima", email="rtdl@ibm.com"}, diff --git a/textproc/py-docling-sdg/pkg-descr b/textproc/py-docling-sdg/pkg-descr new file mode 100644 index 000000000000..16771e6476a2 --- /dev/null +++ b/textproc/py-docling-sdg/pkg-descr @@ -0,0 +1,4 @@ +Docling SDG (Synthetic Data Generation) provides tools to create +artificial data from documents, leveraging generative AI and Docling's +parsing capabilities. It enables the generation of synthetic document +datasets for training and evaluation of document understanding models. diff --git a/textproc/py-docling-serve-client/Makefile b/textproc/py-docling-serve-client/Makefile new file mode 100644 index 000000000000..9fc137a51bc5 --- /dev/null +++ b/textproc/py-docling-serve-client/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-serve-client +DISTVERSION= 1.14.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Python SDK for Docling Serve API using Pydantic models +WWW= https://github.com/youssefhoussam/docling-serve-client + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.24.0:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-serve-client/distinfo b/textproc/py-docling-serve-client/distinfo new file mode 100644 index 000000000000..41066147feb9 --- /dev/null +++ b/textproc/py-docling-serve-client/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064449 +SHA256 (docling_serve_client-1.14.0.tar.gz) = 4ae26910783edb06db4f4aa5d93352a6ce99cbae3e5077cbbad9160f3018ac9d +SIZE (docling_serve_client-1.14.0.tar.gz) = 30735 diff --git a/textproc/py-docling-serve-client/files/patch-pyproject.toml b/textproc/py-docling-serve-client/files/patch-pyproject.toml new file mode 100644 index 000000000000..5065d3939236 --- /dev/null +++ b/textproc/py-docling-serve-client/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 22:41:33 UTC ++++ pyproject.toml +@@ -8,7 +8,7 @@ requires-python = ">=3.8.1" + description = "A Python SDK for interacting with Docling Serve API using Pydantic models" + readme = "README.md" + requires-python = ">=3.8.1" +-license = "MIT" ++license = {text = "MIT"} + keywords = ["docling", "document", "processing", "ocr", "pdf", "conversion", "chunking"] + classifiers = [ + "Development Status :: 4 - Beta", diff --git a/textproc/py-docling-serve-client/pkg-descr b/textproc/py-docling-serve-client/pkg-descr new file mode 100644 index 000000000000..9fa5e75cf361 --- /dev/null +++ b/textproc/py-docling-serve-client/pkg-descr @@ -0,0 +1,3 @@ +Docling Serve Client is a Python SDK for interacting with the Docling +Serve API using Pydantic models. It provides a type-safe client library +for remote document conversion through a Docling Serve instance. diff --git a/textproc/py-docling-serve-haystack/Makefile b/textproc/py-docling-serve-haystack/Makefile new file mode 100644 index 000000000000..050a48f1a10d --- /dev/null +++ b/textproc/py-docling-serve-haystack/Makefile @@ -0,0 +1,25 @@ +PORTNAME= docling-serve-haystack +DISTVERSION= 1.1.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Haystack converter component for DoclingServe via HTTP +WWW= https://pypi.org/project/docling-serve-haystack/ + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}haystack_ai>=0:misc/py-haystack_ai@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0:www/py-httpx@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-serve-haystack/distinfo b/textproc/py-docling-serve-haystack/distinfo new file mode 100644 index 000000000000..97c7d8a1c596 --- /dev/null +++ b/textproc/py-docling-serve-haystack/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064449 +SHA256 (docling_serve_haystack-1.1.0.tar.gz) = 6ee7599499dbff9556fd180f6bd3ecbe1e95cf43d4fc8126cc73307b9ae38e4a +SIZE (docling_serve_haystack-1.1.0.tar.gz) = 16014 diff --git a/textproc/py-docling-serve-haystack/files/patch-pyproject.toml b/textproc/py-docling-serve-haystack/files/patch-pyproject.toml new file mode 100644 index 000000000000..33e20ed3d287 --- /dev/null +++ b/textproc/py-docling-serve-haystack/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:31 UTC ++++ pyproject.toml +@@ -8,7 +8,7 @@ requires-python = ">=3.10" + description = "Haystack converter component for DoclingServe — document conversion via HTTP" + readme = "README.md" + requires-python = ">=3.10" +-license = "Apache-2.0" ++license = {text = "Apache-2.0"} + keywords = ["Haystack", "Docling", "DoclingServe", "document conversion", "PDF", "OCR"] + authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] + classifiers = [ diff --git a/textproc/py-docling-serve-haystack/pkg-descr b/textproc/py-docling-serve-haystack/pkg-descr new file mode 100644 index 000000000000..8f0152eb26bd --- /dev/null +++ b/textproc/py-docling-serve-haystack/pkg-descr @@ -0,0 +1,4 @@ +Docling Serve Haystack provides a Haystack converter component for +Docling Serve, enabling document conversion via HTTP. It allows +Haystack pipelines to use a remote Docling Serve instance for +document processing. diff --git a/textproc/py-docling-serve-sdk/Makefile b/textproc/py-docling-serve-sdk/Makefile new file mode 100644 index 000000000000..fc22c9a6623c --- /dev/null +++ b/textproc/py-docling-serve-sdk/Makefile @@ -0,0 +1,24 @@ +PORTNAME= docling-serve-sdk +DISTVERSION= 1.3.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Python SDK for Docling Serve API using Pydantic models +WWW= https://www.barrahome.org + +LICENSE= MIT + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.24.0:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-serve-sdk/distinfo b/textproc/py-docling-serve-sdk/distinfo new file mode 100644 index 000000000000..40d756305fd7 --- /dev/null +++ b/textproc/py-docling-serve-sdk/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064449 +SHA256 (docling_serve_sdk-1.3.0.tar.gz) = 6ab7c1d12472437845142b48fefde63c19f80419faaf0ab7eb48d00e1179d01e +SIZE (docling_serve_sdk-1.3.0.tar.gz) = 14098 diff --git a/textproc/py-docling-serve-sdk/files/patch-pyproject.toml b/textproc/py-docling-serve-sdk/files/patch-pyproject.toml new file mode 100644 index 000000000000..38e098d51f8c --- /dev/null +++ b/textproc/py-docling-serve-sdk/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:31 UTC ++++ pyproject.toml +@@ -8,7 +8,7 @@ requires-python = ">=3.8.1" + description = "A Python SDK for interacting with Docling Serve API using Pydantic models" + readme = "README.md" + requires-python = ">=3.8.1" +-license = "MIT" ++license = {text = "MIT"} + authors = [ + {name = "Alberto Ferrer", email = "albertof@barrahome.org"}, + ] diff --git a/textproc/py-docling-serve-sdk/pkg-descr b/textproc/py-docling-serve-sdk/pkg-descr new file mode 100644 index 000000000000..870f4d818e33 --- /dev/null +++ b/textproc/py-docling-serve-sdk/pkg-descr @@ -0,0 +1,3 @@ +Docling Serve SDK is a Python SDK for interacting with the Docling +Serve API using Pydantic models. It provides programmatic access to +Docling's document conversion capabilities when deployed as a service. diff --git a/textproc/py-docling-serve/Makefile b/textproc/py-docling-serve/Makefile new file mode 100644 index 000000000000..73bac66663ee --- /dev/null +++ b/textproc/py-docling-serve/Makefile @@ -0,0 +1,42 @@ +PORTNAME= docling-serve +DISTVERSION= 1.26.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Running Docling as a service +WWW= https://github.com/docling-project/docling-serve + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-core>=2.79.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-jobkit>=2.0.0:textproc/py-docling-jobkit@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-mcp>=1.0.0:textproc/py-docling-mcp@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-slim>=2.104.0:textproc/py-docling-slim@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}fastapi>=0:www/py-fastapi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.28:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opentelemetry-api>=1.36.0:devel/py-opentelemetry-api@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opentelemetry-exporter-otlp>=1.15.0:devel/py-opentelemetry-exporter-otlp@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opentelemetry-exporter-prometheus>=0.57b0:devel/py-opentelemetry-exporter-prometheus@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opentelemetry-instrumentation-fastapi>=0.57b0:devel/py-opentelemetry-instrumentation-fastapi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opentelemetry-sdk>=1.36.0:devel/py-opentelemetry-sdk@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.21.0:net-mgmt/py-prometheus-client@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.10:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.4:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-multipart>=0.0.14:www/py-python-multipart@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scalar-fastapi>=1.0.3:www/py-scalar-fastapi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}uvicorn>=0.29.0:www/py-uvicorn@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}websockets>=14.0:devel/py-websockets@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-serve/distinfo b/textproc/py-docling-serve/distinfo new file mode 100644 index 000000000000..460469962947 --- /dev/null +++ b/textproc/py-docling-serve/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064431 +SHA256 (docling_serve-1.26.0.tar.gz) = ce7036e7fb05a337432a1d086d732f146243746df49d7893550fcb22a5b018ca +SIZE (docling_serve-1.26.0.tar.gz) = 79609 diff --git a/textproc/py-docling-serve/pkg-descr b/textproc/py-docling-serve/pkg-descr new file mode 100644 index 000000000000..397cad114bb7 --- /dev/null +++ b/textproc/py-docling-serve/pkg-descr @@ -0,0 +1,4 @@ +Docling Serve runs Docling as a web service, exposing document +conversion capabilities through a REST API. It enables deployment of +Docling as a standalone server for distributed document processing +workloads and integration with other services. diff --git a/textproc/py-docling-slim/Makefile b/textproc/py-docling-slim/Makefile new file mode 100644 index 000000000000..63b15067e82e --- /dev/null +++ b/textproc/py-docling-slim/Makefile @@ -0,0 +1,30 @@ +PORTNAME= docling-slim +DISTVERSION= 2.108.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Modular version of the Docling package for document conversion +WWW= https://github.com/docling-project/docling + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=2024.7.4:security/py-certifi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.84.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}filetype>=1.2.0:devel/py-filetype@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pluggy>=1.0.0:devel/py-pluggy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.3.0:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.32.2:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.65.0:misc/py-tqdm@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-docling-slim/distinfo b/textproc/py-docling-slim/distinfo new file mode 100644 index 000000000000..c1331828296e --- /dev/null +++ b/textproc/py-docling-slim/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783062779 +SHA256 (docling_slim-2.108.0.tar.gz) = a870fe790cd64cfef24411216d7c6324b51400fe55b6b10787e00bce64deb75d +SIZE (docling_slim-2.108.0.tar.gz) = 486931 diff --git a/textproc/py-docling-slim/files/patch-pyproject.toml b/textproc/py-docling-slim/files/patch-pyproject.toml new file mode 100644 index 000000000000..689e1a10fb89 --- /dev/null +++ b/textproc/py-docling-slim/files/patch-pyproject.toml @@ -0,0 +1,12 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:28:31 UTC ++++ pyproject.toml +@@ -6,7 +6,7 @@ description = "Modular version of the Docling package: + name = "docling-slim" + version = "2.108.0" # DO NOT EDIT, updated automatically + description = "Modular version of the Docling package: SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications." +-license = "MIT" ++license = {text = "MIT"} + keywords = [ + "docling", + "convert", diff --git a/textproc/py-docling-slim/pkg-descr b/textproc/py-docling-slim/pkg-descr new file mode 100644 index 000000000000..c6fd0c5c2734 --- /dev/null +++ b/textproc/py-docling-slim/pkg-descr @@ -0,0 +1,5 @@ +Docling Slim is a modular, lightweight version of the Docling document +conversion SDK and CLI. It parses PDF, DOCX, PPTX, XLSX, HTML, images, +and other formats into a unified document representation, with a minimal +dependency footprint. Additional features can be enabled by installing +optional extras as needed. diff --git a/textproc/py-docling/Makefile b/textproc/py-docling/Makefile new file mode 100644 index 000000000000..2aa3f2ed18f6 --- /dev/null +++ b/textproc/py-docling/Makefile @@ -0,0 +1,60 @@ +PORTNAME= docling +DISTVERSION= 2.108.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= SDK and CLI for parsing PDF, DOCX, HTML, and more into unified format +WWW= https://github.com/docling-project/docling/blob/main/CHANGELOG.md + +LICENSE= MIT + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}accelerate>=1.0.0:misc/py-accelerate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4.12.3:www/py-beautifulsoup@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}certifi>=2024.7.4:security/py-certifi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}defusedxml>=0.7.1:devel/py-defusedxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.84.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-ibm-models>=3.13.0:textproc/py-docling-ibm-models@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-parse>=7.0.0:textproc/py-docling-parse@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-slim=2.108.0:textproc/py-docling-slim@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}filetype>=1.2.0:devel/py-filetype@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx>=0.28:www/py-httpx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}huggingface-hub>=0.23:misc/py-huggingface-hub@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=4.0.0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mail-parser>0:mail/py-mail-parser@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}marko>=2.1.2:textproc/py-marko@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.24.0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}onnxruntime>=1.7.0:misc/py-onnxruntime@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pluggy>=1.0.0:devel/py-pluggy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}polyfactory>=2.22.2:devel/py-polyfactory@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.3.0:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pylatexenc>=2.10:textproc/py-pylatexenc@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-docx>=1.1.2:textproc/py-python-docx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0:www/py-python-dotenv@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-pptx>=1.0.2:textproc/py-python-pptx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.32.2:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=13.0.0:textproc/py-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rtree>=1.3.0:devel/py-rtree@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy>=1.6.0:science/py-scipy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytorch>=2.2.2:misc/py-pytorch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}torchvision>=0:misc/py-torchvision@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.65.0:misc/py-tqdm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}websockets>=14.0:devel/py-websockets@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +OPTIONS_DEFINE= PDFIUM2 +PDFIUM2_DESC= Use pypdfium2 for PDF rendering (requires LibreOffice build) + +PDFIUM2_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pypdfium2>=4.30.0:graphics/py-pypdfium2@${PY_FLAVOR} + +.include diff --git a/textproc/py-docling/distinfo b/textproc/py-docling/distinfo new file mode 100644 index 000000000000..ad4ba78664b5 --- /dev/null +++ b/textproc/py-docling/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783062847 +SHA256 (docling-2.108.0.tar.gz) = a47253a4a04104c1ad509da92c55f62738737ca71706816a9df252e3c3f0d39e +SIZE (docling-2.108.0.tar.gz) = 8946 diff --git a/textproc/py-docling/files/patch-pyproject.toml b/textproc/py-docling/files/patch-pyproject.toml new file mode 100644 index 000000000000..7d005559ad36 --- /dev/null +++ b/textproc/py-docling/files/patch-pyproject.toml @@ -0,0 +1,23 @@ +-- Fix license declaration format for PEP 621 compatibility and remove console_scripts entry points (provided by docling-slim dependency). +--- pyproject.toml.orig 2026-07-09 20:28:22 UTC ++++ pyproject.toml +@@ -6,7 +6,7 @@ description = "SDK and CLI for parsing PDF, DOCX, HTML + name = "docling" + version = "2.108.0" # DO NOT EDIT, updated automatically + description = "SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications." +-license = "MIT" ++license = {text = "MIT"} + keywords = [ + "docling", + "convert", +@@ -64,10 +64,6 @@ changelog = "https://github.com/docling-project/doclin + # links these entry points into ~/.local/bin. uv only exposes the named + # package's own scripts, never a dependency's. The referenced modules are + # provided at runtime by the docling-slim dependency. +-[project.scripts] +-docling = "docling.cli.main:app" +-docling-tools = "docling.cli.tools:app" +- + [tool.uv.sources] + # For local development: use workspace member + docling-slim = { workspace = true } diff --git a/textproc/py-docling/pkg-descr b/textproc/py-docling/pkg-descr new file mode 100644 index 000000000000..f088b37d4890 --- /dev/null +++ b/textproc/py-docling/pkg-descr @@ -0,0 +1,8 @@ +Docling is a document conversion SDK and CLI that parses PDF, DOCX, PPTX, +XLSX, HTML, images, and other formats into a unified document representation +suitable for powering downstream workflows such as retrieval-augmented +generation (RAG) and gen AI applications. + +This is the user-facing meta-package that depends on docling-slim with the +standard extras enabled, providing the full Docling feature set including +OCR, table structure recognition, and document layout analysis. diff --git a/textproc/py-extended-docling/Makefile b/textproc/py-extended-docling/Makefile new file mode 100644 index 000000000000..3e85a88707d9 --- /dev/null +++ b/textproc/py-extended-docling/Makefile @@ -0,0 +1,47 @@ +PORTNAME= extended-docling +DISTVERSION= 2.12.1 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= SDK and CLI for parsing PDF, DOCX, HTML, and more into unified format +WWW= https://github.com/DS4SD/docling + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}certifi>=2024.7.4:security/py-certifi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}deepsearch-glm>=1.0.0:textproc/py-deepsearch-glm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-core>=2.9.0:textproc/py-docling-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-ibm-models>=3.1.0:textproc/py-docling-ibm-models@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docling-parse>=3.0.0:textproc/py-docling-parse@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}easyocr>=1.7:graphics/py-easyocr@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}filetype>=1.2.0:devel/py-filetype@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-api-core>=2.13.0:www/py-google-api-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-auth>=2.23.4:security/py-google-auth@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-cloud-vision>=3.4.5:www/py-google-cloud-vision@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}googleapis-common-protos>=1.61.0:devel/py-googleapis-common-protos@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}huggingface-hub>=0.23:misc/py-huggingface-hub@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=4.0.0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}marko>=2.1.2:textproc/py-marko@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.1.4:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.3.0:devel/py-pydantic-settings@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-docx>=1.1.2:textproc/py-python-docx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-pptx>=1.0.2:textproc/py-python-pptx@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.32.3:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rtree>=1.3.0:devel/py-rtree@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy>=1.6.0:science/py-scipy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.12.5:devel/py-typer@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-extended-docling/distinfo b/textproc/py-extended-docling/distinfo new file mode 100644 index 000000000000..7ecbbc86b1ac --- /dev/null +++ b/textproc/py-extended-docling/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064449 +SHA256 (extended_docling-2.12.1.tar.gz) = 0dd7af4298c9fc4eaed957ff0108e297d20aa95e501594fac4bba292da3e2510 +SIZE (extended_docling-2.12.1.tar.gz) = 77012 diff --git a/textproc/py-extended-docling/pkg-descr b/textproc/py-extended-docling/pkg-descr new file mode 100644 index 000000000000..9df8b51d9547 --- /dev/null +++ b/textproc/py-extended-docling/pkg-descr @@ -0,0 +1,5 @@ +Extended Docling is a community distribution of the Docling document +conversion SDK and CLI with Google OCR support. It parses PDF, DOCX, +PPTX, XLSX, HTML, images, and other formats into a unified document +representation, extending the standard Docling with additional OCR +backends and features. diff --git a/textproc/py-langchain-docling/Makefile b/textproc/py-langchain-docling/Makefile new file mode 100644 index 000000000000..c9f03abc65cc --- /dev/null +++ b/textproc/py-langchain-docling/Makefile @@ -0,0 +1,25 @@ +PORTNAME= langchain-docling +DISTVERSION= 2.0.0 +CATEGORIES= textproc python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Docling LangChain integration +WWW= https://github.com/docling-project/docling-langchain + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling>=2.26:textproc/py-docling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}langchain-core>=1.0:misc/py-langchain-core@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/textproc/py-langchain-docling/distinfo b/textproc/py-langchain-docling/distinfo new file mode 100644 index 000000000000..ccbaada210a0 --- /dev/null +++ b/textproc/py-langchain-docling/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1783064432 +SHA256 (langchain_docling-2.0.0.tar.gz) = 7bc7c93a6272114b6dd307c6033e2a62e843906afdd691a0d87246f1a1a154dd +SIZE (langchain_docling-2.0.0.tar.gz) = 7538 diff --git a/textproc/py-langchain-docling/files/patch-pyproject.toml b/textproc/py-langchain-docling/files/patch-pyproject.toml new file mode 100644 index 000000000000..6fb6320d95a8 --- /dev/null +++ b/textproc/py-langchain-docling/files/patch-pyproject.toml @@ -0,0 +1,13 @@ +-- Fix license declaration format for PEP 621 compatibility and remove license-files path not present in distfile. +--- pyproject.toml.orig 2026-07-09 20:31:38 UTC ++++ pyproject.toml +@@ -2,8 +2,7 @@ description = "Docling LangChain integration" + name = "langchain-docling" + version = "2.0.0" # DO NOT EDIT, updated automatically + description = "Docling LangChain integration" +-license = "MIT" +-license-files = ["LICENSE"] ++license = {text = "MIT"} + readme = "README.md" + authors = [ + { name = "Panos Vagenas", email = "pva@zurich.ibm.com" }, diff --git a/textproc/py-langchain-docling/pkg-descr b/textproc/py-langchain-docling/pkg-descr new file mode 100644 index 000000000000..f2d3a3f9c27f --- /dev/null +++ b/textproc/py-langchain-docling/pkg-descr @@ -0,0 +1,4 @@ +LangChain Docling provides Docling integration for LangChain, enabling +document loading and processing through Docling within LangChain +pipelines. It allows LangChain users to leverage Docling's document +understanding capabilities for RAG, agents, and LLM applications.