1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-04-22 03:42:49 +03:00

27 Commits

Author SHA1 Message Date
Nick Wellnhofer
d5238cf0a2 python: Don't output missing generators during build 2022-09-06 17:32:01 +02:00
Nick Wellnhofer
33023085bf Disable Python bindings for debugger
Most of the functions couldn't be used from Python anyway.

Fixes #75.
2022-08-31 17:42:12 +02:00
David Seifert
02c6ce836c
Use portable python shebangs
* In conda or Gentoo Prefix, we don't want to use the system python and
  instead rely on PATH lookup.
2022-04-05 11:45:23 +02:00
Nick Wellnhofer
b3076bccdb Finish and clean up Python 3 support
- Handle Python 3 types similar to libxml2
- Copy new versions of libxml_xmlXPathDestructNsNode and
  libxml_xmlXPathObjectPtrConvert from libxml2
- Fix compiler warnings
- Fix whitespace
- Remove unneeded imports from __future__
- Remove test in extelem.py (StringIO can't be converted to FILE under
  Python 3)
- string.lower() works in both Python 2 and 3

Closes #25.
2020-11-19 17:59:37 +01:00
Suleyman Poyraz
a2db8da1ac Initial support for Python 3
Squashed merge of pull request !19.
2020-11-19 17:08:37 +01:00
Daniel Richard G
a2cd8a03ac Various "make distcheck" and other fixes
Makefile.am:

* Use $(VAR), not @VAR@, as the former is the correct form for AC_SUBST'ed
   variables in Makefile.am files

