summary refs log tree commit diff
path: root/pkgs/development/libraries/libplist
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-09-26 19:39:21 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-09-26 19:39:21 +0000
commit1f20ccb9e60f98c880b31a7094182d3f3d546157 (patch)
tree51f99c3e43473e39bb8051cbccc06ecc33938b15 /pkgs/development/libraries/libplist
parente04cdd1204d7e7e6c1462c13246b49ff5ac56a24 (diff)
Add libplist
svn path=/nixpkgs/trunk/; revision=23946
Diffstat (limited to 'pkgs/development/libraries/libplist')
-rw-r--r--pkgs/development/libraries/libplist/default.nix22
-rw-r--r--pkgs/development/libraries/libplist/swig.patch37
2 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libplist/default.nix b/pkgs/development/libraries/libplist/default.nix
new file mode 100644
index 0000000000000..4c4abe0557f33
--- /dev/null
+++ b/pkgs/development/libraries/libplist/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cmake, libxml2, glib, swig, python }:
+
+stdenv.mkDerivation rec {
+  name = "libplist-1.3";
+
+  buildInputs = [ cmake swig ];
+
+  patches = [ ./swig.patch ];
+
+  propagatedBuildInputs = [ libxml2 glib python ];
+
+  src = fetchurl {
+    url = "http://github.com/downloads/JonathanBeck/libplist/${name}.tar.bz2";
+    sha256 = "1c5nwp9jbsp5kx8avmmsr5g7qdngnqlplh2sjbygmhydb6n8lb4q";
+  };
+
+  meta = {
+    homepage = http://github.com/JonathanBeck/libplist;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/libraries/libplist/swig.patch b/pkgs/development/libraries/libplist/swig.patch
new file mode 100644
index 0000000000000..9686a7cbf5152
--- /dev/null
+++ b/pkgs/development/libraries/libplist/swig.patch
@@ -0,0 +1,37 @@
+commit ca6096bc29873d5a3c03d782b134253ac2e61beb
+Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
+Date:   Fri Sep 24 17:16:40 2010 +0400
+
+    Install python bindings to libplist prefix, not to system directory.
+    
+    This allows one to install libplist to $HOME/prefix and adjust
+    PYTHONPATH.
+
+diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt
+index 379cb95..fcacde0 100644
+--- a/swig/CMakeLists.txt
++++ b/swig/CMakeLists.txt
+@@ -9,16 +9,18 @@ SWIG_ADD_MODULE( plist python plist.i )
+ SWIG_LINK_LIBRARIES( plist plist plist++ ${PYTHON_LIBRARIES} )
+ 
+ EXEC_PROGRAM("${PYTHON_EXECUTABLE}"
+-    ARGS "-c 'try:\n import distutils.sysconfig; print distutils.sysconfig.get_python_lib(plat_specific=1)\nexcept: pass\n'"
+-    OUTPUT_VARIABLE DISTUTILS_PYTHON_ILIBRARY_PATH
++    ARGS "-c 'import sys; print sys.version[:3];'"
++    OUTPUT_VARIABLE PYTHON_SHORT_VERSION
+     )
+ 
++SET(PYTHON_SITE_PACKAGES_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_SHORT_VERSION}/site-packages CACHE PATH "The directory where python modules will be installed to.")
++
+ INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/_plist${CMAKE_SHARED_MODULE_SUFFIX}
+-   DESTINATION ${DISTUTILS_PYTHON_ILIBRARY_PATH}/plist/ )
++   DESTINATION ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/plist/ )
+ INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/plist.py
+-   DESTINATION ${DISTUTILS_PYTHON_ILIBRARY_PATH}/plist/ )
++   DESTINATION ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/plist/ )
+ INSTALL( FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py
+-   DESTINATION ${DISTUTILS_PYTHON_ILIBRARY_PATH}/plist/ )
++   DESTINATION ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/plist/ )
+ INSTALL( FILES ${CMAKE_CURRENT_SOURCE_DIR}/plist.i
+    DESTINATION include/plist/swig COMPONENT dev)
+