Major infrastructure changes, part 2.

* Moved helpers, common and triggers dirs into xbps-src, where
  they belong.
* Renamed the templates dir to srcpkgs, it was so redundant before.
* Make it possible to add subpkgs with no restriction in names, for
  example udev now has a subpkgs called "libgudev". Previously
  subpkgs were named "${sourcepkg}-${pkgname}".
* xbps-src: changed to look for template files in current directory.
  That means that most arguments from the targets have been removed.
* xbps-src: added a reinstall target, to remove + install.
* xbps-src: do not overwrite binpkgs by default, skip them.

And more that I forgot because it's a mega-commit that I've been
working for some days already...

--HG--
extra : convert_revision : 0f466878584d1e6895d2a234f07ea1b2d1e61b3e
This commit is contained in:
Juan RP
2009-11-22 08:31:44 +01:00
parent 3c58e3ad40
commit 85cc462e1d
1305 changed files with 719 additions and 654 deletions

2
srcpkgs/python/depends Normal file
View File

@@ -0,0 +1,2 @@
abi_depends=">=2.6.0<3.0"
api_depends="${abi_depends}"

View File

@@ -0,0 +1,123 @@
Index: setup.py
===================================================================
--- setup.py (revision 74955)
+++ setup.py (working copy)
@@ -695,7 +695,7 @@
# a release. Most open source OSes come with one or more
# versions of BerkeleyDB already installed.
- max_db_ver = (4, 7)
+ max_db_ver = (4, 8)
min_db_ver = (3, 3)
db_setup_debug = False # verbose debug prints from this script?
Index: Modules/_bsddb.c
===================================================================
--- Modules/_bsddb.c (revision 74955)
+++ Modules/_bsddb.c (working copy)
@@ -215,7 +215,11 @@
#define DB_BUFFER_SMALL ENOMEM
#endif
+#if (DBVER < 48)
+#define DB_GID_SIZE DB_XIDDATASIZE
+#endif
+
/* --------------------------------------------------------------------- */
/* Structure definitions */
@@ -4501,7 +4505,11 @@
DBTxnObject *txn;
#define PREPLIST_LEN 16
DB_PREPLIST preplist[PREPLIST_LEN];
+#if (DBVER < 48)
long retp;
+#else
+ u_int32_t retp;
+#endif
CHECK_ENV_NOT_CLOSED(self);
@@ -4522,7 +4530,7 @@
flags=DB_NEXT; /* Prepare for next loop pass */
for (i=0; i<retp; i++) {
gid=PyBytes_FromStringAndSize((char *)(preplist[i].gid),
- DB_XIDDATASIZE);
+ DB_GID_SIZE);
if (!gid) {
Py_DECREF(list);
return NULL;
@@ -5047,6 +5055,7 @@
}
+#if (DBVER < 48)
static PyObject*
DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
{
@@ -5068,6 +5077,7 @@
RETURN_IF_ERR();
RETURN_NONE();
}
+#endif
static PyObject*
DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
@@ -5947,9 +5957,9 @@
if (!PyArg_ParseTuple(args, "s#:prepare", &gid, &gid_size))
return NULL;
- if (gid_size != DB_XIDDATASIZE) {
+ if (gid_size != DB_GID_SIZE) {
PyErr_SetString(PyExc_TypeError,
- "gid must be DB_XIDDATASIZE bytes long");
+ "gid must be DB_GID_SIZE bytes long");
return NULL;
}
@@ -6539,8 +6549,10 @@
#endif
{"set_get_returns_none",(PyCFunction)DBEnv_set_get_returns_none, METH_VARARGS},
{"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_NOARGS},
+#if (DBVER < 48)
{"set_rpc_server", (PyCFunction)DBEnv_set_rpc_server,
METH_VARARGS||METH_KEYWORDS},
+#endif
{"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS},
#if (DBVER >= 42)
{"get_verbose", (PyCFunction)DBEnv_get_verbose, METH_VARARGS},
@@ -7089,6 +7101,7 @@
ADD_INT(d, DB_MAX_PAGES);
ADD_INT(d, DB_MAX_RECORDS);
+#if (DBVER < 48)
#if (DBVER >= 42)
ADD_INT(d, DB_RPCCLIENT);
#else
@@ -7096,7 +7109,11 @@
/* allow apps to be written using DB_RPCCLIENT on older Berkeley DB */
_addIntToDict(d, "DB_RPCCLIENT", DB_CLIENT);
#endif
+#endif
+
+#if (DBVER < 48)
ADD_INT(d, DB_XA_CREATE);
+#endif
ADD_INT(d, DB_CREATE);
ADD_INT(d, DB_NOMMAP);
@@ -7113,7 +7130,13 @@
ADD_INT(d, DB_INIT_TXN);
ADD_INT(d, DB_JOINENV);
+#if (DBVER >= 48)
+ ADD_INT(d, DB_GID_SIZE);
+#else
ADD_INT(d, DB_XIDDATASIZE);
+ /* Allow new code to work in old BDB releases */
+ _addIntToDict(d, "DB_GID_SIZE", DB_XIDDATASIZE);
+#endif
ADD_INT(d, DB_RECOVER);
ADD_INT(d, DB_RECOVER_FATAL);

View File

@@ -0,0 +1,11 @@
--- setup.py 2008-09-30 10:15:45.000000000 +1000
+++ setup.py 2008-12-07 16:04:01.000000000 +1000
@@ -1013,7 +1013,7 @@
if self.compiler.find_library_file(lib_dirs, 'ndbm'):
ndbm_libs = ['ndbm']
else:
- ndbm_libs = []
+ ndbm_libs = ['gdbm', 'gdbm_compat']
exts.append( Extension('dbm', ['dbmmodule.c'],
define_macros=[('HAVE_NDBM_H',None)],
libraries = ndbm_libs ) )

View File

@@ -0,0 +1,33 @@
--- setup.py 2008-04-22 12:12:24.613554757 +0300
+++ setup.py 2008-04-22 12:13:09.276544063 +0300
@@ -1035,18 +1035,15 @@
#
# More information on Expat can be found at www.libexpat.org.
#
- expatinc = os.path.join(os.getcwd(), srcdir, 'Modules', 'expat')
- define_macros = [
- ('HAVE_EXPAT_CONFIG_H', '1'),
- ]
+ # Use system expat
+ expatinc = '/usr/include'
+ define_macros = []
exts.append(Extension('pyexpat',
define_macros = define_macros,
include_dirs = [expatinc],
+ libraries = ['expat'],
sources = ['pyexpat.c',
- 'expat/xmlparse.c',
- 'expat/xmlrole.c',
- 'expat/xmltok.c',
],
))
@@ -1058,6 +1055,7 @@
exts.append(Extension('_elementtree',
define_macros = define_macros,
include_dirs = [expatinc],
+ libraries = ['expat'],
sources = ['_elementtree.c'],
))

View File

@@ -0,0 +1,23 @@
--- Modules/readline.c 2008-11-04 12:43:31.000000000 -0800
+++ Modules/readline.c 2009-04-22 15:50:49.000000000 -0700
@@ -759,6 +759,10 @@
static char **
flex_complete(char *text, int start, int end)
{
+#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
+ rl_completion_append_character ='\0';
+ rl_completion_suppress_append = 0;
+#endif
Py_XDECREF(begidx);
Py_XDECREF(endidx);
begidx = PyInt_FromLong((long) start);
@@ -799,11 +803,8 @@
rl_completer_word_break_characters =
strdup(" \t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?");
/* All nonalphanums except '.' */
-#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
- rl_completion_append_character ='\0';
-#endif
begidx = PyInt_FromLong(0L);
endidx = PyInt_FromLong(0L);

View File

@@ -0,0 +1,17 @@
# Template file for 'python-devel'.
#
short_desc="Python development files"
long_desc="${long_desc}
This package contains files for development, headers, static libs, etc."
Add_dependency run python
revision=1
do_install()
{
mkdir -p ${DESTDIR}/usr/lib ${DESTDIR}/usr/bin
mv ${SRCPKGDESTDIR}/usr/bin/python*-config ${DESTDIR}/usr/bin
mv ${SRCPKGDESTDIR}/usr/include ${DESTDIR}/usr
}

41
srcpkgs/python/template Normal file
View File

@@ -0,0 +1,41 @@
# Template build file for 'python'.
pkgname=python
version=2.6.4
revision=1
wrksrc="Python-$version"
distfiles="http://www.python.org/ftp/python/$version/Python-$version.tar.bz2"
configure_args="--with-threads --enable-ipv6 --with-signal-module
--enable-shared --with-system-ffi"
build_style=gnu_configure
short_desc="Interpreted, interactive, object-oriented programming language"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=dad8d5575144a210d5cc4fdbc40b8a26386e9cdb1ef58941bec0be02c7cb9d89
long_desc="
Python is an interpreted, interactive, object-oriented programming language
that combines remarkable power with very clear syntax. For an introduction
to programming in Python you are referred to the Python Tutorial. The Python
Library Reference documents built-in and standard types, constants, functions
and modules. Finally, the Python Reference Manual describes the syntax and
and semantics of the core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written in C or
C++. On most systems such modules may be dynamically loaded. Python is also
adaptable as an extension language for existing applications."
subpackages="$pkgname-devel"
Add_dependency full glibc
Add_dependency full libffi
Add_dependency full zlib
Add_dependency full readline
Add_dependency full bzip2
Add_dependency full gdbm
Add_dependency full openssl
Add_dependency full expat
Add_dependency full db
Add_dependency build ncurses
Add_dependency run ncurses-libs
pre_configure()
{
export OPT="${XBPS_CFLAGS} -fwrapv"
}