public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: David Stacey <drstacey@tiscali.co.uk>
To: cygwin@cygwin.com
Subject: Re: Libguile17 dependency issue - attention maintainer
Date: Sat, 21 Feb 2015 00:50:00 -0000	[thread overview]
Message-ID: <54E7C0F0.8070303@tiscali.co.uk> (raw)
In-Reply-To: <20150220154232.GY26084@calimero.vinschen.de>

[-- Attachment #1: Type: text/plain, Size: 1188 bytes --]

On 20/02/15 15:42, Corinna Vinschen wrote:
> unfortunately it turns out that our guile (and lilypond) maintainer has
> left us, so the packages are orphaned.  Jan's last version of guile was
> 1.8.7-2 for 32 bit.
>
> Does anybody have fun to take over maintainership of guile or lilypond?

First, let me say that I have no intention of maintaining lilypond - I 
am aware that even replying to this e-mail puts me in danger of 
acquiring another couple of packages ;-) I absolutely love lilypond and 
would like it to stay within Cygwin if at all possible, but I don't have 
the time right now to take on a package that is going to be a little 
problematic.

I had a go at building lilypond for x86_64 about 18 months ago, but 
didn't get very far. I managed to produce an executable, but 'make doc' 
and 'make check' both failed, so I didn't have any confidence in the 
binary produced. My need for a working lilypond exceeded the tinkering 
time available, so I just used Fedora.

I've tidied up the cygport file this evening, and this (along with a 
small patch) is attached. Hopefully this will be a starting point for a 
prospective maintainer with the time to do it justice.

Dave.


[-- Attachment #2: lilypond.cygport --]
[-- Type: text/plain, Size: 2986 bytes --]

# lilypond.cygport
NAME="lilypond"
VERSION=2.19.15
RELEASE=1
SUMMARY="A typesetting system for music notation."
DESCRIPTION="LilyPond is an automated music engraving system. It formats music beautifully and automatically, and has a friendly syntax for its input files."
CATEGORY="Interpreters"

MAJOR_VERSION="$(echo ${VERSION} | cut -d '.' -f 1)"
MINOR_VERSION="$(echo ${VERSION} | cut -d '.' -f 2)"


#############################################################################
# Patches. These are as follows:
#
#   - 2.18.2-dos-to-posix.patch - Use cygwin_conv_path() instead of
#     cygwin_conv_to_posix_path().
PATCH_URI="
	2.18.2-dos-to-posix.patch
"
#############################################################################


HOMEPAGE="http://www.lilypond.org/"
SRC_URI="http://download.linuxaudio.org/${PN}/sources/v${MAJOR_VERSION}.${MINOR_VERSION}/${P}.tar.gz"
DIFF_EXCLUDES="configure"


#############################################################################
# This cygport file produces two packages, the main 'lilypond' package and
# 'lilypond-doc' which contains the documentation.
PKG_NAMES="lilypond lilypond-doc"
#############################################################################


#############################################################################
# The main 'lilypond' package contains everything except the HTML
# documentation.
lilypond_CONTENTS="--exclude=html usr"
lilypond_SUMMARY="${SUMMARY}"
lilypond_DESCRIPTION="${DESCRIPTION}"
lilypond_CATEGORY="Interpreters"
#############################################################################


#############################################################################
# The 'lilypond-doc' package.
lilypond_doc_CONTENTS="usr/share/doc/lilypond/html"
lilypond_doc_SUMMARY="HTML documentation for LilyPond."
lilypond_doc_DESCRIPTION="${DESCRIPTION} This package contains the HTML documentation for LilyPond."
lilypond_doc_CATEGORY="Doc"
#############################################################################


src_compile() {
	cd "${S}"
	./autogen.sh --noconfigure
	cd "${B}"
	"${S}/configure" --prefix=/usr --exec-prefix=/usr \
		--with-ncsb-dir=/usr/share/ghostscript/fonts

	# lilypond doesn't compile with parallel builds.
	MAKEOPTS+=" -j 1"

	# The code in the python directory won't compile out of the box, as
	# it needs '-lpython', and the makefile doesn't link against this
	# library. So we build this first, explicitly specifying the python
	# libraries. Once this is built, we can build the rest of the
	# lilypond code.
	cd "${B}/python"
	cygmake LDFLAGS="$(python-config --libs)"
	cd "${B}"
	cygmake

	# Make the lilypond documentation.
	cygmake doc
}


src_install() {
	local vimdir=/usr/share/vim/vim74
	mkdir -p "${D}${vimdir}"

	cd "${B}"
	make install DESTDIR="${D}" vimdir="${vimdir}"

	# Symlink lilypond-init.el in emacs' site-start.d directory
	cd "${D}/usr/share/emacs/site-lisp"
	mkdir site-start.d
	ln -s ../lilypond-init.el site-start.d
}

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 2.18.2-dos-to-posix.patch --]
[-- Type: text/x-patch; name="2.18.2-dos-to-posix.patch", Size: 885 bytes --]

--- origsrc/lilypond-2.18.2/flower/file-name.cc	2014-03-17 15:29:16.000000000 +0000
+++ src/lilypond-2.18.2/flower/file-name.cc	2015-02-20 19:49:29.762829900 +0000
@@ -53,13 +53,14 @@ using namespace std;
 static string
 dos_to_posix (const string &file_name)
 {
-  char buf[PATH_MAX] = "";
-  char s[PATH_MAX] = {0};
-  file_name.copy (s, PATH_MAX - 1);
-  /* ugh: char const* argument gets modified.  */
-  int fail = cygwin_conv_to_posix_path (s, buf);
-  if (!fail)
-    return buf;
+  const char* const win32 = file_name.c_str();
+  const ssize_t size = cygwin_conv_path(CCP_WIN_W_TO_POSIX | CCP_RELATIVE, win32, NULL, 0);
+  if (size >= 0)
+  {
+    std::vector<char> posix(size, '\0');
+    if (!cygwin_conv_path(CCP_WIN_W_TO_POSIX | CCP_RELATIVE, win32, &posix[0], size))
+      return std::string(&posix[0], size);
+  }
   return file_name;
 }
 #endif /* __CYGWIN__ */

[-- Attachment #4: Type: text/plain, Size: 218 bytes --]

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  parent reply	other threads:[~2015-02-20 23:19 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-20  1:00 [ANNOUNCEMENT] Updated: make-4.1-1 Ti Strga
2015-02-20 15:42 ` Franz Sirl
2015-02-20 16:20   ` Libguile17 dependency issue - attention maintainer Marco Atzeri
2015-02-20 16:21     ` Cosimo Lupo
2015-02-20 16:42       ` Marco Atzeri
2015-02-20 17:24         ` Achim Gratz
2015-02-20 19:08           ` Yaakov Selkowitz
2015-02-20 16:24     ` Corinna Vinschen
2015-02-20 16:41       ` Marco Atzeri
2015-02-20 17:05         ` Corinna Vinschen
2015-02-21  0:50       ` David Stacey [this message]
2015-04-12 10:03         ` Marco Atzeri
2015-04-12 13:11           ` David Stacey
2015-04-12 20:17           ` David Stacey
2015-04-12 20:39             ` Eliot Moss
2015-04-12 21:45               ` Marco Atzeri
2015-04-13  9:56                 ` Lilypond Marco Atzeri
2015-04-13 11:54                   ` Lilypond Eliot Moss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54E7C0F0.8070303@tiscali.co.uk \
    --to=drstacey@tiscali.co.uk \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).