Просмотр исходного кода

unrar: split unrar and libunrar into build variants, add missing InstallDev

Building unrar together with libunrar creates conflicts that can be fixed by
doing separate builds.
Closes https://github.com/openwrt/packages/pull/2060.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Álvaro Fernández Rojas 9 лет назад
Родитель
Сommit
082314c49d
2 измененных файлов: 35 добавлений и 4 удалений
  1. 26
    4
      utils/unrar/Makefile
  2. 9
    0
      utils/unrar/patches/100-makefile_fixes.patch

+ 26
- 4
utils/unrar/Makefile Просмотреть файл

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
9 9
 
10 10
 PKG_NAME:=unrar
11 11
 PKG_VERSION:=5.3.7
12
-PKG_RELEASE:=1
12
+PKG_RELEASE:=2
13 13
 
14 14
 PKG_SOURCE:=unrarsrc-$(PKG_VERSION).tar.gz
15 15
 PKG_SOURCE_URL:=http://www.rarlab.com/rar
@@ -19,7 +19,7 @@ PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
19 19
 PKG_LICENSE:=UnRAR
20 20
 PKG_LICENSE_FILES:=license.txt
21 21
 
22
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/unrar
22
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/unrar
23 23
 PKG_INSTALL:=1
24 24
 
25 25
 include $(INCLUDE_DIR)/uclibc++.mk
@@ -37,6 +37,7 @@ $(call Package/unrar/Default)
37 37
   SECTION:=utils
38 38
   CATEGORY:=Utilities
39 39
   TITLE+= (application)
40
+  VARIANT:=bin
40 41
 endef
41 42
 
42 43
 define Package/libunrar
@@ -44,6 +45,7 @@ $(call Package/unrar/Default)
44 45
   SECTION:=libs
45 46
   CATEGORY:=Libraries
46 47
   TITLE+= (library)
48
+  VARIANT:=lib
47 49
 endef
48 50
 
49 51
 define Package/unrar/description
@@ -56,11 +58,31 @@ define Package/libunrar/description
56 58
   archives
57 59
 endef
58 60
 
61
+ifeq ($(BUILD_VARIANT),lib)
59 62
 define Build/Compile
60
-	$(call Build/Compile/Default,unrar)
61 63
 	$(call Build/Compile/Default,lib)
62 64
 endef
63 65
 
66
+define Build/Install
67
+	$(call Build/Install/Default,install-lib)
68
+endef
69
+
70
+define Build/InstallDev
71
+	$(INSTALL_DIR) $(1)/usr/include/unrar
72
+	$(CP) $(PKG_BUILD_DIR)/*.hpp $(1)/usr/include/unrar/
73
+	$(INSTALL_DIR) $(1)/usr/lib
74
+	$(CP) $(PKG_INSTALL_DIR)/lib/libunrar.so $(1)/usr/lib/
75
+endef
76
+else
77
+define Build/Compile
78
+	$(call Build/Compile/Default,unrar)
79
+endef
80
+
81
+define Build/Install
82
+	$(call Build/Install/Default,install-unrar)
83
+endef
84
+endif
85
+
64 86
 define Package/unrar/install
65 87
 	$(INSTALL_DIR) $(1)/usr/bin
66 88
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/unrar $(1)/usr/bin/
@@ -68,7 +90,7 @@ endef
68 90
 
69 91
 define Package/libunrar/install
70 92
 	$(INSTALL_DIR) $(1)/usr/lib
71
-	$(CP) $(PKG_BUILD_DIR)/libunrar.so $(1)/usr/lib/
93
+	$(CP) $(PKG_INSTALL_DIR)/lib/libunrar.so $(1)/usr/lib/
72 94
 endef
73 95
 
74 96
 $(eval $(call BuildPackage,unrar))

+ 9
- 0
utils/unrar/patches/100-makefile_fixes.patch Просмотреть файл

@@ -16,3 +16,12 @@
16 16
  DESTDIR=/usr
17 17
  
18 18
  # Linux using LCC
19
+@@ -142,7 +142,7 @@ uninstall-unrar:
20
+ 			rm -f $(DESTDIR)/bin/unrar
21
+ 
22
+ install-lib:
23
+-		install libunrar.so $(DESTDIR)/lib
24
++		install -D libunrar.so $(DESTDIR)/lib/libunrar.so
25
+ 
26
+ uninstall-lib:
27
+ 		rm -f $(DESTDIR)/lib/libunrar.so