pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mk/fetch



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Wed Jul 22 15:06:51 UTC 2026

Modified Files:
        pkgsrc/mk/fetch: bsd.fetch-vars.mk bsd.fetch.mk sites.mk
Added Files:
        pkgsrc/mk/fetch: codeberg.mk

Log Message:
mk/fetch: Add codeberg.org project support


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 pkgsrc/mk/fetch/bsd.fetch-vars.mk
cvs rdiff -u -r1.11 -r1.12 pkgsrc/mk/fetch/bsd.fetch.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/mk/fetch/codeberg.mk
cvs rdiff -u -r1.203 -r1.204 pkgsrc/mk/fetch/sites.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/mk/fetch/bsd.fetch-vars.mk
diff -u pkgsrc/mk/fetch/bsd.fetch-vars.mk:1.29 pkgsrc/mk/fetch/bsd.fetch-vars.mk:1.30
--- pkgsrc/mk/fetch/bsd.fetch-vars.mk:1.29      Tue Oct 22 06:29:21 2024
+++ pkgsrc/mk/fetch/bsd.fetch-vars.mk   Wed Jul 22 15:06:51 2026
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.fetch-vars.mk,v 1.29 2024/10/22 06:29:21 jperkin Exp $
+# $NetBSD: bsd.fetch-vars.mk,v 1.30 2026/07/22 15:06:51 ryoon Exp $
 #
 # This Makefile fragment is included separately by bsd.pkg.mk and
 # defines some variables which must be defined earlier than where
