diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2025-05-08 01:52:50 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2025-05-08 01:52:50 +0000 |
commit | 7a62e423dcb89a620d07cdca43c01f06c110c33c (patch) | |
tree | 36f87fbd4dfd6a9192c7c3e7c9393ea880d7d700 | |
parent | devel/ruby-build: Update to 20250507 (diff) |
misc/flag-icons: supply three flag decoration flavors
- Add 16px height missing from the initial check-in
- Factor out common shell code into simple() function
and feed it with specifics; rounded() is special as
it does more complicated image transformations
Diffstat (limited to '')
-rw-r--r-- | misc/flag-icons/Makefile | 11 | ||||
-rw-r--r-- | misc/flag-icons/files/makeflags.sh | 36 | ||||
-rw-r--r-- | misc/flag-icons/pkg-descr | 2 |
3 files changed, 43 insertions, 6 deletions
diff --git a/misc/flag-icons/Makefile b/misc/flag-icons/Makefile index 39b9a896c51f..21cf09b196fc 100644 --- a/misc/flag-icons/Makefile +++ b/misc/flag-icons/Makefile @@ -19,12 +19,17 @@ NO_ARCH= yes NO_INSTALL= yes FLAGS_TOPDIR= ${PREFIX}/share/icons/${PORTNAME} -FLAG_SIZES= 24 32 48 64 96 128 192 256 # 512 adds 27MB for .tbz package +FLAG_SIZES= 16 24 32 48 64 96 128 192 256 # 512 adds 25+ MB for .tbz package + +FLAVORS= plain bordered rounded + +.if ${FLAVOR:U:Nplain} +PKGNAMESUFFIX= -${FLAVOR} +.endif -# TODO: add bordered and plain versions maybe? do-build: cd ${BUILD_WRKSRC}/flags && ${SH} ${FILESDIR}/makeflags.sh \ - rounded_corners ${STAGEDIR}${FLAGS_TOPDIR}/rounded ${FLAG_SIZES} + ${FLAVOR} ${STAGEDIR}${FLAGS_TOPDIR}/${FLAVOR} ${FLAG_SIZES} post-stage: cd ${STAGEDIR}${PREFIX} && ${FIND} share -type f >> ${TMPPLIST} diff --git a/misc/flag-icons/files/makeflags.sh b/misc/flag-icons/files/makeflags.sh index ea16f8edd252..160212b7c673 100644 --- a/misc/flag-icons/files/makeflags.sh +++ b/misc/flag-icons/files/makeflags.sh @@ -1,5 +1,37 @@ +simple() +{ + local comment convert_extra_args destdir height ratio subdir t0 width + + comment=$1; convert_extra_args=$2; destdir=$3; shift 3 + + for subdir in ?x?; do + ratio=${subdir%x*}/${subdir#*x} + for height; do + width=$((height * $ratio)) + mkdir -p "$destdir/${width}x${height}" + echo -n "Generating $comment flags ${width}x${height}... " + t0=$(date +%s) + for flag in $subdir/*.svg; do + convert -resize ${width}x${height} $convert_extra_args \ + "$flag" "$destdir/${width}x${height}/$(basename "$flag" svg)png" + done + echo "finished in $(date -ur $((`date +%s`-t0)) +%M:%S)" + done + done +} + +plain() +{ + simple undecorated -strip "$@" +} + +bordered() +{ + simple black-bordered '-shave 1x1 -bordercolor black -border 1 -strip' "$@" +} + # https://joeldare.com/rounding-image-corners-with-imagemagick -rounded_corners() +rounded() { local destdir height mask radius ratio subdir t0 width @@ -18,7 +50,7 @@ rounded_corners() mkdir -p "$destdir/${width}x${height}" - echo -n "Generating flags ${width}x${height}... " + echo -n "Generating rounded corner flags ${width}x${height}... " t0=$(date +%s) for flag in $subdir/*.svg; do convert -resize ${width}x${height} \ diff --git a/misc/flag-icons/pkg-descr b/misc/flag-icons/pkg-descr index 7b0c5c3dd950..c1cedd032cda 100644 --- a/misc/flag-icons/pkg-descr +++ b/misc/flag-icons/pkg-descr @@ -1,2 +1,2 @@ A curated collection of all country flags in 4x3 and 1x1 formats -converted from SVG to PNG for various sizes, from 24px to 256px. +converted from SVG to PNG for various sizes, from 16px to 256px. |