diff options
-rw-r--r-- | development/cgit/cgit.SlackBuild | 11 | ||||
-rw-r--r-- | development/cgit/cgit.info | 10 | ||||
-rw-r--r-- | development/cgit/sort-summary-branches.patch | 82 |
3 files changed, 94 insertions, 9 deletions
diff --git a/development/cgit/cgit.SlackBuild b/development/cgit/cgit.SlackBuild index 9953e1dd93..1c21ca6b64 100644 --- a/development/cgit/cgit.SlackBuild +++ b/development/cgit/cgit.SlackBuild @@ -4,8 +4,8 @@ # Written by ponce <matteo.bernardini@gmail.com> PRGNAM=cgit -VERSION=${VERSION:-0.9.0.1} -CGIT_VERSION=${CGIT_VERSION:-v$VERSION} +VERSION=${VERSION:-20120318_f50be7f} +CGIT_VERSION=${CGIT_VERSION:-v0.9.0.3-4-gf50b} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -39,9 +39,9 @@ fi DOCS="cgitrc.5.txt COPYING README $CWD/config/cgit-lighttpd.conf \ $CWD/config/cgit-httpd.conf $CWD/config/cgitrc.sample" -GIT_TARBALL=$(grep \/git- $CWD/cgit.info | cut -d'/' -f8 | sed -e 's/\"//') +GIT_TARBALL=$(grep \/git- $CWD/cgit.info | cut -d'/' -f7 | sed -e 's/\"//') -set -e # Exit on most errors +set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT @@ -56,6 +56,9 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# add a patch to sort summary branches +patch -p1 < $CWD/sort-summary-branches.patch + # prepare sources sed -i -e "s|-g -Wall -Igit|-Wall ${SLKCFLAGS} -Igit|" Makefile sed -i -e "s|\/lib$|/lib${LIBDIRSUFFIX}|" Makefile diff --git a/development/cgit/cgit.info b/development/cgit/cgit.info index 88379e18c8..89275a7960 100644 --- a/development/cgit/cgit.info +++ b/development/cgit/cgit.info @@ -1,10 +1,10 @@ PRGNAM="cgit" -VERSION="0.9.0.1" +VERSION="20120318_f50be7f" HOMEPAGE="http://hjemli.net/git/cgit/" -DOWNLOAD="http://ponce.cc/slackware/sources/repo/cgit-0.9.0.1.tar.bz2 \ - http://www.kernel.org/pub/software/scm/git/git-1.7.4.4.tar.bz2" -MD5SUM="dddae5bcfc1eeb469fc2b95531a75c1c \ - 1313f71d62fa100b32fa313769a85f2a" +DOWNLOAD="http://ponce.cc/slackware/sources/repo/cgit-20120318_f50be7f.tar.xz \ + http://ponce.cc/slackware/sources/repo/git-1.7.4.4.tar.xz" +MD5SUM="1aabbefa20502d85019d9bc62d12c16a \ + 992da984346a475cf6334efad396e229" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="ponce" diff --git a/development/cgit/sort-summary-branches.patch b/development/cgit/sort-summary-branches.patch new file mode 100644 index 0000000000..2b1d96c693 --- /dev/null +++ b/development/cgit/sort-summary-branches.patch @@ -0,0 +1,82 @@ +When there are more than `summary-branches` in a repo, the summary page +trimmed the list by age and then sorted them by name. Make sorting by +name optional, though keep it as the default. + +Signed-off-by: Todd Zullinger <tmz at pobox.com> +--- +This was requested by a friend for whom I setup cgit. I don't know if +it's a worthwhile option or not. It's handy for me to avoid having to +patch that install. Beware, my C is weak. If there are egregious +errors in style or content, I won't be shocked or offended to hear +about them. + + cgit.c | 3 +++ + cgit.h | 1 + + cgitrc.5.txt | 5 +++++ + ui-refs.c | 4 +++- + 4 files changed, 12 insertions(+), 1 deletions(-) + +diff --git a/cgit.c b/cgit.c +index e302a7c..ebbcad1 100644 +--- a/cgit.c ++++ b/cgit.c +@@ -233,6 +233,8 @@ void config_cb(const char *name, const char *value) + ctx.cfg.local_time = atoi(value); + else if (!prefixcmp(name, "mimetype.")) + add_mimetype(name + 9, value); ++ else if (!strcmp(name, "summary-branches-sort")) ++ ctx.cfg.summary_branches_sort = xstrdup(value); + else if (!strcmp(name, "include")) + parse_configfile(expand_macros(value), config_cb); + } +@@ -331,6 +333,7 @@ static void prepare_context(struct cgit_context *ctx) + ctx->cfg.script_name = CGIT_SCRIPT_NAME; + ctx->cfg.section = ""; + ctx->cfg.summary_branches = 10; ++ ctx->cfg.summary_branches_sort = "name"; + ctx->cfg.summary_log = 10; + ctx->cfg.summary_tags = 10; + ctx->cfg.max_atom_items = 10; +diff --git a/cgit.h b/cgit.h +index b5f00fc..2f847a1 100644 +--- a/cgit.h ++++ b/cgit.h +@@ -216,6 +216,7 @@ struct cgit_config { + int section_from_path; + int snapshots; + int summary_branches; ++ char *summary_branches_sort; + int summary_log; + int summary_tags; + int ssdiff; +diff --git a/cgitrc.5.txt b/cgitrc.5.txt +index 65b210f..1c8574b 100644 +--- a/cgitrc.5.txt ++++ b/cgitrc.5.txt +@@ -324,6 +324,11 @@ summary-branches:: + Specifies the number of branches to display in the repository "summary" + view. Default value: "10". + ++summary-branches-sort:: ++ Specifies the sort order to use for branches on the summary page, when ++ there are more than `summary-count` branches. Valid options are "name" ++ and "age". Default value: "name". ++ + summary-log:: + Specifies the number of log entries to display in the repository + "summary" view. Default value: "10". +diff --git a/ui-refs.c b/ui-refs.c +index caddfbc..188e63d 100644 +--- a/ui-refs.c ++++ b/ui-refs.c +@@ -197,7 +197,9 @@ void cgit_print_branches(int maxcount) + + if (maxcount < list.count) { + qsort(list.refs, list.count, sizeof(*list.refs), cmp_branch_age); +- qsort(list.refs, maxcount, sizeof(*list.refs), cmp_ref_name); ++ if (ctx.cfg.summary_branches_sort && ++ !strcmp(ctx.cfg.summary_branches_sort, "name")) ++ qsort(list.refs, maxcount, sizeof(*list.refs), cmp_ref_name); + } + + for(i=0; i<maxcount; i++) |