2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2016 Alexander Pyhalov
18 USE_DEFAULT_TEST_TRANSFORMS
= yes
19 USE_COMMON_TEST_MASTER
= no
21 include ..
/..
/..
/make-rules
/shared-macros.mk
23 COMPONENT_NAME
= libsecret
25 COMPONENT_SUMMARY
= GObject-based library for storing and receiving secrets
26 COMPONENT_ARCHIVE_HASH
= sha256
:163d08d783be6d4ab9a979ceb5a4fecbc1d9660d3c34168c581301cd53912b20
27 COMPONENT_FMRI
= library
/$(COMPONENT_NAME
)
28 COMPONENT_CLASSIFICATION
=System
/Security
29 COMPONENT_LICENSE
= LGPL-2.1
-only
30 COMPONENT_LICENSE_FILE
= COPYING
32 COMPONENT_FMRI.
$(COMPONENT_NAME
)-32= $(COMPONENT_FMRI
)/32
33 COMPONENT_SUMMARY.
$(COMPONENT_NAME
)-32= $(COMPONENT_SUMMARY
) (32-bit
)
35 include $(WS_MAKE_RULES
)/gnome.mk
36 include $(WS_MAKE_RULES
)/common.mk
38 # There is no 32-bit gobject-introspection
39 CONFIGURE_OPTIONS
.32 += -Dintrospection
=false
40 # vapi files and man pages created during the 64-bit build are enough. They
41 # would overlap otherwise anyway.
42 CONFIGURE_OPTIONS
.32 += -Dvapi
=false
43 CONFIGURE_OPTIONS
.32 += -Dmanpage
=false
44 # The documentation build is not possible without introspection.
45 # Also, the documentation built during the 64-bit build is enough.
46 CONFIGURE_OPTIONS
.32 += -Dgtk_doc
=false
47 # There is neither libgcrypt nor gnutls with 32-bit support
48 CONFIGURE_OPTIONS
.32 += -Dcrypto
=disabled
50 # Drop 32-bit binaries
51 COMPONENT_POST_INSTALL_ACTION
.32 += $(RM
) -r
$(PROTOUSRBINDIR32
) ;
52 # Drop include and locale files created during the 32-bit build. The 64-bit
53 # build produces same files at the same location so we will use those.
54 COMPONENT_POST_INSTALL_ACTION
.32 += $(RM
) -r
$(PROTOUSRINCDIR
) ;
55 COMPONENT_POST_INSTALL_ACTION
.32 += $(RM
) -r
$(PROTOUSRSHARELOCALEDIR
) ;
57 # Testing needs an X server
58 TEST_REQUIRED_PACKAGES
+= x11
/server
/xvfb
59 COMPONENT_PRE_TEST_ACTION
+= /usr
/bin
/Xvfb
:0 >/dev
/null
2>&1 &
60 COMPONENT_TEST_ENV
+= DISPLAY
=:0
61 COMPONENT_POST_TEST_ACTION
+= /usr
/bin
/pkill
-x Xvfb
;
63 # Some tests are using mlock(3c) and expects it to pass. Since mlock() is
64 # restricted function in illumos we need to make sure the additional privileges
66 COMPONENT_PRE_TEST_ACTION
+= \
67 /usr
/bin
/ppriv
$$$$ |
$(GNU_GREP
) -q
'E:.*proc_lock_memory' ||
( \
68 /usr
/bin
/printf
'\nERROR: The proc_lock_memory privilege is needed!!!\n\n' ; \
69 /usr
/bin
/printf
'Use\n\n\tusermod -K defaultpriv=basic,%s %s\n' \
70 'proc_lock_memory' '$(shell /usr/bin/id -u -n)' ; \
71 /usr
/bin
/printf
'\nto grant the required privileges.\n\n' ; \
74 # Manually added dependencies
75 REQUIRED_PACKAGES
+= developer
/vala
76 REQUIRED_PACKAGES
+= library
/desktop
/gobject
/gobject-introspection
78 # Auto-generated dependencies
79 REQUIRED_PACKAGES
+= library
/glib2
80 REQUIRED_PACKAGES
+= library
/glib2
/32
81 REQUIRED_PACKAGES
+= system
/library
82 REQUIRED_PACKAGES
+= system
/library
/security
/libgcrypt