[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeutils
From:       Raphael Kubo da Costa <kubito () gmail ! com>
Date:       2010-12-25 17:33:20
Message-ID: 20101225173320.486143E1F1 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1209188 by rkcosta:

Close our oldest open wishlist item: RPM support.

After about 7,5 years, Ark finally has RPM support, thanks to
libarchive. Note libarchive >= 2.8.0 is required.

Thanks a lot to George Metaxas <gmetal31 AT gmail com> for the patch!

BUG: 60942
FIXED-IN: 4.7.0



 M  +13 -1     ark/plugins/libarchive/CMakeLists.txt  
 D             ark/plugins/libarchive/kerfuffle_libarchive_readonly.desktop  
 A             ark/plugins/libarchive/kerfuffle_libarchive_readonly.desktop.cmake   \
ark/plugins/libarchive/kerfuffle_libarchive_readonly.desktop#1209180  M  +11 -0     \
cmake/modules/FindLibArchive.cmake  


--- trunk/KDE/kdeutils/ark/plugins/libarchive/CMakeLists.txt #1209187:1209188
@@ -4,8 +4,20 @@
                      ${CMAKE_CURRENT_BINARY_DIR}/../..
                    )
 
+
 ########### next target ###############
+set(LIBARCHIVE_RPM_SUPPORT_MIN_VERSION "2.8.0")
+if(LIBARCHIVE_VERSION VERSION_LESS ${LIBARCHIVE_RPM_SUPPORT_MIN_VERSION})
+  set(LIBARCHIVE_RPM_SUPPORT "")
+else(LIBARCHIVE_VERSION VERSION_LESS ${LIBARCHIVE_RPM_SUPPORT_MIN_VERSION})
+  set(LIBARCHIVE_RPM_SUPPORT "application/x-rpm;")
+endif(LIBARCHIVE_VERSION VERSION_LESS ${LIBARCHIVE_RPM_SUPPORT_MIN_VERSION})
 
+configure_file(
+            ${CMAKE_CURRENT_SOURCE_DIR}/kerfuffle_libarchive_readonly.desktop.cmake
+            ${CMAKE_CURRENT_BINARY_DIR}/kerfuffle_libarchive_readonly.desktop
+)
+
 set(kerfuffle_libarchive_SRCS libarchivehandler.cpp)
 
 kde4_add_plugin(kerfuffle_libarchive ${kerfuffle_libarchive_SRCS})
@@ -18,4 +30,4 @@
 ########### install files ###############
 
 install( FILES kerfuffle_libarchive.desktop  DESTINATION  ${SERVICES_INSTALL_DIR} )
-install( FILES kerfuffle_libarchive_readonly.desktop  DESTINATION  \
${SERVICES_INSTALL_DIR} ) +install( FILES \
${CMAKE_CURRENT_BINARY_DIR}/kerfuffle_libarchive_readonly.desktop  DESTINATION  \
                ${SERVICES_INSTALL_DIR} )
--- trunk/KDE/kdeutils/cmake/modules/FindLibArchive.cmake #1209187:1209188
@@ -1,6 +1,7 @@
 # - Try to find libarchive
 # Once done this will define
 #
+#  LIBARCHIVE_VERSION - the libarchive version
 #  LIBARCHIVE_FOUND - system has libarchive
 #  LIBARCHIVE_INCLUDE_DIR - the libarchive include directory
 #  LIBARCHIVE_LIBRARY - Link this to use libarchive
@@ -38,5 +39,15 @@
   include(FindPackageHandleStandardArgs)
   find_package_handle_standard_args(LibArchive DEFAULT_MSG LIBARCHIVE_INCLUDE_DIR \
LIBARCHIVE_LIBRARY HAVE_LIBARCHIVE_GZIP_SUPPORT)  
+  if (LIBARCHIVE_INCLUDE_DIR)
+    file(READ ${LIBARCHIVE_INCLUDE_DIR}/archive.h LIBARCHIVE_VERSION_CONTENT)
+    string(REGEX MATCH "ARCHIVE_VERSION_STRING \"libarchive .*\"\n" \
LIBARCHIVE_VERSION_MATCH "${LIBARCHIVE_VERSION_CONTENT}") +    \
if(LIBARCHIVE_VERSION_MATCH) +      string(REGEX REPLACE "ARCHIVE_VERSION_STRING \
\"libarchive (.*)\"\n" "\\1" LIBARCHIVE_VERSION ${LIBARCHIVE_VERSION_MATCH}) +    \
else (LIBARCHIVE_VERSION_MATCH) +      message(FATAL_ERROR "Cannot determine \
LibArchive Version.") +    endif (LIBARCHIVE_VERSION_MATCH)
+  endif (LIBARCHIVE_INCLUDE_DIR)
+
   mark_as_advanced(LIBARCHIVE_INCLUDE_DIR LIBARCHIVE_LIBRARY \
HAVE_LIBARCHIVE_GZIP_SUPPORT HAVE_LIBARCHIVE_LZMA_SUPPORT)  endif (LIBARCHIVE_LIBRARY \
AND LIBARCHIVE_INCLUDE_DIR)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic