Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

utf8proc 1.2 release #30

Closed
stevengj opened this issue Mar 26, 2015 · 18 comments
Closed

utf8proc 1.2 release #30

stevengj opened this issue Mar 26, 2015 · 18 comments

Comments

@stevengj
Copy link
Member

Now that we have nicer documentation (thanks to #29), as far as I can tell we are ready for a 1.2 release as soon as the version number is updated.

(I don't think it's necessary to wait until we can get the HTML docs into the release tarball; there are equivalent docs in utf8proc.h, after all, and in any case the lack of formatted docs in the tarball is not a regression.)

@jiahao, @tkelman, @nalimilan, @StefanKarpinski, your thoughts?

@tkelman
Copy link
Contributor

tkelman commented Mar 26, 2015

Fine by me. Worth doing a sanity check (maybe you have already) that things are still fine when current utf8proc master is linked into Julia?

@stevengj
Copy link
Member Author

I just tried it, and all the Julia tests pass on my machine with the utf8proc master.

@jakebolewski
Copy link

+1 it would be great to fix the unicode character width issues

@stevengj
Copy link
Member Author

Hmm, one final tweak: looking at this, it seems like we need UTF8PROC_VERSION_MAJOR etc. #defines in utf8proc.h so that we can check the API version at compile-time. This will allow callers such as Julia to use e.g. utf8proc_charwidth for utf8proc-1.2 or later, and fall back to wcwidth for systems with older utf8proc versions.

Update: this is now added.

@tkelman
Copy link
Contributor

tkelman commented Mar 27, 2015

Is calling runtime utf8proc_version not sufficient?

@nalimilan
Copy link
Member

#defines can always be useful.

I'd just like to add support for make install DESTDIR before the new release. Patch coming.

@stevengj
Copy link
Member Author

@tkelman, the runtime version is not sufficient if you need to decide at compile-time whether you can call a function like utf8proc_charwidth or must fall back to wcwidth. For example:

#if UTF8PROC_VERSION_MAJOR > 1 || (UTF8PROC_VERSION_MAJOR == 1 && UTF8PROC_VERSION_MINOR >= 2)
...use utf8proc_charwidth...
#else
...use wcwidth...
#endif

@stevengj
Copy link
Member Author

@nalimilan, it is more standard to do make prefix=DESTDIR install (this is the GNU standard promulgated by autotools and is widely imitated), and this is already supported.

@tkelman
Copy link
Contributor

tkelman commented Mar 27, 2015

the runtime version is not sufficient if you want to decide at compile-time whether you can call a function like utf8proc_charwidth or fall back to wcwidth.

Yeah, good point.

it is more standard to do make prefix=DESTDIR install

Distribution buildbots all use DESTDIR. It's "strongly recommended" practice - http://www.gnu.org/prep/standards/html_node/DESTDIR.html

@stevengj
Copy link
Member Author

Thanks, I wasn't familiar with staged installs, so I didn't know about the DESTDIR/prefix dichotomy. (I normally use automake and get all these things for free, but automake seems like overkill here). Looks like we'll also get it for free if we switch to cmake.

@nalimilan
Copy link
Member

OK, see #31

@stevengj
Copy link
Member Author

Anything else to check before we are good to go? (I'll fix up the NEWS.md file to cross-ref the issues or PRs as in Julia.)

@nalimilan
Copy link
Member

Fine with me.

@tkelman
Copy link
Contributor

tkelman commented Mar 28, 2015

Looks like you haven't tagged yet, I realized that the Julia build on Windows does use the makefile here. We probably don't want to do the soname symlinking there either.

@tkelman
Copy link
Contributor

tkelman commented Mar 28, 2015

Just checked deps/Makefile again - it doesn't use make install, it does make libmojibake.a and copies the static library and header into Julia's usr. So probably no big deal.

@stevengj
Copy link
Member Author

Yes, the Julia build only makes the .a library, because it ends up getting linked into libjulia (by default).

@stevengj
Copy link
Member Author

Okay, release tag is pushed and website is updated.

@stevengj
Copy link
Member Author

(Unfortunately, I just noticed that there were some stray mojibake references remaining in the bench/ subdirectory. Not a critical issue since bench/bench.c is mainly for use by utf8proc developers, who should be using git anyway, but probably calls for a 1.2.1 release at some point. Let's wait a couple weeks, though—at least until JuliaLang/julia#10659 is merged and gives utf8proc 1.2 wider testing, to see if any other problems turn up).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants