summaryrefslogtreecommitdiff
path: root/python/setup.py.in
diff options
context:
space:
mode:
Diffstat (limited to 'python/setup.py.in')
-rwxr-xr-xpython/setup.py.in72
1 files changed, 72 insertions, 0 deletions
diff --git a/python/setup.py.in b/python/setup.py.in
new file mode 100755
index 0000000..6457595
--- /dev/null
+++ b/python/setup.py.in
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# See the end of the file for Copyright and License Information
+#
+
+from distutils.core import setup, Extension
+from distutils.command.build_ext import build_ext as _build_ext
+
+class build_ext(_build_ext):
+ def genconstants(self, headerfile, outputfile):
+ hf = open(headerfile, 'r')
+ of = open(outputfile, 'w')
+ of.write('/* This file is generated during build time from pwquality.h */\n\n')
+ for line in hf:
+ if line.startswith('#define PWQ_'):
+ s = line.split()
+ of.write('PyModule_AddIntConstant(module, "%s", %s);\n' % (s[1], s[2]))
+
+ def run(self):
+ self.genconstants('../src/pwquality.h', 'constants.c')
+ _build_ext.run(self)
+
+pwqmodule = Extension('pwquality',
+ sources = ['pwquality.c'],
+ include_dirs = ['../src'],
+ library_dirs = ['../src/.libs'],
+ libraries = ['pwquality'])
+
+setup(
+ name = 'pwquality',
+ version = '@VERSION@',
+ description = 'Python bindings for the libpwquality library for password quality checking',
+ author = 'Tomáš Mráz',
+ author_email = 'tm@t8m.info',
+ url = 'http://fedorahosted.org/libpwquality',
+ license = 'BSD or GPLv2+',
+ ext_modules = [pwqmodule],
+ cmdclass = {'build_ext': build_ext}
+)
+
+# Copyright (c) Red Hat, Inc, 2011
+# Copyright (c) Tomas Mraz <tm@t8m.info>, 2011
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, and the entire permission notice in its entirety,
+# including the disclaimer of warranties.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior
+# written permission.
+#
+# ALTERNATIVELY, this product may be distributed under the terms of
+# the GNU General Public License version 2 or later, in which case the
+# provisions of the GPL are required INSTEAD OF the above restrictions.
+#
+# THIS SOFTWARE IS PROVIDED `AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.