Opened 14 years ago

Closed 13 years ago

#25729 closed update (fixed)

update midori to 0.2.6

Reported by: elelay (Eric Le Lay) Owned by: afb@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc:
Port: midori

Description

The latest release of midori looks good. Could it be updated ?

I had to patch it a bit to have extensions working.

Attachments (2)

midori-0.2.6.diff (3.0 KB) - added by elelay (Eric Le Lay) 14 years ago.
update midori to 0.2.6 + don't use libnotify with no_x11
patch-midori-0.2.7-bundles.diff (4.8 KB) - added by elelay (Eric Le Lay) 14 years ago.
update midori to 0.2.7 + build bundles

Download all attachments as: .zip

Change History (13)

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: afb@… removed
Owner: changed from macports-tickets@… to afb@…

Instead of hardcoding "0.2" in the master_sites, you should define and use a branch variable; see PortfileRecipes.

The no_x11 variant you added is insufficient because all it does is remove a dependency.

comment:2 in reply to:  1 Changed 14 years ago by elelay (Eric Le Lay)

Replying to ryandesign@…:

Instead of hardcoding "0.2" in the master_sites, you should define and use a branch variable; see PortfileRecipes.

thanks for your input, and for the link to PortfileRecipes : lots of interesting stuff.

The no_x11 variant you added is insufficient because all it does is remove a dependency.

Do you mean that if libnotify happens to be installed, it will be picked even if it doesn't work ? fixing this...

Changed 14 years ago by elelay (Eric Le Lay)

Attachment: midori-0.2.6.diff added

update midori to 0.2.6 + don't use libnotify with no_x11

comment:3 Changed 14 years ago by afb@…

The patch-midori-main-c.diff change is a hack, it should build bundles rather than dynamiclibs.

Something like the below, unless the silly build system used has been improved since last time:

reinplace "s/shlib_LINKFLAGS = \\\['-dynamiclib'\\\]/shlib_LINKFLAGS = \['-bundle'\]/" \
          ${worksrcpath}/_build_/c4che/default.cache.py
reinplace "s/shlib_PATTERN = 'lib%s.dylib'/shlib_PATTERN = 'lib%s.so'/" \
          ${worksrcpath}/_build_/c4che/default.cache.py

comment:4 Changed 14 years ago by elelay (Eric Le Lay)

err, well I don't know the relative merits of bundles vs dynamic libraries. What I found rather stupid was the definition of G_MODULE_SUFFIX to "so" in the first place. We are on a mac here : libraries are ending with ".dylib".

But you are 100% right : it's a quick hack to just "have it working". Please use any other means you like better. It's just that I stumbled upon midori when trying to update webkit-gtk as a dependency for gPodder. I updated it as a testbed for my webkit-gtk build.

comment:5 in reply to:  4 Changed 14 years ago by afb@…

Replying to elelay@…:

We are on a mac here : libraries are ending with ".dylib".

Loadable bundles are not dynamic libraries, so they end with ".bundle" or ".so".

comment:6 Changed 14 years ago by elelay (Eric Le Lay)

Meanwhile, midori 0.2.7 has been released.

I don't know if you have taken a close look at midori/main.c. Just in case, I'll restate the rationale for patching it. Here is the interesting bit :

1131                 /* Ignore files which don't have the correct suffix */
1132                 if (!g_str_has_suffix (filename, G_MODULE_SUFFIX))
1133                     continue;

What it does is scan the extensions directory for *.so and then use a glib (or gobject I don't know) facility to load the extension. It makes sense for a linux program. What the patch does is override the definition of G_MODULE_SUFFIX to .dylib, so that midori finds the libraries.

What throwing bundles at this will add ?

comment:7 in reply to:  6 Changed 14 years ago by afb@…

Replying to elelay@…:

Meanwhile, midori 0.2.7 has been released.

Extensions are *supposed* to have the .so suffix on Mac OS X too, but I'm OK with the proposed hack (.dylib) to get things going...

comment:8 Changed 14 years ago by elelay (Eric Le Lay)

ok, now I get the distinction between libraries and modules. Now I don't understand how the shared libraries are loaded as extensions ??

Patching wscript to load the osx tool and extensions/wscript_build to set obj.mac_bundle = True and wscript again to set the bundle extension to .so instead of .bundle seems to work. I'll submit a patch tomorrow

comment:9 Changed 14 years ago by afb@…

My MacPorts installation is currently broken, but will need to rebuild it for this commit and for the outstanding Xfce 4.6.2 upgrade also waiting to be submitted.

Changed 14 years ago by elelay (Eric Le Lay)

update midori to 0.2.7 + build bundles

comment:10 Changed 13 years ago by afb@…

Status: newassigned

comment:11 Changed 13 years ago by afb@…

Resolution: fixed
Status: assignedclosed

Fixed, r73370. (version 0.2.9)

Note: See TracTickets for help on using tickets.