Project D

E17 Moved to new SVN

Finally E17 developer moved their source code from slow CVS to a new faster SVN repository.

This is good news off course, but not for my gentoo box…. Vapier overlay hasnt updated their ebuild (or eclass) yet to point to this new svn, and the result is I cannot get the latest most updated e17 source…

Tired of waiting vapier to update his overlay, I decided to hack through the /usr/portage/eclass/enlightenment.class, the result is not perfect (clean) but usable enough for me.

Here is the patch content :

WARNING THIS PATCH IS NOT CLEAN, IF YOU WANT CLEAN PATCH, PLEASE WAIT FOR VAPIER ONE

--- enlightenment.eclass	2008-09-17 01:19:12.000000000 +0800
+++ enlightenment.eclass.new	2008-09-17 01:19:12.000000000 +0800
@@ -1,12 +1,12 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.72 2007/04/20 04:30:18 vapier Exp $
+# $Header: /var/SVNroot/gentoo-x86/eclass/enlightenment.eclass,v 1.72 2007/04/20 04:30:18 vapier Exp $
 #
 # Author: vapier@gentoo.org

 inherit eutils libtool

-# ECVS_STATE's:
+# ESVN_STATE's:
 #	release      [default]
 #		KEYWORDS arch
 #		SRC_URI  $P.tar.gz
@@ -19,35 +19,36 @@
 #
 #	live         $PV has a 9999 marker
 #		KEYWORDS ""
-#		SRC_URI  `cvs up`
-#		S        $WORKDIR/$ECVS_MODULE
+#		SRC_URI  `SVN up`
+#		S        $WORKDIR/$ESVN_MODULE
 #
 # Overrides:
 #	KEYWORDS    EKEY_STATE
 #	SRC_URI     EURI_STATE
 #	S           EURI_STATE

-#E17_DEFAULT_CVS="cvs.sourceforge.net:/cvsroot/enlightenment"
-E17_DEFAULT_CVS="anoncvs.enlightenment.org:/var/cvs/e"
-#E17_DEFAULT_CVS="svn.enlightenment.org/svn/e/trunk"
-ECVS_STATE="release"
+#E17_DEFAULT_SVN="SVN.sourceforge.net:/SVNroot/enlightenment"
+#E17_DEFAULT_SVN="anonSVN.enlightenment.org:/var/SVN/e"
+E17_DEFAULT_SVN="http://svn.enlightenment.org/svn/e/trunk"
+ESVN_STATE="release"
 if [[ ${PV/9999} != ${PV} ]] ; then
-	if [[ -z ${ECVS_MODULE} ]] ; then
-		ECVS_MODULE=${PN}
-		if [[ ${CATEGORY/libs} != ${CATEGORY} ]] ; then
-			ECVS_MODULE="e17/libs/${PN}"
+	if [[ -z ${ESVN_MODULE} ]] ; then
+		ESVN_MODULE=${PN}
+		if [[ ${PN/e_modules} != ${PN} ]] ; then
+			ESVN_MODULE="E-MODULES-EXTRA/${PN#e_modules-}"
 		else
-			ECVS_MODULE="e17/apps/${PN}"
+			ESVN_MODULE="${PN}"
 		fi
 	fi
-	ECVS_SERVER=${E17_ECVS_SERVER:-${ECVS_SERVER:-${E17_DEFAULT_CVS}}}
-	ECVS_STATE="live"
+
+	ESVN_REPO_URI=${E17_ESVN_SERVER:-${ESVN_SERVER:-${E17_DEFAULT_SVN}}}/${ESVN_MODULE}
+	ESVN_STATE="live"
 	WANT_AUTOTOOLS="yes"
-	inherit cvs
+	inherit subversion
 elif [[ ${PV/.200[3-9][0-1][0-9][0-3][0-9]/} != ${PV} ]] ; then
-	ECVS_STATE="snap"
+	ESVN_STATE="snap"
 elif [[ ${PV%%.[0-9][0-9][0-9]} != ${PV} ]] ; then
-	ECVS_STATE="snap"
+	ESVN_STATE="snap"
 	EURI_STATE="release"
 fi
 if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
