1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

www/py-kallithea: add new port

PR:		210605
Submitted by:	Ilia Skalozubov <freebsd@skinc.ru>

Kallithea is a fast and powerful management tool for Mercurial and Git with a
built-in push/pull server, full text search and code-review. It works on
http/https and has a built in permission/authentication system with the ability
to authenticate via LDAP or ActiveDirectory. Kallithea also provides simple API
so it's easy to integrate with existing external systems.

Kallithea is similar in some respects to GitHub or Bitbucket, however Kallithea
can be run as standalone hosted application on your own server. It is
open-source donationware and focuses more on providing a customised,
self-administered interface for Mercurial and Git repositories. Kallithea works
on Unix-like systems and Windows, and is powered by the vcs library created by
Lukasz Balcerzak and Marcin Kuzminski to uniformly handle multiple version
control systems.

Kallithea was forked from RhodeCode in July 2014 and has been heavily modified.

http://kallithea-scm.org/
This commit is contained in:
Jan Beich 2016-07-20 23:14:26 +00:00
parent 95ef50446b
commit caa27d7366
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418859
7 changed files with 216 additions and 0 deletions

View File

@ -1631,6 +1631,7 @@
SUBDIR += py-imdbpy
SUBDIR += py-jonpy
SUBDIR += py-jswebkit
SUBDIR += py-kallithea
SUBDIR += py-mechanize
SUBDIR += py-meld
SUBDIR += py-meld3

53
www/py-kallithea/Makefile Normal file
View File

