Giter VIP home page Giter VIP logo

PLEASE NOTE!

This is an effort to get MonoDevelop open sourced again.

DotDevelop will hopefully be a full-featured integrated development environment (IDE) for .NET using GTK.

Current Status

This fork is based on the last commit on 29 Jan 2020 (https://github.com/mono/monodevelop/commit/96b42aa0741af179a8e501f426b6ff5451c27264).

It was refactored to compile / run again on Linux. Other platforms will follow.

Contributors

Building from Source

Discussion, Bugs, Patches

https://github.com/dotdevelop/dotdevelop/issues/new (submit bugs and patches here) dotdevelop/community#9 *(temporary link to the roadmap thread, should be replaced in the future with a proper roadmap)

Other Linux distributions/versions require different ways to acquire dependencies. Open a new issue and point out which Linux distribution/version you use, so others might help.

(outdated) ReadMe from MonoDevelop:

Directory organization

There are two main directories:

  • main: The core MonoDevelop assemblies and add-ins (all in a single tarball/package).
  • extras: Additional add-ins (each add-in has its own tarball/package).

Compiling

If you are building from Git, make sure that you initialize the submodules that are part of this repository by executing: git submodule update --init --recursive

If you are running a parallel mono installation, make sure to run all the following steps while having sourced your mono installation script. (source path/to/my-environment-script) See: http://www.mono-project.com/Parallel_Mono_Environments

To compile execute: ./configure ; make

There are two variables you can set when running configure:

  • The install prefix: --prefix=/path/to/prefix

    • To install with the rest of the assemblies, use: --prefix="pkg-config --variable=prefix mono"
  • The build profile: --profile=profile-name

    • stable: builds the MonoDevelop core and some stable extra add-ins.
    • core: builds the MonoDevelop core only.
    • all: builds everything
    • mac: builds for Mac OS X

PS: You can also create your own profile by adding a file to the profiles directory containing a list of the directories to build.

Disclaimer: Please be aware that the 'extras/JavaBinding' and 'extras/ValaBinding' packages do not currently work. When prompted or by manually selecting them during the './configure --select' step, make sure they stay deselected. (deselected by default)

Running

You can run MonoDevelop from the build directory by executing: make run

Debugging

You can debug MonoDevelop using Visual Studio (on Windows or macOS) with the main/Main.sln solution. Use the DebugWin32 configuration on Windows and the DebugMac configuration on macOS.

Installing (Optional)

You can install MonoDevelop by running: make install

Bear in mind that if you are installing under a custom prefix, you may need to modify your /etc/ld.so.conf or LD_LIBRARY_PATH to ensure that any required native libraries are found correctly.

(It's possible that you need to install for your locale to be correctly set.)

Packaging for OS X

To package MonoDevelop for OS X in a convenient MonoDevelop.app file, just do this after MonoDevelop has finished building (with make): cd main/build/MacOSX ; make app. You can run MonoDevelop: open MonoDevelop.app or build dmg package: ./make-dmg-bundle.sh

Dependencies

Special Environment Variables

BUILD_REVISION

If this environment variable exists we assume we are compiling inside wrench.
We use this to enable raygun only for 'release' builds and not for normal
developer builds compiled on a dev machine with 'make && make run'.

Known Problems

"The type `GLib.IIcon' is defined in an assembly that is not referenced"

This happens when you accidentally installed gtk-sharp3 instead of the 2.12.x branch version. Make sure to 'make uninstall' or otherwise remove the gtk-sharp3 version and install the older one.

xbuild may still cache a reference to assemblies that you may have accidentally installed into your mono installation, like the gtk-sharp3 as described before. You can delete the cache in $HOME/.config/xbuild/pkgconfig-cache-2.xml

References

MonoDevelop website

Gnome Human Interface Guidelines (HIG)

freedesktop.org standards

dotdevelop's Projects

clrmd icon clrmd

Microsoft.Diagnostics.Runtime is a set of APIs for introspecting processes and dumps.

gtksharp icon gtksharp

.NET wrapper for Gtk and other related libraries

guiunit icon guiunit

A unit test runner which interoperates with any Gui main loop

interactive icon interactive

.NET Interactive takes the power of .NET and embeds it into your interactive experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.

mono icon mono

Mono open source ECMA CLI, C# and .NET implementation.

mono-addins icon mono-addins

Mono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications.

mono-tools icon mono-tools

The mono-tools package contains a series of extra tools for Mono users.

msbuild icon msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.

netcoredbg icon netcoredbg

NetCoreDbg is a managed code debugger with MI interface for CoreCLR.

nuget-binary icon nuget-binary

Temporary repo to hold nuget binaries for use with MonoDevelop

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.