* Touch these *.xml/*.syms files in the "dist-hook" target to prevent them
   from being regenerated, because the "make dist" process in itself
   updates the timestamps of the source files when it copies them into
   $(distdir)

* Add EXTRA_LIBS (-lrt on my system) to xsltConf.sh, as this is a required
   dependency when client applications link against -lxslt

   (note that the definition of EXTRA_LIBS has been changed; see below)

* Removed MAKEFLAGS+=--silent bits, as this is not compatible with non-GNU
   Make programs

autogen.sh:

* Add --warnings=all options to automake and autoconf invocations, to
   better catch potential problems (most of which I've fixed in this patch)

configure.in:

* Replaced obsolete macros with their current equivalents; for reference,
   see

     http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

   (I removed AC_ISC_POSIX outright because the doc states it is no longer
   useful)

* test(1) uses "=" as an operator, not "=="

* Fixed quoting on an AC_LINK_IFELSE() invocation to quell Autoconf errors

* Don't add redundant libraries to EXTRA_LIBS, because (1) this variable
   already contains LibXSLT's own additional system-library deps, and is
   useful in that form, and (2) the LibXML2 deps are already handled by
   Libtool

* Don't delete files in srcdir, and don't create the symlink to
   "Copyright" there either

   (I don't understand why this is being symlinked in the first place...)

doc/Makefile.am:

* Can't use wildcards in EXTRA_DIST, because this breaks dependencies
   (e.g. you can't "make EXSLT/\*.html"), and they only work properly when
   building inside the source tree; these have been replaced with their
   expansions. Other entries have been added here in lieu of the wildcards
   in the dist-hook target, as well as opportunistic use of the $(*PAGES)
   variables.

* Don't define an "all" target, because this steps on Automake's toes; use
   "all-local" instead

* Define and use an "xsltproc" variable to reference an in-tree-built
   version of xsltproc, instead of e.g. $(bindir)/xsltproc

   NOTE: The makefile also uses $(XSLTPROC), which names an external
   instance of the program found at configure time. Some instances of this
   could probably be changed to $(xsltproc) to remove the dependency on an
   existing installed program.

* Qualified various filenames as appropriate with $(srcdir)

* Use $(XMLLINT) consistently instead of $(bindir)/xmllint

* In the "libxslt-api.xml ..." rule, cd into $(srcdir) before invoking
   apibuild.py as this script has to run in srcdir anyway

* In the "clean-local" rule, clear out some additional files to allow
   "make distcheck" to pass

* Eliminated the redundant "maintainer-clean-local" rule

* Added a "distclean-local" rule to clear out the build directory in an
   out-of-source build to allow "make distcheck" to pass

* Added a "check-extra-dist" target to make it easier to check that
   EXTRA_DIST isn't missing anything

* Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete

* Use $(VAR) instead of @VAR@

* The "dist-hook" target didn't work (if any generated files were in
   builddir and not in srcdir), and is no longer needed thanks to the
   comprehensive EXTRA_DIST variable

* Added an "uninstall-local" rule to allow "make distcheck" to pass

* Updated the .PHONY target list, removed non-existent targets

doc/symbols.xml:

* Needed to add this bit to make the generation scripts shut up

libexslt/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS

   (Note that $(CFLAGS) need not be added to AM_CFLAGS, because Automake
   already references both in the build rules)

* Use $(VAR) instead of @VAR@

libxslt.pc.in:

* Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
   when client applications link against -lxslt

libxslt/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS

* Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)

* Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete

libxslt/xsltutils.c:

* Some systems don't know about CLOCK_MONOTONIC; older Solaris knows about
   CLOCK_HIGHRES. Some systems, alas, have no usable alternative to
   CLOCK_REALTIME.

python/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS

* Because libxslt-py.c is (presumably) supposed to be generated every time
   at build time, don't bundle it in the dist tarball

* Use $(VAR) instead of @VAR@

* libxsltclass.py is a generated file, so it doesn't get qualified with
   $(srcdir)

* Use $(MKDIR_P) instead of (mkinstalldirs)

* Added an uninstall-local rule so that "make distcheck" passes

* Removed the $(srcdir) qualifications in the GENERATED file list, as
   these files may exist in builddir

* In the gen_prog rule, qualify the script invocation with $(srcdir), and
   set the SRCDIR environment variable so that the script can find the
   files it needs when builddir != srcdir

* Don't define an "all" target, as this steps on Automake's toes

python/generator.py:

* Get the source directory from the SRCDIR environment variable, and use
   it appropriately

python/tests/Makefile.am:

* Set CLEANFILES instead of defining a "clean" rule

* Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)

tests/*/Makefile.am, tests/exslt/*/Makefile.am:

* Need to clean up .memdump files for "make distcheck" to pass

* Don't define an "all" target, as this steps on Automake's toes

tests/REC/Makefile.am:

* Added two missing *.stand.out files to EXTRA_DIST

tests/XSLTMark/Makefile.am:

* Replaced the GNU-Make-specific %.out bit with a more broadly compatible
   rule

   (the "dummy" bit shuts up Automake)

* Use "$(xsltproc)" instead of "$(top_builddir)/xsltproc/xsltproc"

* Use a less $(MAKE)-heavy invocation in the "tests" target

* Replaced a conflicting "clean" target with CLEANFILES

* Added a dependency on $(xsltproc) to all the test targets

* Added a .PHONY target list

tests/docbook/Makefile.am:

* Ditched the "echo -n" bit, because it wasn't working as advertised

* Create output directories for out-of-source builds

* "$(basename $$i)" is a typo in a makefile

* Don't embed $(srcdir) in $out/$html/$fo/$msg/$xhtml, so that we can
   refer to these files in builddir or srcdir

* Add a trailing "echo" to complete the "echo -n"

* Don't output files unconditionally to srcdir (it may be read-only, for
   starters)

tests/plugins/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

   (Note that the "$(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)" bit that was here
   can be dropped entirely, because these already appear in
   xmlsoft_org_xslt_testplugin_la_CFLAGS)

* Use noinst_LTLIBRARIES inside the WITH_MODULES conditional instead of
   EXTRA_LTLIBRARIES, as this is cleaner (and disallows building the plugin
   if module support is disabled)

* Need to clean up *.res files for "make distcheck" to pass

* Use the abs_builddir variable conveniently provided to us by Automake
   instead of a GNU Make $(shell ...) construct

xslt-config.in:

* Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
   when client applications link against -lxslt

xsltproc/Makefile.am:

* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
   obsolete name

* Moved $(LIBXML_CFLAGS) into AM_CFLAGS

* Use $(VAR) instead of @VAR@

* Need to clean .memdump for "make distcheck" to pass

* Added rules to build lib[e]xslt.la if needed, which allows test
   makefiles to build xsltproc on the fly even if nothing else has been
   built already

* Create .memdump file in the "tests" target, as it's being grepped
   afterward
2012-08-09 19:46:03 +08:00
Daniel Veillard
afa29e64cc Fix python generator to not use deprecated xmllib
* python/generator.py: use xml.sax instead, patch based on similar
  fix for libvirt by Cole Robinson <crobinso@redhat.com>
2010-01-13 15:41:06 +01:00
Daniel Veillard
ec5c63b43a release of 1.1.24 syntactic cleanup (Martin) Daniel
* configure.in doc/*: release of 1.1.24
* python/generator.py: syntactic cleanup (Martin)
Daniel

svn path=/trunk/; revision=1473
2008-05-13 15:52:56 +00:00
Daniel Veillard
ce765ab890 fix an infinite loop bug Daniel
* python/generator.py: fix an infinite loop bug
Daniel

svn path=/trunk/; revision=1464
2008-04-08 08:22:14 +00:00
Daniel Veillard
50605fed22 applied patch from Nic James Ferrier to make stylesheets comparable and to
* configure python/generator.py python/libxsl.py
  python/libxslt-python-api.xml python/libxslt.c
  python/tests/2stage.py python/tests/loader.py: applied patch from
  Nic James Ferrier to make stylesheets comparable and to add
  transformContext handling
Daniel
2006-12-11 11:11:06 +00:00
Daniel Veillard
1564b7c617 *** empty log message *** 2006-08-04 13:01:17 +00:00
Daniel Veillard
8b83712f68 applied patch from Stefan Kost to fix behaviour on unknown element from
* libxslt/xslt.c: applied patch from Stefan Kost to fix
  behaviour on unknown element from the XSLT namespace.
* python/generator.py: applied patch from Stephane bidoul
  to export enums in the bindings.
Daniel
2004-01-22 17:40:16 +00:00
Daniel Veillard
eb955f5fe1 bump the libxml2 require to 2.6.0 which should ship for good real soon...
* configure.in: bump the libxml2 require to 2.6.0 which
  should ship for good real soon...
* doc/Makefile.am: fix installation of HTML pages
* doc/libxslt-api.xml: rebuilt
* libxslt/xsltexports.h: cleanup
* python/generator.py: ATTRIBUTE_UNUSED is after the parameter
* xsltproc/xsltproc.c: applied Crutcher Dunnavant --load-trace patch 2
Daniel
2003-10-19 21:35:47 +00:00
Daniel Veillard
9332a25a91 patch from Sean Treadway, adding Python bindings for extension element and
* python/generator.py python/libxslt-python-api.xml python/libxslt.c
  python/libxslt_wrap.h python/libxsltclass.txt: patch from
  Sean Treadway, adding Python bindings for extension element and
  some bindings cleanups.
* python/tests/Makefile.am python/tests/extelem.py: also add an
  example/test.
Daniel
2003-07-09 10:22:14 +00:00
Daniel Veillard
b973e4a094 fixed a problem in the generator where the way functions are remapped as
* python/generator.py: fixed a problem in the generator where
  the way functions are remapped as methods on classes was
  not symetric and dependant on python internal hash order,
  as reported by Stphane Bidoul
* libexslt/strings.c: attempt at fixing an object type pbm
* libxslt/triodef.h: update for OpenVMS from libxml2
Daniel
2003-04-26 12:06:36 +00:00
Daniel Veillard
b827b9b065 fixes for compiling without config.h Daniel
* python/generator.py python/libxslt.c: fixes for compiling
  without config.h
Daniel
2002-11-23 11:25:00 +00:00
Daniel Veillard
e4f67df60a xpathObjectRet() pertains to the libxml2 module, add the namespace. Daniel
* python/generator.py: xpathObjectRet() pertains to the libxml2
  module, add the namespace.
Daniel
2002-11-14 20:40:43 +00:00
Daniel Veillard
2abd71732c applied the same kind of fixes to the Python Makefiels than to libxml2
* python/Makefile.am python/generator.py python/libxslt.c
  python/types.c python/tests/Makefile.am: applied the same kind of
  fixes to the Python Makefiels than to libxml2 ones. Updates
  and cleanups too.
Daniel
2002-03-18 15:24:51 +00:00
Daniel Veillard
bd90990db2 changes for the 'usual' setup.py to allow building a libxml2-python module
* python/generator.py python/libxslt.c: changes for the 'usual'
  setup.py to allow building a libxml2-python
  module based on the same code. The initialization is however
  different the 2 .so files fo libxml2 and libxslt are identical and
  they entry point initialize both libraries. this is done to avoid
  some possible nasty problem since the Python don't merge the maps
  of all shared modules.
* python/libxsl.py: attempt to cope with the shared library loading
  problem when both modules are not merged.
Daniel
2002-02-22 22:58:47 +00:00
Daniel Veillard
c99f3afb5f removed tab used spaces preparing 1.0.12 rebuild/updated Daniel
* python/*.py: removed tab used spaces
* configure.in libxslt/xsltwin32config.h: preparing 1.0.12
* doc/news.html doc/xslt.html: rebuild/updated
Daniel
2002-02-11 18:54:47 +00:00
Daniel Veillard
94738b61d3 fixed a bug reported by Norm Daniel
* libxslt/attributes.c: fixed a bug reported by Norm
Daniel
2002-02-10 21:09:52 +00:00
Daniel Veillard
43ced5c60b Fixed the python Makefiles, corrected a bug showing up on ia64, changed
* configure.in libxslt.spec.in python/Makefile.am python/generator.py
  python/libxsl.py python/libxslt.c python/tests/Makefile.am:
  Fixed the python Makefiles, corrected a bug showing up on ia64,
  changed the name of the python internal module too
Daniel
2002-02-09 18:06:02 +00:00
Daniel Veillard
ada89dddea change the Licence to MIT Licence and release of 1.0.11 updates of the
* Copyright Makefile.am configure.in libxslt.spec.in: change the
  Licence to MIT Licence and release of 1.0.11
* doc/FAQ.html doc/intro.html doc/libxslt-decl.txt doc/news.html
  doc/xslt.html: updates of the docs accordingly
* libxslt/xsltwin32config.h: numbering
* python/generator.py python/libxml_wrap.h python/libxsltclass.txt
  python/libxslt-python-api.xml: cleanup the dependancies with
  libxml2
* python/tests/extfunc.py: updated examples.
Daniel
2002-02-08 16:09:27 +00:00
Daniel Veillard
3146d5356f fixup the script and rebuid the API cleanup provided accessors for a lot
* doc/libxslt-api.xml doc/libxslt-decl.txt doc/libxslt-refs.xml
  doc/parsedecl.py: fixup the script and rebuid the API
* libxslt/extensions.h: cleanup
* python/generator.py python/libxslt-python-api.xml python/libxslt.c
  python/libxsltclass.txt: provided accessors for a lot of the
  tructures involved in the transformation. Stylesheet and
  transformation python object don't free automatically the
  encapsulated object when deallocated.
* python/tests/Makefile.am python/tests/basic.py
  python/tests/extfunc.py python/tests/pyxsltproc.py:
  updated the examples
Daniel
2002-02-07 22:34:59 +00:00
Daniel Veillard
9de2bd46fc small fix cleanup avoid a problem with $(TESTS) augmented the wrappers
* xsltproc/xsltproc.c: small fix
* Makefile.am: cleanup
* python/tests/Makefile.am: avoid a problem with $(TESTS)
* python/generator.py python/libxml_wrap.h python/libxsl.py
  python/libxslt.c python/libxsltclass.txt: augmented the
  wrappers
* python/tests/pyxsltproc.py: rewrote xsltproc on top of the
  libxslt-python API to get an estimate of what is missing
Daniel
2002-02-07 17:02:34 +00:00
Daniel Veillard
f0cb070b69 attempst to tweak to get full memory debug... the basic API starts to work
* configure.in python/Makefile.am: attempst to tweak to get
  full memory debug...
* python/generator.py python/libxsl.py python/libxslt-python-api.xml
  python/libxslt.c python/libxslt_wrap.h python/libxsltclass.txt:
  the basic API starts to work
* python/tests/test.*: first basic test
* libxslt/xsltutils.c: fixed a comment
Daniel
2002-02-05 23:23:15 +00:00
Daniel Veillard
0e33797b05 reactivated xsltMatchPattern() since this is really something one may want
* libxslt/pattern.[ch] doc/libxslt-api.xml doc/libxslt-refs.xml:
  reactivated xsltMatchPattern() since this is really something
  one may want to have access to in an extension function.
* Makefile.am configure.in python/Makefile.am python/generator.py
  python/libxml_wrap.h python/libxsl.py python/libxslt-python-api.xml
  python/libxslt.c python/libxslt_wrap.h python/libxsltclass.txt
  python/types.c: started working on the python bindings, borrowed
  most of the work done for libxml2, most of the generator code
  is similar. Commit at the point where this compiles cleanly and
  "import libxslt" doesn't yield any missing entry point.
Daniel
2002-02-04 18:51:53 +00:00