Been an annoyance that everytime Chromium updates, that clicking links on desktop or invoking "Open URL" action only results in starting a new browser instance rather than opening the URL. The reason is the chrome.desktop file generated has the wrong Exec= parameter. Hand fixing has resolved the problem each time, just have to remember to do this after an upgrade. Fix: Correct the Exec= line. How-To-Repeat: Repeats with every upgrade
Didn't quite fully solve the desktop integration, and reading http://www.freebsd.org/gnome/docs/porting.html decided the better course of action would be to provide a 'chromium-browser.desktop'. This fixes chromium seeing that its the default browser, and should allow it make itself the default browser. It also makes the "Create Application Shortcut" work. --- Makefile.orig 2013-01-10 19:50:26.000000000 -0600 +++ Makefile 2013-01-19 08:42:45.893220392 -0600 @@ -50,9 +50,6 @@ USE_PKGCONFIG= build MAN1= chrome.1 -DESKTOP_ENTRIES="Chromium" "${COMMENT}" "${DATADIR}/product_logo_48.png" \ - "chrome" "Application;Network;WebBrowser;" true - ALL_TARGET= chrome # See build/common.gypi for all the available variables. @@ -187,6 +184,9 @@ .endfor cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${DATADIR} + ${MKDIR} ${PREFIX}/share/applications + ${INSTALL_DATA} ${FILESDIR}/chromium-browser.desktop \ + ${PREFIX}/share/applications ${LN} -sf ${DATADIR}/chrome ${PREFIX}/bin post-install: @@ -194,5 +194,6 @@ @${ECHO_MSG} "For best performance please enable shared memory support" @${ECHO_MSG} "in chromium by setting kern.ipc.shm_allow_removed=1" @${ECHO_MSG} "========================================================" + -@update-desktop-database .include <bsd.port.post.mk> --- pkg-plist.orig 2013-01-10 19:50:26.000000000 -0600 +++ pkg-plist 2013-01-18 09:58:10.615220943 -0600 @@ -1,4 +1,5 @@ bin/chrome +share/applications/chrome.desktop %%DATADIR%%/chrome %%DATADIR%%/chrome-wrapper %%DATADIR%%/chrome.pak @@ -256,3 +257,5 @@ @dirrm %%DATADIR%%/resources/extension @dirrm %%DATADIR%%/resources @dirrm %%DATADIR%% +@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true +@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true --- files/chromium-browser.desktop.orig 1969-12-31 18:00:00.000000000 -0600 +++ files/chromium-browser.desktop 2013-01-19 08:42:30.244793302 -0600 @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Version=1.0.0 +Encoding=UTF-8 +Name=Chromium +Comment=A mostly BSD-licensed web browser based on WebKit and Gtk+ +Icon=/usr/local/share/chromium/product_logo_48.png +Exec=chrome %U +Categories=Application;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp; +StartupNotify=true
Responsible Changed From-To: freebsd-ports-bugs->chromium Fix synopsis and assign.
One of the diffs was wrong, here's the updated diffs against the current www/chromium.
State Changed From-To: open->feedback Sorry for the late response. I applied your patch but on Chromium 27.0.1453.93 the standard browser detection does not seem to work. The patch is here: https://github.com/gliaskos/freebsd-chromium/commit/87667037a4e6349641967261e7ea0ed956bcc9c2
The update-desktop-database line is part of ports/Mk/Uses/ desktop-file-utils.mk which is called by the Makefile, so it must be something else...
On 2013-05-22 16:13, René Ladan wrote: > The update-desktop-database line is part of ports/Mk/Uses/desktop-file-utils.mk [1]which is called by the Makefile, > so it must be something else... Looks like there's more than one way to do be the default. IE: Firefox registers a lot more handlers and such, where chromium only does two. Had to remove all the other firefox ones before chromium would be default again though perhaps I should leave firefox on ftp? since chromium doesn't claim it and when it wasn't set, the IE in wine was launching for it. For me, it was to try to get chromium to be the default and stay the default....instead of epiphany (or after I installed calibre - calibre-ebook-viewer) Which I would fix by having to remember to edit the mimeinfo.cache file after an update. With this change, it would remain default after an update (if I forget to reapply this patch, links cause calibre-ebook-viewer to start...but reapplying the patch and reinstalling the port was all I needed to do to get chromium back as default. Chromium is looking for a file named 'chromium-browser.desktop' to determine the desktop environment and to be able to create application shortcuts, so that's still right. Not sure how to have chromium compete with firefox. Not sure how opera is supposed to work if it wants to be default. (the current problem of how flash is[n't] working in chromium had me thinking if I should switch browsers again.... right now its chrome/chromium on all the systems, except for Solaris. Before chrome it was Firefox....and let's not speak of what things were like before that.) Perhaps what's needed is to figure out a consistent way for all the browsers to get along on which ever is the desired default. Lawrence Links: ------ [1] http://desktop-file-utils.mk
Author: rene Date: Wed May 29 08:41:47 2013 New Revision: 319360 URL: http://svnweb.freebsd.org/changeset/ports/319360 Log: Manually install the desktop file instead of using DESKTOP_ENTRIES, this allows to set the MimeTypes. PR: ports/175369 (still open) Submitted by: Lawrence Chen (lchen@zen.lhaven.homeip.net) The BSD Dreamer (beastie@tardisi.com) Added: head/www/chromium/files/chromium-browser.desktop.in (contents, props changed) Modified: head/www/chromium/Makefile head/www/chromium/pkg-plist Modified: head/www/chromium/Makefile ============================================================================== --- head/www/chromium/Makefile Wed May 29 08:30:12 2013 (r319359) +++ head/www/chromium/Makefile Wed May 29 08:41:47 2013 (r319360) @@ -42,7 +42,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/l ONLY_FOR_ARCHS= i386 amd64 USE_XZ= yes -USES= bison pkgconfig +USES= bison pkgconfig desktop-file-utils USE_GMAKE= yes USE_PERL5_BUILD= yes USE_PYTHON_BUILD= 2.6+ @@ -50,9 +50,6 @@ USE_XORG= scrnsaverproto x11 xproto xscr USE_GNOME= glib20 gtk20 dconf libxslt MAN1= chrome.1 -DESKTOP_ENTRIES="Chromium" "Web browser" "${DATADIR}/product_logo_48.png" \ - "chrome %U" "Network;WebBrowser;GTK;" true - ALL_TARGET= chrome # See build/common.gypi for all the available variables. @@ -78,6 +75,10 @@ GYP_DEFINES+= use_cups=1 \ prefix_dir=${LOCALBASE} \ python_ver=${PYTHON_VER} +SUB_FILES= chromium-browser.desktop +SUB_LIST= COMMENT="${COMMENT}" \ + DATADIR=${DATADIR} + OPTIONS_DEFINE= CODECS GCONF PULSEAUDIO CLANG DEBUG CODECS_DESC= Compile and enable patented codecs like H.264 @@ -196,6 +197,7 @@ do-install: .endfor cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${DATADIR} + ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop ${DESKTOPDIR} ${LN} -sf ${DATADIR}/chrome ${PREFIX}/bin post-install: Added: head/www/chromium/files/chromium-browser.desktop.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/chromium-browser.desktop.in Wed May 29 08:41:47 2013 (r319360) @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Encoding=UTF-8 +Name=Chromium +Comment=%%COMMENT%% +Icon=%%DATADIR%%/product_logo_48.png +Exec=chrome %U +Categories=Application;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;/x-scheme-handler/https;x-scheme-handler/ftp; +StartupNotify=true Modified: head/www/chromium/pkg-plist ============================================================================== --- head/www/chromium/pkg-plist Wed May 29 08:30:12 2013 (r319359) +++ head/www/chromium/pkg-plist Wed May 29 08:41:47 2013 (r319360) @@ -1,4 +1,5 @@ bin/chrome +share/applications/chromium-browser.desktop %%DATADIR%%/chrome %%DATADIR%%/chrome-wrapper %%DATADIR%%/chrome.pak _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
I wonder if this PR can be closed (i.e., how specific is this to Chromium on FreeBSD) ?
While the patch that went in didn't solve getting along with other browsers on who wants to be default. It did address the issues that were probably the specific to Chromium on FreeBSD. In not losing that it was default after an update (at least on my system and a friend's), and making the "Create Application Shortcut" feature work. So, this can probably be closed. On 11/11/2013 07:51, René Ladan wrote: > I wonder if this PR can be closed (i.e., how specific is this to > Chromium on FreeBSD) ? > -- Name: Lawrence "The Dreamer" Chen Email: beastie@tardisi.com Snail: 1530 College Ave, A5 Blog: http://lawrencechen.net Manhattan, KS 66502-2768 Phone: 785-789-4132
State Changed From-To: feedback->closed Closed at submitters request