Faits:
A. Par jugement du 16 juillet 2007, le Tribunal pénal de l'arrondissement de la Sarine a condamné X._, pour complicité de viol et contravention à la LStup, à la peine - complémentaire à deux autres, prononcées les 18 février 2005 et 8 juin 2005 - de 9 mois de privation de liberté, sans sursis, ainsi qu'à une amende de 100 fr. Il a révoqué le sursis assortissant une condamnation du 18 mars 2004 à 10 jours d'emprisonnement. Il a par ailleurs condamné un coaccusé, A._, notamment pour viol.
X._ a appelé de ce jugement, concluant à son acquittement, subsidiairement au renvoi de la cause pour nouveau jugement. Le recours ainsi formé a été rejeté dans la mesure de sa recevabilité par arrêt du 12 décembre 2008 de la Cour d'appel pénal du Tribunal cantonal fribourgeois.
B. Cet arrêt retient, en résumé, ce qui suit.
B.a Le soir du 13 novembre 2004 vers 18 heures, X._ et A._ se sont présentés, à l'improviste, au domicile de B._, une amie du premier nommé, laquelle se livre occasionnellement à la prostitution. Après avoir consommé des bières, les deux hommes sont repartis vers 20 heures pour acheter de la cocaïne, indiquant qu'ils reviendraient plus tard. De retour vers 22 heures 15, ils ont constaté qu'un client de B._, C._, était présent. Tous quatre se sont installés au salon et ont engagé une discussion. X._ et A._ ont fumé des cigarettes contenant de la cocaïne et bu de la bière. Aux alentours de 1 heure, C._ est parti avec A._ pour acheter une bouteille de whisky et du coca-cola. Peu après leur retour, aux environs de 2 heures 30, C._ a quitté les lieux.
B.b Vers 3 heures, X._ est allé se coucher sur le lit de B._, après avoir pris la moitié d'une pastille de Nozinan que cette dernière lui avait donnée. A._ et B._ sont restés au salon. Un peu plus tard, X._ a déclaré qu'il avait faim, sur quoi B._ est allée préparer des pâtes. Après avoir mangé, X._ s'est endormi sur le lit de B._, qui l'a rejoint après avoir pris des médicaments. Quant à A._, il a été invité à dormir sur le canapé du salon.
B.c A un moment donné, B._ a été subitement réveillée par A._, qui s'est présenté nu devant son lit. Elle a alors commencé à s'affoler. A._ a enlevé le duvet et s'est couché sur elle, pendant qu'elle secouait X._ en lui disant de se réveiller et de faire quelque chose. Ce dernier a dit à A._ d'"arrêter ses conneries". Il s'est ensuite levé et rendu au salon. A._ a alors déshabillé B._, qui a tenté de se défendre en le repoussant et en criant, sans toutefois y parvenir. Elle a crié à X._ de venir l'aider. Elle l'a alors entendu annoncer une agression sexuelle sur les lieux et a pensé qu'il téléphonait à la police. Elle a ensuite été totalement déshabillée par A._, qui l'a violée.
C. En substance, la cour cantonale a considéré que l'état de fait retenu par les premiers juges était exempt d'arbitraire et que par son comportement X._ s'était rendu coupable de complicité intellectuelle de viol, commise par dol éventuel. Elle a jugé vain le grief de violation de l'art. 19a ch. 1 LStup. Quant aux moyens du recourant relatifs à la peine, elle les a déclarés irrecevables, faute par lui d'avoir pris des conclusions à ce sujet.
D. X._ forme un recours en matière pénale, pour atteintes à ses droits constitutionnels et diverses violations de la loi pénale. Il conclut à son acquittement et au maintien du sursis révoqué, subsidiairement au prononcé d'une peine complémentaire avec sursis, plus subsidiairement à l'annulation de l'arrêt attaqué et au renvoi de la cause pour nouvelle décision. Il sollicite l'assistance judiciaire.
Le Ministère public et l'autorité cantonale ont renoncé à déposer des observations.
Considérant en droit:
1. Le recourant se plaint de sa condamnation pour contravention à la LStup. Il ne nie pas que les conditions de cette infraction sont réalisées, mais reproche aux juges cantonaux de l'avoir retenue sur la base d'un rapport de police, qui serait insuffisant, sans réelle instruction.
L'arrêt attaqué constate que le recourant n'a pas contesté durant l'enquête avoir acquis, entre le 5 avril 2004 et le 22 février 2005, 17 à 22 grammes de cocaïne pour sa consommation, qu'il a été formellement renvoyé en jugement pour ces faits et qu'il n'a formulé aucune réquisition de preuve en première instance en ce qui les concerne. Conformément à l'art. 169 al. 1 CPP/FR, ces faits n'avaient dès lors pas à être discutés aux débats.
Le recourant ne prétend pas et, à plus forte raison, ne démontre pas conformément aux exigences de motivation de l'art. 106 al. 2 LTF (cf. ATF 135 IV 43 consid. 4 p. 47; 133 IV 286 consid. 1.4 p. 287) que, pour avoir considéré que les faits litigieux, parce que non contestés, pouvaient être retenus sur la base des pièces du dossier, la cour cantonale aurait interprété ou appliqué arbitrairement l'art. 169 al. 1 CPP/FR. Il allègue vainement que le rapport de police sur lequel repose sa condamnation est insuffisant à la fonder. Sachant qu'il était renvoyé en jugement pour les faits litigieux, il pouvait, s'il estimait ce rapport lacunaire, demander un complément d'instruction, qu'il ne nie cependant pas avoir renoncé à solliciter. Le grief doit dès lors être rejeté dans la mesure où il est recevable.
2. Le recourant invoque une violation de l'art. 25 CP en relation avec l'art. 190 CP, faisant valoir que son comportement ne peut être considéré comme constitutif d'une complicité de viol et niant avoir agi intentionnellement, plus précisément par dol éventuel.
2.1 Agit comme complice, celui qui prête intentionnellement assistance à l'auteur pour commettre un crime ou un délit (cf. art. 25 CP).
Objectivement, la complicité, qui est une forme de participation accessoire à l'infraction, suppose que le complice ait apporté à l'auteur principal une contribution causale à la réalisation de l'infraction, de telle sorte que les événements ne se seraient pas déroulés de la même manière sans cette contribution. Il n'est pas nécessaire que l'assistance du complice ait été une condition sine qua non de la réalisation de l'infraction; il suffit qu'elle l'ait favorisée. L'assistance prêtée par le complice peut être matérielle, intellectuelle ou consister en une simple abstention; la complicité par omission suppose toutefois une obligation juridique d'agir, autrement dit une position de garant (ATF 132 IV 49 consid. 1.1 p. 51/52; 121 IV 109 consid. 3a p. 119/120).
Subjectivement, le complice doit avoir agi intentionnellement, mais le dol éventuel (sur cette notion, cf. ATF 133 IV 9 consid. 4.1 p. 16) suffit. Il faut qu'il sache ou se rende compte qu'il apporte son concours à un acte délictueux déterminé et qu'il le veuille ou l'accepte. A cet égard, il suffit qu'il connaisse les principaux traits de l'activité délictueuse qu'aura l'auteur, lequel doit donc avoir pris la décision de l'acte (ATF 132 IV 49 consid. 1.1 p. 51/52; 121 IV 109 consid. 3a p. 119/120).
2.2 L'arrêt attaqué retient que, lorsque A._ a entrepris de violer la victime, le recourant, bien qu'ayant entendu cette dernière crier et l'appeler à l'aide, s'est levé du lit et a quitté la chambre à coucher, se rendant dans le salon, où il est resté pendant la commission du viol. Il estime que, de la sorte, le recourant a agi par commission, et non par omission. A l'appui, il expose que celui-ci ne s'est pas borné à s'abstenir d'intervenir, mais, en quittant la chambre, malgré les appels à l'aide de la victime, a abandonné cette dernière à l'auteur principal, facilitant ainsi l'accomplissement du viol.
2.3 Ce raisonnement ne peut être suivi. En quittant la chambre, le recourant a certes accompli un acte; il n'est pas demeuré passif. Par cet acte, qui a consisté à s'éloigner simplement de l'endroit où le viol était perpétré, il n'a toutefois pas contribué de manière active à la commission de cette infraction; il s'est abstenu d'intervenir pour en empêcher ou tenter d'en empêcher l'accomplissement. Ce faisant, il a agi par omission, non par commission. Or, et les juges cantonaux ne l'ont pas nié, le recourant n'avait pas une position de garant envers la victime, avec laquelle il ne vivait pas maritalement mais n'entretenait que des relations occasionnelles (cf. ATF 125 IV 64 consid. 1a p. 68/69; arrêt 6S.339/2003 consid. 2.2). Il s'ensuit que le comportement du recourant, certes répréhensible, ne tombe pas sous le coup de la loi pénale, une complicité par omission ne pouvant être retenue que si le complice avait une obligation juridique d'agir.
2.4 Le grief doit ainsi être admis et l'arrêt attaqué annulé en tant qu'il condamne le recourant pour complicité de viol.
3. Le sort du grief qui vient d'être examiné prive de leur objet les griefs du recourant pris d'une motivation insuffisante de l'arrêt attaqué et d'arbitraire dans l'appréciation des preuves en ce qui concerne le contenu de sa conscience et de sa volonté lors de la commission du viol. De même, il rend sans objet son grief de violation des art. 19 et 20 CP, au motif que l'arrêt attaqué nierait à tort qu'il a participé à la commission du viol en état d'irresponsabilité ou, du moins, qu'il subsistait des doutes à ce sujet justifiant d'ordonner une expertise. Devient également sans objet le grief du recourant tiré d'un déni de justice formel à raison du refus d'entrer en matière sur les moyens qu'il avait soulevés quant à la peine et à la révocation d'un sursis antérieur, puisque l'autorité cantonale, après avoir libéré le recourant du chef d'accusation de complicité de viol, devra statuer à nouveau sur ces points.
4. En conclusion, le recours doit être partiellement admis dans la mesure où il est recevable, l'arrêt attaqué annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision dans le sens des considérants.
Le recourant, bien que sur un point important, n'obtient que partiellement gain de cause. Sa requête d'assistance judiciaire ne sera donc que partiellement admise (art. 64 al. 1 LTF). En conséquence, il devra supporter une partie des frais (art. 66 al. 1 LTF) et se verra allouer une indemnité de dépens réduite (art. 68 al. 1 LTF), à verser à sa mandataire d'office par le canton de Fribourg (art. 68 al. 2 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est partiellement admis dans la mesure où il est recevable, l'arrêt attaquée annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision dans le sens des considérants.
2. La requête d'assistance judiciaire est partiellement admise et Me Françoise Trümpy-Waridel désignée comme avocate d'office du recourant. Elle est rejetée pour le surplus.
3. Une part des frais judiciaires, arrêtée à 500 fr., est mise à la charge du recourant.
4. Une indemnité de 1500 fr., à verser à Me Françoise Trümpy-Waridel à titre de dépens réduits, est mise à la charge du canton de Fribourg.
5. Le présent arrêt est communiqué aux parties et au Tribunal cantonal de l'Etat de Fribourg, Cour d'appel pénal.
Lausanne, le 20 mai 2009
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: La Greffière:
Favre Angéloz