Author: svn-role
Date: Sat Aug  1 04:01:00 2026
New Revision: 1936775

Log:
Merge the r1936306 group from trunk:

* r1936306, r1936315
  Remove the ctypes bindings code.
  Justification:
    Ctypes bindings don't work with Python 3 (and has not worked for at
    least 6 years).
  Votes:
    +1: dsahlberg, ivan, kotkov

Replaced:
   subversion/branches/1.15.x/subversion/bindings/ctypes-python/README
      - copied unchanged from r1936315, 
subversion/trunk/subversion/bindings/ctypes-python/README
Deleted:
   subversion/branches/1.15.x/build/ac-macros/ctypesgen.m4
   subversion/branches/1.15.x/build/run_ctypesgen.sh
   subversion/branches/1.15.x/subversion/bindings/ctypes-python/TODO
   subversion/branches/1.15.x/subversion/bindings/ctypes-python/csvn/
   subversion/branches/1.15.x/subversion/bindings/ctypes-python/examples/
   subversion/branches/1.15.x/subversion/bindings/ctypes-python/setup.py
   subversion/branches/1.15.x/subversion/bindings/ctypes-python/test/
Modified:
   subversion/branches/1.15.x/   (props changed)
   subversion/branches/1.15.x/INSTALL
   subversion/branches/1.15.x/Makefile.in
   subversion/branches/1.15.x/STATUS
   subversion/branches/1.15.x/aclocal.m4.in
   subversion/branches/1.15.x/configure.ac
   subversion/branches/1.15.x/notes/object-model.txt
   subversion/branches/1.15.x/tools/dist/rat-excludes

Modified: subversion/branches/1.15.x/INSTALL
==============================================================================
--- subversion/branches/1.15.x/INSTALL  Sat Aug  1 04:00:36 2026        
(r1936774)
+++ subversion/branches/1.15.x/INSTALL  Sat Aug  1 04:01:00 2026        
(r1936775)
@@ -482,7 +482,6 @@ I.    INTRODUCTION
       In more detail, Python is required to do any of the following:
 
       * Use the SWIG Python bindings.
-      * Use the ctypes Python bindings.
       * Use hook scripts coded in Python.
       * Build Subversion from a tarball on Unix-like systems and run
         Subversion's test suite as described in section II.B.
@@ -491,7 +490,6 @@ I.    INTRODUCTION
         Subversion's own repository (whether or not running the test
         suite).
       * Build the SWIG Python bindings.
-      * Build the ctypes Python bindings.
       * Testing as described in section III.D.
 
       The Python bindings are used by:
@@ -579,19 +577,7 @@ I.    INTRODUCTION
       then pass the '--with-gnome-keyring' option to `configure`.
 
 
-      20. Ctypesgen  (OPTIONAL)
-
-      Ctypesgen is Python wrapper generator for ctypes. It is used to generate
-      a part of Subversion Ctypes Python bindings (CSVN). If you want to build
-      CSVN, then pass the '--with-ctypesgen' option to `configure`. If 
ctypesgen.py
-      is installed in a non-standard place, then use:
-
-          --with-ctypesgen=/path/to/ctypesgen.py
-
-      For more information on CSVN, see 
subversion/bindings/ctypes-python/README.
-
-
-      21. libmagic (OPTIONAL)
+      20. libmagic (OPTIONAL)
 
       Subversion's configure script attempts to find libmagic automatically.
       If it is installed in a non-standard location, then use:
@@ -613,7 +599,7 @@ I.    INTRODUCTION
         --with-libmagic
 
 
-      22. LZ4 (OPTIONAL)
+      21. LZ4 (OPTIONAL)
 
       Subversion uses LZ4 compression library version r129 or above. Configure
       will attempt to locate the system library by default using pkg-config
@@ -627,7 +613,7 @@ I.    INTRODUCTION
         --with-lz4=internal
 
 
-      23. py3c (OPTIONAL)
+      22. py3c (OPTIONAL)
 
       Subversion uses the Python 3 Compatibility Layer for C
       Extensions (py3c) library when building the Python language

Modified: subversion/branches/1.15.x/Makefile.in
==============================================================================
--- subversion/branches/1.15.x/Makefile.in      Sat Aug  1 04:00:36 2026        
(r1936774)
+++ subversion/branches/1.15.x/Makefile.in      Sat Aug  1 04:01:00 2026        
(r1936775)
@@ -165,9 +165,6 @@ SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VER
 SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site
 SWIG_RB_ERRMSG = @SWIG_RB_ERRMSG@
 
