mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-20 08:27:15 +00:00
x11-themes/slim-themes: fix invalid option definitions
Defining PORT_OPTIONS directly, especially after makefile fragment inclusions, is not valid and results in missing options values (yet masked when they are evaluated later after they are needed). Rework the automagic to function as intended with the exception of removing the redundant and potentially misleading "ALL_THEMES" option. All the themes are already set on by default and to change that required the extra step of unchecking ALL_THEMES (without doing so still resulted in all being selected even when options are unchecked which is confusing). Finally, use the option framework to enforce one choice with MULTI option rather than roll-your-own logic. PR: 211569 Approved by: maintainer timeout Discovered by: Synth sanity check failure
This commit is contained in:
parent
ee0c1f2e36
commit
28823d803c
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=420386
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= slim-themes
|
||||
PORTVERSION= 1.0.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= x11-themes
|
||||
MASTER_SITES= http://dist.codelabs.ru/fbsd/ports/slim-themes/:new_themes \
|
||||
http://dist.codelabs.ru/fbsd/ports/slim-themes/:old_themes \
|
||||
@ -12,11 +13,6 @@ DISTFILES=
|
||||
MAINTAINER= rea@FreeBSD.org
|
||||
COMMENT= Theme pack for SLiM login app
|
||||
|
||||
# But that's not all, see below.
|
||||
OPTIONS_DEFINE= ALL_THEMES
|
||||
OPTIONS_DEFAULT= ALL_THEMES
|
||||
ALL_THEMES_DESC= Include all themes
|
||||
|
||||
NO_BUILD= yes
|
||||
NO_WRKSUBDIR= yes
|
||||
SHAREMODE= 644
|
||||
@ -24,6 +20,11 @@ THEMEDIR_REL= share/slim/themes
|
||||
THEMEDIR= ${PREFIX}/${THEMEDIR_REL}
|
||||
PLIST_SUB+= THEMEDIR=${THEMEDIR_REL}
|
||||
|
||||
OPTIONS_DEFINE= # empty
|
||||
OPTIONS_MULTI= THEME # enforces at least one choice
|
||||
OPTIONS_SUB= yes
|
||||
THEME_DESC= Available SLiM Themes
|
||||
|
||||
# Format is 'variable name%description%archive name%unpacked dir%dest
|
||||
# dir%master site tag'
|
||||
# I am substituting ' ' -> '+' because make in 6.x isn't able to properly
|
||||
@ -67,34 +68,23 @@ ${n}_DIST:= ${d}:${mtag}
|
||||
.endif
|
||||
${n}_SDIR:= ${sdir}
|
||||
${n}_DDIR:= ${ddir}
|
||||
OPTIONS_DEFINE:= ${OPTIONS_DEFINE} ${n}
|
||||
OPTIONS_MULTI_THEME:= ${OPTIONS_MULTI_THEME} ${n}
|
||||
A+= ${n}
|
||||
${n}_DESC:= ${desc}
|
||||
NEWTHEMES:= ${ALLTHEMES} ${n}
|
||||
ALLTHEMES:= ${NEWTHEMES}
|
||||
.endfor # t in ${THEMELIST}
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
OPTIONS_DEFAULT= ${OPTIONS_MULTI_THEME}
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.for n in ${ALLTHEMES}
|
||||
.if ${PORT_OPTIONS:MALL_THEMES} || ${PORT_OPTIONS:M${n}}
|
||||
.if ! ${PORT_OPTIONS:M${n}}
|
||||
PORT_OPTIONS+= ${n}
|
||||
.endif
|
||||
. if ${PORT_OPTIONS:M${n}}
|
||||
NEWDISTFILES:= ${DISTFILES} ${${n}_DIST}
|
||||
DISTFILES:= ${NEWDISTFILES}
|
||||
SEEN_THEMES= yes
|
||||
NEWPLIST_SUB:= ${PLIST_SUB} ${n}=""
|
||||
PLIST_SUB:= ${NEWPLIST_SUB}
|
||||
.else
|
||||
NEWPLIST_SUB:= ${PLIST_SUB} ${n}="@comment "
|
||||
PLIST_SUB:= ${NEWPLIST_SUB}
|
||||
.endif # ${PORT_OPTIONS:MALL_THEMES} || ${PORT_OPTIONS:M${n}}
|
||||
.endfor # n in ${THEMELIST}
|
||||
|
||||
.if !defined(SEEN_THEMES)
|
||||
IGNORE= at least one theme must be selected
|
||||
.endif
|
||||
. endif
|
||||
.endfor
|
||||
|
||||
.if ${PORT_OPTIONS:MPARALLEL_DIMS}
|
||||
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-parallel-dimensions-slim.theme
|
||||
@ -114,4 +104,4 @@ do-install:
|
||||
.endif # ${PORT_OPTIONS:M${n}}
|
||||
.endfor # t in ${THEMELIST}
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
.include <bsd.port.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user