OpenColorIO: update to 2.4.0
[oi-userland.git] / components / library / mozilla-nss / Makefile
blob179e70842a98bbca05e99147b7c8675b7cf02023
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL)". You may
4 # only use this file in accordance with the terms of the CDDL.
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
12 # Copyright 2011, Andrzej Szeszo
13 # Copyright 2013, Jon Tibble
14 # Copyright 2014, Alexander Pyhalov
15 # Copyright 2019, Michal Nowak
16 # Copyright 2024, Goetz Fischer
19 include ../../../make-rules/shared-macros.mk
21 COMPONENT_NAME= nss
22 COMPONENT_VERSION= 3.98
23 COMPONENT_PROJECT_URL= https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
24 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
25 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
26 COMPONENT_ARCHIVE_HASH= sha256:f549cc33d35c0601674bfacf7c6ad683c187595eb4125b423238d3e9aa4209ce
27 COMPONENT_ARCHIVE_URL= https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_98_RTM/src/$(COMPONENT_ARCHIVE)
28 COMPONENT_LICENSE= MPLv2
29 COMPONENT_LICENSER_FILE= nss/COPYING
31 ### ENV
32 MPS.32=/usr/lib/mps
33 MPS.64=/usr/lib/mps/$(MACH64)
35 COMPONENT_BUILD_ENV += $(COMPONENT_BUILD_ENV.$(BITS))
36 COMPONENT_BUILD_ENV += BUILD_OPT=1
37 COMPONENT_BUILD_ENV += NO_MDUPDATE=1
38 COMPONENT_BUILD_ENV += NS_USE_GCC=1
39 COMPONENT_BUILD_ENV += NSPR_INCLUDE_DIR=/usr/include/mps
40 COMPONENT_BUILD_ENV += NSPR_LIB_DIR=$(MPS.$(BITS))
41 COMPONENT_BUILD_ENV += NSS_ENABLE_WERROR=0
42 COMPONENT_BUILD_ENV += NSS_INCLUDE_DIR=/usr/include/mps
43 COMPONENT_BUILD_ENV += NSS_LIB_DIR=$(MPS.$(BITS))
44 COMPONENT_BUILD_ENV += NSS_USE_SYSTEM_SQLITE=1
45 COMPONENT_BUILD_ENV += PATH=$(GCC_ROOT)/bin:$(PATH)
46 COMPONENT_BUILD_ENV += PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
47 COMPONENT_BUILD_ENV += PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
48 COMPONENT_BUILD_ENV.64 += USE_64=1
50 COMPONENT_TEST_ENV += $(COMPONENT_BUILD_ENV)
51 COMPONENT_TEST_ENV += HOST=127.0.0.1
52 COMPONENT_TEST_DIR = $(BUILD_DIR_$(BITS))/nss/tests
54 include $(WS_MAKE_RULES)/prep.mk
55 include $(WS_MAKE_RULES)/justmake.mk
56 include $(WS_MAKE_RULES)/ips.mk
58 ### BUILD
59 $(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
60 $(RM) -r $(@D) ; $(MKDIR) $(@D)
61 $(CLONEY) $(SOURCE_DIR) $(@D)
62 $(COMPONENT_PRE_BUILD_ACTION)
63 (cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) $(GMAKE) -C nss)
64 $(COMPONENT_POST_BUILD_ACTION)
65 $(TOUCH) $@
67 build: $(BUILD_32_and_64)
69 ### INSTALL
70 install: build
71 $(MKDIR) -p $(PROTO_DIR)/usr/sfw/bin
72 $(MKDIR) -p $(PROTO_DIR)/usr/sfw/bin/$(MACH64)
73 $(MKDIR) -p $(PROTO_DIR)/usr/lib/mps
74 $(MKDIR) -p $(PROTO_DIR)/usr/lib/mps/$(MACH64)
75 $(MKDIR) -p $(PROTO_DIR)/usr/include/mps
76 $(MKDIR) -p $(PROTO_DIR)/usr/lib/pkgconfig
77 $(MKDIR) -p $(PROTO_DIR)/usr/lib/$(MACH64)/pkgconfig
78 cp $(BUILD_DIR_32)/dist/public/nss/*.h $(PROTO_DIR)/usr/include/mps
79 cp $(BUILD_DIR_32)/dist/public/dbm/*.h $(PROTO_DIR)/usr/include/mps
80 cp $(BUILD_DIR_32)/dist/SunOS5.11_*_OPT.OBJ/lib/*.so $(PROTO_DIR)/usr/lib/mps
81 cp $(BUILD_DIR_32)/dist/SunOS5.11_*_OPT.OBJ/lib/*.chk $(PROTO_DIR)/usr/lib/mps
82 cp $(BUILD_DIR_64)/dist/SunOS5.11_*_OPT.OBJ/lib/*.so $(PROTO_DIR)/usr/lib/mps/$(MACH64)
83 cp $(BUILD_DIR_64)/dist/SunOS5.11_*_OPT.OBJ/lib/*.chk $(PROTO_DIR)/usr/lib/mps/$(MACH64)
84 for i in addbuiltin certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do \
85 cp $(BUILD_DIR_32)/dist/SunOS5.11_*_OPT.OBJ/bin/$$i $(PROTO_DIR)/usr/sfw/bin; \
86 cp $(BUILD_DIR_64)/dist/SunOS5.11_*_OPT.OBJ/bin/$$i $(PROTO_DIR)/usr/sfw/bin/$(MACH64); \
87 done
88 cat $(COMPONENT_DIR)/files/nss.pc | sed s/^Version:/Version:\ $(COMPONENT_VERSION)/ \
89 > $(PROTO_DIR)/usr/lib/pkgconfig/nss.pc
90 cat $(COMPONENT_DIR)/files/nss.pc | sed -e "s/^Version:/Version:\ $(COMPONENT_VERSION)/" \
91 -e "s:/usr/lib/mps:/usr/lib/mps/$(MACH64):g" > $(PROTO_DIR)/usr/lib/$(MACH64)/pkgconfig/nss.pc
92 for i in $(PROTO_DIR)/usr/lib/mps/*.so; do \
93 /usr/bin/elfedit -e 'dyn:value -s RPATH "/usr/lib/mps"' $$i ;\
94 done ;
95 for i in $(PROTO_DIR)/usr/lib/mps/*.so; do \
96 /usr/bin/elfedit -e 'dyn:value -s RUNPATH "/usr/lib/mps"' $$i ;\
97 done
98 for i in $(PROTO_DIR)/usr/lib/mps/$(MACH64)/*.so; do \
99 /usr/bin/elfedit -e 'dyn:value -s RPATH "/usr/lib/mps/$(MACH64)"' $$i ;\
100 done ;
101 for i in $(PROTO_DIR)/usr/lib/mps/$(MACH64)/*.so; do \
102 /usr/bin/elfedit -e 'dyn:value -s RUNPATH "/usr/lib/mps/$(MACH64)"' $$i ;\
103 done ;
104 $(MKDIR) $(PROTO_DIR)/$(USRBINDIR)/ ;\
105 $(MKDIR) $(PROTO_DIR)/$(USRBINDIR)/$(MACH64) ;\
106 NSS_VMAJOR=`cat $(PROTO_DIR)/usr/include/mps/nss.h | grep "#define.*NSS_VMAJOR" | gawk '{print $$3}'` ;\
107 NSS_VMINOR=`cat $(PROTO_DIR)/usr/include/mps/nss.h | grep "#define.*NSS_VMINOR" | gawk '{print $$3}'` ;\
108 NSS_VPATCH=`cat $(PROTO_DIR)/usr/include/mps/nss.h | grep "#define.*NSS_VPATCH" | gawk '{print $$3}'` ;\
109 cat $(SOURCE_DIR)/nss/pkg/pkg-config/nss-config.in | $(GSED) \
110 -e "s,@prefix@,/usr,g" \
111 -e "s,pkg-config,/usr/bin/pkg-config,g" \
112 -e "s,@MOD_MAJOR_VERSION@,$$NSS_VMAJOR,g" \
113 -e "s,@MOD_MINOR_VERSION@,$$NSS_VMINOR,g" \
114 -e "s,@MOD_PATCH_VERSION@,$$NSS_VPATCH,g" \
115 > $(PROTO_DIR)$(USRBINDIR)/nss-config ;\
116 cat $(SOURCE_DIR)/nss/pkg/pkg-config/nss-config.in | $(GSED) \
117 -e "s,@prefix@,/usr,g" \
118 -e "s,pkg-config,/usr/bin/$(MACH64)/pkg-config,g" \
119 -e "s,@MOD_MAJOR_VERSION@,$$NSS_VMAJOR,g" \
120 -e "s,@MOD_MINOR_VERSION@,$$NSS_VMINOR,g" \
121 -e "s,@MOD_PATCH_VERSION@,$$NSS_VPATCH,g" \
122 > $(PROTO_DIR)$(USRBINDIR)/$(MACH64)/nss-config ;\
123 $(MKDIR) $(PROTO_DIR)/$(USRSHAREMAN1DIR) ;\
124 $(GSED) -e "s/@date@/`date +'%e %B %Y' | tr -d '\n'`/" -e "s/@version@/$(COMPONENT_VERSION)/" $(COMPONENT_DIR)/files/nss-config.xml > nss-config.xml ;\
125 xmlto man nss-config.xml ;\
126 $(RM) nss-config.xml ;\
127 $(MV) nss-config.1 $(PROTO_DIR)/$(USRSHAREMAN1DIR) ;\
128 $(TOUCH) $(BUILD_DIR_32)/.installed $(BUILD_DIR_64)/.installed ;
130 ### TESTS
131 test: $(TEST_32_and_64)
133 $(TEST_32): $(BUILD_32)
134 cd $(COMPONENT_TEST_DIR) && \
135 $(ENV) $(COMPONENT_TEST_ENV) $(CONFIG_SHELL) all.sh &&\
136 $(TOUCH) $(BUILD_DIR_$(BITS))/.tested
138 $(TEST_64): $(BUILD_64)
139 cd $(COMPONENT_TEST_DIR) && \
140 $(ENV) $(COMPONENT_TEST_ENV) $(CONFIG_SHELL) all.sh &&\
141 $(TOUCH) $(BUILD_DIR_$(BITS))/.tested
143 # Manually added build dependencies
144 REQUIRED_PACKAGES += text/xmlto
146 # Auto-generated dependencies
147 REQUIRED_PACKAGES += database/sqlite-3
148 REQUIRED_PACKAGES += library/nspr
149 REQUIRED_PACKAGES += shell/ksh93
150 REQUIRED_PACKAGES += system/library