Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 82915
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Mamoru KOMACHI (RETIRED) <usata@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: James Rowe <jnrowe@gmail.com>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
qemacs-0.3.1-Makefile-gentoo.patch qemacs-0.3.1-Makefile-gentoo.patch patch James Rowe 2005-02-21 21:47 0000 2.37 KB Details | Diff
qemacs-0.3.1-manpage-ref-fix.patch qemacs-0.3.1-manpage-ref-fix.patch patch James Rowe 2005-02-21 21:48 0000 446 bytes Details | Diff
qemacs-0.3.1-qemacs-datadir.patch qemacs-0.3.1-qemacs-datadir.patch patch James Rowe 2005-02-21 21:48 0000 3.15 KB Details | Diff
qemacs-0.3.1-use-installed-ffmpeg.patch qemacs-0.3.1-use-installed-ffmpeg.patch patch James Rowe 2005-02-21 21:48 0000 3.12 KB Details | Diff
qemacs-0.3.1-r1-fixup.patch qemacs-0.3.1-r1-fixup.patch patch James Rowe 2005-02-21 21:49 0000 3.38 KB Details | Diff
qemacs-0.3.1-r2-fixup.patch qemacs-0.3.1-r2-fixup.patch patch James Rowe 2005-03-08 11:29 0000 3.05 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 82915 depends on: Show dependency tree
Bug 82915 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-02-21 21:47 0000
There are a lot of problems with the qemacs ebuild, some the result of
upstream and some due to the ebuild.  The list I've personally fallen foul
of is:

* qemacs doesn't install headers, which makes building plugins nigh on
  impossible.  Unless of course you want to ship headers with all your
  plugins, or require the tarball for a simple user plugin build :/
* The package enforces some CFLAGS on x86.
* There is a name clash with app-editors/qe over binary name, they also
  share a data directory.  Although neither of the packages try to
  install files with the same name in the datadir, or read files from the
  other package's contents [in their current versions].
* The ebuild doesn't support the use of ffmpeg, a surprisingly cool
  feature for a text editor.  Build it and fire up an mpeg!
* The build will fail, if like me, you don't have a version of X
  compiled with xvideo support for whatever strange reason.

  The attached patches fix all of these bugs, I know I could have perhaps
split the bugs up a little but I decided against it a few minutes ago(flames
accepted).  The reason being the changes are that massive compared to the
old ebuild after filing ~6 bugs the files wouldn't really have been all that
recognisable anyway(and the fixes should be quite obvious).  If you believe
they should have been split, or would prefer them split for some reason or
another then leave a comment saying so.

  There was also a secondary reason, and that is one of testing.  I've been
running this ebuild at home and on work machines for a little while now(short
of the cleanup this morning).  Which means it has had testing in its current 
state, and definitely an amount of testing I've not got the time to give it if
it was split.

  qemacs-0.3.1-Makefile-gentoo.patch:
* Removes the forced CFLAGS.
* Makes sure install directories are built.
* Installs the binary as qemacs.
* Installs csstoqe, the tool which generates usable plugin source
  from CSS files(see below for an example).
* Changes the install system to use DESTDIR, that many lines were
  being touched it was zero cost.
* Changes the include location referenced in the plugin-example
  Makefile, so it usable as template after the package is installed.
* Installs the ffplay symlink as qemacs-ffplay, because when ffmpeg is
  installed it already contains a ffplay executable.
  qemacs-0.3.1-manpage-ref-fix.patch:
  * No brainer. Cosmetic fix for the manpage so it references the new,
  non-clashing, binary name.
  qemacs-0.3.1-qemacs-datadir.patch:
  * Changes to use /usr/{lib,share}/qemacs and ~/.qemacs instead of
  just using qe.  As as I said above right now there aren't any
  clashes I'm aware of for data/config files, but surely it is
  better to make users aware now instead of waiting until it breaks.
  qemacs-0.3.1-use-installed-ffmpeg.patch:
  * When ffmpeg is set in USE use the installed version of ffmpeg and
  dynamically link, instead of requiring the source tree and
  statically linking the two packages.  It changes the configure
  script, source files and Makefile.
  qemacs-0.3.1-r1-fixup.patch:
* Added support for xv USE flag, like I noted above builds will fail
  without this on boxes where xv is unset.
* Added support for ffmpeg USE flag, and appropriate mode.  I'm
  little surprised this hasn't been added earlier, it has to be one
  of the coolest features I've ever seen in an editor.
* Applies all the patches, with perhaps too much commentary if such
  a thing is possible.
* A little cosmetic fix to the man page, so it shows the real
  location of the README file.
* Minor cleanup to use use_enable instead of ugly old myconf.
* Specifies a noop for src_test, as it will fail with maketest set
  in FEATURES due to apparent craziness in the build system ;)
* Installs the example configuration file, because well it should be
  installed.
* Installs the plugin example, and headers needed to compile
  plugins.
* Displays a big fat message telling users about the changes.

  As some kind of weak enticement for the mighty devs to jump on the case
and let me build plugins from a default qemacs build I've decided to knock
up a 5 minute hack of a Gentoo Guide WYSIWYG mode to show you what you could
be missing with the current ebuild.  It uses not only the includes which are
now available, but also the csstoqe binary as an example of why they should
be installed ;)  Granted it hasn't been tested much, because I have never
actually used the Guide format for anything.  However should anyone find it
interesting, I would be willing to clean/fix/complete it.  You can find it
at http://www.jnrowe.ukfsn.org/files/qemacs-gguide.tar.bz2, as I didn't
think it was really appropriate to attach here.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.

