Andreas Wacknitz
2024-01-13 e8f9bca3701dd2b062197c5eccd1b2f61d63be3b
commit | author | age
946865 1 #
AP 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 #
123758 23 # Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
389a70 24 # Copyright (c) 2017, Ken Mays
7ffa83 25 # Copyright (c) 2019, Michal Nowak
465ad4 26 # Copyright (c) 2020, Nona Hansel
a1c2c3 27 # Copyright (c) 2022-2023 Niklas Poslovski
946865 28 #
AP 29
30 include ../../../make-rules/shared-macros.mk
31
32 COMPONENT_NAME=        vim
e8f9bc 33 COMPONENT_VERSION=    9.1.26
AW 34 HUMAN_VERSION=        9.1.0026
6a0a17 35 COMPONENT_SRC=        $(COMPONENT_NAME)-$(HUMAN_VERSION)
389a70 36 COMPONENT_PROJECT_URL=    https://www.vim.org/
946865 37 COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.gz
6a0a17 38 COMPONENT_ARCHIVE_URL=    https://github.com/vim/vim/archive/v$(HUMAN_VERSION).tar.gz
e8f9bc 39 COMPONENT_ARCHIVE_HASH=    sha256:994834967fa85cdd4cc9efb052e96d60672fafc062deb8698b482787b73efad6
946865 40
465ad4 41 include $(WS_MAKE_RULES)/common.mk
946865 42
4c11f5 43 COMPONENT_POST_UNPACK_ACTION += ( \
AW 44     chmod +x $(@D)/configure $(@D)/src/auto/configure $(@D)/src/configure $(@D)/src/mkinstalldirs ; \
45     find $(@D) -name \*.sh -exec chmod +x '{}' ';' ; \
46     rm $(@D)/src/po/{ko.po,zh_CN.po} ; )
946865 47
82cf06 48 NOX_VARIANT = $(BUILD_DIR)/$(MACH64)-vim
123758 49 X_VARIANT =    $(BUILD_DIR)/$(MACH64)-gvim
946865 50
82cf06 51 VARIANTS = $(X_VARIANT) $(NOX_VARIANT)
946865 52
82cf06 53 $(VARIANTS:%=%/.configured): BITS=64
946865 54
82cf06 55 BUILD_64 = $(VARIANTS:%=%/.built)
AW 56 INSTALL_64 = $(VARIANTS:%=%/.installed)
123758 57 # Test only the terminal variant.
82cf06 58 TEST_64 = $(NOX_VARIANT)/.tested
946865 59
AP 60 # vim uses self-defined INFINITY/NAN, which don't work well on illumos
4c11f5 61 CFLAGS += -std=c99 $(XPG6MODE)
1114cc 62
82cf06 63 CONFIGURE_ENV += PATH=$(PATH.gnu)
123758 64 # Make sure we use a 64-bit, multithreaded perl
4c11f5 65 CONFIGURE_ENV += vi_cv_path_perl=/usr/perl5/bin/perl
123758 66 # Vim's configure script looks for a "python3" executable, per PEP 394
82cf06 67 CONFIGURE_ENV += vi_cv_path_python3=/usr/bin/python$(PYTHON_VERSION)
946865 68 # zh_CN.cp936.po has invalid characters which GNU msgfmt seems to be able to ignore.
82cf06 69 CONFIGURE_ENV += MSGFMT=gmsgfmt
946865 70
82cf06 71 CONFIGURE_OPTIONS += --with-features=huge
AW 72 CONFIGURE_OPTIONS += --with-compiledby="oi-userland build environment"
73 CONFIGURE_OPTIONS += --with-modified-by="OpenIndiana <oi-dev@openindiana.org>"
74 CONFIGURE_OPTIONS += --enable-luainterp=dynamic
75 CONFIGURE_OPTIONS += --enable-perlinterp=dynamic
76 CONFIGURE_OPTIONS += --enable-rubyinterp=dynamic
77 CONFIGURE_OPTIONS += --with-ruby-command=/usr/bin/ruby26
78 CONFIGURE_OPTIONS += --enable-pythoninterp=dynamic
79 CONFIGURE_OPTIONS += --enable-python3interp=dynamic
80 CONFIGURE_OPTIONS += --enable-terminal
946865 81
AP 82 # We build two variants: with and without X support.
82cf06 83 $(NOX_VARIANT)/.configured:    CONFIGURE_OPTIONS += --without-x
AW 84 $(NOX_VARIANT)/.configured:    CONFIGURE_OPTIONS += --disable-gui
85 $(NOX_VARIANT)/.configured:    CONFIGURE_OPTIONS += --disable-gtktest
86 $(NOX_VARIANT)/.configured:    CONFIGURE_OPTIONS += --disable-canberra
123758 87 $(X_VARIANT)/.configured:    CONFIGURE_OPTIONS += --with-vim-name=gvim
MN 88 $(X_VARIANT)/.configured:    CONFIGURE_OPTIONS += --with-x
89 $(X_VARIANT)/.configured:    CONFIGURE_OPTIONS += --enable-gui=gtk3
90 $(X_VARIANT)/.configured:    CONFIGURE_OPTIONS += --enable-gtk3-check
91 $(X_VARIANT)/.configured:    CONFIGURE_OPTIONS += --enable-canberra
946865 92
AP 93 # Vim's build is too smart for itself and configure can't run outside of a
94 # complete source tree.
123758 95 COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D) ; cd $(@D)/src ; aclocal ; autoconf ; )
946865 96
AP 97 # For the GUI, install only the executable itself.
98 $(X_VARIANT)/.installed: COMPONENT_INSTALL_ARGS += -C src
99 $(X_VARIANT)/.installed: COMPONENT_INSTALL_TARGETS = installvimbin
100
101 COMPONENT_TEST_TARGETS = test
102
103 $(SOURCE_DIR)/runtime/doc/uganda.txt: prep
104
105 $(BUILD_DIR)/license: $(SOURCE_DIR)/runtime/doc/uganda.txt
106     nawk '/begin of license/ {p=1; getline; next} /end of license/ {p=0} p == 1 {print}' $< > $@
107
123758 108 install:    $(INSTALL_64) $(BUILD_DIR)/license
946865 109
1114cc 110 # Manually added build dependencies
365c83 111 PYTHON_REQUIRED_PACKAGES += runtime/python
55bcea 112
123758 113 # Auto-generated dependencies
MN 114 REQUIRED_PACKAGES += library/desktop/cairo
946865 115 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
123758 116 REQUIRED_PACKAGES += library/desktop/gtk3
946865 117 REQUIRED_PACKAGES += library/desktop/pango
123758 118 REQUIRED_PACKAGES += library/desktop/xdg/libcanberra
946865 119 REQUIRED_PACKAGES += library/glib2
AP 120 REQUIRED_PACKAGES += library/ncurses
55bcea 121 REQUIRED_PACKAGES += library/security/libsodium
AW 122 REQUIRED_PACKAGES += shell/ksh93
946865 123 REQUIRED_PACKAGES += system/library
AP 124 REQUIRED_PACKAGES += system/library/math
125 REQUIRED_PACKAGES += x11/library/libice
126 REQUIRED_PACKAGES += x11/library/libsm
127 REQUIRED_PACKAGES += x11/library/libx11
128 REQUIRED_PACKAGES += x11/library/toolkit/libxt