From ef15d6e0f709128d26cc35dbc79a3d20d6a9cfbd Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Tue, 24 Nov 2009 23:17:59 +0000 Subject: [PATCH] Adding initial patch/bep file for cvs-1.12.13.1 snapshot. NOTE: The cvs config files have been moved from ~/(.cvsrc/.cvspass/etc...) to B_USER_SETTINGS_DIR/cvs/(cvsrc/cvspass/etc...) --- dev-util/cvs/cvs-1.12.13.1.bep | 17 ++ dev-util/cvs/patches/cvs-1.12.13.1.patch | 190 +++++++++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100644 dev-util/cvs/cvs-1.12.13.1.bep create mode 100644 dev-util/cvs/patches/cvs-1.12.13.1.patch diff --git a/dev-util/cvs/cvs-1.12.13.1.bep b/dev-util/cvs/cvs-1.12.13.1.bep new file mode 100644 index 000000000..dec9720d5 --- /dev/null +++ b/dev-util/cvs/cvs-1.12.13.1.bep @@ -0,0 +1,17 @@ +DESCRIPTION="CVS is a version control system" +HOMEPAGE="http://www.nongnu.org/cvs/" +SRC_URI="http://www.haiku-ports.de/packages/dev-util/cvs/sources/cvs-1.12.13.1.tar.bz2" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="" +BUILD { + cd cvs-1.12.13.1 + libtoolize --force --copy --install + ./configure --prefix=/boot/common --enable-rootcommit + make +} + +INSTALL { + cd cvs-1.12.13.1 + make install +} diff --git a/dev-util/cvs/patches/cvs-1.12.13.1.patch b/dev-util/cvs/patches/cvs-1.12.13.1.patch new file mode 100644 index 000000000..f9c67a4a6 --- /dev/null +++ b/dev-util/cvs/patches/cvs-1.12.13.1.patch @@ -0,0 +1,190 @@ +diff -ur cvs-1.12.13.1/configure cvs-1.12.13.1-haiku/configure +--- cvs-1.12.13.1/configure 2006-07-07 15:31:08.000000000 -0600 ++++ cvs-1.12.13.1-haiku/configure 2009-11-24 15:37:33.000000000 -0700 +@@ -45920,7 +45920,7 @@ + return 0; + } + _ACEOF +-for ac_lib in '' xnet socket inet; do ++for ac_lib in '' xnet network socket inet; do + if test -z "$ac_lib"; then + ac_res="none required" + else +diff -ur cvs-1.12.13.1/configure.in cvs-1.12.13.1-haiku/configure.in +--- cvs-1.12.13.1/configure.in 2006-06-29 09:13:10.000000000 -0600 ++++ cvs-1.12.13.1-haiku/configure.in 2009-11-24 15:37:33.000000000 -0700 +@@ -541,7 +541,7 @@ + + # Try to find connect and gethostbyname. + AC_CHECK_LIB(nsl, main) +-AC_SEARCH_LIBS(connect, xnet socket inet, ++AC_SEARCH_LIBS(connect, xnet network socket inet, + AC_DEFINE(HAVE_CONNECT, 1, + [Define if you have the connect function.])) + dnl no need to search nsl for gethostbyname here since we should have +diff -ur cvs-1.12.13.1/src/cvs.h cvs-1.12.13.1-haiku/src/cvs.h +--- cvs-1.12.13.1/src/cvs.h 2006-04-25 14:01:47.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/cvs.h 2009-11-24 15:37:33.000000000 -0700 +@@ -181,8 +181,13 @@ + #define CVSRFLPAT "#cvs.rfl.*" /* wildcard expr to match read locks */ + #define CVSEXT_LOG ",t" + #define CVSPREFIX ",," ++#ifdef __HAIKU__ ++#define CVSDOTIGNORE "cvsignore" ++#define CVSDOTWRAPPER "cvswrappers" ++#else + #define CVSDOTIGNORE ".cvsignore" + #define CVSDOTWRAPPER ".cvswrappers" ++#endif + + /* Command attributes -- see function lookup_command_attribute(). */ + #define CVS_CMD_IGNORE_ADMROOT 1 +diff -ur cvs-1.12.13.1/src/cvsrc.c cvs-1.12.13.1-haiku/src/cvsrc.c +--- cvs-1.12.13.1/src/cvsrc.c 2006-03-31 14:54:57.000000000 -0700 ++++ cvs-1.12.13.1-haiku/src/cvsrc.c 2009-11-24 15:37:33.000000000 -0700 +@@ -20,7 +20,11 @@ + /* this file is to be found in the user's home directory */ + + #ifndef CVSRC_FILENAME +-#define CVSRC_FILENAME ".cvsrc" ++# ifdef __HAIKU__ ++# define CVSRC_FILENAME "cvsrc" ++# else ++# define CVSRC_FILENAME ".cvsrc" ++# endif + #endif + char cvsrc[] = CVSRC_FILENAME; + +@@ -64,7 +68,7 @@ + + /* determine filename for ~/.cvsrc */ + +- homedir = get_homedir (); ++ homedir = get_rcdir (); + /* If we can't find a home directory, ignore ~/.cvsrc. This may + make tracking down problems a bit of a pain, but on the other + hand it might be obnoxious to complain when CVS will function +diff -ur cvs-1.12.13.1/src/filesubr.c cvs-1.12.13.1-haiku/src/filesubr.c +--- cvs-1.12.13.1/src/filesubr.c 2006-07-05 20:14:08.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/filesubr.c 2009-11-24 15:51:02.000000000 -0700 +@@ -32,6 +32,11 @@ + /* CVS */ + #include "cvs.h" + ++#ifdef __HAIKU__ ++#include ++#include ++#endif ++ + static int deep_remove_dir (const char *path); + + +@@ -859,6 +864,36 @@ + return home; + } + ++/* Compose a path to the settings directory for systems that don't store data ++ * in $HOME. Returns a pointer to storage managed by this function or its ++ * callees. This function will return the same thing every time it is called. ++ * Returns NULL if there is no rc directory. ++ */ ++char * ++get_rcdir (void) ++{ ++ static char *rcdir = NULL; ++ ++ if (rcdir == NULL) ++ { ++#ifdef __HAIKU__ ++ char path[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH]; ++ dev_t volume = dev_for_path("/boot"); ++ ++ if (find_directory(B_USER_SETTINGS_DIRECTORY, volume, true, path, sizeof(path)) != B_OK) ++ return 0; ++ ++ rcdir = Xasprintf ("%s/cvs", &path); ++ ++ mkdir_if_needed(rcdir); ++#else ++ rcdir = get_homedir(); ++#endif ++ } ++ ++ return rcdir; ++} ++ + /* Compose a path to a file in the home directory. This is necessary because + * of different behavior on UNIX and VMS. See the notes in vms/filesubr.c. + * +diff -ur cvs-1.12.13.1/src/filesubr.h cvs-1.12.13.1-haiku/src/filesubr.h +--- cvs-1.12.13.1/src/filesubr.h 2006-07-05 20:14:08.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/filesubr.h 2009-11-24 15:37:33.000000000 -0700 +@@ -33,6 +33,7 @@ + bool iswritable (const char *file); + bool isaccessible (const char *file, const int mode); + char *get_homedir (void); ++char *get_rcdir (void); + char *strcat_filename_onto_homedir (const char *, const char *); + char *cvs_temp_name (void); + FILE *cvs_temp_file (char **filename); +diff -ur cvs-1.12.13.1/src/history.c cvs-1.12.13.1-haiku/src/history.c +--- cvs-1.12.13.1/src/history.c 2006-06-09 15:28:17.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/history.c 2009-11-24 15:37:33.000000000 -0700 +@@ -807,7 +807,7 @@ + { + char *pwdir; + +- pwdir = get_homedir (); ++ pwdir = get_rcdir (); + PrCurDir = CurDir; + if (pwdir != NULL) + { +diff -ur cvs-1.12.13.1/src/ignore.c cvs-1.12.13.1-haiku/src/ignore.c +--- cvs-1.12.13.1/src/ignore.c 2006-04-24 12:50:26.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/ignore.c 2009-11-24 15:37:33.000000000 -0700 +@@ -98,7 +98,7 @@ + } + + /* Then add entries found in home dir, (if user has one) and file exists */ +- home_dir = get_homedir (); ++ home_dir = get_rcdir (); + /* If we can't find a home directory, ignore ~/.cvsignore. This may + make tracking down problems a bit of a pain, but on the other + hand it might be obnoxious to complain when CVS will function +diff -ur cvs-1.12.13.1/src/login.c cvs-1.12.13.1-haiku/src/login.c +--- cvs-1.12.13.1/src/login.c 2006-06-28 08:25:26.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/login.c 2009-11-24 15:37:33.000000000 -0700 +@@ -28,7 +28,11 @@ + + + #ifndef CVS_PASSWORD_FILE +-#define CVS_PASSWORD_FILE ".cvspass" ++# ifdef __HAIKU__ ++# define CVS_PASSWORD_FILE "cvspass" ++# else ++# define CVS_PASSWORD_FILE ".cvspass" ++# endif + #endif + + /* If non-NULL, get_cvs_password() will just return this. */ +@@ -49,7 +53,7 @@ + + /* Construct absolute pathname to user's password file. */ + /* todo: does this work under OS/2 ? */ +- homedir = get_homedir (); ++ homedir = get_rcdir (); + if (! homedir) + { + /* FIXME? This message confuses a lot of users, at least +diff -ur cvs-1.12.13.1/src/wrapper.c cvs-1.12.13.1-haiku/src/wrapper.c +--- cvs-1.12.13.1/src/wrapper.c 2006-04-24 12:50:27.000000000 -0600 ++++ cvs-1.12.13.1-haiku/src/wrapper.c 2009-11-24 15:37:33.000000000 -0700 +@@ -125,7 +125,7 @@ + + /* Then add entries found in home dir, (if user has one) and file + exists. */ +- homedir = get_homedir (); ++ homedir = get_rcdir (); + /* If we can't find a home directory, ignore ~/.cvswrappers. This may + make tracking down problems a bit of a pain, but on the other + hand it might be obnoxious to complain when CVS will function