codeblocks: new package 13.12 (close #2533)
@vcunat: minor refactoring.
This commit is contained in:
parent
11f1d0e377
commit
977248ba15
37
pkgs/applications/editors/codeblocks/default.nix
Normal file
37
pkgs/applications/editors/codeblocks/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk
|
||||
, contribPlugins ? false, hunspell, gamin , boost
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}";
|
||||
version = "13.12";
|
||||
pname = "codeblocks";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}-1.tar.gz";
|
||||
sha256 = "044njhps4cm1ijfdyr5f9wjyd0vblhrz9b4603ma52wcdq25093p";
|
||||
};
|
||||
|
||||
buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk ]
|
||||
++ stdenv.lib.optionals contribPlugins [ hunspell gamin boost ];
|
||||
enableParallelBuilding = true;
|
||||
patches = [ ./writable-projects.patch ];
|
||||
preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
|
||||
postConfigure = "substituteInPlace libtool --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig";
|
||||
configureFlags = [ "--enable-pch=no" ]
|
||||
++ stdenv.lib.optional contribPlugins "--with-contrib-plugins";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
maintainers = [ maintainers.linquize ];
|
||||
platforms = platforms.all;
|
||||
description = "The open source, cross platform, free C, C++ and Fortran IDE";
|
||||
longDescription =
|
||||
''
|
||||
Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users.
|
||||
It is designed to be very extensible and fully configurable.
|
||||
Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.
|
||||
'';
|
||||
homepage = http://www.codeblocks.org;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
18
pkgs/applications/editors/codeblocks/writable-projects.patch
Normal file
18
pkgs/applications/editors/codeblocks/writable-projects.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
diff --git a/src/plugins/scriptedwizard/wiz.cpp b/src/plugins/scriptedwizard/wiz.cpp
|
||||
index 0eb4b27..7d469fe 100644
|
||||
--- a/src/plugins/scriptedwizard/wiz.cpp
|
||||
+++ b/src/plugins/scriptedwizard/wiz.cpp
|
||||
@@ -785,6 +785,13 @@ void Wiz::CopyFiles(cbProject* theproject, const wxString& prjdir, const wxStri
|
||||
}
|
||||
}
|
||||
if (do_copy) wxCopyFile(srcfile, dstfile, true);
|
||||
+ // Noticed! Files in Nix Store are readonly, so make the copied file writable
|
||||
+ if (do_copy)
|
||||
+ {
|
||||
+ struct stat statbuf;
|
||||
+ if (!::stat(dstfile.mb_str(), &statbuf))
|
||||
+ ::chmod(dstfile.mb_str(), statbuf.st_mode | 0200);
|
||||
+ }
|
||||
|
||||
// and add it to the project
|
||||
fname.MakeRelativeTo(prjdir);
|
|
@ -7931,6 +7931,9 @@ let
|
|||
libpng = libpng12;
|
||||
};
|
||||
|
||||
codeblocks = callPackage ../applications/editors/codeblocks { };
|
||||
codeblocksFull = callPackage ../applications/editors/codeblocks { contribPlugins = true; };
|
||||
|
||||
codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
|
||||
inherit makeWrapper;
|
||||
python = pythonFull;
|
||||
|
|
Loading…
Reference in a new issue