Fork me on GitHub

Gentoo Mono Handbook


What to read before starting .ebuild writing?
What to package

Tarballs

where to store tarballs
How to obtain file size through HTTP
calculating the last component of version

Ebuild processing phases

https://devmanual.gentoo.org/ebuild-writing/functions/diagram.png
https://devmanual.gentoo.org/ebuild-writing/functions/
https://github.com/gentoo/portage/blob/master/doc/package/ebuild/phases.docbook
src_fetch / pkg_fetch

ebuild name and settings

Which category to use for a new ebuild?
How to construct ebuild names for prerelease builds?
How to check short license name?
Which USE flags are recommended for what purpose?
metadata.xml
Which .eclass-es to inherit?
    Using versionator to cut version
    USE_DOTNET
How to install localized applications?
what is current overlay name? that's non universal
what is current overlay URL? we don't know
conditional URI-s

src_unpack

How to obtain source code from
github.com (GIT),
bitbucket.org (GIT, Mercurial)
codeplex (Mercurial)
sourceforge (CVS) we don't know

What to do with binaries?

src_prepare

How to restore nuget packages for solution
How to create patch with git for a new release of ebuild
types of project files
nuget icon

src_compile

versioning and defines
    Assembly version, Assembly name
    how to pass #define from .ebuild into compiler? we don't know
    .pc-files
compiling
    assembly debug version
    exbuild = How to compile solutions and projects with assemblies (executables and dynamic libraries) ?
    mdtool build
    PInvoke
    IL-Repack
    How to build .nupkg from .nuspec? (see enuspec)
sigining and strongnames
    How to make signed assembly?
    Installing strongnamed assemblies into GAC
    mono.snk - installation and usage
    InternalsVisibleTo
packaging
    store for locally built packages
    using packages from monodevelop
    packaging from .csproj with nuget
AOT, documentation
    AOT compilation
    How to compile documentation (SO8548826):
        monodoc
        sharpDox
        docu
        DocFX
        SHFB (ex sandcastle)
        Doxygen (unmanaged)

src_test

testing with portage
testing with autotools
NUnit, xUnit,
(C# unit test tutorial (en-US), testing in monodevelop (ru-RU))
InternalsVisibleTo

src_install

Where to place compiled binaries in file system according to File Hierarchy Standart 3.0 ?
Local nuget repository (see enupkg)
Where to install documentation for applications and libraries in filesystem?we don't know
Where to document .ebuild files ? we don't know
How to install daemons?
pkg-config

pkg_postinstdevmanual / pkg_prerm

${D} = Path to the temporary install directory
How to determine the location of proper GAC? we don't know
How to register ADO .NET data providers in machine.config ? we don't know
How to install web applications with gentoo utilities for web applications maintenance? we don't know
How to determine the location of used mono environment, if several of them are installed ? we don't know
How to make mono portable? we don't know
How to make mono slotted? we don't know
How to make monodevelop slotted? we don't know

merge

How to force merge despite of collisions

Caches

https://github.com/vaeth/eix/issues/18
egencache --repo=gentoo --update
https://wiki.gentoo.org/wiki/Overlay/eix-sync
emerge --regen

Local repository of nuget packages

nuget icon
nuget packages - How to build and install them (.nupkg) from sources ?
enuspec & enupkg

general programming questions

How to modify the code of mono
Compilation to native code
working with github
GTK packaging
How to work with signals (from signal.h)?
How to patch XML-files
.gitattributes
.gitignore

Where to find examples/templates for ebuilds for various types of applications
    library (.dll file)
        MSBuild .target files and MSBuild Task libraries
        MSBuild SDKs
    application (.exe file with make_wrapper)
    services with mono-service,
    Daemons
    ADO .NET providers
    EF providers
    Monodevelop plugins
    web applications
        xsp-server hosted
(we don't have other docs beside dotnet overlay ebuilds!)

is it possible to run portage with IronPython ? no
What is DLR we don't know
GPPG/GPLEX, are pretty straightforward reimplementations of LEX/YACC in C#.

Obsolete topics

How to use cutting edge version of dotnet overlay from github?
How to create a github repository programmatically through GitHub API?