pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: devel or mk readline



Hi,

From: Ryo ONODERA <ryo_on%yk.rim.or.jp@localhost>, Date: Tue, 30 Jul 2013 
17:28:41 +0900 (JST)

> Hi,
> 
> From: "OBATA Akio" <obache%NetBSD.org@localhost>, Date: Tue, 30 Jul 2013 
> 09:57:26 +0900
> 
>> On Mon, 29 Jul 2013 22:45:00 +0900, Patrick Welche 
>> <prlw1%cam.ac.uk@localhost>
>> wrote:
>> 
>>> In that case, I don't understand:
>>>
>>> revision 1.24
>>> date: 2013/07/17 21:22:40;  author: adam;  state: Exp;  lines: +4 -4
>>> Distfile got changed (licence clause in mans). Revision bump.
>>> Don't use mk/readline.buildlink3.mk! Must be
>>> devel/readline/buildlink3.mk!
>>>
>>> which is from mysql55-client, which I looked at when trying to fix the
>>> MySQL two different source tarballs with the same name problem for
>>> mysql56-client.
>>>
>>> Leaving the mk/readline.buildlink3.mk alone, I get for mysql56-client
>>>
>>> $ ldd /usr/pkg/bin/mysql
>>> /usr/pkg/bin/mysql:
>>>         -lpthread.1 => /usr/lib/libpthread.so.1
>>>         -lgcc_s.1 => /usr/lib/libgcc_s.so.1
>>>         -lc.12 => /usr/lib/libc.so.12
>>>         -ledit.3 => /usr/lib/libedit.so.3
>>>         -lterminfo.1 => /lib/libterminfo.so.1
>>>         -lz.1 => /usr/lib/libz.so.1
>>>         -lssl.10 => /usr/lib/libssl.so.10
>>>         -lcrypto.8 => /usr/lib/libcrypto.so.8
>>>         -lcrypt.1 => /lib/libcrypt.so.1
>>>         -lstdc++.7 => /usr/lib/libstdc++.so.7
>>>         -lm.0 => /usr/lib/libm.so.0
>>>
>>> So, libedit seems OK. Should that bit of the mysql55-client patch be
>>> reverted? What was the problem?
>> 
>> For me (NetBSD-5.2), cmake will fail to detect libedit,
>> so perhaps editline>=3.0 may be required for mysql.
>> 
>> devel/editline/builtin.mk should detect builtin editline version...
> 
> NetBSD's libedit has no version string like 3.1.
> The version string 3.1 is independently defined in editline's libedit.pc.
> mysql55's CMakeLists.txt does not use the version string in libedit.pc.
> 
> mysql55's cmake/readline.cmake has libedit/editline checking small
> program, and its build fails always.
> 
> Following patches fix READLINE_DEFAULT=editline/readline case
> under NetBSD 6.99.23.
> 
> And according to gdt@'s e-mail, GPL v3 readline is not compatible
> with GPL v2 only mysql55.
> Following patches or similar is needed, and/or NO_* and RESTRICTED should
> be defined?

If there is no objection I will commit my patches.

Thank you.

> Index: Makefile.common
> ===================================================================
> RCS file: /cvsroot/pkgsrc/databases/mysql55-client/Makefile.common,v
> retrieving revision 1.29
> diff -u -r1.29 Makefile.common
> --- Makefile.common   17 Jul 2013 21:22:40 -0000      1.29
> +++ Makefile.common   30 Jul 2013 05:40:33 -0000
> @@ -17,7 +17,6 @@
>  PATCHDIR?=           ${.CURDIR}/../../databases/mysql55-client/patches
>  
>  USE_CMAKE=           yes
> -USE_GNU_READLINE=    yes
>  USE_LANGUAGES=               c c++
>  USE_TOOLS+=          bash gmake perl:run
>  
> @@ -115,5 +114,11 @@
>  SUBST_SED.scr+=              -e "s,/bin/sh,${RCD_SCRIPTS_SHELL},g"
>  SUBST_MESSAGE.scr=   Fixing scripts.
>  
> -.include "../../devel/readline/buildlink3.mk"
> +.include "../../mk/readline.buildlink3.mk"
> +
> +.if !empty(READLINE_TYPE:Mreadline)
> +CMAKE_ARGS+= -DREADLINE_FOUND=system
> +.endif
> +CMAKE_ARGS+= 
> -DREADLINE_INCLUDE_DIR=${BUILDLINK_PREFIX.editlinereadline}/include/readline
> +
>  .include "../../devel/zlib/buildlink3.mk"
> Index: distinfo
> ===================================================================
> RCS file: /cvsroot/pkgsrc/databases/mysql55-client/distinfo,v
> retrieving revision 1.24
> diff -u -r1.24 distinfo
> --- distinfo  17 Jul 2013 21:22:40 -0000      1.24
> +++ distinfo  30 Jul 2013 05:40:33 -0000
> @@ -10,6 +10,7 @@
>  SHA1 (patch-client_mysqlbinlog.cc) = e38abe026c10a07808ccd24b596cf13c5079e206
>  SHA1 (patch-client_sql_string.cc) = 1547b8d3889af2831c89b97aecdbe8158711a600
>  SHA1 (patch-cmake_libutils.cmake) = 5d75a1762e3db6724bec2d75b45d40b17a5e9d09
> +SHA1 (patch-cmake_readline.cmake) = aed279d6740e70d7e0e7565a6d9f0f214c866c8d
>  SHA1 (patch-include_CMakeLists.txt) = 
> 4781c69315624fb5567ae70cee87f1ddb3f89847
>  SHA1 (patch-include_my_compare.h) = f45bac4b488332a668b0005751856279b67401f5
>  SHA1 (patch-include_my_net.h) = 162c97a87ab00b407f6796b55ef839ba2e3ac2af
> Index: patches/patch-cmake_readline.cmake
> ===================================================================
> RCS file: patches/patch-cmake_readline.cmake
> diff -N patches/patch-cmake_readline.cmake
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-cmake_readline.cmake        30 Jul 2013 05:40:33 -0000
> @@ -0,0 +1,19 @@
> +$NetBSD$
> +
> +* Fix cmake's check build error. Borrowed from mysql56's readline.cmake.
> +
> +--- cmake/readline.cmake.orig        2013-06-19 15:26:27.000000000 +0000
> ++++ cmake/readline.cmake
> +@@ -156,8 +156,11 @@ MACRO (MYSQL_FIND_SYSTEM_READLINE name)
> +     #include <readline/readline.h>
> +     int main(int argc, char **argv)
> +     {
> +-      char res= *(*rl_completion_entry_function)(0,0);
> ++      typedef int MYFunction(const char*, int);
> ++      MYFunction* myf= rl_completion_entry_function;
> ++      int res= (myf)(NULL, 0);
> +       completion_matches(0,0);
> ++      return res;
> +     }"
> +     ${name}_USE_LIBEDIT_INTERFACE)
> + 

--
Ryo ONODERA // ryo_on%yk.rim.or.jp@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index