diff --git a/subversion-1.4.4-macropen.patch b/subversion-1.4.4-macropen.patch new file mode 100644 index 0000000..5802b02 --- /dev/null +++ b/subversion-1.4.4-macropen.patch @@ -0,0 +1,184 @@ +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/uuids-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/uuids-table.c +@@ -47,7 +47,7 @@ + BDB_ERR(db_create(&uuids, env, 0)); + BDB_ERR(uuids->set_re_len(uuids, APR_UUID_FORMATTED_LENGTH)); + +- error = uuids->open(SVN_BDB_OPEN_PARAMS(uuids, NULL), ++ error = (uuids->open)(SVN_BDB_OPEN_PARAMS(uuids, NULL), + "uuids", 0, DB_RECNO, + open_flags, 0666); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/strings-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/strings-table.c +@@ -44,10 +44,10 @@ + BDB_ERR(db_create(&strings, env, 0)); + + /* Enable duplicate keys. This allows the data to be spread out across +- multiple records. Note: this must occur before ->open(). */ ++ multiple records. Note: this must occur before (->open)(). */ + BDB_ERR(strings->set_flags(strings, DB_DUP)); + +- BDB_ERR(strings->open(SVN_BDB_OPEN_PARAMS(strings, NULL), ++ BDB_ERR((strings->open)(SVN_BDB_OPEN_PARAMS(strings, NULL), + "strings", 0, DB_BTREE, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/changes-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/changes-table.c +@@ -51,10 +51,10 @@ + BDB_ERR(db_create(&changes, env, 0)); + + /* Enable duplicate keys. This allows us to store the changes +- one-per-row. Note: this must occur before ->open(). */ ++ one-per-row. Note: this must occur before (->open)(). */ + BDB_ERR(changes->set_flags(changes, DB_DUP)); + +- BDB_ERR(changes->open(SVN_BDB_OPEN_PARAMS(changes, NULL), ++ BDB_ERR((changes->open)(SVN_BDB_OPEN_PARAMS(changes, NULL), + "changes", 0, DB_BTREE, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/lock-tokens-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/lock-tokens-table.c +@@ -43,7 +43,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&lock_tokens, env, 0)); +- error = lock_tokens->open(SVN_BDB_OPEN_PARAMS(lock_tokens, NULL), ++ error = (lock_tokens->open)(SVN_BDB_OPEN_PARAMS(lock_tokens, NULL), + "lock-tokens", 0, DB_BTREE, + open_flags, 0666); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/env.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/env.c +@@ -626,7 +626,7 @@ + flags |= DB_THREAD; + #endif + SVN_ERR(convert_bdb_error +- (bdb, bdb->env->open(bdb->env, bdb->path_bdb, flags, mode))); ++ (bdb, (bdb->env->open)(bdb->env, bdb->path_bdb, flags, mode))); + + #if SVN_BDB_AUTO_COMMIT + /* Assert the BDB_AUTO_COMMIT flag on the opened environment. This +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/copies-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/copies-table.c +@@ -43,7 +43,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&copies, env, 0)); +- BDB_ERR(copies->open(SVN_BDB_OPEN_PARAMS(copies, NULL), ++ BDB_ERR((copies->open)(SVN_BDB_OPEN_PARAMS(copies, NULL), + "copies", 0, DB_BTREE, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/nodes-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/nodes-table.c +@@ -50,7 +50,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&nodes, env, 0)); +- BDB_ERR(nodes->open(SVN_BDB_OPEN_PARAMS(nodes, NULL), ++ BDB_ERR((nodes->open)(SVN_BDB_OPEN_PARAMS(nodes, NULL), + "nodes", 0, DB_BTREE, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/locks-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/locks-table.c +@@ -44,7 +44,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&locks, env, 0)); +- error = locks->open(SVN_BDB_OPEN_PARAMS(locks, NULL), ++ error = (locks->open)(SVN_BDB_OPEN_PARAMS(locks, NULL), + "locks", 0, DB_BTREE, + open_flags, 0666); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/txn-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/txn-table.c +@@ -51,7 +51,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&txns, env, 0)); +- BDB_ERR(txns->open(SVN_BDB_OPEN_PARAMS(txns, NULL), ++ BDB_ERR((txns->open)(SVN_BDB_OPEN_PARAMS(txns, NULL), + "transactions", 0, DB_BTREE, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/reps-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/reps-table.c +@@ -44,7 +44,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&reps, env, 0)); +- BDB_ERR(reps->open(SVN_BDB_OPEN_PARAMS(reps, NULL), ++ BDB_ERR((reps->open)(SVN_BDB_OPEN_PARAMS(reps, NULL), + "representations", 0, DB_BTREE, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_fs_base/bdb/rev-table.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs_base/bdb/rev-table.c +@@ -40,7 +40,7 @@ + + BDB_ERR(svn_fs_bdb__check_version()); + BDB_ERR(db_create(&revisions, env, 0)); +- BDB_ERR(revisions->open(SVN_BDB_OPEN_PARAMS(revisions, NULL), ++ BDB_ERR((revisions->open)(SVN_BDB_OPEN_PARAMS(revisions, NULL), + "revisions", 0, DB_RECNO, + open_flags, 0666)); + +--- subversion-1.4.4/subversion/libsvn_ra/ra_loader.c.macropen ++++ subversion-1.4.4/subversion/libsvn_ra/ra_loader.c +@@ -291,8 +291,8 @@ + session->pool = pool; + + /* Ask the library to open the session. */ +- SVN_ERR(vtable->open(session, repos_URL, callbacks, callback_baton, +- config, pool)); ++ SVN_ERR((vtable->open)(session, repos_URL, callbacks, callback_baton, ++ config, pool)); + + *session_p = session; + return SVN_NO_ERROR; +--- subversion-1.4.4/subversion/tests/libsvn_ra_local/ra-local-test.c.macropen ++++ subversion-1.4.4/subversion/tests/libsvn_ra_local/ra-local-test.c +@@ -95,7 +95,7 @@ + SVN_ERR(current_directory_url(&url, repos_name, pool)); + + /* Open an RA session into this repository. */ +- SVN_ERR((*plugin)->open(session, url, cbtable, NULL, NULL, pool)); ++ SVN_ERR(((*plugin)->open)(session, url, cbtable, NULL, NULL, pool)); + + return SVN_NO_ERROR; + } +--- subversion-1.4.4/subversion/libsvn_fs/fs-loader.c.macropen ++++ subversion-1.4.4/subversion/libsvn_fs/fs-loader.c +@@ -364,7 +364,7 @@ + + SVN_ERR(fs_library_vtable(&vtable, path, pool)); + *fs_p = svn_fs_new(fs_config, pool); +- SVN_ERR(vtable->open(*fs_p, path, pool)); ++ SVN_ERR((vtable->open)(*fs_p, path, pool)); + return serialized_init(*fs_p, pool); + } + +@@ -423,7 +423,7 @@ + fs_library_vtable_t *vtable; + + SVN_ERR(fs_library_vtable(&vtable, path, fs->pool)); +- SVN_ERR(vtable->open(fs, path, fs->pool)); ++ SVN_ERR((vtable->open)(fs, path, fs->pool)); + return serialized_init(fs, fs->pool); + } + +--- subversion-1.4.4/build/generator/swig/header_wrappers.py.macropen ++++ subversion-1.4.4/build/generator/swig/header_wrappers.py +@@ -103,7 +103,7 @@ + self.ofile.write( + "static svn_error_t *%s_invoke_%s(\n" % (struct[:-2], name) + + " %s *_obj, %s) {\n" % (struct, params) + +- " return _obj->%s(%s);\n" % (name, param_names) + ++ " return (_obj->%s)(%s);\n" % (name, param_names) + + "}\n\n") + + self.ofile.write("%}\n") diff --git a/subversion.spec b/subversion.spec index 8550fae..3aae16d 100644 --- a/subversion.spec +++ b/subversion.spec @@ -15,7 +15,7 @@ Summary: Modern Version Control System designed to replace CVS Name: subversion Version: 1.4.4 -Release: 2 +Release: 3 License: BSD Group: Development/Tools URL: http://subversion.tigris.org/ @@ -27,6 +27,7 @@ Patch2: subversion-0.20.1-deplibs.patch Patch3: subversion-0.31.0-rpath.patch Patch6: subversion-1.0.3-pie.patch Patch7: subversion-1.1.3-java.patch +Patch8: subversion-1.4.4-macropen.patch BuildRequires: autoconf, libtool, python, python-devel, texinfo, which BuildRequires: db4-devel >= 4.1.25, swig >= 1.3.24, gettext BuildRequires: apr-devel >= 0.9.7, apr-util-devel >= 0.9.7 @@ -71,7 +72,7 @@ using HTTP, via the Apache httpd server. %package perl Group: Development/Libraries Summary: Perl bindings to the Subversion libraries -BuildRequires: perl >= 2:5.8.0 +BuildRequires: perl-devel >= 2:5.8.0, perl(ExtUtils::MakeMaker) Requires: %(eval `perl -V:version`; echo "perl(:MODULE_COMPAT_$version)") Requires: subversion = %{version}-%{release} @@ -107,6 +108,7 @@ This package includes the Ruby bindings to the Subversion libraries. %if %{with_java} %patch7 -p1 -b .java %endif +%patch8 -p1 -b .macropen %build ./autogen.sh @@ -128,7 +130,8 @@ export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path} # 1.3.0 tarball ships with generated swig sources make extraclean-swig-headers make %{?_smp_mflags} all -make swig-pl swig-py %{swigdirs} +make swig-py swig-py-lib %{swigdirs} +make swig-pl swig-pl-lib swig-rb swig-rb-lib %if %{with_java} make javahl %endif @@ -263,6 +266,10 @@ rm -rf ${RPM_BUILD_ROOT} %endif %changelog +* Wed Aug 8 2007 Joe Orton 1.4.4-3 +- fix build with new glibc open()-as-macro +- build all swig code in %%build, not %%install + * Tue Jul 3 2007 Joe Orton 1.4.4-2 - update to 1.4.4 - add Provides: svn (#245087)