@ -0,0 +1,53 @@
# Created by: Ilia Skalozubov <freebsd@skinc.ru>
# $FreeBSD$
PORTNAME= kallithea
PORTVERSION= 0.3.2
CATEGORIES= www devel python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= Kallithea-${PORTVERSION}
MAINTAINER= freebsd@skinc.ru
COMMENT= Fast and powerful management tool for Mercurial and Git
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}PasteScript>=1.6.3:www/py-pastescript
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}waitress>=0.8.8:www/py-waitress \
${PYTHON_PKGNAMEPREFIX}webob>=1.0.8:www/py-webob \
${PYTHON_PKGNAMEPREFIX}WebTest>=1.4.3:www/py-WebTest \
${PYTHON_PKGNAMEPREFIX}pylons>=1.0:www/py-pylons \
${PYTHON_PKGNAMEPREFIX}beaker>=1.6.4:www/py-beaker \
${PYTHON_PKGNAMEPREFIX}webhelpers>=1.3:www/py-webhelpers \
${PYTHON_PKGNAMEPREFIX}formencode>=1.2.4:www/py-formencode \
${PYTHON_PKGNAMEPREFIX}sqlalchemy07>=0.7.10:databases/py-sqlalchemy07 \
${PYTHON_PKGNAMEPREFIX}mako>=0.9.0:textproc/py-mako \
${PYTHON_PKGNAMEPREFIX}pygments>=1.5:textproc/py-pygments \
${PYTHON_PKGNAMEPREFIX}whoosh>=2.4.0:textproc/py-whoosh \
${PYTHON_PKGNAMEPREFIX}celery>=2.2.5:devel/py-celery \
${PYTHON_PKGNAMEPREFIX}Babel>=0.9.6:devel/py-babel \
${PYTHON_PKGNAMEPREFIX}dateutil>=2.1:devel/py-dateutil \
${PYTHON_PKGNAMEPREFIX}markdown>=2.2.1:textproc/py-markdown \
${PYTHON_PKGNAMEPREFIX}docutils>=0.8.1:textproc/py-docutils \
${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock \
${PYTHON_PKGNAMEPREFIX}urlobject>=2.3.4:www/py-urlobject \
${PYTHON_PKGNAMEPREFIX}routes>=1.13:www/py-routes \
${PYTHON_PKGNAMEPREFIX}dulwich>=0.9.9:devel/dulwich \
${PYTHON_PKGNAMEPREFIX}bcrypt>=0.3.0:security/py-bcrypt \
mercurial>=2.9:devel/mercurial
USES= python:2.7
USE_PYTHON= distutils autoplist
USE_RC_SUBR= kallithea
SUB_FILES= pkg-message
OPTIONS_DEFINE= GIT LDAP
GIT_DESC= Git repositories support
GIT_RUN_DEPENDS= git:devel/git
LDAP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ldap:net/py-ldap
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (Kallithea-0.3.2.tar.gz) = 891a7f88cf02a887c8eb711bfe56ff79f053a9051e0748fc29293bc7fa6ef0b3
SIZE (Kallithea-0.3.2.tar.gz) = 5347665

View File

@ -0,0 +1,75 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: kallithea
# REQUIRE: NETWORKING FILESYSTEMS mountlate
# KEYWORD: shutdown
. /etc/rc.subr
name=kallithea
rcvar=kallithea_enable
desc="Fast and powerful management tool for Mercurial and Git"
load_rc_config ${name}
: ${kallithea_enable:=NO}
: ${kallithea_config=%%PREFIX%%/etc/kallithea.ini}
: ${kallithea_user:=www}
: ${kallithea_group:=www}
: ${kallithea_logfile=/var/log/kallithea/kallithea.log}
: ${kallithea_pidfile=/var/run/kallithea/kallithea.pid}
rcvars="kallithea_config kallithea_user kallithea_group kallithea_logfile kallithea_pidfile"
kallithea_enable_desc="Set to YES to enable kallithea"
kallithea_enable_defval=NO
kallithea_config_desc="Kallithea config file for paster"
kallithea_config_defval=%%PREFIX%%/etc/kallithea.ini
kallithea_user_desc="Set the user for paster"
kallithea_user_defval=www
kallithea_group_desc="Set the group for paster"
kallithea_group_defval=www
kallithea_logfile_desc="Save output to the given log file (redirects stdout)"
kallithea_logfile_defval=/var/log/kallithea/kallithea.log
kallithea_pidfile_desc="Save PID to file"
kallithea_pidfile_defval=/var/run/kallithea/kallithea.pid
command=%%PREFIX%%/bin/paster
pidfile="${kallithea_pidfile}"
required_files="${kallithea_config}"
command_args=" serve --user=${kallithea_user} --group=${kallithea_group} --pid-file=${pidfile} --log-file=${kallithea_logfile} --daemon ${kallithea_config}"
start_precmd=kallithea_prestart
status_cmd=kallithea_status
stop_cmd=kallithea_stop
kallithea_prestart()
{
for _file in "${kallithea_logfile}" "${pidfile}"; do
_dir="${_file%/*}"
if [ ! -e "$_dir" ]; then
install -d -o ${kallithea_user} "${_dir}"
elif [ -f "$_dir" ]; then
echo "Not a directory: $_dir"
return 20
fi
done
}
kallithea_status()
{
${command} serve --pid-file=${pidfile} --status ${kallithea_config}
return $?
}
kallithea_stop()
{
echo "Stopping ${name}."
${command} serve --pid-file=${pidfile} --stop-daemon
return $?
}
run_rc_command "$1"

View File

@ -0,0 +1,60 @@
--- setup.py.orig 2016-05-02 16:57:01 UTC
+++ setup.py
@@ -35,36 +35,36 @@ __platform__ = platform.system()
is_windows = __platform__ in ['Windows']
requirements = [
- "waitress==0.8.8",
- "webob>=1.0.8,<=1.1.1",
- "webtest==1.4.3",
- "Pylons>=1.0.0,<=1.0.2",
- "Beaker==1.6.4",
- "WebHelpers==1.3",
- "formencode>=1.2.4,<=1.2.6",
- "SQLAlchemy==0.7.10",
- "Mako>=0.9.0,<=1.0.0",
+ "waitress>=0.8.8",
+ "webob>=1.0.8",
+ "webtest>=1.4.3",
+ "Pylons>=1.0.0",
+ "Beaker>=1.6.4",
+ "WebHelpers>=1.3",
+ "formencode>=1.2.4",
+ "SQLAlchemy>=0.7.10",
+ "Mako>=0.9.0",
"pygments>=1.5",
- "whoosh>=2.4.0,<=2.5.7",
- "celery>=2.2.5,<2.3",
- "babel>=0.9.6,<=1.3",
- "python-dateutil>=1.5.0,<2.0.0",
- "markdown==2.2.1",
- "docutils>=0.8.1,<=0.11",
+ "whoosh>=2.4.0",
+ "celery>=2.2.5",
+ "babel>=0.9.6",
+ "python-dateutil>=1.5.0",
+ "markdown>=2.2.1",
+ "docutils>=0.8.11",
"mock",
- "URLObject==2.3.4",
- "Routes==1.13",
- "dulwich>=0.9.9,<=0.9.9",
- "mercurial>=2.9,<3.8",
+ "URLObject>=2.3.4",
+ "Routes>=1.13",
+ "dulwich>=0.9.9",
+ "mercurial>=2.9",
]
if sys.version_info < (2, 7):
- requirements.append("importlib==1.0.1")
+ requirements.append("importlib>=1.0.1")
requirements.append("unittest2")
requirements.append("argparse")
if not is_windows:
- requirements.append("py-bcrypt>=0.3.0,<=0.4")
+ requirements.append("py-bcrypt>=0.3.0")
dependency_links = [

View File

@ -0,0 +1,8 @@
For migration from RhodeCode please read:
http://kallithea.readthedocs.io/en/latest/readme.html#converting-from-rhodecode
To create a Kallithea configuration file run the following commands:
%%PREFIX%%/bin/paster make-config Kallithea %%PREFIX%%/etc/kallithea.ini
Current instructions for setup:
http://kallithea.readthedocs.io/en/latest/setup.html

View File

@ -0,0 +1,17 @@
Kallithea is a fast and powerful management tool for Mercurial and Git with a
built-in push/pull server, full text search and code-review. It works on
http/https and has a built in permission/authentication system with the ability
to authenticate via LDAP or ActiveDirectory. Kallithea also provides simple API
so it's easy to integrate with existing external systems.
Kallithea is similar in some respects to GitHub or Bitbucket, however Kallithea
can be run as standalone hosted application on your own server. It is
open-source donationware and focuses more on providing a customised,
self-administered interface for Mercurial and Git repositories. Kallithea works
on Unix-like systems and Windows, and is powered by the vcs library created by
Lukasz Balcerzak and Marcin Kuzminski to uniformly handle multiple version
control systems.
Kallithea was forked from RhodeCode in July 2014 and has been heavily modified.
WWW: http://kallithea-scm.org/