codeblocks: new package 13.12 (close #2533)

@vcunat: minor refactoring.
This commit is contained in:
Linquize 2014-04-20 10:21:04 +08:00 committed by Vladimír Čunát
parent 11f1d0e377
commit 977248ba15
3 changed files with 58 additions and 0 deletions

View 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;
};
}

View 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);

View file

@ -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;