Faits :
A.
Par acte authentique du 19 mars 2008, instrumenté par la notaire C._, A._ a vendu aux époux A.B._ et B.B._ les parcelles contiguës xxx et yyy de la commune de Z._ (NE) ainsi que des parts de copropriété sur des voies d'accès. La parcelle xxx comprend une villa mitoyenne et une piscine; la parcelle yyy comporte un cabanon de jardin. Les conditions de vente prévoient notamment ce qui suit:
"1. (...)
Les restrictions de la propriété foncière de droit public (plans d'aménagement, plans d'alignement, restrictions de police des constructions, etc.) ainsi que certaines restrictions légales de la propriété (de droit civil) ne sont pas mentionnées au Registre foncier, ni la viabilité du terrain, et le vendeur n'assume aucune responsabilité de ce fait.
2. Garantie
Le bien-fonds xxx (...) ainsi que le bien-fonds yyy précités sont vendus tels qu'examinés par les acquéreurs, sans garantie légale ni conventionnelle, pour les défauts matériels ou juridiques, apparents ou cachés, dont ils pourraient être affectés, que ces défauts soient connaissables ou non.
Cette clause d'exclusion de garantie n'est pas applicable aux défauts frauduleusement cachés conformément à CO 199.
Les parties déclarent avoir été spécialement rendues attentives à la portée de cette clause d'exclusion qu'elles reconnaissent expressément."
Selon le plan d'aménagement du territoire, la totalité de la parcelle yyy et une partie de la parcelle xxx étaient à l'époque classées en zone d'utilité publique (ci-après: ZUP). Le registre foncier n'en faisait pas mention. A la suite du dépôt de l'acte authentique, le conservateur du registre foncier a toutefois informé la notaire de cette affectation et du fait que la commune disposait à ce titre d'un droit de préemption légal. Interpellée par la notaire, la commune a renoncé à faire valoir son droit.
Les époux B._ et trois propriétaires de parcelles voisines ont demandé au Conseil communal de reclasser leurs biens-fonds en zone dite des abords de bourg (ci-après: ZAB). Le Conseil général de Z._ a accepté de modifier le plan d'aménagement en ce sens que la parcelle xxx est entièrement classée en ZAB; en revanche, la parcelle yyy a été maintenue en ZUP. Au 24 mars 2011, le déplacement de la limite de zone n'était pas entré en vigueur.
B.
Le 12 février 2009, A.B._ et B.B._ ont ouvert action contre A._ et C._. Ils concluaient à ce que les défendeurs soient condamnés, solidairement entre eux, à leur payer le montant de 164'244 fr. plus intérêts, soit 140'700 fr. pour la moins-value de la parcelle yyy, 15'210 fr. pour la contribution due à l'État pour le reclassement de la parcelle xxx en ZAB et 8'334 fr. pour des frais d'architecte, d'avocat et de mise aux poursuites du vendeur. En particulier, les acheteurs reprochaient à A._ de leur avoir frauduleusement dissimulé l'affectation en ZUP de la parcelle yyy et d'une partie de la parcelle xxx, ce qui rendait nulle l'exclusion de garantie contenue dans les conditions de vente.
Une expertise judiciaire a été mise en oeuvre. L'architecte désigné a estimé qu'au jour de la vente, la valeur vénale des immeubles était de 718'000 fr.; elle aurait été de 843'000 fr. si la totalité des parcelles avait été située en ZAB.
Par jugement du 7 mars 2013, le Tribunal régional du Littoral et du Val-de-Travers a rejeté l'action de A.B._ et B.B._.
Les acheteurs ont interjeté appel, concluant désormais à ce que le vendeur et la notaire soient solidairement condamnés à leur verser 126'583 fr. plus intérêts, à savoir 108'244 fr. à titre de moins-value liée à l'inconstructibilité de la majeure partie des parcelles achetées, 10'005 fr. en remboursement de la contribution due à l'État à la suite du changement d'affectation de la parcelle xxx et 8'334 fr. pour des frais d'expertise privée, d'avocat et de mise aux poursuites du vendeur. Statuant le 18 novembre 2013, la Cour d'appel civile du Tribunal cantonal du canton de Neuchâtel a rejeté l'appel et confirmé le jugement de première instance.
A.B._ et B.B._ ont recouru au Tribunal fédéral (cause 4A_619/2013). Par arrêt du 20 mai 2014, la cour de céans a déclaré irrecevable le recours constitutionnel subsidiaire, admis partiellement le recours en matière civile et annulé l'arrêt cantonal avant de rejeter la demande formée par les acheteurs contre la notaire et, pour le surplus, de renvoyer la cause à l'autorité précédente afin qu'elle rende une nouvelle décision.
Par arrêt du 21 novembre 2014 après renvoi, la Cour d'appel civile neuchâteloise a admis partiellement l'appel et réformé le jugement de première instance en condamnant A._ à verser aux époux B._ le montant de 64'240 fr. avec intérêts à 5% l'an dès le 1 er avril 2008.
C.
A._ interjette un recours en matière civile, concluant au rejet de la demande de A.B._ et B.B._ "en tant que recevable".
Les époux B._ proposent le rejet du recours dans la mesure où il est recevable.
Pour sa part, la cour cantonale se réfère aux considérants de son arrêt.
Considérant en droit :
1.
1.1. Le recours est dirigé contre un arrêt final (art. 90 LTF) rendu en matière civile (art. 72 al. 1 LTF) par un tribunal supérieur d'un canton, qui a statué une deuxième fois sur recours, après renvoi (art. 75 LTF). La présente cause atteint la valeur litigieuse de 30'000 fr. ouvrant le recours en matière civile dans les affaires pécuniaires ne relevant ni du droit du travail, ni du droit du bail à loyer (art. 74 al. 1 let. b LTF). Au surplus, le recours est exercé par la partie qui a succombé dans ses conclusions libératoires et a donc qualité pour recourir (art. 76 al. 1 LTF). Déposé dans le délai (art. 46 al. 1 let. c et art. 100 al. 1 LTF) et la forme (art. 42 LTF) prévus par la loi, le recours est en principe recevable, l'examen des griefs particuliers étant réservé.
1.2. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (ATF 140 III 115 consid. 2 p. 117; 137 I 58 consid. 4.1.2 p. 62; 137 II 353 consid. 5.1 p. 356) - ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF). Si l'auteur du recours se plaint d'un tel grief, encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF). L'exception prévue à l'art. 105 al. 2 LTF ne permet pas aux parties de rediscuter dans leurs mémoires les faits de la cause comme si elles plaidaient devant un juge d'appel. La partie recourante qui, sur la base de l'art. 97 al. 1 LTF, entend faire rectifier ou compléter un état de fait doit expliquer de manière circonstanciée en quoi les conditions d'une telle modification seraient réalisées (ATF 140 III 16 consid. 1.3.1 p. 18; 137 II 353 consid. 5.1 p. 356; 136 I 184 consid. 1.2 p. 187), au même titre que la partie qui invoque une violation de l'interdiction constitutionnelle de l'arbitraire dans l'appréciation des preuves et l'établissement des faits (cf. art. 106 al. 2 LTF; ATF 137 I 58 consid. 4.1.2 p. 62; 134 II 244 consid. 2.2 p. 246; 133 II 249 consid. 1.4.3 p. 254 s.).
Sous le titre "Résumé des faits pertinents", le recourant présente sur cinq pages une version des faits fondée sur sa propre appréciation des preuves. Ainsi, par exemple, le recourant affirme que l'affectation en ZUP a été discutée lors des visites des futurs acheteurs à la villa ou encore que l'intimé s'est renseigné auprès de la commune de Z._ pour savoir si la construction d'un hangar à moto était possible sur la parcelle yyy. Ce faisant, le recourant s'écarte sur plusieurs points des constatations de l'arrêt attaqué ou les complète, sans jamais soulever le grief d'arbitraire dans l'établissement des faits ou l'appréciation des preuves. Dans cette mesure, le recours se révèle irrecevable. La cour de céans s'en tiendra aux faits tels qu'établis par l'autorité précédente.
2.
En vertu du principe de l'autorité de l'arrêt de renvoi, la cour cantonale à laquelle une affaire est renvoyée est tenue de fonder sa nouvelle décision sur les considérants en droit de l'arrêt du Tribunal fédéral. Elle est liée par ce qui a déjà été tranché définitivement par le Tribunal fédéral, ainsi que par les constatations de fait qui n'ont pas été critiquées devant lui. Des faits nouveaux ne peuvent être pris en considération que sur les points faisant l'objet du renvoi, lesquels ne peuvent être ni étendus ni fondés sur une base juridique nouvelle (ATF 135 III 334 consid. 2 et 2.1 p. 335 s.; 131 III 91 consid. 5.2 p. 94 s.).
Le défaut invoqué en l'espèce porte sur l'affectation en ZUP d'une partie des biens-fonds acquis. Comme la cour de céans l'a relevé dans l'arrêt de renvoi, il est établi à ce sujet que les acheteurs ne peuvent pas ériger des constructions à des fins privées sur la part des parcelles classée en ZUP.
2.1. A la suite du renvoi, il appartenait en premier lieu à la cour cantonale de déterminer si le vendeur avait prouvé avec certitude - et non seulement avec une "certaine vraisemblance" - que les acheteurs connaissaient l'affectation des parcelles, respectivement leur caractère inconstructible. Selon l'arrêt attaqué, cette preuve n'a pas été rapportée; en particulier, le recourant n'est pas parvenu à établir qu'il avait informé l'intimé que ce dernier ne pourrait pas construire le hangar à moto qu'il projetait d'édifier sur la parcelle yyy. La cour cantonale a refusé d'entendre comme témoin la notaire C._ sur ce point, car elle ne voyait pas en quoi cette audition conduirait à une autre appréciation, notamment parce que l'intéressée, comme défenderesse, avait déjà nié toute discussion à ce sujet. En conséquence, le vendeur ne pouvait se libérer de sa responsabilité en invoquant l'art. 200 al. 1 CO.
Dans son mémoire, le recourant reconnaît lui-même que "n'ayant que sa bonne foi à disposition", il n'a pas pu rapporter la preuve certaine, exigée par l'art. 200 al. 1 CO, que les acquéreurs connaissaient l'affectation en ZUP des parcelles concernées. Il voit toutefois une violation de son droit à la preuve dans le refus des juges neuchâtelois d'entendre la notaire qui a instrumenté l'acte de vente.
Le droit à la preuve déduit de l'art. 8 CC et décrit désormais à l'art. 152 CPC confère au justiciable le droit de faire administrer les moyens de preuve adéquats qu'il propose régulièrement et en temps utile à l'appui de faits pertinents pour le sort du litige. Le droit à la preuve n'est pas mis en cause lorsque le juge, par une appréciation anticipée des preuves, parvient à la conclusion que la mesure requise n'apporterait pas la preuve attendue ou ne modifierait pas la conviction acquise sur la base des preuves déjà recueillies (ATF 138 III 374 consid. 4.3.2 p. 376; 129 III 18 consid. 2.6 p. 25). Le recourant ne peut s'en prendre à l'appréciation anticipée des preuves qu'en soulevant le grief d'arbitraire (art. 9 Cst.), motivé selon les exigences strictes de l'art. 106 al. 2 LTF (cf. consid. 1.2 supra).
En l'espèce, la cour cantonale a refusé d'ordonner l'audition requise par le vendeur à la suite d'une appréciation anticipée des preuves, non remise en question dans le recours sous l'angle de l'arbitraire. Elle ne saurait dès lors avoir violé le droit à la preuve du recourant.
2.2. Dans un deuxième temps, l'autorité précédente devait examiner à nouveau si la chose vendue était affectée d'un défaut que le vendeur avait dissimulé frauduleusement aux acheteurs (art. 199 CO).
2.2.1. Le défaut invoqué consistait en l'absence d'une qualité à laquelle les acquéreurs pouvaient s'attendre selon les règles de la bonne foi, à savoir la constructibilité des parcelles.
Parmi les points abordés dans l'arrêt de renvoi, le Tribunal fédéral rappelait que le manque de qualité attendue devait entraîner une diminution notable de la valeur objective de la chose, donnée absente de l'arrêt cantonal. En l'espèce, l'expert judiciaire estimait la valeur de la chose à 843'000 fr. sans défaut et à 718'000 fr. avec défaut. Selon l'arrêt de renvoi, une telle diminution de valeur (- 14,8%), si elle devait être retenue par la cour cantonale, devait être qualifiée de notable (consid. 5.3.1).
Par ailleurs, la cour de céans avait déjà jugé que le prix convenu, dans les circonstances constatées dans le premier arrêt cantonal, ne permettait pas, à lui seul, de faire comprendre aux acheteurs que les parcelles ne se trouvaient pas entièrement en zone résidentielle constructible (arrêt de renvoi consid 5.3.1).
Pour le reste, la question de savoir si les biens-fonds étaient entachés d'un défaut juridique quant à leur affectation (art. 197 CO) se recoupait pour l'essentiel avec celle de savoir si les acheteurs étaient réputés connaître l'affectation des parcelles (art. 200 al. 2 CO). Il s'agissait de déterminer si la diligence dont une personne de bonne foi doit faire preuve imposait en l'occurrence aux acheteurs de vérifier l'affectation des parcelles (arrêt de renvoi consid. 5.3.2).
Se prononçant à nouveau sur ce point, la cour cantonale arrive à la conclusion que les acheteurs n'avaient pas à envisager l'affectation en ZUP, avec les conséquences qu'elle implique, d'une partie du terrain à acquérir. Le recourant y voit une violation de l'art. 200 al. 2 CO. A son sens, les intimés, qui voulaient construire un hangar à moto sur la parcelle yyy, devaient, selon le principe de la bonne foi, se renseigner sur les possibilités légales de construire, d'autant plus que l'acte de vente qui leur avait été soumis avant signature excluait toute garantie à propos des restrictions légales de construction.
Dans l'arrêt de renvoi, la cour de céans observe que le droit public applicable en l'occurrence prévoit des restrictions de construction importantes (inconstructibilité des parcelles à des fins privées, droit de préemption de l'État, droit spécial d'expropriation), allant au-delà des limitations habituelles liées par exemple aux coefficients. Elle relève également que l'expert judiciaire regrette l'absence de mention des zones d'affectation des parcelles sur le descriptif de vente, de sorte qu'un futur acheteur ne pouvait pas se douter que les parcelles n'étaient pas toutes dans la même zone; cette remarque de l'expert posait la question du caractère inhabituel du zonage des parcelles en jeu au regard de l'aménagement des lieux. En conclusion, même si la clause contractuelle réservant les restrictions de droit public n'est pas de pur style, il paraît très douteux que l'affectation des parcelles en ZUP, avec les conséquences qu'elle implique, entre dans le champ de ce que les acheteurs - apparemment sans connaissances juridiques ou immobilières - devaient envisager (arrêt de renvoi consid. 5.3.2).
Pour aboutir à la conclusion critiquée, la cour cantonale a repris le raisonnement de la cour de céans fondé sur les mêmes éléments, en ajoutant qu'il n'est pas établi que les acheteurs disposaient de connaissances juridiques ou immobilières. A cet égard, il ne peut être que confirmé que, dans les circonstances de l'espèce, les acquéreurs ne pouvaient guère se douter de l'affectation en ZUP et donc du caractère éventuellement inconstructible d'une partie des parcelles en cause; quand bien même les intimés avaient l'intention d'installer un hangar à moto sur la parcelle yyy, les règles de la bonne foi ne les obligeaient pas à vérifier dans quelle (s) zone (s) les biens-fonds étaient affectés. Le grief tiré d'une violation de l'art. 200 al. 2 CO doit être écarté.
2.2.2. La dissimulation frauduleuse au sens de l'art. 199 CO couvre des comportements de tromperie intentionnelle. Celle-ci est déjà réalisée lorsque le vendeur qui connaît le défaut envisage la possibilité que l'acheteur ne le découvre pas et accepte ce résultat pour le cas où il se produirait (arrêt de renvoi consid. 4.1 et consid. 5.3.3). En l'espèce, l'application éventuelle de l'art. 199 CO supposait donc également de déterminer ce que le recourant savait et quelles connaissances celui-ci pouvait de bonne foi imputer aux acheteurs (arrêt de renvoi consid. 5.3.3).
Sur le premier point, la cour cantonale devait compléter les faits, en précisant, le cas échéant, si la connaissance du vendeur s'étendait à la parcelle xxx (arrêt de renvoi consid. 5.3.3). Selon l'arrêt attaqué, le recourant savait que la parcelle yyy était affectée en ZUP. En revanche, il n'est pas établi que le vendeur connaissait l'affectation en ZUP d'une partie de la parcelle xxx.
Sur le second point, il suffisait, pour qu'il y ait tromperie intentionnelle, que le recourant ait envisagé et accepté la possibilité que les acheteurs, au moment de conclure, ignoraient toujours l'affectation des parcelles (arrêt de renvoi consid. 5.3.3 in fine ). A ce sujet, la cour cantonale a rappelé que le vendeur n'avait pas prouvé qu'il avait informé les acquéreurs de l'affectation en ZUP de la parcelle yyy; par ailleurs, il ne pouvait exclure leur ignorance "par un autre motif" selon les termes de l'arrêt attaqué. Dans son recours, le vendeur soutient au contraire qu'il avait toutes les raisons de croire de bonne foi que les intimés connaissaient les caractéristiques de droit public des parcelles en cause. En tout cas, les acheteurs auraient dû s'en apercevoir en faisant preuve de l'attention voulue et justifiée par leur projet de construction d'un hangar à moto.
Lorsqu'il tait une information dont il ne peut ignorer l'importance pour l'acheteur, le vendeur doit avoir de bonnes raisons de penser que l'acquéreur reconnaîtra le défaut par lui-même s'il veut échapper au grief de dissimulation frauduleuse du défaut (arrêt de renvoi consid. 5.3.3). En l'espèce, comme déjà relevé, les règles de la bonne foi ne commandaient pas aux intimés qui voulaient construire un hangar à moto de vérifier si la parcelle yyy était constructible. Le recourant ne pouvait donc pas, de bonne foi, partir de l'idée que les intimés allaient se renseigner sur le zonage des parcelles et ainsi découvrir le défaut. Par ailleurs, la cour de céans a déjà jugé que le fait d'emmener les futurs acheteurs à une assemblée de copropriétaires où l'affectation des parcelles risquait d'être discutée ne suffisait pas à exclure une tromperie intentionnelle de la part du vendeur (arrêt de renvoi consid. 5.3.3). Dans ces conditions, la cour cantonale pouvait, sans violer l'art. 199 CO, conclure que le recourant avait dissimulé le défaut par dol éventuel de sorte que la clause d'exclusion de garantie n'était pas opposable aux intimés.
3.
3.1. A titre subsidiaire, le recourant reproche à la cour cantonale d'avoir omis de tenir compte du fait que les intimés avaient ouvert contre la commune de Z._ une action fondée sur la loi cantonale régissant la responsabilité des collectivités publiques et de leurs agents (LResp/NE), réclamant le même montant que celui faisant l'objet de la demande fondée sur la garantie des défauts dans la vente immobilière. Dans cette action, il serait fait grief à la commune de ne pas avoir fait mentionner au registre foncier l'inclusion totale ou partielle des parcelles litigieuses dans la ZUP.
3.2. Le recourant se borne à préciser que cette demande est en cours d'instruction et à prétendre que l'omission de la Cour d'appel civile permettrait aux intimés de s'enrichir de manière illégitime. Il n'invoque aucune disposition légale ni principes de droit, sans qu'il soit possible de comprendre, à la lecture du mémoire, quelles règles de droit auraient été méconnues. Le recours n'expose d'aucune manière en quoi l'arrêt attaqué violerait le droit, de sorte qu'il se révèle irrecevable sur ce point faute de motivation (art. 42 al. 2 LTF).
4.
Sur le vu de ce qui précède, le recours sera rejeté dans la mesure où il est recevable.
Le recourant prendra à sa charge les frais judiciaires (art. 66 al. 1 LTF) et versera des dépens aux intimés (art. 68 al. 1 et 2 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge du recourant.
3.
Le recourant versera aux intimés, créanciers solidaires, une indemnité de 3'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Neuchâtel.
Lausanne, le 25 juin 2015
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann