Package Details: codelite 12.0-2

Git Clone URL: https://aur.archlinux.org/codelite.git (read-only)
Package Base: codelite
Description: Cross platform C/C++/PHP and Node.js IDE written in C++
Upstream URL: http://www.codelite.org/
Licenses: GPL
Submitter: None
Maintainer: uffe
Last Packager: uffe
Votes: 158
Popularity: 0.556654
First Submitted: 2008-08-01 09:11
Last Updated: 2019-04-09 14:16

Pinned Comments

uffe commented on 2016-09-26 11:42

ATTENTION: read this before flagging this package out-of-date

A number of you have recently flagged package out-of-date

This package "codelite" represents the stable release of the codelite project.

I do not consider the "Weekly Builds" from http://downloads.codelite.org/ as stable releases (neither does the codelite project)

Also note: currently codelite weekly builds are only published as binary packages - this package builds from source - you should take a look at the codelite-bin AUR package)

Generally speaking - I will not update this package before the codelite github release page (https://github.com/eranif/codelite/releases) have the release published.

Please respect that - Thanks

You can always do you own "codelite-weekly" AUR package if you like...

PS: to clear up a recent misunderstanding - this does not mean that I won't accept patches that is needed for stable codelite to build against refreshed libraries etc

Latest Comments

1 2 3 4 5 6 ... Next › Last »

uffe commented on 2019-04-09 14:28

@schnedan my comment about stable relases only relates to codelite itself - it has nothing to do with not wanting to accept a patch - which I have applied now.

schnedan commented on 2019-04-04 21:38

Thanks to hpmachining. Works like a charm. Hint: I needed to adjust the md5sum...

Well personally I think the maintainer comment is... lets say bullshit. The community should focus on a working system. For me the computer is a productivity tool, and a IDE especially. If we can fix it we should. Waiting for upstream to appear on my computer broke my systems to often for my taste.

so again: thanks folks for getting the work done!

jazztickets commented on 2019-04-04 15:32

Maybe it's time for an orphan request.

hpmachining commented on 2019-04-04 15:24

I'm not the maintainer, so I can't update the PKGBUILD.

jazztickets commented on 2019-04-04 15:22

Ah, got it. Could you update the PKGBUILD to reflect those changes? It seems to work fine for me.

hpmachining commented on 2019-04-04 14:44

@jazztickets see my previous comments. The patches I posted should fix that error.

hpmachining commented on 2019-01-29 17:17

The issue with mariadb 10.3 has been fixed upstream. Here is a patch for the fix.

mariadb_10_3.patch

diff --git a/sdk/databaselayer/CMakeLists.txt b/sdk/databaselayer/CMakeLists.txt
index b7632bc7d..23907a5ad 100644
--- a/sdk/databaselayer/CMakeLists.txt
+++ b/sdk/databaselayer/CMakeLists.txt
@@ -56,6 +56,18 @@ if ( WITH_MYSQL )
     include_directories(${MYSQLCLIENT_INCLUDE})
     message("-- Adding MySQL include path: ${MYSQLCLIENT_INCLUDE} ")
     FILE(GLOB MYSQL_SRCS "src/dblayer/Mysql*.cpp")
+
+if(UNIX AND NOT APPLE)
+# Recent (2019) versions of debian and Arch have mariadb 10.3 which, it seems, isn't directly compatable with the included dblayer source
+# It has a necessary header file in /usr/include/mariadb/server/ so flag to #include it if it exists
+# See https://github.com/eranif/codelite/issues/2215
+    find_path(MARIADBSERVER_INCLUDE NAMES mysql.h PATH_SUFFIXES mysql/server mariadb/server)
+    if ( NOT ${MARIADBSERVER_INCLUDE} STREQUAL "MARIADBSERVER_INCLUDE-NOTFOUND" )
+        add_definitions( -DMARIADBSERVER_INCLUDE=1 )
+        message( "-- Adding MySQL server include" )
+    endif(NOT ${MARIADBSERVER_INCLUDE} STREQUAL "MARIADBSERVER_INCLUDE-NOTFOUND")
+endif(UNIX AND NOT APPLE)
+
 endif ( WITH_MYSQL )

 # Define the output
diff --git a/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp b/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp
index 699df3a53..3cac9b6c6 100644
--- a/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp
+++ b/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp
@@ -1,3 +1,9 @@
+#if defined(MARIADBSERVER_INCLUDE)
+// See https://github.com/eranif/codelite/issues/2215
+// (For some reason this needs to come before the other #includes)
+    #include "server/mysql.h"
+#endif
+
 #include "../include/MysqlPreparedStatementWrapper.h"
 #include "../include/MysqlPreparedStatementResultSet.h"
 #include "../include/MysqlDatabaseLayer.h"
diff --git a/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp b/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp
index a22963a9a..831708d23 100644
--- a/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp
+++ b/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp
@@ -1,5 +1,5 @@
 #include "../include/MysqlResultSetMetaData.h"
-#include "mysql_com.h"
+#include "mysql.h"

 // ctor
 MysqlResultSetMetaData::MysqlResultSetMetaData(MysqlInterface* pInterface, MYSQL_RES* pMetaData)

Here is a patch to update PKGBUILD

PKGBUILD.patch

diff --git a/PKGBUILD b/PKGBUILD
index 86485d9..ca19afb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,7 @@

 pkgname=codelite
 pkgver=12.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Cross platform C/C++/PHP and Node.js IDE written in C++"
 arch=('i686' 'x86_64')
 url="http://www.codelite.org/"
@@ -22,7 +22,7 @@ depends=('wxgtk'
           'clang' 'lldb'
           'libedit'
           'libssh'
-          'libmariadbclient'
+          'mariadb-libs'
           'ncurses'
           'xterm' 'curl'
           'python2'
@@ -34,10 +34,15 @@ optdepends=('graphviz: callgraph visualization'
              'valgrind: debugger'
             )

-source=(https://github.com/eranif/${pkgname}/archive/${pkgver//_/-}.tar.gz http://repos.codelite.org/wxCrafterLibs/wxgui.zip)
+source=(
+  "${pkgname}-${pkgver}.tar.gz::https://github.com/eranif/${pkgname}/archive/${pkgver//_/-}.tar.gz"
+  http://repos.codelite.org/wxCrafterLibs/wxgui.zip
+  mariadb_10_3.patch
+)

 md5sums=('674287c16de4744726afd5fd6521ee4f'
-         '20f3428eb831c3ff2539a7228afaa3b4')
+         '20f3428eb831c3ff2539a7228afaa3b4'
+         'd6da3b478ec7577abd05d8183d20a705')


 #if [[ "$CARCH" == 'i686' ]]; then
@@ -52,6 +57,11 @@ noextract=('wxgui.zip')

 pkg_name_ver="${pkgname}-${pkgver//_/-}"

+prepare() {
+  cd "${srcdir}/${pkg_name_ver}"
+  patch -p1 -i "${srcdir}"/mariadb_10_3.patch
+}
+
 # 20151027: ArchLinux clang/llvm-3.7: CommandLine Error: Option 'aarch64-reserve-x18' registered more than once
 # 20151027: -DENABLE_LLDB=0: ArchLinux clang/llvm-3.7: CommandLine Error: Option 'aarch64-reserve-x18' registered more than once
 # 20151027: sudo chmod 000 /usr/lib/codelite/LLDBDebugger.so

hpmachining commented on 2019-01-19 15:58

It looks like the change from libmariadbclient 10.1.37 to mariadb-libs 10.3.12 has broken this build. I can provide the full build log if needed, but here is the error:

build/codelite/src/codelite-12.0/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp:97:25: error: ‘MYSQL_STMT’ {aka 
‘struct st_mysql_stmt’} has no member named ‘affected_rows’; did you mean ‘prefetch_rows’?
   return (m_pStatement->affected_rows);
                         ^~~~~~~~~~~~~
                         prefetch_rows
make[2]: *** [sdk/databaselayer/CMakeFiles/databaselayersqlite.dir/build.make:284: sdk/databaselayer/CMakeFiles/databaselayersqlit
e.dir/src/dblayer/MysqlPreparedStatementWrapper.cpp.o] Error 1

Changing affected_rows to prefetch_rows does enable the build to complete, but I don't know what affected_rows and prefetch_rows are, so I don't know if that is an appropriate fix.

UPDATE

After some digging, I found that mariadb-libs 10.3.12 (the latest version) has 2 mysql.h files. One in /usr/include/mysql and one in /usr/include/mysql/server. There was only 1 in version 10.1.37 (previous version in Arch). It looks like the one in the server directory is the one that was used in libmariadbclient 10.1.37.

If I change line 15 in sdk/databaselayer/include/wx/dblayer/include/MysqlPreparedStatementWrapper.h from #include "mysql.h" to #include "server/mysql.h" the package will build. There are 7 other files that have #include "mysql.h". They are not causing the build to fail, but it does build if I change them all. So as a possible fix I added the following to the PKGBUILD.

prepare() {
cd "${srcdir}/${pkg_name_ver}"
sed -i 's%#include "mysql.h"%#include "server/mysql.h"%' $(grep -rl '#include "mysql.h"')
}

I don't know if this is the correct fix. It seems to work but I don't know how to test it properly.

mimagind commented on 2018-08-18 19:50

This fails to build with MySQL support enabled if libmysqlclient>=8 is installed.

sankasan commented on 2018-02-04 09:45

Is there a way to get an older clang version compatible as well?

Clang 5.0 doesn't cut it for all projects and codelite (and codelite-bin) now depend on it. It would be useful if clang35 (and potentially clang39) would be accepted as valid alternatives.