Changeset View
Changeset View
Standalone View
Standalone View
Mk/bsd.sites.mk
Show First 20 Lines • Show All 261 Lines • ▼ Show 20 Lines | |||||
# GH_PROJECT - name of the project on GitHub | # GH_PROJECT - name of the project on GitHub | ||||
# default: ${PORTNAME} | # default: ${PORTNAME} | ||||
# | # | ||||
# GH_TAGNAME - name of the tag to download (2.0.1, hash, ...) | # GH_TAGNAME - name of the tag to download (2.0.1, hash, ...) | ||||
# Using the name of a branch here is incorrect. It is | # Using the name of a branch here is incorrect. It is | ||||
# possible to do GH_TAGNAME= GIT_HASH to do a snapshot. | # possible to do GH_TAGNAME= GIT_HASH to do a snapshot. | ||||
# default: ${DISTVERSIONFULL} | # default: ${DISTVERSIONFULL} | ||||
# | # | ||||
# GH_ASSET - name of the release asset | |||||
# default: none | |||||
# When specified, it will be used as DISTFILES and | |||||
# they will be retrieved from the release asset directory. | |||||
# The URL for the release asset directory is defined in | |||||
# MASTER_SITE_GITHUB_ASSET. | |||||
# | |||||
# GH_SUBDIR - directory relative to WRKSRC where to move this distfile's | # GH_SUBDIR - directory relative to WRKSRC where to move this distfile's | ||||
# content after extracting. | # content after extracting. | ||||
# | # | ||||
# GH_TUPLE - above shortened to account:project:tagname[:group][/subdir] | # GH_TUPLE - above shortened to account:project:tagname[:group][/subdir] | ||||
# | # | ||||
. if defined(USE_GITHUB) | . if defined(USE_GITHUB) | ||||
. if defined(GH_TAGNAME) && ${GH_TAGNAME} == master | . if defined(GH_TAGNAME) && ${GH_TAGNAME} == master | ||||
IGNORE?= Using master as GH_TAGNAME is invalid. \ | IGNORE?= Using master as GH_TAGNAME is invalid. \ | ||||
Show All 14 Lines | |||||
GH_PROJECT+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\2\4@} | GH_PROJECT+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\2\4@} | ||||
GH_TAGNAME+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\3\4@} | GH_TAGNAME+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\3\4@} | ||||
GH_SUBDIR+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\6\4@:M/*:S/^\///} | GH_SUBDIR+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\6\4@:M/*:S/^\///} | ||||
. endif | . endif | ||||
# We are cheating and using backend URLS for GitHub here. See ports/194898 | # We are cheating and using backend URLS for GitHub here. See ports/194898 | ||||
# comment #15 for explanation as to why and how to deal with it if it breaks. | # comment #15 for explanation as to why and how to deal with it if it breaks. | ||||
MASTER_SITE_GITHUB+= https://codeload.github.com/%SUBDIR% | MASTER_SITE_GITHUB+= https://codeload.github.com/%SUBDIR% | ||||
MASTER_SITE_GITHUB_CLOUD+= https://cloud.github.com/downloads/%SUBDIR% | MASTER_SITE_GITHUB_CLOUD+= https://cloud.github.com/downloads/%SUBDIR% | ||||
MASTER_SITE_GITHUB_ASSET+= https://github.com/%SUBDIR% | |||||
. if !defined(MASTER_SITES) || !${MASTER_SITES:MGH} && !${MASTER_SITES:MGHC} && !${USE_GITHUB:Mnodefault} | . if !defined(MASTER_SITES) || \ | ||||
!${MASTER_SITES:MGH} && !${MASTER_SITES:MGHC} && \ | |||||
!${MASTER_SITES:MGHA} && !${USE_GITHUB:Mnodefault} | |||||
. if empty(GH_ASSET) | |||||
MASTER_SITES+= GH | MASTER_SITES+= GH | ||||
. else | |||||
MASTER_SITES+= GHA | |||||
. endif | . endif | ||||
. endif | |||||
GH_ACCOUNT_DEFAULT= ${PORTNAME} | GH_ACCOUNT_DEFAULT= ${PORTNAME} | ||||
GH_ACCOUNT?= ${GH_ACCOUNT_DEFAULT} | GH_ACCOUNT?= ${GH_ACCOUNT_DEFAULT} | ||||
GH_PROJECT_DEFAULT= ${PORTNAME} | GH_PROJECT_DEFAULT= ${PORTNAME} | ||||
GH_PROJECT?= ${GH_PROJECT_DEFAULT} | GH_PROJECT?= ${GH_PROJECT_DEFAULT} | ||||
# Use full PREFIX/SUFFIX and converted DISTVERSION | # Use full PREFIX/SUFFIX and converted DISTVERSION | ||||
GH_TAGNAME_DEFAULT= ${DISTVERSIONFULL} | GH_TAGNAME_DEFAULT= ${DISTVERSIONFULL} | ||||
GH_TAGNAME?= ${GH_TAGNAME_DEFAULT} | GH_TAGNAME?= ${GH_TAGNAME_DEFAULT} | ||||
# Iterate over GH_ACCOUNT, GH_PROJECT, GH_TAGNAME and GH_SUBDIR to extract groups | # Iterate over GH_ACCOUNT, GH_PROJECT, GH_TAGNAME, GH_SUBDIR, | ||||
# and GH_ASSET to extract groups | |||||
_GITHUB_GROUPS= DEFAULT | _GITHUB_GROUPS= DEFAULT | ||||
. for _gh_v in GH_ACCOUNT GH_PROJECT GH_TAGNAME GH_SUBDIR | . for _gh_v in GH_ACCOUNT GH_PROJECT GH_TAGNAME GH_SUBDIR GH_ASSET | ||||
. for _v_ex in ${${_gh_v}} | . for _v_ex in ${${_gh_v}} | ||||
_GH_GROUPS= ${_v_ex:S/^${_v_ex:C@:[^/:]+$@@}//:S/^://} | _GH_GROUPS= ${_v_ex:S/^${_v_ex:C@:[^/:]+$@@}//:S/^://} | ||||
. if !empty(_GH_GROUPS) | . if !empty(_GH_GROUPS) | ||||
. for _group in ${_GH_GROUPS:S/,/ /g} | . for _group in ${_GH_GROUPS:S/,/ /g} | ||||
. if ${_group} == all || ${_group} == ALL || ${_group} == default | . if ${_group} == all || ${_group} == ALL || ${_group} == default | ||||
check-makevars:: | check-makevars:: | ||||
@${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" | @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" | ||||
@${ECHO_MSG} "used in group definitions. Please fix your ${_gh_v}" | @${ECHO_MSG} "used in group definitions. Please fix your ${_gh_v}" | ||||
Show All 10 Lines | |||||
. endfor | . endfor | ||||
. endfor | . endfor | ||||
# Put the default values back into the variables so that the *default* behavior | # Put the default values back into the variables so that the *default* behavior | ||||
# is not changed. | # is not changed. | ||||
GH_ACCOUNT:= ${GH_ACCOUNT_DEFAULT} | GH_ACCOUNT:= ${GH_ACCOUNT_DEFAULT} | ||||
GH_PROJECT:= ${GH_PROJECT_DEFAULT} | GH_PROJECT:= ${GH_PROJECT_DEFAULT} | ||||
GH_TAGNAME:= ${GH_TAGNAME_DEFAULT} | GH_TAGNAME:= ${GH_TAGNAME_DEFAULT} | ||||
GH_SUBDIR:= ${GH_SUBDIR_DEFAULT} | GH_SUBDIR:= ${GH_SUBDIR_DEFAULT} | ||||
GH_ASSET:= ${GH_ASSET_DEFAULT} | |||||
. if defined(GH_TAGNAME) | . if defined(GH_TAGNAME) | ||||
# If you change either of the _SANITIZED or _EXTRACT variables, please keep the | # If you change either of the _SANITIZED or _EXTRACT variables, please keep the | ||||
# changes in sync with the GH_TAGNAME_${_group}_* variables 50 lines below. | # changes in sync with the GH_TAGNAME_${_group}_* variables 50 lines below. | ||||
GH_TAGNAME_SANITIZED= ${GH_TAGNAME:S,/,-,g} | GH_TAGNAME_SANITIZED= ${GH_TAGNAME:S,/,-,g} | ||||
# GitHub silently converts tags starting with v to not have v in the filename | # GitHub silently converts tags starting with v to not have v in the filename | ||||
# and extraction directory. It also replaces + with -. | # and extraction directory. It also replaces + with -. | ||||
GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g:C/--*/-/g} | GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g:C/--*/-/g} | ||||
. endif | . endif | ||||
# This new scheme rerolls distfiles. Also ensure they are renamed to avoid | # This new scheme rerolls distfiles. Also ensure they are renamed to avoid | ||||
# conflicts. Use _GITHUB_REV in case github changes their zipping or structure | # conflicts. Use _GITHUB_REV in case github changes their zipping or structure | ||||
# which has happened before. | # which has happened before. | ||||
_GITHUB_REV= 0 | _GITHUB_REV= 0 | ||||
_GITHUB_EXTRACT_SUFX= .tar.gz | _GITHUB_EXTRACT_SUFX= .tar.gz | ||||
# Put the DEFAULT distfile first | # Put the DEFAULT distfile first | ||||
_GITHUB_CLONE_DIR?= ${WRKDIR}/git-clone | _GITHUB_CLONE_DIR?= ${WRKDIR}/git-clone | ||||
_PORTS_DIRECTORIES+= ${_GITHUB_CLONE_DIR} | _PORTS_DIRECTORIES+= ${_GITHUB_CLONE_DIR} | ||||
. if !${USE_GITHUB:Mnodefault} && empty(MASTER_SITES:MGHC) | . if !${USE_GITHUB:Mnodefault} && empty(MASTER_SITES:MGHC) | ||||
# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice | . if !empty(GH_ASSET) | ||||
DISTNAME_DEFAULT:= ${DISTNAME} | |||||
DISTFILE_DEFAULT= ${GH_ASSET} | |||||
WRKSRC:= ${WRKDIR}/${DISTNAME_DEFAULT} | |||||
. else | |||||
. if ${GH_TAGNAME} != ${DISTVERSIONFULL} | . if ${GH_TAGNAME} != ${DISTVERSIONFULL} | ||||
# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice | |||||
DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED} | DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED} | ||||
. else | . else | ||||
DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED} | DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED} | ||||
. endif | . endif | ||||
DISTNAME_DEFAULT:= ${DISTNAME}_GH${_GITHUB_REV} | DISTNAME_DEFAULT:= ${DISTNAME}_GH${_GITHUB_REV} | ||||
DISTFILE_DEFAULT= ${DISTNAME_DEFAULT}${_GITHUB_EXTRACT_SUFX} | DISTFILE_DEFAULT= ${DISTNAME_DEFAULT}${_GITHUB_EXTRACT_SUFX} | ||||
. endif | |||||
DISTNAME:= ${DISTNAME_DEFAULT} | DISTNAME:= ${DISTNAME_DEFAULT} | ||||
DISTFILES+= ${DISTFILE_DEFAULT} | DISTFILES+= ${DISTFILE_DEFAULT} | ||||
git-clone: git-clone-DEFAULT | git-clone: git-clone-DEFAULT | ||||
. if !empty(GH_ASSET) | |||||
git-clone-DEFAULT: ${_GITHUB_CLONE_DIR} | git-clone-DEFAULT: ${_GITHUB_CLONE_DIR} | ||||
@git clone https://github.com/${GH_ACCOUNT_DEFAULT}/${GH_PROJECT_DEFAULT}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_DEFAULT} | @git clone https://github.com/${GH_ACCOUNT_DEFAULT}/${GH_PROJECT_DEFAULT}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_DEFAULT} | ||||
@${ECHO_MSG} "Cloned the default github repository into ${_GITHUB_CLONE_DIR}/${GH_PROJECT_DEFAULT}" | ${FMT_80} | @${ECHO_MSG} "Cloned the default github repository into ${_GITHUB_CLONE_DIR}/${GH_PROJECT_DEFAULT}" | ${FMT_80} | ||||
. else | |||||
git-clone-DEFAULT: | |||||
@${DO_NADA} | |||||
. endif | . endif | ||||
. endif | |||||
. if !empty(GH_SUBDIR) | . if !empty(GH_SUBDIR) | ||||
_SITES_extract:= 690:post-extract-gh-DEFAULT | _SITES_extract:= 690:post-extract-gh-DEFAULT | ||||
post-extract-gh-DEFAULT: | post-extract-gh-DEFAULT: | ||||
@${RMDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT} 2>/dev/null || : | @${RMDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT} 2>/dev/null || : | ||||
@${MKDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT:H} 2>/dev/null || : | @${MKDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT:H} 2>/dev/null || : | ||||
@${LN} -s ${GH_SUBDIR_DEFAULT:C/[^\/]//g:C/\//..\//g:S/^$/./} ${WRKSRC}/${GH_SUBDIR_DEFAULT} | @${LN} -s ${GH_SUBDIR_DEFAULT:C/[^\/]//g:C/\//..\//g:S/^$/./} ${WRKSRC}/${GH_SUBDIR_DEFAULT} | ||||
. endif | . endif | ||||
# If there are non default groups | # If there are non default groups | ||||
. if !empty(_GITHUB_GROUPS:NDEFAULT) | . if !empty(_GITHUB_GROUPS:NDEFAULT) | ||||
# Then for each of the remaining groups, add DISTFILES and MASTER_SITES | # Then for each of the remaining groups, add DISTFILES and MASTER_SITES | ||||
# entries with the correct group and create {WRKSRC,DISTNAME,DISTFILES}_group | # entries with the correct group and create {WRKSRC,DISTNAME,DISTFILES}_group | ||||
# helper variables. | # helper variables. | ||||
. for _group in ${_GITHUB_GROUPS:NDEFAULT} | . for _group in ${_GITHUB_GROUPS:NDEFAULT} | ||||
GH_ACCOUNT_${_group}?= ${GH_ACCOUNT_DEFAULT} | GH_ACCOUNT_${_group}?= ${GH_ACCOUNT_DEFAULT} | ||||
GH_PROJECT_${_group}?= ${GH_PROJECT_DEFAULT} | GH_PROJECT_${_group}?= ${GH_PROJECT_DEFAULT} | ||||
GH_TAGNAME_${_group}?= ${GH_TAGNAME_DEFAULT} | GH_TAGNAME_${_group}?= ${GH_TAGNAME_DEFAULT} | ||||
GH_ASSET_${_group}?= ${GH_ASSET_DEFAULT} | |||||
# If you change either of the _SANITIZED or _EXTRACT variables, please keep the | # If you change either of the _SANITIZED or _EXTRACT variables, please keep the | ||||
# changes in sync with the GH_TAGNAME_* variables 50 lines above. | # changes in sync with the GH_TAGNAME_* variables 50 lines above. | ||||
GH_TAGNAME_${_group}_SANITIZED= ${GH_TAGNAME_${_group}:S,/,-,g} | GH_TAGNAME_${_group}_SANITIZED= ${GH_TAGNAME_${_group}:S,/,-,g} | ||||
GH_TAGNAME_${_group}_EXTRACT= ${GH_TAGNAME_${_group}_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g:C/--*/-/g} | GH_TAGNAME_${_group}_EXTRACT= ${GH_TAGNAME_${_group}_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g:C/--*/-/g} | ||||
_GH_TUPLE_OUT:= ${_GH_TUPLE_OUT} ${GH_ACCOUNT_${_group}}:${GH_PROJECT_${_group}}:${GH_TAGNAME_${_group}}:${_group}/${GH_SUBDIR_${_group}} | _GH_TUPLE_OUT:= ${_GH_TUPLE_OUT} ${GH_ACCOUNT_${_group}}:${GH_PROJECT_${_group}}:${GH_TAGNAME_${_group}}:${_group}/${GH_SUBDIR_${_group}} | ||||
. if empty(GH_ASSET_${_group}) | |||||
DISTNAME_${_group}:= ${GH_ACCOUNT_${_group}}-${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_SANITIZED} | DISTNAME_${_group}:= ${GH_ACCOUNT_${_group}}-${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_SANITIZED} | ||||
DISTFILE_${_group}:= ${DISTNAME_${_group}}_GH${_GITHUB_REV}${_GITHUB_EXTRACT_SUFX} | DISTFILE_${_group}:= ${DISTNAME_${_group}}_GH${_GITHUB_REV}${_GITHUB_EXTRACT_SUFX} | ||||
DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}}:${_group} | DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}}:${_group} | ||||
MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/tar.gz/${GH_TAGNAME_${_group}}?dummy=/:${_group}@} | MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/tar.gz/${GH_TAGNAME_${_group}}?dummy=/:${_group}@} | ||||
WRKSRC_${_group}:= ${WRKDIR}/${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_EXTRACT} | WRKSRC_${_group}:= ${WRKDIR}/${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_EXTRACT} | ||||
. else | |||||
DISTNAME_${_group}:= ${GH_ASSET_${_group}:[1]:S|${EXTRACT_SUFX}$||} | |||||
DISTFILE_${_group}:= ${GH_ASSET_${_group}} | |||||
DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}:S/$/:${_group}/} | |||||
MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB_ASSET:S@%SUBDIR%@${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/releases/download/${GH_TAGNAME_${_group}}/:${_group}@} | |||||
WRKSRC_${_group}:= ${WRKDIR}/${DISTNAME_${_group}} | |||||
. endif | |||||
. if !empty(GH_SUBDIR_${_group}) | . if !empty(GH_SUBDIR_${_group}) | ||||
# In order to sort the subdir extraction so that foo/bar is moved in before | # In order to sort the subdir extraction so that foo/bar is moved in before | ||||
# foo/bar/baz, we count the number of / in the path and use it to order the | # foo/bar/baz, we count the number of / in the path and use it to order the | ||||
# targets. This handles up to 9 levels. The max as of r463123 is 4. | # targets. This handles up to 9 levels. The max as of r463123 is 4. | ||||
_SITES_extract:= ${_SITES_extract} 69${GH_SUBDIR_${_group}:C=[^/]+= =g:[#]}:post-extract-gh-${_group} | _SITES_extract:= ${_SITES_extract} 69${GH_SUBDIR_${_group}:C=[^/]+= =g:[#]}:post-extract-gh-${_group} | ||||
post-extract-gh-${_group}: | post-extract-gh-${_group}: | ||||
@${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || : | @${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || : | ||||
@${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || : | @${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || : | ||||
@${MV} ${WRKSRC_${_group}} ${WRKSRC}/${GH_SUBDIR_${_group}} | @${MV} ${WRKSRC_${_group}} ${WRKSRC}/${GH_SUBDIR_${_group}} | ||||
@${LN} -s ${WRKSRC:T}/${GH_SUBDIR_${_group}} ${WRKSRC_${_group}} | @${LN} -s ${WRKSRC:T}/${GH_SUBDIR_${_group}} ${WRKSRC_${_group}} | ||||
. endif | . endif | ||||
git-clone: git-clone-${_group} | git-clone: git-clone-${_group} | ||||
. if empty(GH_ASSET) | |||||
git-clone-${_group}: ${_GITHUB_CLONE_DIR} | git-clone-${_group}: ${_GITHUB_CLONE_DIR} | ||||
@git clone https://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}} | @git clone https://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}} | ||||
@${ECHO_MSG} "Cloned the ${_group} github repository into ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}}" | ${FMT_80} | @${ECHO_MSG} "Cloned the ${_group} github repository into ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}}" | ${FMT_80} | ||||
. else | |||||
git-clone-${_group}: | |||||
@${DO_NADA} | |||||
. endif | |||||
. endfor | . endfor | ||||
. endif | . endif | ||||
convert-to-gh-tuple: | convert-to-gh-tuple: | ||||
@${ECHO_MSG} ${GH_ACCOUNT}:${GH_PROJECT}:${GH_TAGNAME} ${_GH_TUPLE_OUT:S/\/$//} | @${ECHO_MSG} ${GH_ACCOUNT}:${GH_PROJECT}:${GH_TAGNAME} ${_GH_TUPLE_OUT:S/\/$//} | ||||
WWW?= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/ | WWW?= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/ | ||||
. endif # defined(USE_GITHUB) | . endif # defined(USE_GITHUB) | ||||
.endif # !defined(IGNORE_MASTER_SITE_GITHUB) | .endif # !defined(IGNORE_MASTER_SITE_GITHUB) | ||||
▲ Show 20 Lines • Show All 663 Lines • ▼ Show 20 Lines | MASTER_SITE_ZI+= \ | ||||
https://www.zi0r.com/mirrors/%SUBDIR%/ \ | https://www.zi0r.com/mirrors/%SUBDIR%/ \ | ||||
${MASTER_SITE_LOCAL:S/%SUBDIR%/zi/} | ${MASTER_SITE_LOCAL:S/%SUBDIR%/zi/} | ||||
.endif | .endif | ||||
# Macro magic | # Macro magic | ||||
MASTER_SITES_ABBREVS= CPAN:PERL_CPAN \ | MASTER_SITES_ABBREVS= CPAN:PERL_CPAN \ | ||||
GH:GITHUB \ | GH:GITHUB \ | ||||
GHA:GITHUB_ASSET \ | |||||
GHC:GITHUB_CLOUD \ | GHC:GITHUB_CLOUD \ | ||||
LODEV:LIBREOFFICE_DEV \ | LODEV:LIBREOFFICE_DEV \ | ||||
NL:NETLIB \ | NL:NETLIB \ | ||||
RG:RUBYGEMS \ | RG:RUBYGEMS \ | ||||
SF:SOURCEFORGE \ | SF:SOURCEFORGE \ | ||||
CHEESESHOP:PYPI | CHEESESHOP:PYPI | ||||
MASTER_SITES_SUBDIRS= APACHE_COMMONS_BINARIES:${PORTNAME:S,commons-,,} \ | MASTER_SITES_SUBDIRS= APACHE_COMMONS_BINARIES:${PORTNAME:S,commons-,,} \ | ||||
APACHE_COMMONS_SOURCE:${PORTNAME:S,commons-,,} \ | APACHE_COMMONS_SOURCE:${PORTNAME:S,commons-,,} \ | ||||
APACHE_JAKARTA:${PORTNAME:S,-,/,}/source \ | APACHE_JAKARTA:${PORTNAME:S,-,/,}/source \ | ||||
BERLIOS:${PORTNAME:tl}.berlios \ | BERLIOS:${PORTNAME:tl}.berlios \ | ||||
CRATESIO:${PORTNAME}/${DISTVERSIONFULL} \ | CRATESIO:${PORTNAME}/${DISTVERSIONFULL} \ | ||||
DEBIAN:pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME} \ | DEBIAN:pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME} \ | ||||
FARSIGHT:${PORTNAME} \ | FARSIGHT:${PORTNAME} \ | ||||
FESTIVAL:${PORTVERSION} \ | FESTIVAL:${PORTVERSION} \ | ||||
GCC:releases/${DISTNAME} \ | GCC:releases/${DISTNAME} \ | ||||
GENTOO:distfiles \ | GENTOO:distfiles \ | ||||
GIMP:${PORTNAME}/${PORTVERSION:R}/ \ | GIMP:${PORTNAME}/${PORTVERSION:R}/ \ | ||||
GITHUB:${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/ \ | GITHUB:${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/ \ | ||||
GITHUB_ASSET:${GH_ACCOUNT}/${GH_PROJECT}/releases/download/${GH_TAGNAME}/ \ | |||||
GITHUB_CLOUD:${GH_ACCOUNT}/${GH_PROJECT}/ \ | GITHUB_CLOUD:${GH_ACCOUNT}/${GH_PROJECT}/ \ | ||||
GNOME:sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \ | GNOME:sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \ | ||||
GNU:${PORTNAME} \ | GNU:${PORTNAME} \ | ||||
GNUPG:${PORTNAME} \ | GNUPG:${PORTNAME} \ | ||||
GNU_ALPHA:${PORTNAME} \ | GNU_ALPHA:${PORTNAME} \ | ||||
HORDE:${PORTNAME} \ | HORDE:${PORTNAME} \ | ||||
LIBREOFFICE_DEV:${PORTNAME} \ | LIBREOFFICE_DEV:${PORTNAME} \ | ||||
MATE:${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \ | MATE:${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \ | ||||
▲ Show 20 Lines • Show All 95 Lines • Show Last 20 Lines |