This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Libguile17 dependency issue - attention maintainer


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: lilypond.cygport
Description: Text document

--- 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__ */
--
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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]