@@ -77,6 +77,12 @@ DISTFILES+=                  ${_GITLAB_SM_USER}-${_GITL
 .  endfor
 .endif
 
+.if !empty(CODEBERG_SUBMODULES)
+.  for _CODEBERG_SM_USER _CODEBERG_SM_PROJECT _CODEBERG_SM_TAG _CODEBERG_SM_PLACE in ${CODEBERG_SUBMODULES}
+DISTFILES+=                    ${_CODEBERG_SM_USER}-${_CODEBERG_SM_PROJECT}-${_CODEBERG_SM_TAG}${EXTRACT_SUFX}
+.  endfor
+.endif
+
 # File lists, defined early to allow tool dependencies.
 ALLFILES?=     ${DISTFILES} ${PATCHFILES}
 ALLFILES:=     ${ALLFILES:O:u}         # remove duplicates

Index: pkgsrc/mk/fetch/bsd.fetch.mk
diff -u pkgsrc/mk/fetch/bsd.fetch.mk:1.11 pkgsrc/mk/fetch/bsd.fetch.mk:1.12
--- pkgsrc/mk/fetch/bsd.fetch.mk:1.11   Mon May 23 21:45:45 2022
+++ pkgsrc/mk/fetch/bsd.fetch.mk        Wed Jul 22 15:06:51 2026
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.fetch.mk,v 1.11 2022/05/23 21:45:45 nikita Exp $
+# $NetBSD: bsd.fetch.mk,v 1.12 2026/07/22 15:06:51 ryoon Exp $
 #
 # This Makefile fragment is included by bsd.pkg.mk and defines the
 # relevant variables and targets for the "fetch" step.
@@ -40,4 +40,5 @@
 .include "distclean.mk"
 .include "github.mk"
 .include "gitlab.mk"
+.include "codeberg.mk"
 .include "pypi.mk"

Index: pkgsrc/mk/fetch/sites.mk
diff -u pkgsrc/mk/fetch/sites.mk:1.203 pkgsrc/mk/fetch/sites.mk:1.204
--- pkgsrc/mk/fetch/sites.mk:1.203      Wed Jun  3 09:06:11 2026
+++ pkgsrc/mk/fetch/sites.mk    Wed Jul 22 15:06:51 2026
@@ -1,4 +1,4 @@
-# $NetBSD: sites.mk,v 1.203 2026/06/03 09:06:11 adam Exp $
+# $NetBSD: sites.mk,v 1.204 2026/07/22 15:06:51 ryoon Exp $
 #
 # This Makefile fragment defines read-only MASTER_SITE_* variables
 # representing some well-known master distribution sites for software.
@@ -22,6 +22,9 @@ MASTER_SITE_GITHUB+=    \
 MASTER_SITE_GITLAB+=   \
        https://gitlab.com/
 
+MASTER_SITE_CODEBERG+=    \
+       https://codeberg.org/
+
 MASTER_SITE_GNUSTEP+=   \
        ftp://ftp.gnustep.org/pub/gnustep/
 

Added files:

Index: pkgsrc/mk/fetch/codeberg.mk
diff -u /dev/null pkgsrc/mk/fetch/codeberg.mk:1.1
--- /dev/null   Wed Jul 22 15:06:51 2026
+++ pkgsrc/mk/fetch/codeberg.mk Wed Jul 22 15:06:51 2026
@@ -0,0 +1,96 @@
+# $NetBSD: codeberg.mk,v 1.1 2026/07/22 15:06:51 ryoon Exp $
+#
+# codeberg.org master site handling
+#
+# To use, set in Makefile:
+#
+# DISTNAME=    exampleproject-1.2
+# MASTER_SITES=        ${MASTER_SITE_CODEBERG:=accountname/}
+#
+# The following variables alter codeberg.mk behavior:
+#
+# CODEBERG_PROJECT     defaults to PKGBASE
+# CODEBERG_TAG         defaults to PKGVERSION_NOREV
+#                      sometimes you want to override with v${PKGVERSION_NOREV}
+#                      SHA-1 commit ids are also acceptable
+# CODEBERG_RELEASE     defaults to not defined, set this to ${DISTNAME}
+#                      when packaging a release not based on a git tag.
+# CODEBERG_SUBMODULES  manually set submodule information:
+#                      values should be:
+#                      Codeberg_user Codeberg_project tag_or_hash submodule_path
+# CODEBERG_TYPE                overrides the autodetected MASTER_SITE URL scheme:
+#
+# "tag"
+# This is the default when CODEBERG_RELEASE is not defined. Example URL:
+# http://codeberg.org/acct/${CODEBERG_PROJECT}/archive/{CODEBERG_TAG}.tar.gz
+#
+# "release"
+# This is the default when CODEBERG_RELEASE is set. Example URL:
+# http://codeberg.org/acct/${CODEBERG_PROJECT}/releases/download/${CODEBERG_RELEASE}/${DISTNAME}.tar.gz
+#
+# Keywords: codeberg
+
+.if defined(MASTER_SITES) && !empty(MASTER_SITES:C,^https\://codeberg.org/[-a-zA-Z0-9]*/$,match,:Mmatch)
+_USE_CODEBERG=         YES
+.endif
+
+.if (defined(CODEBERG_TAG) || defined(CODEBERG_RELEASE)) && !defined(_USE_CODEBERG)
+PKG_FAIL_REASON+=      "MASTER_SITES must match https://codeberg.org/account/"; \
+                       "when CODEBERG_TAG or CODEBERG_RELEASE is in use."              \
+                       "For more information: make help topic=codeberg"
+.endif
+
+.if defined(_USE_CODEBERG) && !empty(_USE_CODEBERG:M[yY][eE][sS])
+
+CODEBERG_PROJECT?=     ${PKGBASE}
+CODEBERG_TAG?=         ${PKGVERSION_NOREV}
+
+.  if !empty(CODEBERG_TAG:Mmaster) || !empty(CODEBERG_TAG:Mmain)
+PKG_FAIL_REASON+=      "main (or master) is not a valid tag name; use an explicit commit hash or a tag, not a branch"
+.  endif
+
+.  if !defined(CODEBERG_TYPE)
+.    if defined(CODEBERG_RELEASE) && !empty(CODEBERG_RELEASE)
+CODEBERG_TYPE= release
+.    else
+CODEBERG_TYPE= tag
+.    endif
+.  endif
+
+.  if !empty(CODEBERG_TYPE:Mtag) && !empty(CODEBERG_TAG:M[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]*)
+# If the codeberg tag is a git hash (7 or more hex digits), encode it in the
+# distfile name.
+_CODEBERG_DEFAULT_DISTFILES=   ${DISTNAME}-${CODEBERG_TAG}${EXTRACT_SUFX}
+.  else
+_CODEBERG_DEFAULT_DISTFILES=   ${DISTNAME}${EXTRACT_SUFX}
+.  endif
+
+.  if !empty(CODEBERG_TYPE:Mrelease)
+SITES.${_CODEBERG_DEFAULT_DISTFILES}=  ${MASTER_SITES:=${CODEBERG_PROJECT}/releases/download/${CODEBERG_RELEASE}/}
+.  endif
+
+.  if !empty(CODEBERG_TYPE:Mtag)
+SITES.${_CODEBERG_DEFAULT_DISTFILES}=  -${MASTER_SITES:=${CODEBERG_PROJECT}/archive/${CODEBERG_TAG}${EXTRACT_SUFX}}
+.  endif
+
+.endif
+
+.for user project tag place in ${CODEBERG_SUBMODULES}
+.  for distfile in ${user}-${project}-${tag}${EXTRACT_SUFX}
+_CODEBERG_DEFAULT_DISTFILES+=  ${distfile}
+SITES.${distfile}=             -${MASTER_SITE_CODEBERG:=${user}/${project}/archive/${tag}${EXTRACT_SUFX}}
+EXTRACT_DIR.${distfile}=       ${WRKSRC}/${place}
+EXTRACT_OPTS_TAR.${distfile}=  --strip-components=1
+.  endfor
+.endfor
+
+_VARGROUPS+=           codeberg
+_PKG_VARS.codeberg=    CODEBERG_PROJECT DISTNAME CODEBERG_TYPE CODEBERG_TAG \
+                       CODEBERG_RELEASE MASTER_SITES EXTRACT_SUFX \
+                       CODEBERG_SUBMODULES
+_DEF_VARS.codeberg=    _USE_CODEBERG _CODEBERG_DEFAULT_DISTFILES
+.for f in ${_CODEBERG_DEFAULT_DISTFILES}
+_DEF_VARS.codeberg+=   SITES.${f}
+.endfor
+_USE_VARS.codeberg=    PKGBASE PKGVERSION_NOREV
+_LISTED_VARS.codeberg= SITES.*



Home | Main Index | Thread Index | Old Index