21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
25 BUILD_BITS= 64 |
25 BUILD_BITS= 64 |
|
26 # When building with Studio, p7zip has many warnings about extra semicolons, |
|
27 # and at least one hard error due to an extra semicolon. It also suffers from |
|
28 # the pragma pack push/pop problem (15358176). |
|
29 COMPILER= gcc |
26 include ../../make-rules/shared-macros.mk |
30 include ../../make-rules/shared-macros.mk |
27 |
31 |
28 ifeq ($(strip $(PARFAIT_BUILD)),yes) |
32 ifeq ($(strip $(PARFAIT_BUILD)),yes) |
29 PATH=$(PARFAIT_TOOLS):$(SPRO_VROOT)/bin:$(USRBINDIR) |
33 PATH=$(PARFAIT_TOOLS):$(SPRO_VROOT)/bin:$(USRBINDIR) |
30 else |
34 else |
31 PATH=$(SPRO_VROOT)/bin:$(USRBINDIR):$(GNUBIN) |
35 PATH=$(SPRO_VROOT)/bin:$(USRBINDIR):$(GNUBIN) |
32 endif |
36 endif |
33 |
37 |
34 COMPONENT_NAME= p7zip |
38 COMPONENT_NAME= p7zip |
35 COMPONENT_VERSION= 9.20.1 |
39 COMPONENT_VERSION= 15.14.1 |
36 COMPONENT_PROJECT_URL= http://p7zip.sourceforge.net/ |
40 COMPONENT_PROJECT_URL= http://p7zip.sourceforge.net/ |
37 COMPONENT_SRC= $(COMPONENT_NAME)_$(COMPONENT_VERSION) |
41 COMPONENT_SRC= $(COMPONENT_NAME)_$(COMPONENT_VERSION) |
38 COMPONENT_ARCHIVE= $(COMPONENT_SRC)_src_all.tar.bz2 |
42 COMPONENT_ARCHIVE= $(COMPONENT_SRC)_src_all.tar.bz2 |
39 COMPONENT_ARCHIVE_HASH= \ |
43 COMPONENT_ARCHIVE_HASH= \ |
40 sha256:49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782 |
44 sha256:699db4da3621904113e040703220abb1148dfef477b55305e2f14a4f1f8f25d4 |
41 COMPONENT_ARCHIVE_URL= http://downloads.sourceforge.net/project/p7zip/p7zip/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE) |
45 COMPONENT_ARCHIVE_URL= http://downloads.sourceforge.net/p7zip/$(COMPONENT_ARCHIVE) |
42 |
46 |
43 TPNO= 20368 |
47 TPNO= 27905 |
44 |
48 |
45 BUILD_STYLE= justmake |
49 BUILD_STYLE= justmake |
46 INSTALL_TARGET= |
50 INSTALL_TARGET= |
47 include $(WS_MAKE_RULES)/common.mk |
51 include $(WS_MAKE_RULES)/common.mk |
48 |
|
49 # the tests fail horribly with -Bdirect |
|
50 LD_B_DIRECT= |
|
51 |
52 |
52 COMPONENT_TEST_DIR = $(@D) |
53 COMPONENT_TEST_DIR = $(@D) |
53 COMPONENT_TEST_ENV = P7ZIP_HOME_DIR=$(BUILD_DIR)/$(MACH$(BITS))/bin |
54 COMPONENT_TEST_ENV = P7ZIP_HOME_DIR=$(BUILD_DIR)/$(MACH$(BITS))/bin |
54 COMPONENT_TEST_TARGETS = test test_7z test_7zr |
55 COMPONENT_TEST_TARGETS = test test_7z test_7zr |
55 |
56 |
56 COMPONENT_PREP_ACTION = (cd $(@D); cp ../makefile.solaris makefile.machine) |
57 COMPONENT_PREP_ACTION = (cd $(@D); cp ../makefile.solaris makefile.machine) |
57 COMPONENT_BUILD_TARGETS = all3 |
58 COMPONENT_BUILD_TARGETS = all3 |
58 COMPONENT_INSTALL_ARGS += DEST_HOME=$(USRDIR) DEST_DIR=$(PROTO_DIR) |
59 COMPONENT_INSTALL_ARGS += DEST_HOME=$(USRDIR) DEST_DIR=$(PROTO_DIR) |
59 |
60 |
60 $(SOURCE_DIR)/DOCS/copying.txt $(SOURCE_DIR)/DOCS/unRarLicense.txt: prep |
61 $(SOURCE_DIR)/DOC/copying.txt $(SOURCE_DIR)/DOC/unRarLicense.txt: prep |
61 |
62 |
62 $(BUILD_DIR)/%: $(SOURCE_DIR)/DOCS/% |
63 $(BUILD_DIR)/%: $(SOURCE_DIR)/DOC/% |
63 $(CP) $< $@ |
64 $(CP) $< $@ |
64 |
65 |
65 $(BUILD_DIR)/copying.txt: $(SOURCE_DIR)/DOCS/copying.txt |
66 $(BUILD_DIR)/copying.txt: $(SOURCE_DIR)/DOC/copying.txt |
66 $(CP) $(SOURCE_DIR)/DOCS/copying.txt $@ |
67 $(CP) $(SOURCE_DIR)/DOC/copying.txt $@ |
67 |
68 |
68 # common targets |
69 # common targets |
69 EXTRATARGETS = \ |
70 EXTRATARGETS = \ |
70 $(BUILD_DIR)/copying.txt $(BUILD_DIR)/unRarLicense.txt |
71 $(BUILD_DIR)/copying.txt $(BUILD_DIR)/unRarLicense.txt |
71 |
72 |
72 install: build $(INSTALL_64) $(EXTRATARGETS) |
73 install: build $(INSTALL_64) $(EXTRATARGETS) |
73 |
74 |
74 # When p7zip's install target is run, it creates all its directories mode 555, |
|
75 # so they're impossible to remove without adding the write bit first. |
|
76 COMPONENT_POST_INSTALL_ACTION += $(CHMOD) -R u+w $(PROTO_DIR); |
|
77 # 7zr.1 is in DOS format for some reason, and geqn can't handle it. |
75 # 7zr.1 is in DOS format for some reason, and geqn can't handle it. |
78 COMPONENT_POST_INSTALL_ACTION += $(GSED) -i -e 's/\r//' $(PROTO_DIR)/usr/man/man1/7zr.1 |
76 COMPONENT_POST_INSTALL_ACTION += $(GSED) -i -e 's/\r//' $(PROTO_DIR)/usr/man/man1/7zr.1 |
79 |
77 |
80 REQUIRED_PACKAGES += shell/ksh93 |
78 REQUIRED_PACKAGES += shell/ksh93 |
81 REQUIRED_PACKAGES += system/library/c++-runtime |
79 REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime |
|
80 REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime |
82 REQUIRED_PACKAGES += system/library/math |
81 REQUIRED_PACKAGES += system/library/math |