------- Comment #1 From James Rowe 2005-02-21 21:47:45 0000 -------
Created an attachment (id=51850) [details]
qemacs-0.3.1-Makefile-gentoo.patch

------- Comment #2 From James Rowe 2005-02-21 21:48:06 0000 -------
Created an attachment (id=51851) [details]
qemacs-0.3.1-manpage-ref-fix.patch

------- Comment #3 From James Rowe 2005-02-21 21:48:28 0000 -------
Created an attachment (id=51852) [details]
qemacs-0.3.1-qemacs-datadir.patch

------- Comment #4 From James Rowe 2005-02-21 21:48:53 0000 -------
Created an attachment (id=51853) [details]
qemacs-0.3.1-use-installed-ffmpeg.patch

------- Comment #5 From James Rowe 2005-02-21 21:49:31 0000 -------
Created an attachment (id=51854) [details]
qemacs-0.3.1-r1-fixup.patch

diff against qemacs-0.3.1-r1.ebuild

------- Comment #6 From Mamoru KOMACHI (RETIRED) 2005-03-01 01:38:11 0000 -------
Thanks for the improvements. All patches look fine to me,
but I'd like to ask you ffmpeg patch. I think it should be
applied unconditionally (because it can be disabled by econf,
so there is no point to not apply it in src_unpack). Also,
if I turn on ffmpeg support, qemacs won't compile with 
ffmpeg-0.4.9_pre1 (while it does compile with ffmpeg-0.4.{7,8}).
I didn't look into the difference between 0.4.9_pre1 and
other versions, but DEPEND="ffmpeg? ( media-video/ffmpeg )" 
should reflect it.

------- Comment #7 From James Rowe 2005-03-02 11:05:30 0000 -------
I agree there is no reason that the patch shouldn't be applied regardless of 
the ffmpeg USE flag.  I think really it just comes down to a matter of habit 
for me :/

I wasn't really aware of the _pre version of ffmpeg, so obviously I hadn't 
tested it.  I will take a look at it sometime on Friday/Saturday though.  I'd 
prefer to see a fix for newer ffmpeg versions(if they are all going to break 
not just a flaw in the pre-release), than failure if/when ffmpeg 0.4.9 hits 
stable.

And yeah, I will take a note of ~ARCH versions of depends when filing bugs in
future ;)

Regardless of the outcome I will freshen up the attachments over the weekend
to take in to account your comments.

------- Comment #8 From James Rowe 2005-03-05 02:16:44 0000 -------
Well, after poking around a bit it appears that nearly every release of ffmpeg 
breaks compatibility with previous versions :(  It also appears, from the 
packages I checked, that most packages that require ffmpeg ship with a specific
version of it(I would imagine due to compatibility problems)

For these reasons, I'm tempted to come to conclusion it would that either:
  1) Pull in a specific version and link statically if ffmpeg is set(like the
packages wants to do without the patch).  Obvious problems being either the
ebuild becomes enormous to pull in all the config for ffmpeg and will probably
never take fixes from the ffmpeg build due to time, or the ffmpeg is not 
configurable at all.
  2) Don't support ffmpeg. I don't really like the idea, although where it 
matters for me at work I'm already pushing ffmpeg support as a plugin anyway :/

I would appreciate any comments on the matter, obviously I'm holding off on 
other updates until a conclusion of some kind is reached.

------- Comment #9 From James Rowe 2005-03-08 11:27:37 0000 -------
  This is a fixed and updated version of the original ebuild, which had a few 
prolems:

        -- docdir sed changed to PVR, as it should've been.
        -- warning now read "prior to 0.3.1-r2" as it should have been updated with
           the -r1 release(the result of sitting on this since November :/ ).
        -- plugin-example file were being installed in to the wrong directory due 
           to clogged brain. Fixed.

  FFMPEG support has been dropped for the time being, until some kind of 
resolution is made.  If/when this bug is closed like this I will open another,
as I should've originally, with the ffmpeg stuff.

------- Comment #10 From James Rowe 2005-03-08 11:28:09 0000 -------
(From update of attachment 51853 [details])
No longer applicable in current state.

------- Comment #11 From James Rowe 2005-03-08 11:29:30 0000 -------
Created an attachment (id=52957) [details]
qemacs-0.3.1-r2-fixup.patch

------- Comment #12 From Mamoru KOMACHI (RETIRED) 2005-04-23 00:56:44 0000 -------
Thanks. I applied these patches except ffmpeg one.
The reason why I didn't commit is that qemacs won't run
if I compile it with gcc-3.4. (It compiles fine but
segfaults) I thought this was related to these patches
but even 0.3.1-r1 and 0.3.1 fail to start if I build
them with gcc-3.4, I came to think it's okay to add
the patches. 

Can you compile and run qemacs with gcc-3.4? I guess
you never tried because you didn't have gcc-3.4 patch
in your ebuild. If you have any idea about this issue
I'd appreciate your help.

------- Comment #13 From James Rowe 2005-04-23 01:49:26 0000 -------
  Honestly, I don't really try unstable toolchain items at all.  I like to
limit myself to unstable items that can't cause strange breakages ;)  I will
have a look at it though.

  And thanks for the nudge on ffmpeg too, I had completely forgotten about 
that.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug