# This XEmacs package contains the riece IRC client package
VERSION = 1.26
-AUTHOR_VERSION = 3.1.2
+AUTHOR_VERSION = v9.0.0-21-gcf23226
MAINTAINER = Daiki Ueno <ueno@unixuser.org>
PACKAGE = riece
PKG_TYPE = regular
include ../../Local.rules.inc
-ELCS = lisp/riece.elc lisp/riece-000.elc lisp/riece-200.elc \
-lisp/riece-300.elc lisp/riece-400.elc lisp/riece-500.elc \
-lisp/riece-addon-modules.elc lisp/riece-addon.elc lisp/riece-alias.elc \
-lisp/riece-async.elc lisp/riece-biff.elc lisp/riece-button.elc \
-lisp/riece-cache.elc lisp/riece-channel.elc lisp/riece-coding.elc \
-lisp/riece-commands.elc lisp/riece-compat.elc lisp/riece-complete.elc \
-lisp/riece-ctcp.elc lisp/riece-ctlseq.elc lisp/riece-debug.elc \
-lisp/riece-develop.elc lisp/riece-display.elc lisp/riece-doctor.elc \
-lisp/riece-epg.elc lisp/riece-eval-ruby.elc lisp/riece-eval.elc \
-lisp/riece-filter.elc lisp/riece-foolproof.elc lisp/riece-globals.elc \
-lisp/riece-google.elc lisp/riece-guess.elc lisp/riece-handle.elc \
-lisp/riece-hangman.elc lisp/riece-highlight.elc lisp/riece-history.elc \
-lisp/riece-icon.elc lisp/riece-identity.elc lisp/riece-ignore.elc \
-lisp/riece-irc.elc lisp/riece-kakasi.elc lisp/riece-keepalive.elc \
-lisp/riece-keyword.elc lisp/riece-layout.elc lisp/riece-log.elc \
-lisp/riece-lsdb.elc lisp/riece-menu.elc lisp/riece-message.elc \
-lisp/riece-mini.elc lisp/riece-misc.elc lisp/riece-mode.elc \
-lisp/riece-naming.elc lisp/riece-options.elc \
-lisp/riece-package-info.elc lisp/riece-rdcc.elc lisp/riece-ruby.elc \
-lisp/riece-server.elc lisp/riece-shrink-buffer.elc \
-lisp/riece-signal.elc lisp/riece-toolbar.elc lisp/riece-unread.elc \
-lisp/riece-url.elc lisp/riece-user.elc lisp/riece-version.elc \
-lisp/riece-xemacs.elc lisp/riece-xface.elc lisp/riece-xfaceb.elc \
-lisp/riece-yank.elc
+DONTCOMPILE = lisp/_pkg.el lisp/auto-autoloads.el lisp/custom-load.el \
+ lisp/custom-defines.el lisp/riece-emacs.el lisp/riece-ndcc.el \
+ lisp/url-riece.el
+
+ifeq ($(BUILD_WITHOUT_MULE),t)
+DONTCOMPILE += lisp/riece-skk-kakutei.elc lisp/riece-mcat.elc \
+ lisp/riece-mcat-japanese.elc
+endif
+
+ELCS = $(patsubst %.el,%.elc,$(filter-out $(DONTCOMPILE),$(wildcard lisp/*.el)))
+
EXTRA_SOURCES = lisp/riece-emacs.el lisp/riece-ndcc.el \
lisp/riece-skk-kakutei.el lisp/riece-mcat.el \
lisp/riece-mcat-japanese.el lisp/riece-package-info.el.in \
lisp/url-riece.el
+
AUTOLOAD_PATH = lisp
EXPLICIT_DOCS = doc/riece-en.texi
ifeq ($(BUILD_WITHOUT_MULE),)
COMPILE_INFO_AS_MULE = t
EXPLICIT_DOCS += doc/riece-ja.texi
-ELCS += lisp/riece-skk-kakutei.elc lisp/riece-mcat.elc \
- lisp/riece-mcat-japanese.elc
endif
PRELOADS = -eval \("push \"./lisp\" load-path"\)
--- /dev/null
+-*- mode: text -*-
+
+These notes are only relevant if you are planning to hack this package
+or sync it with the package's upstream.
+
+This package was imported into the SXEmacs packages repository as a
+"subtree". Most people, most of the time, will never need to know or
+care about that. For all intents and purposes the fact that it came
+in as a subtree will be completely invisible. It is only when you
+want to sync up with the external upstream repo that you need to care
+for a couple of things, as set out below...
+
+---[Pre-Requisites]-----------------------------------------------------
+First up, a couple of additions to your git config, if you haven't
+already done so:
+
+Staying out of conflict hell:
+
+ git config rerere.enabled true
+ git config rerere.autoupdate true
+
+git-rerere is something that is so handy that you'd probably want to
+turn it on globally, so perhaps add '--global' to those commands
+above. You won't regret it.
+
+Needed custom merge driver:
+
+ git config merge.sxepkg.driver true
+
+For the packages that have come into our repo as a subtree there are
+often files that we don't ever want overwritten or changed when we pull
+in updates from upstream. It is usually things like '.gitignore' or
+'Makefile'. Instead of dealing with conflicts, or having to manually
+check and re-edit, we use a custom merge driver that makes git believe
+that a successful merge has happened so no changes need to be applied
+to the local file.
+
+The first half of achieving that is what the above command sets up.
+Please note, the config entry 'merge.sxepkg.driver' is not a bool.
+The 'true' refers to the command true(1), often /bin/true, or a shell
+built-in.
+
+The other half of the magic is in '.gitattributes' in the toplevel of
+our repo. It'll have entries like...
+
+ xemacs-packages/gnus/.gitignore merge=sxepkg
+ xemacs-packages/riece/.gitignore merge=sxepkg
+
+
+Add the upstream repo as a remote:
+
+ git remote add riece git://git.savannah.nongnu.org/riece.git
+ git config remote.riece.tagOpt --no-tags
+
+
+---[Updating]-----------------------------------------------------------
+OK, so you want to sync up our Riece package with the upstream, here
+is what you do...
+
+It is safest to do this from our repo's toplevel directory so that is
+what the first command here does, puts you in the right directory...
+
+ cd $(git rev-parse --show-toplevel) &&
+ git checkout -b pkgsync &&
+ git fetch riece &&
+ git merge -X subtree=xemacs-packages/riece --squash riece/master
+
+Notice that the merge command is using '--squash', so nothing has been
+committed yet. You can now look over the changes (git-status,
+git-diff, etc), test build, make any needed tweaks or changes that the
+sync may have caused, or whatever else you may need to do to get the
+updated package playing nice with our packages.
+
+Once you have it all ready you'd follow pretty much the same steps as
+you would when submitting patches/contributions to SXEmacs itself.
+See:
+
+ (Info-goto-node "(sppm)Patches")
+
+Note that is SXEmacs specific, not package specific, so please apply
+common sense while reading it. The SPPM will be updated shortly for
+packages.
+
+Please note, and this is REALLY IMPORTANT, if you make changes to this
+package that should be sent upstream, you MUST put those changes into
+their own self-contained separate commits. The reason for that is so
+we can cherry-pick them out and send them upstream.
+
+
+---[Pkg-Specific Quirks]------------------------------------------------
+Riece uses something called "gnulib" in a git submodule for autoconf
+related auxilary things, and for generating version strings. We
+haven't included that submodule in our packages repo, and never will.
+Consequently Riece's version strings don't get updated automatically
+when you sync with upstream.
+
+Here is how to update them manually:
+
+ 1) Create a branch that tracks the Riece remote master branch
+
+ git checkout -b myriece riece/master
+
+ 2) Fetch the tags
+
+ git fetch --tags
+
+ 3) git describe will now give you the version info, for example...
+
+ git describe
+ => v9.0.0-21-gcf23226
+
+ From that example, the version string would be: '9.0.0.21-cf23'
+
+ 4) Kill the tags because we don't want them polluting up our repo
+
+ git tag -d $(git tag)
+
+ 5) Jump back to the branch where you're doing the sync/update and
+ update the version string in the following places...
+
+ xemacs-packages/riece/doc/version-en.texi
+ xemacs-packages/riece/doc/version-ja.texi
+ xemacs-packages/riece/lisp/riece-package-info.el
+ xemacs-packages/riece/Makefile
+
+ 6) You can now nuke that 'myriece' branch if you want.
+
+------------------------------------------------------------------------
--- /dev/null
+;;; riece-package-info.el --- package information about Riece
+;; Copyright (C) 2006 Daiki Ueno
+
+;; Author: Daiki Ueno <ueno@unixuser.org>
+
+;; This file is part of Riece.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;;(defconst riece-package-name "@PACKAGE@")
+(defconst riece-package-name "Riece")
+
+(defconst riece-version-number "9.0.0.21-cf23"
+ "Version number for this version of Riece.")
+
+(provide 'riece-package-info)
+
+;;; riece-package-info.el ends here