[Lunar-commits] <moonbase> libproxy & webkit: break circular dep

Paul Bredbury brebs at lunar-linux.org
Sat Mar 12 16:17:03 CET 2011


commit 8f564b68dbee665d33ab89dc7ed2cbe35810243a
Author: Paul Bredbury <brebs at lunar-linux.org>
Date:   Sat Mar 12 22:17:03 2011 +0700

    libproxy & webkit: break circular dep
    
    This is better than Lunar's dependency checker going into an infinite
    loop, when pondering libsoup compiled with webkit.
---
 libs/libproxy/DEPENDS   |   12 ++++++++----
 web/webkit/POST_INSTALL |    6 ++++++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/libs/libproxy/DEPENDS b/libs/libproxy/DEPENDS
index 2b514fc..95a4025 100644
--- a/libs/libproxy/DEPENDS
+++ b/libs/libproxy/DEPENDS
@@ -26,10 +26,14 @@ optional_depends  "vala"              \
                   "-DWITH_VALA=OFF"   \
                   "for vala bindings"
 
-optional_depends  "webkit"            \
-                  "-DWITH_WEBKIT=ON"  \
-                  "-DWITH_WEBKIT=OFF" \
-                  "Enable webkit java script engine"
+# Circular dependency:  libproxy -> webkit (optional) -> libsoup -> libproxy
+# To fix:  compile libproxy without webkit, then with webkit
+# Show difference:  strings /usr/lib/libproxy.so.1.0.0 | grep webkit
+# [[ $(strings /usr/lib/libproxy.so.1.0.0 | grep webkit) ]] && echo "yes"
+#optional_depends  "webkit"            \
+#                  "-DWITH_WEBKIT=ON"  \
+#                  "-DWITH_WEBKIT=OFF" \
+#                  "webkit (circular dependency - compile without webkit first)"
 
 optional_depends  "GConf"             \
                   "-DWITH_GNOME=ON"   \
diff --git a/web/webkit/POST_INSTALL b/web/webkit/POST_INSTALL
new file mode 100644
index 0000000..ae45d16
--- /dev/null
+++ b/web/webkit/POST_INSTALL
@@ -0,0 +1,6 @@
+if module_installed libproxy ; then
+  if [[ -z "$(strings /usr/lib/libproxy.so | grep webkit)" ]] ; then
+    # Recompile libproxy to support webkit, breaking circular dependency
+    lin -c libproxy
+  fi
+fi


More information about the Lunar-commits mailing list