Aurelien Larcher
2018-05-22 96984659a921be0d38c0212b02eabaa84808206a
commit | author | age
81db49 1 #
DD 2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
8c2f8f 23 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
fa6512 24 # Copyright (c) 2016, Jim Klimov
81db49 25 #
DD 26
c6a8ec 27 include ../../../make-rules/shared-macros.mk
81db49 28
DD 29 COMPONENT_NAME=        p7zip
9f78e4 30 COMPONENT_VERSION=    16.2
AL 31 COMPONENT_SRC_VERSION=    16.02
32 COMPONENT_FMRI=    compress/p7zip
33 COMPONENT_SUMMARY=    The p7zip compression and archiving utility
34 COMPONENT_CLASSIFICATION=    System/Core
60e6e0 35 COMPONENT_PROJECT_URL=    http://p7zip.sourceforge.net/
9f78e4 36 COMPONENT_SRC=        $(COMPONENT_NAME)_$(COMPONENT_SRC_VERSION)
81db49 37 COMPONENT_ARCHIVE=    $(COMPONENT_SRC)_src_all.tar.bz2
35e110 38 COMPONENT_ARCHIVE_HASH=    \
9f78e4 39     sha256:5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f
fa6512 40 COMPONENT_ARCHIVE_URL=    \
9f78e4 41     http://downloads.sourceforge.net/project/p7zip/p7zip/$(COMPONENT_SRC_VERSION)/$(COMPONENT_ARCHIVE)
3b89c9 42 COMPONENT_BUGDB=    utility/p7zip
81db49 43
9f78e4 44 include $(WS_MAKE_RULES)/prep.mk
AL 45 include $(WS_MAKE_RULES)/justmake.mk
46 include $(WS_MAKE_RULES)/ips.mk
81db49 47
8d70f8 48
RB 49 COMPONENT_TEST_DIR =           $(@D)
50 COMPONENT_TEST_ENV =           P7ZIP_HOME_DIR=$(BUILD_DIR)/$(MACH$(BITS))/bin
51 COMPONENT_TEST_TARGETS =       test test_7z test_7zr
52
fa6512 53 # TODO: if sparc ...
JK 54 COMPONENT_PREP_ACTION = (cd $(@D) && \
55     $(GSED) -e 's,^CC=,\#CC=,' -e 's,^CXX=,\#CXX=,' -e 's,-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE,$$(BUILD_FLAGS),' < makefile.solaris_x86 > makefile.machine && \
56     ( echo 'CC=$$(BUILD_CC) $$(ALLFLAGS)'; echo 'CXX=$$(BUILD_CXX) $$(ALLFLAGS)' ) >> makefile.machine )
57
81db49 58 COMPONENT_BUILD_TARGETS = all3
DD 59 COMPONENT_INSTALL_ARGS += DEST_HOME=/usr DEST_DIR=$(PROTO_DIR)
fa6512 60
JK 61 COMPONENT_BUILD_ARGS += BUILD_CC="$(CC)"
62 COMPONENT_BUILD_ARGS += BUILD_CXX="$(CXX)"
63 COMPONENT_BUILD_ARGS += LDFLAGS="$(LDFLAGS)"
64 COMPONENT_BUILD_ARGS += BUILD_FLAGS="$(CPP_LARGEFILES) $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS)"
81db49 65
c4d5ce 66 $(SOURCE_DIR)/DOC/copying.txt $(SOURCE_DIR)/DOC/unRarLicense.txt: prep
81db49 67
c4d5ce 68 $(BUILD_DIR)/%: $(SOURCE_DIR)/DOC/%
81db49 69     $(CP) $< $@
DD 70
71 # common targets
fa6512 72 build:        $(BUILD_32_and_64)
81db49 73
DD 74 EXTRATARGETS = \
75     $(BUILD_DIR)/copying.txt $(BUILD_DIR)/unRarLicense.txt
76
fa6512 77 COMPONENT_POST_INSTALL_ACTION = \
JK 78     ( $(MKDIR) $(PROTOUSRLIBDIR)/p7zip/$(MACH$(BITS)) \
79       && $(MV) $(PROTOUSRLIBDIR)/p7zip/7z* $(PROTOUSRLIBDIR)/p7zip/$(MACH$(BITS))/ \
80       && $(MV) $(PROTOUSRLIBDIR)/p7zip/Codecs $(PROTOUSRLIBDIR)/p7zip/$(MACH$(BITS))/ \
81     ) ;
82
83 install:    build $(INSTALL_32_and_64) $(EXTRATARGETS)
81db49 84
DD 85 # When p7zip's install target is run, it creates all its directories mode 555,
86 # so they're impossible to remove without adding the write bit first.
87 COMPONENT_POST_INSTALL_ACTION += $(CHMOD) -R u+w $(PROTO_DIR)
88
89 # build does this always
fa6512 90 test:    $(TEST_32_and_64)
e1ba28 91
92 REQUIRED_PACKAGES += SUNWcs
93 REQUIRED_PACKAGES += system/library
6e938f 94 REQUIRED_PACKAGES += system/library/g++-6-runtime
969846 95 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
fa6512 96 REQUIRED_PACKAGES += system/library/math