mercurial/hgweb.py
changeset 882 bc9ca4d51d23
parent 871 c2e77581bc84
parent 881 16ce690c411d
child 883 63ca8a68d59e
--- a/mercurial/hgweb.py
+++ b/mercurial/hgweb.py
@@ -708,7 +708,12 @@ def create_server(path, name, templates,
     import BaseHTTPServer
 
     class IPv6HTTPServer(BaseHTTPServer.HTTPServer):
-        address_family = socket.AF_INET6
+        address_family = getattr(socket, 'AF_INET6', None)
+
+        def __init__(self, *args, **kwargs):
+            if self.address_family is None:
+                raise RepoError('IPv6 not available on this system')
+            BaseHTTPServer.HTTPServer.__init__(self, *args, **kwargs)
 
     class hgwebhandler(BaseHTTPServer.BaseHTTPRequestHandler):
         def log_error(self, format, *args):