@@ -58,7 +59,7 @@

 DESCRIPTION="A DR17 production"
 HOMEPAGE="http://www.enlightenment.org/"
-case ${EURI_STATE:-${ECVS_STATE}} in
+case ${EURI_STATE:-${ESVN_STATE}} in
 	release) SRC_URI="http://enlightenment.freedesktop.org/files/${P}.tar.gz mirror://sourceforge/enlightenment/${P}.tar.gz";;
 	snap)    SRC_URI="mirror://gentoo/${P}.tar.bz2";;
 	live)    SRC_URI="";;
@@ -66,7 +67,7 @@

 LICENSE="BSD"
 SLOT="0"
-case ${EKEY_STATE:-${ECVS_STATE}} in
+case ${EKEY_STATE:-${ESVN_STATE}} in
 	release) KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sh sparc x86 ~x86-fbsd";;
 	snap)    KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd";;
 	live)    KEYWORDS="";;
@@ -76,23 +77,23 @@
 DEPEND="doc? ( app-doc/doxygen )"
 RDEPEND="nls? ( sys-devel/gettext )"

-case ${EURI_STATE:-${ECVS_STATE}} in
+case ${EURI_STATE:-${ESVN_STATE}} in
 	release) S=${WORKDIR}/${P};;
 	snap)    S=${WORKDIR}/${PN};;
-	live)    S=${WORKDIR}/${ECVS_MODULE};;
+	live)    S=${WORKDIR}/${ESVN_MODULE};;
 esac

 enlightenment_warning_msg() {
-	if [[ -n ${E17_ECVS_SERVER} ]] ; then
-		einfo "Using user cvs server: ${E17_ECVS_SERVER}"
+	if [[ -n ${E17_ESVN_SERVER} ]] ; then
+		einfo "Using user SVN server: ${E17_ESVN_SERVER}"
 	fi
-	if [[ ${ECVS_STATE} == "snap" ]] ; then
+	if [[ ${ESVN_STATE} == "snap" ]] ; then
 		ewarn "Please do not contact the E team about bugs in Gentoo."
 		ewarn "Only contact vapier@gentoo.org via e-mail or bugzilla."
-		ewarn "Remember, this stuff is CVS only code so dont cry when"
+		ewarn "Remember, this stuff is SVN only code so dont cry when"
 		ewarn "I break you :)."
-	elif [[ ${ECVS_STATE} == "live" ]] ; then
-		eerror "This is a LIVE CVS ebuild."
+	elif [[ ${ESVN_STATE} == "live" ]] ; then
+		eerror "This is a LIVE SVN ebuild."
 		eerror "That means there are NO promises it will work."
 		eerror "If it fails to build, FIX THE CODE YOURSELF"
 		eerror "before reporting any issues."
@@ -118,8 +119,8 @@
 }

 enlightenment_src_unpack() {
-	if [[ ${ECVS_STATE} == "live" ]] ; then
-		cvs_src_unpack
+	if [[ ${ESVN_STATE} == "live" ]] ; then
+		subversion_src_unpack
 	else
 		unpack ${A}
 	fi
@@ -157,7 +158,7 @@

 enlightenment_src_install() {
 	emake install DESTDIR="${D}" || enlightenment_die
-	find "${D}" -name CVS -type d -exec rm -rf '{}' \; 2>/dev/null
+	find "${D}" -name SVN -type d -exec rm -rf '{}' \; 2>/dev/null
 	dodoc AUTHORS ChangeLog NEWS README TODO ${EDOCS}
 	use doc && [[ -d doc ]] && dohtml -r doc/*
 }

how to patch it ?

patch enlightenment.eclass < your_saved_patch_file.

created using

diff -uN oldfile newfile > patchfile

-= end transmission =-

===UPDATE THIS PATCH IS OBSOLETE NOW===

Vapier updated his overlay, so there is no need to patch anymore.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • LinkedIn
  • Slashdot
  • StumbleUpon
  • blinkbits
  • eKudos
  • Live
  • Share/Save/Bookmark

RSS Fresh Ebuild