Package Details: codelite 13.0-1

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.026524
First Submitted: 2008-08-01 09:11
Last Updated: 2019-05-27 12:47

Pinned Comments

uffe commented on 2019-08-14 15:24

NOTE: (2019-08-14)

Recent pango (package) releases have created a problem related to inclusion of harfbuzz/hb.h file. The problem will prevent CodeLite and other applications from compiling properly. Currently CodeLite will not compile unless the cmakefiles are hacked - but I'm still hoping for an upstream pango/harfbuzz fix...

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 »

settyness commented on 2019-09-16 19:12

Got a new computer and needed this to build, so I just made temporary symlinks in /usr/include to all the C header files in /usr/include/harfbuzz. It's dirty, but it works. You're gonna want to remove the symlinks when you're done or at least until you've built everything you need to that relies on this wonky pango.

uffe commented on 2019-08-14 15:24

NOTE: (2019-08-14)

Recent pango (package) releases have created a problem related to inclusion of harfbuzz/hb.h file. The problem will prevent CodeLite and other applications from compiling properly. Currently CodeLite will not compile unless the cmakefiles are hacked - but I'm still hoping for an upstream pango/harfbuzz fix...

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.