Skip to contentSkip to conversation

fsharp: build fixes and refactors

PATCH New Richard Tollerton 1 participant 4 messages Jul 16, 2015

lore
Share & tools
lore
#0 lore raw

cover fsharp: build fixes and refactors

I ran into some build issues with fsharp (mono4 related IIRC) that were resolved by upgrading it. I also noticed that the build needs autotools-brokensep so I added that too. There was also a QA failure (debug-deps). Given that opportunity, I also refactored the FILES_* settings.

The following changes since commit 8c613bf3d82dd5edb58472e5b016d86a1a9e4a63:

README: Add contributors section (2015-07-16 10:17:06 +0100)

are available in the git repository at:

git://github.com/rtollert/meta-mono dev/rtollert/v3/fsharp
https://github.com/rtollert/meta-mono/tree/dev/rtollert/v3/fsharp

Richard Tollerton (3):
fsharp_3.1.2.4.bb: add
fsharp: disable build separation
fsharp.inc: refactor FILES_*

 recipes-mono/fsharp/fsharp.inc        | 54 +++++++++++------------------------
 recipes-mono/fsharp/fsharp_3.1.2.4.bb |  7 +++++
 2 files changed, 24 insertions(+), 37 deletions(-)
 create mode 100644 recipes-mono/fsharp/fsharp_3.1.2.4.bb
Signature · 1 line
2.4.4
#1 lore raw

PATCH 1/3 fsharp_3.1.2.4.bb: add

There are several build issues in 3.1.1.1 that appear to be fixed in 3.1.2.4, so rather than try to fix the old version, add the new one.

---
 recipes-mono/fsharp/fsharp_3.1.2.4.bb | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 recipes-mono/fsharp/fsharp_3.1.2.4.bb
recipes-mono/fsharp/fsharp_3.1.2.4.bb new file +7 -0
new file mode 100644
index 0000000..6e21d72
@@ -0,0 +1,7 @@
+require fsharp.inc
+
+inherit pkgconfig
+
+SRC_URI[md5sum] = "6b86979034d15efb1d5e167129ae7a9e"
+SRC_URI[sha256sum] = "cf3b5ea00fd13b9d35f5a4ffec6fbd8cecc2c4039d09a79fb0e3f7fa48da9429"
+
Signature · 1 line
2.4.4
#2 lore raw

PATCH 2/3 fsharp: disable build separation

In reply to Richard Tollerton

The fsharp build isn't compatible with separate build dirs.

[fsharp #438] -- https://github.com/fsharp/fsharp/issues/438

---
 recipes-mono/fsharp/fsharp.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
recipes-mono/fsharp/fsharp.inc +1 -1
index d217ec5..acb17ce 100644
@@ -5,7 +5,7 @@ DEPENDS = "mono"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "files://LICENSE;md5=512efb9375da0bd2fee9e2b9352c08af"
 
-inherit autotools
+inherit autotools-brokensep
 
 # For some reason the URL template changes from version to version,
 # therefore use some variables for the directory and extension
Signature · 1 line
2.4.4
#3 lore raw

PATCH 3/3 fsharp.inc: refactor FILES_*

In reply to Richard Tollerton

fsharp was failing the 'debug-deps' QA test, i.e. fsharp depended on fsharp-dbg because fsharp's file list included files that properly belong to fsharp-dbg. Fix this by being more explicit about the types of files that ship in fsharp vs fsharp-dbg.

Generalize file patterns as appropriate to make file lists more concise and robust; i.e. replace mono/4.0/*, mono/2.0/* with mono/*/*.

Move .xml (machine-readable assembly docs), .rsp, .Targets, etc. into fsharp-dev.

---
 recipes-mono/fsharp/fsharp.inc | 52 +++++++++++++-----------------------------
 1 file changed, 16 insertions(+), 36 deletions(-)
recipes-mono/fsharp/fsharp.inc +16 -36
index acb17ce..25c41b6 100644
@@ -12,45 +12,25 @@ inherit autotools-brokensep
 SRC_URI = "https://github.com/fsharp/fsharp/archive/${PV}.tar.gz"
 
 FILES_${PN} += "\
-  ${libdir}/mono/* \  
-  ${libdir}/mono/4.0/* \
-  ${libdir}/mono/2.0/* \
-  ${libdir}/mono/xbuild/Microsoft/VisualStudio/* \
-  ${libdir}/mono/Microsoft F#/v4.0/* \
-  ${libdir}/mono/Microsoft SDKs/F#/3.0/* \
-  ${libdir}/mono/Microsoft SDKs/F#/3.1/* \
-  ${libdir}/mono/gac/* \
-  ${libdir}/mono/gac/*/* \
-  ${libdir}/mono/gac/*/*/* \
-  ${libdir}/mono/monotouch/* \
-  ${libdir}/mono/monodroid/* \
+  ${libdir}/mono/*/*.exe \
+  ${libdir}/mono/*/*.dll \
+  ${libdir}/mono/*/*.config \
+  ${libdir}/mono/*/*.optdata \
+  ${libdir}/mono/*/*.sigdata \
+  ${libdir}/mono/gac/*/*/*.config \
+  ${libdir}/mono/gac/*/*/*.optdata \
+  ${libdir}/mono/gac/*/*/*.sigdata \
 "
 
 FILES_${PN}-dbg += "\
-  ${libdir}/mono/*.mdb \  
-  ${libdir}/mono/4.0/*.mdb \
-  ${libdir}/mono/4.0/*.optdata \
-  ${libdir}/mono/4.0/*.sigdatadata \
-  ${libdir}/mono/2.0/*.mdb \
-  ${libdir}/mono/2.0/*.optdata \
-  ${libdir}/mono/2.0/*.sigdata \
-  ${libdir}/mono/xbuild/Microsoft/VisualStudio/*.mdb \
-  ${libdir}/mono/Microsoft F#/v4.0/*.mdb \
-  ${libdir}/mono/Microsoft SDKs/F#/3.0/*.mdb \
-  ${libdir}/mono/Microsoft SDKs/F#/3.1/*.mdb \
-  ${libdir}/mono/gac/*.mdb \
-  ${libdir}/mono/gac/*/*.mdb \
   ${libdir}/mono/gac/*/*/*.mdb \
-  ${libdir}/mono/gac/*/*/*.xml \
-  ${libdir}/mono/gac/*/*/*.optdata \
-  ${libdir}/mono/gac/*/*/*.sigdata \
-  ${libdir}/mono/monotouch/*.mdb \
-  ${libdir}/mono/monotouch/*.xml \
-  ${libdir}/mono/monotouch/*.sigdata \
-  ${libdir}/mono/monotouch/*.optdata \
-  ${libdir}/mono/monodroid/*.mdb \
-  ${libdir}/mono/monodroid/*.xml \
-  ${libdir}/mono/monodroid/*.optdata \
-  ${libdir}/mono/monodroid/*.sigdata \
 "
 
+FILES_${PN}-dev = "\
+  ${libdir}/mono/xbuild/* \
+  ${libdir}/mono/xbuild-frameworks/* \
+  ${libdir}/mono/Microsoft* \
+  ${libdir}/mono/*/*.Targets \
+  ${libdir}/mono/*/*.xml \
+  ${libdir}/mono/gac/*/*/*.xml \
+"
Signature · 1 line
2.4.4