diff --git a/pisi-index.xml b/pisi-index.xml
index b3c8388e1f..b575aebc19 100644
--- a/pisi-index.xml
+++ b/pisi-index.xml
@@ -56067,6 +56067,95 @@ to create header files and sources from protocol files.
+
+
+ codeblocks
+ http://www.codeblocks.org/
+
+ Pisi Linux Community
+ admins@pisilinux.org
+
+ GPLv3
+ app:gui
+ programming.environment
+ A free C++ IDE built to meet the most demanding needs of its users
+ C++ için bütünleşik geliştirme araçlarını barındıran özgür yazılım
+ Code::Blocks is a free C++ IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.
+ Code::Blocks, yazılımcıların en çok ihtiyaç duydukları özellikleri sağlayan, tamamen kişiselleştirilebilen ve geliştirilebilen C++ editörüdür.
+ codeblocks
+ https://downloads.sourceforge.net/codeblocks/codeblocks_17.12.tar.xz
+
+ fontconfig-devel
+ hunspell-devel
+ boost-devel
+ gamin-devel
+ wxGTK-devel
+ glib2-devel
+ gtk3-devel
+ wxGTK3
+
+
+ codeblocks-17.12-scripting.patch
+
+ programming/environment/codeblocks/pspec.xml
+
+
+ codeblocks
+ A free C++ IDE built to meet the most demanding needs of its users
+
+ wxGTK-common
+ fontconfig
+ hunspell
+ wxBase
+ wxGTK3
+ wxGTK
+ gamin
+ glib2
+ gtk3
+
+
+ /usr/share/applications
+ /usr/share/codeblocks
+ /usr/share/appdata
+ /usr/share/pixmaps
+ /usr/share/icons
+ /usr/share/mime
+ /usr/bin
+ /usr/share/doc
+ /usr/share/man
+ /usr/lib
+
+
+
+ codeblocks-devel
+ Development files of codeblocks
+ codeblocks paketlerine ait geliştirme dosyaları
+ codeblocks-devel, codeblocks için geliştirme dosyalarını içerir.
+
+ codeblocks
+
+
+ /usr/include
+ /usr/lib/pkgconfig
+
+
+
+
+ 2020-02-24
+ 17.12
+ Version bump.
+ Blue Devil
+ bluedevil@sctzine.com
+
+
+ 2017-05-10
+ 16.01
+ First release.
+ Erdinç Gültekin
+ admins@pisilinux.org
+
+
+
ant
diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum
index 4e73f73a01..d4f25559cf 100644
--- a/pisi-index.xml.sha1sum
+++ b/pisi-index.xml.sha1sum
@@ -1 +1 @@
-c5474654124e9674eae911d116703253328886e9
\ No newline at end of file
+df0ccb9e2fe0bdfee376ef3a1499fda3e38699e4
\ No newline at end of file
diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz
index 469ad10950..ce2fc886b3 100644
Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ
diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum
index 40c52cda0b..ce2336675e 100644
--- a/pisi-index.xml.xz.sha1sum
+++ b/pisi-index.xml.xz.sha1sum
@@ -1 +1 @@
-d1152d5b45ead75682834ac77ce14d5ed7148591
\ No newline at end of file
+6795b958a62077d3a078491b370b9535cbf04618
\ No newline at end of file
diff --git a/programming/environment/codeblocks/actions.py b/programming/environment/codeblocks/actions.py
new file mode 100644
index 0000000000..1c5c56166c
--- /dev/null
+++ b/programming/environment/codeblocks/actions.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# Licensed under the GNU General Public License, version 3.
+# See the file http://www.gnu.org/licenses/gpl.txt
+
+from pisi.actionsapi import shelltools
+from pisi.actionsapi import autotools
+from pisi.actionsapi import pisitools
+from pisi.actionsapi import get
+
+
+def setup():
+ shelltools.system("./bootstrap")
+ #autotools.autoreconf("-vif")
+ #plugins = "AutoVersioning,BrowseTracker,byogames,Cccc,CppCheck,cbkoders,codesnippets,codestat,copystrings,dragscroll,envvars,headerfixup,help,hexeditor,incsearch,keybinder,MouseSap,profiler,regex,exporter,symtab,Valgrind"
+ # suppress compiler warnings
+ pisitools.cflags.add("-Wno-unused-result")
+ pisitools.cxxflags.add("-Wno-unused-result -Wno-deprecated-declarations -Wno-stringop-overflow")
+ autotools.configure("--with-wx-config=/usr/bin/wx-config-gtk3 \
+ --with-contrib-plugins=all \
+ --enable-unicode\
+ ")
+
+ # disable rpath
+ pisitools.dosed("libtool", "^hardcode_libdir_flag_spec=.*", "hardcode_libdir_flag_spec=\"\"")
+ pisitools.dosed("libtool", "^runpath_var=LD_RUN_PATH", "runpath_var=DIE_RPATH_DIE")
+
+ # fix unused direct dependency analysis
+ pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
+
+
+def build():
+ autotools.make()
+
+def install():
+ autotools.install()
+
+ pisitools.dodoc("COPYING", "README")
\ No newline at end of file
diff --git a/programming/environment/codeblocks/files/codeblocks-17.12-scripting.patch b/programming/environment/codeblocks/files/codeblocks-17.12-scripting.patch
new file mode 100644
index 0000000000..6b52d2c9fb
--- /dev/null
+++ b/programming/environment/codeblocks/files/codeblocks-17.12-scripting.patch
@@ -0,0 +1,51 @@
+From 22a4af265c78c2d0000c7f234d15b8bf5ff8b2c4 Mon Sep 17 00:00:00 2001
+From: fuscated
+Date: Wed, 12 Jun 2019 19:11:23 +0000
+Subject: [PATCH] * UI: Fix crash if the list in Settings->Scripting is empty
+ (ticket 842)
+
+git-svn-id: https://svn.code.sf.net/p/codeblocks/code/trunk@11739 2a5c6006-c6dd-42ca-98ab-0921f2732cef
+---
+ src/src/scriptingsettingsdlg.cpp | 25 ++++++++++++++++---------
+ 1 file changed, 16 insertions(+), 9 deletions(-)
+
+diff --git a/src/src/scriptingsettingsdlg.cpp b/src/src/scriptingsettingsdlg.cpp
+index 5cb23aaf4..a7f58f0cb 100644
+--- a/src/src/scriptingsettingsdlg.cpp
++++ b/src/src/scriptingsettingsdlg.cpp
+@@ -101,16 +101,23 @@ void ScriptingSettingsDlg::UpdateState()
+ wxListCtrl* list = XRCCTRL(*this, "chkStartupScripts", wxListCtrl);
+ long sel = list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
+
+- bool en = sel != -1;
+-
+- const ScriptEntry& se = m_ScriptsVector[sel];
++ bool hasSelection = false;
++ bool enabled = false;
++ bool registered = false;
++ if (sel >= 0 && sel < long(m_ScriptsVector.size()))
++ {
++ const ScriptEntry& se = m_ScriptsVector[sel];
++ enabled = se.enabled;
++ registered = se.registered;
++ hasSelection = true;
++ }
+
+- XRCCTRL(*this, "btnDelete", wxButton)->Enable(en);
+- XRCCTRL(*this, "chkEnableScript", wxCheckBox)->Enable(en);
+- XRCCTRL(*this, "txtScript", wxTextCtrl)->Enable(en && se.enabled);
+- XRCCTRL(*this, "btnBrowseScript", wxButton)->Enable(en && se.enabled);
+- XRCCTRL(*this, "chkRegisterScript", wxCheckBox)->Enable(en && se.enabled);
+- XRCCTRL(*this, "txtScriptMenu", wxTextCtrl)->Enable(en && se.enabled && se.registered);
++ XRCCTRL(*this, "btnDelete", wxButton)->Enable(hasSelection);
++ XRCCTRL(*this, "chkEnableScript", wxCheckBox)->Enable(hasSelection);
++ XRCCTRL(*this, "txtScript", wxTextCtrl)->Enable(hasSelection && enabled);
++ XRCCTRL(*this, "btnBrowseScript", wxButton)->Enable(hasSelection && enabled);
++ XRCCTRL(*this, "chkRegisterScript", wxCheckBox)->Enable(hasSelection && enabled);
++ XRCCTRL(*this, "txtScriptMenu", wxTextCtrl)->Enable(hasSelection && enabled && registered);
+ }
+
+ void ScriptingSettingsDlg::FillTrusts()
+--
+2.21.0
+
diff --git a/programming/environment/codeblocks/files/desktop.patch b/programming/environment/codeblocks/files/desktop.patch
new file mode 100644
index 0000000000..7ab6150eb1
--- /dev/null
+++ b/programming/environment/codeblocks/files/desktop.patch
@@ -0,0 +1,12 @@
+Index: src/mime/codeblocks.desktop
+===================================================================
+--- src/mime/codeblocks.desktop.orig
++++ src/mime/codeblocks.desktop
+@@ -3,6 +3,7 @@ Version=1.0
+ Type=Application
+ Name=Code::Blocks IDE
+ Comment=Configurable and extensible IDE
++Comment[tr]=Yapılandırılabilir ve eklentilerle genişletilebilir IDE
+ Exec=codeblocks %F
+ Icon=codeblocks
+ Terminal=false
diff --git a/programming/environment/codeblocks/files/pisilinux-debuggergdb.patch b/programming/environment/codeblocks/files/pisilinux-debuggergdb.patch
new file mode 100644
index 0000000000..1ead3f7885
--- /dev/null
+++ b/programming/environment/codeblocks/files/pisilinux-debuggergdb.patch
@@ -0,0 +1,127 @@
+--- codeblocks-12.11release8629-orig/src/plugins/debuggergdb/gdb_driver.cpp 2012-11-23 20:58:15.000000000 +0200
++++ codeblocks-12.11release8629/src/plugins/debuggergdb/gdb_driver.cpp 2013-01-23 00:16:51.780265717 +0200
+@@ -213,105 +213,6 @@
+ m_pTarget = target;
+ }
+
+-void GDB_driver::Prepare(bool isConsole, int printElements)
+-{
+- // default initialization
+-
+- // for the possibility that the program to be debugged is compiled under Cygwin
+- if (platform::windows)
+- DetectCygwinMount();
+-
+- // make sure we 're using the prompt that we know and trust ;)
+- QueueCommand(new DebuggerCmd(this, wxString(_T("set prompt ")) + FULL_GDB_PROMPT));
+-
+- // debugger version
+- QueueCommand(new DebuggerCmd(this, _T("show version")));
+- // no confirmation
+- QueueCommand(new DebuggerCmd(this, _T("set confirm off")));
+- // no wrapping lines
+- QueueCommand(new DebuggerCmd(this, _T("set width 0")));
+- // no pagination
+- QueueCommand(new DebuggerCmd(this, _T("set height 0")));
+- // allow pending breakpoints
+- QueueCommand(new DebuggerCmd(this, _T("set breakpoint pending on")));
+- // show pretty function names in disassembly
+- QueueCommand(new DebuggerCmd(this, _T("set print asm-demangle on")));
+- // unwind stack on signal
+- QueueCommand(new DebuggerCmd(this, _T("set unwindonsignal on")));
+- // disalbe result string truncations
+- QueueCommand(new DebuggerCmd(this, wxString::Format(wxT("set print elements %d"), printElements)));
+-
+- if (platform::windows && isConsole)
+- QueueCommand(new DebuggerCmd(this, _T("set new-console on")));
+-
+- flavour = m_pDBG->GetActiveConfigEx().GetDisassemblyFlavorCommand();
+- QueueCommand(new DebuggerCmd(this, flavour));
+-
+- if (m_pDBG->GetActiveConfigEx().GetFlag(DebuggerConfiguration::CatchExceptions))
+- {
+- m_catchThrowIndex = -1;
+- // catch exceptions
+- QueueCommand(new GdbCmd_SetCatch(this, wxT("throw"), &m_catchThrowIndex));
+- }
+-
+- // define all scripted types
+- m_Types.Clear();
+- InitializeScripting();
+-
+- // pass user init-commands
+- wxString init = m_pDBG->GetActiveConfigEx().GetInitCommands();
+- Manager::Get()->GetMacrosManager()->ReplaceMacros(init);
+- // commands are passed in one go, in case the user defines functions in there
+- // or else it would lock up...
+- QueueCommand(new DebuggerCmd(this, init));
+-// wxArrayString initCmds = GetArrayFromString(init, _T('\n'));
+-// for (unsigned int i = 0; i < initCmds.GetCount(); ++i)
+-// {
+-// QueueCommand(new DebuggerCmd(this, initCmds[i]));
+-// }
+-
+- // add search dirs
+- for (unsigned int i = 0; i < m_Dirs.GetCount(); ++i)
+- QueueCommand(new GdbCmd_AddSourceDir(this, m_Dirs[i]));
+-
+- // set arguments
+- if (!m_Args.IsEmpty())
+- QueueCommand(new DebuggerCmd(this, _T("set args ") + m_Args));
+-
+- RemoteDebugging* rd = GetRemoteDebuggingInfo();
+-
+- // send additional gdb commands before establishing remote connection
+- if (rd)
+- {
+- if (!rd->additionalCmdsBefore.IsEmpty())
+- {
+- wxArrayString initCmds = GetArrayFromString(rd->additionalCmdsBefore, _T('\n'));
+- for (unsigned int i = 0; i < initCmds.GetCount(); ++i)
+- QueueCommand(new DebuggerCmd(this, initCmds[i]));
+- }
+- }
+-
+- // if performing remote debugging, now is a good time to try and connect to the target :)
+- if (rd && rd->IsOk())
+- {
+- if (rd->connType == RemoteDebugging::Serial)
+- QueueCommand(new GdbCmd_RemoteBaud(this, rd->serialBaud));
+- QueueCommand(new GdbCmd_RemoteTarget(this, rd));
+- }
+-
+- // run per-target additional commands (remote debugging)
+- // moved after connection to remote target (if any)
+- if (rd)
+- {
+- if (!rd->additionalCmds.IsEmpty())
+- {
+- wxArrayString initCmds = GetArrayFromString(rd->additionalCmds, _T('\n'));
+- for (unsigned int i = 0; i < initCmds.GetCount(); ++i)
+- QueueCommand(new DebuggerCmd(this, initCmds[i]));
+- }
+- }
+-}
+-
+ // remote debugging
+ RemoteDebugging* GDB_driver::GetRemoteDebuggingInfo()
+ {
+@@ -629,17 +530,6 @@
+ QueueCommand(new DebuggerInfoCmd(this, _T("info signals"), _("Signals handling")));
+ }
+
+-void GDB_driver::EnableCatchingThrow(bool enable)
+-{
+- if (enable)
+- QueueCommand(new GdbCmd_SetCatch(this, wxT("throw"), &m_catchThrowIndex));
+- else if (m_catchThrowIndex != -1)
+- {
+- QueueCommand(new DebuggerCmd(this, wxString::Format(wxT("delete %d"), m_catchThrowIndex)));
+- m_catchThrowIndex = -1;
+- }
+-}
+-
+ void GDB_driver::SwitchThread(size_t threadIndex)
+ {
+ ResetCursor();
+
diff --git a/programming/environment/codeblocks/files/pisilinux-plugin-wx.patch b/programming/environment/codeblocks/files/pisilinux-plugin-wx.patch
new file mode 100644
index 0000000000..940b423a70
--- /dev/null
+++ b/programming/environment/codeblocks/files/pisilinux-plugin-wx.patch
@@ -0,0 +1,75 @@
+--- codeblocks-12.11release8629-orig/src/plugins/debuggergdb/parsewatchvalue.cpp 2012-11-23 20:58:15.000000000 +0200
++++ codeblocks-12.11release8629/src/plugins/debuggergdb/parsewatchvalue.cpp 2013-01-22 22:03:44.591542259 +0200
+@@ -64,7 +64,7 @@
+ };
+
+ wxRegEx regexRepeatedChars(wxT("^((\\\\'.{1,6}\\\\')|('.{1,6}'))[ \\t]()"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+--- codeblocks-12.11release8629-orig/src/plugins/debuggergdb/gdb_commands.h 2012-11-23 20:58:15.000000000 +0200
++++ codeblocks-12.11release8629/src/plugins/debuggergdb/gdb_commands.h 2013-01-22 22:22:52.220502525 +0200
+@@ -201,13 +201,13 @@
+ //static wxRegEx reStepI(_T("\x1a\x1a.*?:([0-9]*):([0-9]*):(.*?):(.*)"));
+ //static wxRegEx reStepI(_T("\x1a\x1a(([a-zA-Z]:)?.*?):([0-9]*):([0-9]*):(middle|beg):(.*)"));
+ static wxRegEx reStepI(wxT("(((.*)[a-zA-Z]:)?.*)?:(\\d+):(middle|beg):(.*)"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+ #endif
+ static wxRegEx reStepI2(_T("\\A(0x[A-Fa-f0-9]+)\\s+(\\d+)\\s+in (.*)"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+@@ -216,7 +216,7 @@
+ static wxRegEx reStepI4(_T("^(0x[A-Fa-f0-9]+) in (.*)? at (.*)"));
+
+ static wxRegEx reNextI(_T("\x1a\x1a(([a-zA-Z]:)?.*?):([0-9]*):([0-9]*):(middle|beg):(.*)"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+@@ -627,36 +627,6 @@
+ };
+
+ /**
+- * Command to setup an exception breakpoint (for a throw or a catch).
+- */
+-class GdbCmd_SetCatch : public DebuggerCmd
+-{
+- wxString m_type;
+- int *m_resultIndex;
+- wxRegEx m_regExp;
+- public:
+- GdbCmd_SetCatch(DebuggerDriver *driver, const wxString &type, int *resultIndex) :
+- DebuggerCmd(driver),
+- m_type(type),
+- m_resultIndex(resultIndex),
+- m_regExp(wxT("^Catchpoint[ \\t]([0-9]+)[ \\t]\\(") + type + wxT("\\)$"), wxRE_ADVANCED)
+- {
+- m_Cmd = wxT("catch ") + type;
+- }
+-
+- void ParseOutput(const wxString& output)
+- {
+- if (m_regExp.Matches(output))
+- {
+- long index;
+- m_regExp.GetMatch(output, 1).ToLong(&index);
+- *m_resultIndex = index;
+- }
+- }
+-};
+-
+-
+-/**
+ * Command that notifies the debugger plugin that the debuggee has been continued
+ */
+ class GdbCmd_Continue : public DebuggerContinueBaseCmd
diff --git a/programming/environment/codeblocks/files/pisilinux-wx.patch b/programming/environment/codeblocks/files/pisilinux-wx.patch
new file mode 100644
index 0000000000..998c869d41
--- /dev/null
+++ b/programming/environment/codeblocks/files/pisilinux-wx.patch
@@ -0,0 +1,80 @@
+Index: src/sdk/macrosmanager.cpp
+===================================================================
+--- src/sdk/macrosmanager.cpp (revision 7665)
++++ src/sdk/macrosmanager.cpp (working copy)
+@@ -86,19 +86,19 @@
+ m_RE_IfSp.Compile(_T("[^=!<>]+|(([^=!<>]+)[ ]*(=|==|!=|>|<|>=|<=)[ ]*([^=!<>]+))"), wxRE_EXTENDED | wxRE_NEWLINE);
+ m_RE_Script.Compile(_T("(\\[\\[(.*)\\]\\])"), wxRE_EXTENDED | wxRE_NEWLINE);
+ m_RE_ToAbsolutePath.Compile(_T("\\$TO_ABSOLUTE_PATH{([^}]*)}"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+ #endif
+ m_RE_To83Path.Compile(_T("\\$TO_83_PATH{([^}]*)}"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+ #endif
+ m_RE_RemoveQuotes.Compile(_T("\\$REMOVE_QUOTES{([^}]*)}"),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+Index: src/plugins/contrib/ToolsPlus/PipedProcessCtrl.cpp
+===================================================================
+--- src/plugins/contrib/ToolsPlus/PipedProcessCtrl.cpp (revision 7665)
++++ src/plugins/contrib/ToolsPlus/PipedProcessCtrl.cpp (working copy)
+@@ -206,7 +206,12 @@
+
+ void PipedProcessCtrl::ParseLinks(int lineno, int lastline)
+ {
+- wxRegEx re(m_linkregex,wxRE_ADVANCED|wxRE_NEWLINE);
++ #ifdef wxHAS_REGEX_ADVANCED
++ wxRegEx re(m_linkregex,wxRE_ADVANCED|wxRE_NEWLINE);
++ #else
++ wxRegEx re(m_linkregex,wxRE_EXTENDED|wxRE_NEWLINE);
++ #endif
++
+ while(linenoGetTextRange(start,end+1);
+
+ //retrieve the file and line number parts of the link
+- wxRegEx re(m_linkregex,wxRE_ADVANCED|wxRE_NEWLINE);
++ #ifdef wxHAS_REGEX_ADVANCED
++ wxRegEx re(m_linkregex,wxRE_ADVANCED|wxRE_NEWLINE);
++ #else
++ wxRegEx re(m_linkregex,wxRE_EXTENDED|wxRE_NEWLINE);
++ #endif
+ wxString file;
+ long line;
+ if(!re.Matches(text))
+Index: src/plugins/contrib/DoxyBlocks/Expressions.h
+===================================================================
+--- src/plugins/contrib/DoxyBlocks/Expressions.h (revision 7665)
++++ src/plugins/contrib/DoxyBlocks/Expressions.h (working copy)
+@@ -84,7 +84,7 @@
+ "([^)]*)?" // The function's parameters.
+ "\\)" // The closing parenthesis.
+ ),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
+@@ -104,7 +104,7 @@
+ "([^)]*)?" // The function's parameters.
+ "\\)" // The closing parenthesis.
+ ),
+-#ifndef __WXMAC__
++#ifdef wxHAS_REGEX_ADVANCED
+ wxRE_ADVANCED);
+ #else
+ wxRE_EXTENDED);
diff --git a/programming/environment/codeblocks/pspec.xml b/programming/environment/codeblocks/pspec.xml
new file mode 100644
index 0000000000..ea3017ce26
--- /dev/null
+++ b/programming/environment/codeblocks/pspec.xml
@@ -0,0 +1,111 @@
+
+
+
+
+ codeblocks
+ http://www.codeblocks.org/
+
+ Pisi Linux Community
+ admins@pisilinux.org
+
+ programming.environment
+ GPLv3
+ codeblocks
+ app:gui
+ A free C++ IDE built to meet the most demanding needs of its users
+ Code::Blocks is a free C++ IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.
+ https://downloads.sourceforge.net/codeblocks/codeblocks_17.12.tar.xz
+
+ fontconfig-devel
+ hunspell-devel
+ boost-devel
+ gamin-devel
+ wxGTK-devel
+ glib2-devel
+ gtk3-devel
+ wxGTK3
+
+
+
+
+ codeblocks-17.12-scripting.patch
+
+
+
+
+
+ codeblocks
+ A free C++ IDE built to meet the most demanding needs of its users
+
+ wxGTK-common
+ fontconfig
+ hunspell
+ wxBase
+ wxGTK3
+ wxGTK
+ gamin
+ glib2
+ gtk3
+
+
+
+ /usr/share/applications
+ /usr/share/codeblocks
+ /usr/share/appdata
+ /usr/share/pixmaps
+ /usr/share/icons
+ /usr/share/mime
+ /usr/bin
+ /usr/share/doc
+ /usr/share/man
+ /usr/lib
+
+
+
+
+ codeblocks-devel
+ Development files of codeblocks
+
+ codeblocks
+
+
+ /usr/include
+ /usr/lib/pkgconfig
+
+
+
+
+
+ 2020-02-24
+ 17.12
+ Version bump.
+ Blue Devil
+ bluedevil@sctzine.com
+
+
+ 2017-05-10
+ 16.01
+ First release.
+ Erdinç Gültekin
+ admins@pisilinux.org
+
+
+
\ No newline at end of file
diff --git a/programming/environment/codeblocks/translations.xml b/programming/environment/codeblocks/translations.xml
new file mode 100644
index 0000000000..c020a80114
--- /dev/null
+++ b/programming/environment/codeblocks/translations.xml
@@ -0,0 +1,14 @@
+
+
+
+ codeblocks
+ C++ için bütünleşik geliştirme araçlarını barındıran özgür yazılım
+ Code::Blocks, yazılımcıların en çok ihtiyaç duydukları özellikleri sağlayan, tamamen kişiselleştirilebilen ve geliştirilebilen C++ editörüdür.
+
+
+
+ codeblocks-devel
+ codeblocks paketlerine ait geliştirme dosyaları
+ codeblocks-devel, codeblocks için geliştirme dosyalarını içerir.
+
+
\ No newline at end of file