-CTYPESGEN = @CTYPESGEN@
-CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python
-
 JAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar
 JAVAHL_INCLUDES= @JNI_INCLUDES@ 
-I$(abs_builddir)/subversion/bindings/javahl/include
 
@@ -455,7 +452,7 @@ fast-clean: doc-clean
           fi                                                         \
         done
        echo $(CLEAN_FILES) | xargs rm -f --
-       for d in $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
+       for d in $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
                $(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline; \
        do \
          test -e $$d || continue; \
@@ -883,12 +880,12 @@ install-man:
 install-swig-py: install-swig-py-lib
 install-swig-rb: install-swig-rb-lib
 
-clean-bindings: clean-swig clean-ctypes-python clean-javahl
+clean-bindings: clean-swig clean-javahl
 
 extraclean-bindings: clean-swig extraclean-swig-headers \
                        extraclean-swig-py extraclean-swig-rb \
                        extraclean-swig-pl \
-                       clean-ctypes-python clean-javahl \
+                       clean-javahl \
 
 clean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl
        @rm -f .swig_checked
@@ -1030,29 +1027,6 @@ extraclean-swig-rb: clean-swig-rb
 install-swig-rb-doc:
        $(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn"
 
-# ctypes-python make targets
-ctypes-python: local-all
-       $(SHELL) $(abs_srcdir)/build/run_ctypesgen.sh "$(LT_EXECUTE)" 
"$(CPPFLAGS)" "$(EXTRA_CTYPES_LDFLAGS)" "$(PYTHON)" "$(CTYPESGEN)" 
"$(abs_srcdir)" "$(abs_builddir)" "$(libdir)" "$(SVN_APR_CONFIG)" 
"$(SVN_APRUTIL_CONFIG)" "$(CPP)"
-
-install-ctypes-python: ctypes-python
-       cd $(CTYPES_PYTHON_SRC_DIR); \
-         $(PYTHON) setup.py install --prefix="$(DESTDIR)$(prefix)"
-
-check-ctypes-python: ctypes-python
-       cd $(CTYPES_PYTHON_SRC_DIR); \
-         $(LT_EXECUTE) $(PYTHON) test/run_all.py
-
-# If any of those files exists, run ctypes' 'setup.py clean'.  We don't run
-# it otherwise because it spams stdout+stderr; see r1479326.
-clean-ctypes-python:
-       cd $(CTYPES_PYTHON_SRC_DIR);            \
-         for b in build csvn/core/functions.py svn_all.py svn_all2.py ; do \
-           if [ -e "$$b" ] ; then              \
-             $(PYTHON) setup.py clean --all;   \
-             break;                            \
-           fi;                                 \
-         done
-
 # manually describe a dependency, which we won't otherwise detect
 subversion/libsvn_wc/wc-queries.h: 
$(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql
 subversion/libsvn_wc/wc-queries.h: 
$(abs_srcdir)/subversion/libsvn_wc/wc-checks.sql

Modified: subversion/branches/1.15.x/STATUS
==============================================================================
--- subversion/branches/1.15.x/STATUS   Sat Aug  1 04:00:36 2026        
(r1936774)
+++ subversion/branches/1.15.x/STATUS   Sat Aug  1 04:01:00 2026        
(r1936775)
@@ -67,14 +67,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
-* r1936306, r1936315
-  Remove the ctypes bindings code.
-  Justification:
-    Ctypes bindings don't work with Python 3 (and has not worked for at
-    least 6 years).
-  Votes:
-    +1: dsahlberg, ivan, kotkov
-
 * r1936304
   cmake: Follow-up to r1935776, fix all tests via run_tests.py failing
   with SVN_TEST_CHECK_XML_SCHEMA=OFF.

Modified: subversion/branches/1.15.x/aclocal.m4.in
==============================================================================
--- subversion/branches/1.15.x/aclocal.m4.in    Sat Aug  1 04:00:36 2026        
(r1936774)
+++ subversion/branches/1.15.x/aclocal.m4.in    Sat Aug  1 04:01:00 2026        
(r1936775)
@@ -39,7 +39,6 @@ sinclude(build/ac-macros/ax_boost_base.m
 sinclude(build/ac-macros/ax_boost_unit_test_framework.m4)
 sinclude(build/ac-macros/berkeley-db.m4)
 sinclude(build/ac-macros/compiler.m4)
-sinclude(build/ac-macros/ctypesgen.m4)
 sinclude(build/ac-macros/java.m4)
 sinclude(build/ac-macros/sasl.m4)
 sinclude(build/ac-macros/serf.m4)

Modified: subversion/branches/1.15.x/configure.ac
==============================================================================
--- subversion/branches/1.15.x/configure.ac     Sat Aug  1 04:00:36 2026        
(r1936774)
+++ subversion/branches/1.15.x/configure.ac     Sat Aug  1 04:01:00 2026        
(r1936775)
@@ -1564,8 +1564,6 @@ AC_ARG_VAR(SWIG_RB_FEATURES, [SWIG featu
 AC_ARG_VAR(SWIG_PL_FEATURES, [SWIG feature flags specific to Perl bindings])
 AC_ARG_VAR(SWIG_PY_FEATURES, [SWIG feature flags specific to Python bindings])
 
-SVN_CHECK_CTYPESGEN
-
 dnl decide whether we want to link against the RA/FS libraries
 AC_ARG_ENABLE(runtime-module-search,
 AS_HELP_STRING([--enable-runtime-module-search],

Modified: subversion/branches/1.15.x/notes/object-model.txt
==============================================================================
--- subversion/branches/1.15.x/notes/object-model.txt   Sat Aug  1 04:00:36 
2026        (r1936774)
+++ subversion/branches/1.15.x/notes/object-model.txt   Sat Aug  1 04:01:00 
2026        (r1936775)
@@ -38,8 +38,8 @@ bindings languages, and allows for a sin
 documentation.  Several other projects have successfully implemented such
 a model, inclding wxWidgets[6] and MapServer[7].  There have even been
 past proposals within Subversion[8], but no real progress has been made.
-(The exception is the python c-types bindings[9], which have yet to be merged
-to trunk.)
+(The exception was the python c-types bindings[9], which existed between
+1.6 and 1.14, removed in 1.15)
 
 
 Requirements
@@ -167,4 +167,5 @@ Notes
 [6] http://www.wxwidgets.org/
 [7] http://mapserver.gis.umn.edu/
 [8] http://svn.haxx.se/dev/archive-2003-10/0215.shtml
-[9] http://svn.apache.org/repos/asf/subversion/branches/ctypes-python-bindings/
+[9] 
http://svn.apache.org/repos/asf/subversion/trunk/subversion/bindings/ctypes-python,
+before r1936298

Copied: subversion/branches/1.15.x/subversion/bindings/ctypes-python/README 
(from r1936315, subversion/trunk/subversion/bindings/ctypes-python/README)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ subversion/branches/1.15.x/subversion/bindings/ctypes-python/README Sat Aug 
 1 04:01:00 2026        (r1936775, copy of r1936315, 
subversion/trunk/subversion/bindings/ctypes-python/README)
@@ -0,0 +1,6 @@
+This directory used to contain a ctypes based Python binding, however it
+was unmaintained and didn't work for Python3. Therefore, it was removed 
+in r1936306 (before the release of Subversion 1.15.0).
+
+If you want to see them or work with them, you can check them out from an
+earlier revision.

Modified: subversion/branches/1.15.x/tools/dist/rat-excludes
==============================================================================
--- subversion/branches/1.15.x/tools/dist/rat-excludes  Sat Aug  1 04:00:36 
2026        (r1936774)
+++ subversion/branches/1.15.x/tools/dist/rat-excludes  Sat Aug  1 04:01:00 
2026        (r1936775)
@@ -25,10 +25,6 @@ subversion/libsvn_ra_svn/protocol
 subversion/bindings/javahl/doc/index.html
 subversion/bindings/swig/python/tests/trac/__init__.py
 subversion/bindings/swig/python/tests/trac/versioncontrol/__init__.py
-subversion/bindings/ctypes-python/TODO
-subversion/bindings/ctypes-python/test/test.dumpfile
-subversion/bindings/ctypes-python/csvn/__init__.py
-subversion/bindings/ctypes-python/csvn/ext/__init__.py
 subversion/tests/cmdline/svntest/err.py
 tools/buildbot/master/public_html/buildbot.css
 tools/dist/rat-excludes

Reply via email to