Makefile revision 5425
0N/A#
3997N/A# CDDL HEADER START
0N/A#
0N/A# The contents of this file are subject to the terms of the
0N/A# Common Development and Distribution License (the "License").
0N/A# You may not use this file except in compliance with the License.
2362N/A#
0N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2362N/A# or http://www.opensolaris.org/os/licensing.
0N/A# See the License for the specific language governing permissions
0N/A# and limitations under the License.
0N/A#
0N/A# When distributing Covered Code, include this CDDL HEADER in each
0N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0N/A# If applicable, add the following below this CDDL HEADER, with the
0N/A# fields enclosed by brackets "[]" replaced with your own identifying
0N/A# information: Portions Copyright [yyyy] [name of copyright owner]
0N/A#
0N/A# CDDL HEADER END
0N/A
2362N/A#
2362N/A# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
2362N/A#
0N/A
0N/Ainclude ../../../make-rules/shared-macros.mk
0N/A
0N/ACOMPONENT_NAME= pylint
0N/ACOMPONENT_VERSION= 1.4.3
0N/ACOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
0N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
0N/ACOMPONENT_ARCHIVE_HASH= \
0N/A sha256:1dce8c143a5aa15e0638887c2b395e2e823223c63ebaf8d5f432a99e44b29f60
0N/ACOMPONENT_ARCHIVE_URL= $(call pypi_url)
0N/ACOMPONENT_PROJECT_URL= https://bitbucket.org/logilab/pylint
0N/ACOMPONENT_BUGDB= utility/pylint
0N/A
0N/ATPNO= 22903
0N/A
0N/A# Since Pylint 1.4, it only supports Python 2.7+ and Python 3.3+.
2157N/APYTHON_VERSIONS= 2.7
3997N/A
2157N/Ainclude $(WS_MAKE_RULES)/prep.mk
2157N/Ainclude $(WS_MAKE_RULES)/setup.py.mk
0N/Ainclude $(WS_MAKE_RULES)/ips.mk
0N/A
0N/A# There are several pylint documentation files that setup.py isn't installing
0N/A# but are present in the pylint package on other distributions. Copy them into
0N/A# the proto area "manually", so they can be included in the package.
0N/APDOC = $(PROTO_DIR)/usr/share/doc
2157N/APDOC_PYLINT = $(PDOC)/pylint
2157N/APDOC_PYLINT_EXAMPLES = $(PDOC_PYLINT)/examples
4378N/A
4378N/ACOMPONENT_POST_INSTALL_ACTION += \
4378N/A $(MKDIR) $(PDOC_PYLINT) ;
0N/ACOMPONENT_POST_INSTALL_ACTION += \
0N/A $(CP) $(COMPONENT_SRC)/README $(PDOC_PYLINT) ;
0N/ACOMPONENT_POST_INSTALL_ACTION += \
4378N/A $(CP) $(COMPONENT_SRC)/README.Python3 $(PDOC_PYLINT) ;
4378N/A
4378N/ACOMPONENT_POST_INSTALL_ACTION += \
4378N/A $(MKDIR) $(PDOC_PYLINT_EXAMPLES) ;
4378N/ACOMPONENT_POST_INSTALL_ACTION += \
0N/A $(CP) $(COMPONENT_SRC)/examples/custom.py $(PDOC_PYLINT_EXAMPLES) ;
0N/ACOMPONENT_POST_INSTALL_ACTION += \
$(CP) $(COMPONENT_SRC)/examples/custom_raw.py $(PDOC_PYLINT_EXAMPLES) ;
COMPONENT_POST_INSTALL_ACTION += \
$(CP) $(COMPONENT_SRC)/elisp/pylint.el $(PDOC_PYLINT_EXAMPLES) ;
COMPONENT_POST_INSTALL_ACTION += \
$(CP) $(COMPONENT_SRC)/examples/pylintrc_camelcase $(PDOC_PYLINT_EXAMPLES) ;
COMPONENT_POST_INSTALL_ACTION += \
$(CP) $(COMPONENT_SRC)/examples/pylintrc $(PDOC_PYLINT_EXAMPLES) ;
COMPONENT_POST_INSTALL_ACTION += \
(cd $(PROTO_DIR)/usr/bin; $(MV) epylint epylint-$(PYTHON_VERSION)) ;
COMPONENT_POST_INSTALL_ACTION += \
(cd $(PROTO_DIR)/usr/bin; $(MV) pylint pylint-$(PYTHON_VERSION)) ;
COMPONENT_POST_INSTALL_ACTION += \
(cd $(PROTO_DIR)/usr/bin; $(MV) pylint-gui pylint-gui-$(PYTHON_VERSION)) ;
COMPONENT_POST_INSTALL_ACTION += \
(cd $(PROTO_DIR)/usr/bin; $(MV) pyreverse pyreverse-$(PYTHON_VERSION)) ;
COMPONENT_POST_INSTALL_ACTION += \
(cd $(PROTO_DIR)/usr/bin; $(MV) symilar symilar-$(PYTHON_VERSION)) ;
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
# common targets
build: $(BUILD_NO_ARCH)
install: $(INSTALL_NO_ARCH)
$(PYTHON.2.7.32) -m py_compile $(PROTO_DIR)/usr/lib/python2.7/vendor-packages/pylint/testutils.py
# The tests are run using python 2.7 only and require that
# the python-27 package is installed (does not have to be the default python).
# Use the python 2.7 libraries for testing.
test: PYTHON_VERSION=2.7
# logilab-common and astroid are runtime dependencies of pylint,
# and we need to use their latest versions from this workspace.
# We can't just add their install targets as dependencies here,
# so just "gmake install" in the logilab-common and astroid
# component directories before running the pylint tests.
COMPONENT_PRE_TEST_ACTION = ($(GMAKE) -C \
$(COMPONENT_DIR)/../logilab-common install; \
$(GMAKE) -C $(COMPONENT_DIR)/../astroid install )
COMPONENT_TEST_ENV = PYTHONPATH=$(COMPONENT_DIR)/../logilab-common/build/prototype/$(MACH)$(PYTHON_VENDOR_PACKAGES):$(COMPONENT_DIR)/../astroid/build/prototype/$(MACH)$(PYTHON_VENDOR_PACKAGES):$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES)
# The test output contains details from each test, in whatever order they
# complete. Use nawk to extract just the sections that summarizes the test result.
COMPONENT_TEST_CMD = /usr/bin/pytest-$(PYTHON_VERSION)
COMPONENT_TEST_ARGS =
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
COMPONENT_TEST_TRANSFORMER = $(NAWK)
COMPONENT_TEST_TRANSFORMS = "'/Ran (.+) test cases/{ sub(/in(.+)\)/, \"\"); print }/All (.+) modules OK/'"
COMPONENT_SYSTEM_TEST_CMD = /usr/bin/pytest-$(PYTHON_VERSION)
COMPONENT_SYSTEM_TEST_ARGS =
test: $(TEST_NO_ARCH)
system-test: $(SYSTEM_TEST_NO_ARCH)
REQUIRED_PACKAGES += library/python/logilab-common-27
REQUIRED_PACKAGES += library/python/astroid-27
REQUIRED_PACKAGES += library/python/six-27