Commit 3b8e1e9f authored by satmandu's avatar satmandu Committed by GitHub

Codelite fix (#5288)

* rebuild

* Update codelite.rb
parent 2a1332d2
......@@ -3,46 +3,104 @@ require 'package'
class Codelite < Package
description 'CodeLite is an open source, free, cross platform IDE specialized in C, C++, PHP and JavaScript'
homepage 'https://codelite.org/'
version '13.0'
compatibility 'aarch64,armv7l,x86_64'
case ARCH
when 'aarch64', 'armv7l', 'x86_64'
source_url 'https://github.com/eranif/codelite/archive/13.0.tar.gz'
source_sha256 'f2653fa42d6214999718236998cb223e6de00a498c0cfde795e901be693fb9ac'
depends_on 'gtk2'
depends_on 'hunspell'
depends_on 'libssh'
depends_on 'uchardet'
depends_on 'wxwidgets'
depends_on 'sommelier'
end
version '13.0-1'
compatibility 'all'
source_url 'https://github.com/eranif/codelite/archive/13.0.tar.gz'
source_sha256 'f2653fa42d6214999718236998cb223e6de00a498c0cfde795e901be693fb9ac'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-chromeos-armv7l.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/codelite-13.0-1-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: 'c66dfd41c532de8c20d5057790c112f42d549ce9d3874b53d36f591cd411a587',
armv7l: 'c66dfd41c532de8c20d5057790c112f42d549ce9d3874b53d36f591cd411a587',
x86_64: '3bcde4fa9a59939b654b1d6b7fbfe6edb7bad7759a3706f8498a85e7bc1d3dcb',
binary_sha256({
aarch64: '3ce2928e3a9d72d9a46c90260a6d5b4396913dcdb02a7c8342acebeb5db5c9e0',
armv7l: '3ce2928e3a9d72d9a46c90260a6d5b4396913dcdb02a7c8342acebeb5db5c9e0',
i686: 'c3b273b5ed85b711e8d7040ae55142b8f9d92f3a0aad6ec4c09f89b179130b51',
x86_64: '8a3cb05597521854499fd7f69287ed82a68853a11bda85621c16456b1dc1c081'
})
depends_on 'gtk3'
depends_on 'hunspell'
depends_on 'libssh'
depends_on 'wxwidgets'
depends_on 'sommelier'
depends_on 'harfbuzz'
def self.patch
system "for f in \$(grep -rn '\"/usr\"' | grep set | cut -d':' -f1 | sort | uniq); do sed -i 's,/usr,#{CREW_PREFIX},' \$f; done"
# As per https://github.com/eranif/codelite/issues/2292
@gtk3patch = <<~PATCH_EOF
From 92ed90e07774dfc8556bee02c66120eed4938a40 Mon Sep 17 00:00:00 2001
From: dghart <dghart david@4Pane.co.uk>
Date: Wed, 19 Jun 2019 11:23:38 +0100
Subject: [PATCH] Compilation fix for wx3.0 gtk+3 builds
#{' '}
---
codelite_terminal/TextView.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
#{' '}
diff --git a/codelite_terminal/TextView.cpp b/codelite_terminal/TextView.cpp
index 83d2e260c..5966f9972 100644
--- a/codelite_terminal/TextView.cpp
+++ b/codelite_terminal/TextView.cpp
@@ -12,7 +12,11 @@ TextView::TextView(wxWindow* parent, wxWindowID winid)
m_ctrl->SetCaretStyle(wxSTC_CARETSTYLE_BLOCK);
m_ctrl->SetYCaretPolicy(wxSTC_CARET_STRICT | wxSTC_CARET_SLOP, 4);
m_ctrl->SetLexer(wxSTC_LEX_CONTAINER);
+#if wxCHECK_VERSION(3, 1, 1)
m_ctrl->StartStyling(0);
+#else
+ m_ctrl->StartStyling(0, 0x1f);
+#endif
m_ctrl->SetWrapMode(wxSTC_WRAP_CHAR);
#else
m_ctrl = new TextCtrl_t(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize,
@@ -61,7 +65,11 @@ void TextView::SetDefaultStyle(const wxTextAttr& attr)
{
#if USE_STC
m_defaultAttr = attr;
+#if wxCHECK_VERSION(3, 1, 1)
m_ctrl->StartStyling(m_ctrl->GetLastPosition());
+#else
+ m_ctrl->StartStyling(m_ctrl->GetLastPosition(), 0x1f);
+#endif
#else
m_ctrl->SetDefaultStyle(attr);
#endif
@@ -210,6 +218,10 @@ void TextView::Clear()
#if USE_STC
m_ctrl->ClearAll();
m_ctrl->ClearDocumentStyle();
+#if wxCHECK_VERSION(3, 1, 1)
m_ctrl->StartStyling(0);
+#else
+ m_ctrl->StartStyling(0, 0x1f);
+#endif
#endif
}
PATCH_EOF
IO.write('codelite_gtk3.patch', @gtk3patch)
system 'patch -p 1 -i codelite_gtk3.patch'
end
def self.build
Dir.mkdir 'build'
Dir.chdir 'build' do
system 'cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..'
system 'make'
Dir.mkdir 'builddir'
Dir.chdir 'builddir' do
system "env CC=clang CXX=clang++ LD=ld.lld \
CFLAGS='-pipe -flto=thin -fuse-ld=lld' \
CXXFLAGS='-pipe -flto=thin -isystem #{CREW_PREFIX}/include/harfbuzz -fuse-ld=lld' \
LDFLAGS='-flto=thin' \
cmake -G Ninja \
-DENABLE_LLDB=1 \
#{CREW_CMAKE_OPTIONS} \
.."
end
system 'ninja -C builddir'
end
def self.install
Dir.chdir 'build' do
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
end
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
......@@ -3,22 +3,22 @@ require 'package'
class Wxwidgets < Package
description 'wxWidgets is a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base.'
homepage 'https://www.wxwidgets.org/'
version '3.0.5.1-1'
version '3.0.5.1-2'
compatibility 'all'
source_url 'https://github.com/wxWidgets/wxWidgets/archive/v3.0.5.1.tar.gz'
source_sha256 'bae4d9f289e33a05fb8553fcc580564d30efe6a882ff08e3d4e09ef01f5f6578'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-1-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-2-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-2-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-2-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/wxwidgets-3.0.5.1-2-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '6831092ab33fdc4c10df52bdc779652f26f8d7c8a1e48097768a3892eea164f7',
armv7l: '6831092ab33fdc4c10df52bdc779652f26f8d7c8a1e48097768a3892eea164f7',
i686: '71f57c87fb5f1256a811e241ecc8db54a6042d4a9941128b09fff1e3192a8fa7',
x86_64: '04c515d5f4280c78e50ac0e79577f862ef3d526473e096e6ee8f731f43055135',
binary_sha256({
aarch64: 'ed1d320f5031866429b4d5ef6fa32b55703f0863da4b038f85a5618949952c4a',
armv7l: 'ed1d320f5031866429b4d5ef6fa32b55703f0863da4b038f85a5618949952c4a',
i686: '1670e89718d59b1dad3abee8d40cdc0757e4a0df748189d1b3078d9f5b37ef38',
x86_64: '56e179fe5b48b444525b34701c64b7e2e5fc3e5e6a9a57ee7769560785400901'
})
depends_on 'gst_plugins_base'
......@@ -29,27 +29,32 @@ class Wxwidgets < Package
depends_on 'mesa'
depends_on 'gtk3'
def self.build
def self.patch
# Keeps an abicheck error from derailing compile on multiple versions of wxwidgets, including 3.1
# This may be useful when moving to the next 3.1 based stable version, so keep it in.
system "cat <<'EOF'> make-abicheck-non-fatal.patch
diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
--- wxGTK-2.8.12/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100
+++ wxGTK-2.8.12/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100
@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con
msg.Printf(_T(\"Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s.\"),
lib.c_str(), progName.c_str(), prog.c_str());
@make_abicheck_non_fatal_patch = <<~'PATCH_EOF'
diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
--- wxGTK-2.8.12/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100
+++ wxGTK-2.8.12/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100
@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con
msg.Printf(_T("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
lib.c_str(), progName.c_str(), prog.c_str());
- wxLogFatalError(msg.c_str());
-
- // normally wxLogFatalError doesn't return
- return false;
+ wxLogWarning(msg.c_str());
}
#undef wxCMP
PATCH_EOF
IO.write('make-abicheck-non-fatal.patch', @make_abicheck_non_fatal_patch)
system 'patch -p1 -i make-abicheck-non-fatal.patch || true'
end
- wxLogFatalError(msg.c_str());
-
- // normally wxLogFatalError doesn't return
- return false;
+ wxLogWarning(msg.c_str());
}
#undef wxCMP
EOF"
system "patch -Np1 -i make-abicheck-non-fatal.patch || true"
def self.build
system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' \
LDFLAGS='-flto=auto' \
./configure #{CREW_OPTIONS} \
--with-gtk=3 \
--with-opengl \
......@@ -63,7 +68,7 @@ EOF"
--with-libtiff=sys \
--without-gnomevfs \
--disable-precomp-headers"
system 'make'
system 'make'
end
def self.install
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment