{"id":13420875,"url":"https://github.com/GNOME/libxml2","last_synced_at":"2025-03-15T07:31:42.402Z","repository":{"id":3481652,"uuid":"4537118","full_name":"GNOME/libxml2","owner":"GNOME","description":"Read-only mirror of https://gitlab.gnome.org/GNOME/libxml2","archived":false,"fork":false,"pushed_at":"2024-04-15T11:05:18.000Z","size":31055,"stargazers_count":533,"open_issues_count":0,"forks_count":349,"subscribers_count":46,"default_branch":"master","last_synced_at":"2024-04-16T02:01:27.798Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gitlab.gnome.org/GNOME/libxml2","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GNOME.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2012-06-03T12:37:38.000Z","updated_at":"2024-04-18T12:33:36.045Z","dependencies_parsed_at":"2023-10-28T02:30:42.836Z","dependency_job_id":"303ff755-b3f3-4c9b-8c86-4546d801140c","html_url":"https://github.com/GNOME/libxml2","commit_stats":null,"previous_names":[],"tags_count":213,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNOME%2Flibxml2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNOME%2Flibxml2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNOME%2Flibxml2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNOME%2Flibxml2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GNOME","download_url":"https://codeload.github.com/GNOME/libxml2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243701264,"owners_count":20333614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:43.238Z","updated_at":"2025-03-15T07:31:42.397Z","avatar_url":"https://github.com/GNOME.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings","C"],"sub_categories":[],"readme":"# libxml2\n\nlibxml2 is an XML toolkit implemented in C, originally developed for\nthe GNOME Project.\n\nOfficial releases can be downloaded from\n\u003chttps://download.gnome.org/sources/libxml2/\u003e\n\nThe git repository is hosted on GNOME's GitLab server:\n\u003chttps://gitlab.gnome.org/GNOME/libxml2\u003e\n\nBugs should be reported at\n\u003chttps://gitlab.gnome.org/GNOME/libxml2/-/issues\u003e.\nPlease report *security issues* to our bug tracker as well. Make sure to\nmark the issue as *confidential*.\n\nDocumentation is available at\n\u003chttps://gitlab.gnome.org/GNOME/libxml2/-/wikis\u003e\n\n## License\n\nThis code is released under the MIT License, see the Copyright file.\n\n## Build instructions\n\nlibxml2 can be built with GNU Autotools, CMake, meson or several other\nbuild systems in platform-specific subdirectories.\n\n### Autotools (for POSIX systems like Linux, BSD, macOS)\n\nIf you build from a Git tree, you have to install Autotools and start\nby generating the configuration files with:\n\n    ./autogen.sh [configuration options]\n\nIf you build from a source tarball, extract the archive with:\n\n    tar xf libxml2-xxx.tar.gz\n    cd libxml2-xxx\n\nThen you can configure and build the library:\n\n    ./configure [configuration options]\n    make\n\nThe following options disable or enable code modules and relevant symbols:\n\n    --with-c14n             Canonical XML 1.0 support (on)\n    --with-catalog          XML Catalogs support (on)\n    --with-debug            debugging module (on)\n    --with-history          history support for xmllint shell (off)\n    --with-readline[=DIR]   use readline in DIR for shell (off)\n    --with-html             HTML parser (on)\n    --with-http             HTTP support (off)\n    --with-iconv[=DIR]      iconv support (on)\n    --with-icu              ICU support (off)\n    --with-iso8859x         ISO-8859-X support if no iconv (on)\n    --with-lzma[=DIR]       use liblzma in DIR (off)\n    --with-modules          dynamic modules support (on)\n    --with-output           serialization support (on)\n    --with-pattern          xmlPattern selection interface (on)\n    --with-push             push parser interfaces (on)\n    --with-python           Python bindings (on)\n    --with-reader           xmlReader parsing interface (on)\n    --with-regexps          regular expressions support (on)\n    --with-relaxng          RELAX NG support (on)\n    --with-sax1             older SAX1 interface (on)\n    --with-schemas          XML Schemas 1.0 support (on)\n    --with-schematron       Schematron support (on)\n    --with-threads          multithreading support (on)\n    --with-thread-alloc     per-thread malloc hooks (off)\n    --with-valid            DTD validation support (on)\n    --with-writer           xmlWriter serialization interface (on)\n    --with-xinclude         XInclude 1.0 support (on)\n    --with-xpath            XPath 1.0 support (on)\n    --with-xptr             XPointer support (on)\n    --with-zlib[=DIR]       use libz in DIR (off)\n\nOther options:\n\n    --with-minimum          build a minimally sized library (off)\n    --with-legacy           maximum ABI compatibility (off)\n\nNote that by default, no optimization options are used. You have to\nenable them manually, for example with:\n\n    CFLAGS='-O2 -fno-semantic-interposition' ./configure\n\nNow you can run the test suite with:\n\n    make check\n\nPlease report test failures to the bug tracker.\n\nThen you can install the library:\n\n    make install\n\nAt that point you may have to rerun ldconfig or a similar utility to\nupdate your list of installed shared libs.\n\n### CMake (mainly for Windows)\n\nAnother option for compiling libxml is using CMake:\n\n    cmake -E tar xf libxml2-xxx.tar.gz\n    cmake -S libxml2-xxx -B libxml2-xxx-build [possible options]\n    cmake --build libxml2-xxx-build\n    cmake --install libxml2-xxx-build\n\nCommon CMake options include:\n\n    -D BUILD_SHARED_LIBS=OFF            # build static libraries\n    -D CMAKE_BUILD_TYPE=Release         # specify build type\n    -D CMAKE_INSTALL_PREFIX=/usr/local  # specify the install path\n    -D LIBXML2_WITH_ICONV=OFF           # disable iconv\n    -D LIBXML2_WITH_PYTHON=OFF          # disable Python\n    -D LIBXML2_WITH_ZLIB=ON             # enable zlib\n\nYou can also open the libxml source directory with its CMakeLists.txt\ndirectly in various IDEs such as CLion, QtCreator, or Visual Studio.\n\n### Meson\n\nStill somewhat experimental, see\n[issue 743](https://gitlab.gnome.org/GNOME/libxml2/-/issues/743).\n\nLibxml can also be built with meson. Without option, simply call\n\n    meson setup builddir\n    ninja -C builddir\n\nTo add options, see the meson_options.txt file. For example:\n\n    meson setup \\\n        -Dprefix=$prefix \\\n        -Dhistory=enabled \\\n        -Dhttp=enabled \\\n        -Dschematron=disabled \\\n        -Dzlib=enabled \\\n        builddir\n\nTo install libxml:\n\n    ninja -C builddir install\n\nTo launch tests:\n\n    meson test -C builddir\n\n## Dependencies\n\nlibxml2 supports POSIX and Windows operating systems.\n\nThe iconv function is required for conversion of character encodings.\nThis function is part of POSIX.1-2001. If your platform doesn't provide\niconv, you need an external libiconv library, for example\n[GNU libiconv](https://www.gnu.org/software/libiconv/). Using\n[ICU](https://icu.unicode.org/) is also supported but discouraged.\n\nIf enabled, libxml uses [libz](https://zlib.net/) or\n[liblzma](https://tukaani.org/xz/) to support reading compressed files.\nUse of this feature is discouraged.\n\nThe xmllint executable uses libreadline and libhistory if enabled.\n\n## Contributing\n\nThe current version of the code can be found in GNOME's GitLab at\n\u003chttps://gitlab.gnome.org/GNOME/libxml2\u003e. The best way to get involved\nis by creating issues and merge requests on GitLab.\n\nAll code must conform to C89 and pass the GitLab CI tests. Add regression\ntests if possible.\n\n## Authors\n\n- Daniel Veillard\n- Bjorn Reese\n- William Brack\n- Igor Zlatkovic for the Windows port\n- Aleksey Sanin\n- Nick Wellnhofer\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGNOME%2Flibxml2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGNOME%2Flibxml2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGNOME%2Flibxml2/lists"}